Mélytanulás

A tantárgy angol neve: Deep Learning  

Adatlap utolsó módosítása: 2023. április 21.

Budapesti Műszaki és Gazdaságtudományi Egyetem
Villamosmérnöki és Informatikai Kar
MSc, Mérnökinformatikus, Adattudomány-és Mesterséges Intelligencia főspecializáció kötelező tárgy (A tárgy)
Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
VITMMA19   2/1/0/v 5  
3. A tantárgyfelelős személy és tanszék Dr. Gyires-Tóth Bálint Pál,
4. A tantárgy előadója

Dr. Gyires-Tóth Bálint, docens, TMIT
Dr. Zainkó Csaba, adjunktus, TMIT
Dr. Csapó Tamás Gábor, tudományos munkatárs, TMIT
Dr. Mihajlik Péter, adjunktus, TMIT

5. A tantárgy az alábbi témakörök ismeretére épít Alapvető statisztikai ismeretek, adatszerkezetek, algoritmusok, mesterséges intelligencia alapvető fogalmai, programozási alapismeretek
6. Előtanulmányi rend
Kötelező:
NEM
(TárgyEredmény( "BMEVITMMA06", "jegy" , _ ) >= 2
VAGY
TárgyEredmény("BMEVITMMA06", "FELVETEL", AktualisFelev()) > 0)

A fenti forma a Neptun sajátja, ezen technikai okokból nem változtattunk.

A kötelező előtanulmányi rend az adott szak honlapján és képzési programjában található.

Ajánlott:

Kötelező: -

Ajánlott: Gépi tanulás

7. A tantárgy célkitűzése

A mélytanulás (deep learning) az adatvezérelt mesterséges intelligencia eljárások napjaink egyik meghatározó technológiája . A mélytanulás egyik elsődleges előnye más gépi tanuló módszerekkel szemben, hogy egy lépésben tanulja meg az adatokat legjobban leíró reprezentációkat és ezek modellezését. A mélytanulás paradigma számos tudományterületen minden korábbinál jobb, state-of-the-art eredményt ért el - például gépi látás, természetes nyelvfeldolgozás és beszédtechnológia témákban. Rögzített körülmények között számos alkalmazásban az emberi teljesítményt is képesek ezek a módszerek megközelíteni, sőt, van, hogy jobban is teljesítenek.

A mélytanuló rendszerek kutatását és fejlesztését ma már széleskörű hardver- és szoftverarchitektúra segíti. Ezek hatékony használatához elengedhetetlen a mélytanulás elméletének és a szoftver- és hardvereszközök ismerete, továbbá a tapasztalat útján megszerzett tudás.

A tárgy célkitűzése, hogy a szükséges elméleti alapok bemutatása mellett példákon keresztül segítse a hallgatókat a modern mélytanuló szoftvereszközök és technikák elsajátításában és hatékony használatában. A tárgyban elsődlegesen a nyílt forráskódú, Python alapú Meta AI gondozásában készült PyTorch és a Google TensorFlow / Keras mélytanuló keretrendszereket használjuk.

 

8. A tantárgy részletes tematikája Az előadások részletes tematikája:

1. Mélytanulás előzményei, CRISP-DM módszertan, mélytanulás elsődleges szoftverarchitektúrája (pl. Google Colab, NVIDIA Docker, Kubernetes, SLURM, TensorFlow, TensorFlow-Keras, PyTorch).
2. Forward propagation, backward propagation, hiba-visszaterjesztés, hibafüggvények, GPU implementáció, mélytanulás elsődleges hardverarchitektúrája (pl. CPU, különböző párhuzamos architektúrák, hardver architektúrák skálázása, elsődleges hardver komponensek, hardver architektúrák teljesítményének összehasonlítása).
3. Alapvető hiperparaméterek és ezek hatása a tanításra (pl. epoch szám, batch méret, aktivációs függvények, optimalizációs algoritmusok és tanítási ráta, stb.).
4. Mélytanuló keretrendszer-modulok ismertetése, neurális hálózatok mint számítási gráfok, paraméterek tanítása.
5. Automatikus deriválás a mélytanuló keretrendszerekben, komplex összeköttetések (residual és skip kapcsolatok), adatok és tanítás vizsgálata és monitorozása (pl. TensorBoard, WandB.ai eszközökkel).
6. Regularizációs módszerek mély neurális hálózatokban (pl. korai megállás, dropout, batch normalization, layer normalization, stb.).
7. Konvolúciós neurális hálózat alapok, hiba-visszaterjesztés a konvolúciós rétegekben, előtanított neurális hálózatok, transfer learning.
8. Népszerű konvolúciós neurális hálózat architektúrák, betanított modell gyűjtemények, bináris inferencia modulok.
9. Rekurrens neurális hálózatok alapjai, alacsony és magas szintű implementációk (Python, C++ és cuDNN).
10. Sequence-to-sequence (seq2seq) modellek, transzformer architektúra szekvenciális adatok modellezéséhez.
11. Önfelügyelt tanulás (Self-Supervised Learning, SSL) a természetes nyelvfeldolgozásban, transzformer alapú NLP alkalmazások.
12. Önfelügyelt tanulás a gépi látásban, kontrasztív és nem-kontrasztív módszerek.
13. Megerősítéses mély tanulás, Deep Q Learning és kapcsolódó szoftvereszközök.
14. Gráf neurális hálózatok alapjai és szoftvereszközei.

A gyakorlatok/laborok részletes tematikája:

1. GPU alapú konténerizáció, GPU alapú hiba-visszaterjesztés.
2. Hiperparaméter optimalizálás.
3. Mélytanulás alapú osztályozási és regressziós feladat kiértékeléssel.
4. Előtanított neurális hálózatok továbbtanítása a gépi látásban.
5. Mélytanulás alapú beszédtechnológiai modellek.
6. Transzformer alapú természetes nyelvfeldolgozás (NLP, Natural Language Processing) alkalmazások.
7. Gráf neurális hálózatok (pl. csomópont osztályozás, gráf regresszió, rácsgráf szegmentáció, stb.).

9. A tantárgy oktatásának módja (előadás, gyakorlat, laboratórium) Előadás és gyakorlat.
Kapcsolódó kijelölt tartalmak (pl. IPython notebook, programkódok, leírások, videók) elsajátítása.