Budapest University of Technology and Economics, Faculty of Electrical Engineering and Informatics

    Belépés
    címtáras azonosítással

    vissza a tantárgylistához   nyomtatható verzió    

    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.