K-INFO
HU
EN
Belépés

Deep Learning a gyakorlatban Python és LUA alapon

Deep Learning in Practice with Python and LUA
A tantárgyleírás hatályossága
Hatályosság kezdete:
2026. March 21.
Hatályosság vége:
Tantárgy neve (magyarul, angolul)
Deep Learning a gyakorlatban Python és LUA alapon
Deep Learning in Practice with Python and LUA
Tantárgykód BMEVITMAV45
Tantárgyjelleg
Képzési szint
Kurzustípusok és óraszámok (heti/féléves)
Kurzustípus elmélet gyakorlat laboratóriumi gyakorlat
óraszám (heti) 2 2 0
jelleg (kapcsolt/önálló) kapcsolt
Tanulmányi teljesítmény/értékelés típusa vizsga
Tantárgy kreditértéke 4
Tantárgyfelelős
DR. Zainkó Csaba
beosztás: adjunktus
Tantárgyat gondozó oktatási szervezeti egység
Távközlési és Mesterséges Intelligencia Tanszék
Kar Villamosmérnöki és Informatikai Kar
Tantárgy weboldala http://smartlab.tmit.bme.hu/oktatas-deep-learning
Tantárgy elsődleges mintatantervi jellege
Közvetlen előkövetelmények – Erős előkövetelmény nincs
Közvetlen előkövetelmények – Gyenge előkövetelmény nincs
Közvetlen előkövetelmények – Párhuzamos előkövetelmény nincs
Közvetlen előkövetelmények – Mérföldkő előkövetelmény nincs
Közvetlen előkövetelmények – Kizáró feltétel nincs

Célkitűzés

Tantárgyprogram

A félév során az előadásokon és gyakorlatokon rövid elméleti áttekintőt követően ismertetjük a megoldandó problémát és annak Python alapú megoldását.

  1. Elmélet: Bevezető a mély tanulás világába. Python alapok.
    Gyakorlat: Mátrixműveletek Python alapon. GPU alapú számítások. A GPU memóriaigényének és terhelésének monitorozása. 

  2. Elmélet: Mély tanulás elméleti alapjai. A mély neurális hálózat. Hibavisszaterjesztés (backpropagation). 
    Gyakorlat: Az XOR probléma és többdimenziós függvények neurális hálózat alapú modellezésének bemutatása Python alapon. Egy és több rejtett rétegű hálózatok implementációja.

  3. Elmélet: A Google szövegfelolvasó működése (pl. Androidon). A statisztikai parametrikus beszédszintézis elméleti háttere. Beszédkorpuszok. Tanítható paraméterfolyamok. One-hot kódolás.
    Gyakorlat: Paraméterfolyamok előkészítése a tanításhoz. Szakadásos paraméterfolyamok interpolációja. Python alapú megvalósítás.

  4. Elmélet: Előrecsatolt mély neurális hálózatok. A beszéd paramétereinek (pl.alapfrekvencia, hangidőtartamok és spektrum) párhuzamos modellezése előrecsatolt mély neurális hálózatok segítségével. 
    Gyakorlat: Előrecsatolt mély neuronháló alapú beszédszintézis Python alapú implementációja. 

  5. Elmélet: Felhasználói viselkedés elemzése mobil szenzoradatok alapján. Aggregált, ensemble modellek. A szenzoradatok rögzítése és standardizálása.
    Gyakorlat: Egyszerű regressziós és osztályozási példa megvalósítása magasszintű deep learning keretrendszerben. Hálózatok vizsgálata és vizualizációja a TensorBoard segítségével.

  6. Elmélet: Konvolúciós mély neurális hálózatok (Convolutional Neural Networks, CNN). A felhasználói viselkedés modellezése egy és kétdimenziós konvolúciós mély neuronhálókkal. 
    Gyakorlat: Mély konvolúciós hálózat alapú felhasználói viselkedés modell implementációja Python alapon. 

  7. Félévközi házi feladat bemutató.

  8. Elmélet: Visszacsatolt neurális hálózat alapjai és előnyei. Long Short-Term Memory (LSTM) és Gated Recurrent Unit (GRU) hálózatok felépítése és implementációja. Szövegszintézis („verset ír a számítógép”) elméleti és gyakorlati alapjai. Tanítóadatbázisok (szövegkorpusz) gyűjtése és előkészítése. 
    Gyakorlat: Többdimenziós szinuszos függvény modellezése visszacsatolt neurális hálózattal Python alapon. LSTM/GRU alapú szövegszintézis Python alapú implementációja. 

  9. Elmélet: Komplex architektúrák. Residual, highway, dense és skip kapcsolatok. A receptív mező növelése. Kauzális és nyújtott (dilated) konvolúciós rétegek. Alkalmazási példák.
    Gyakorlat: Neurális hálózatok gráf szerű felépítése és tanítása. Autoregresszív modellek (pl. WaveNet, WaveGlow). Python alapú példák. 

  10. Elmélet:  Hiperparaméter optimizáció. A hiperparaméterek hatása a tanítás pontosságára. Manuális, véletlenszerű és rács alapú hiperparaméter keresés. Iteratív hiperparaméter keresési eljárások. Tree-structured Parzen Estimators.
    Gyakorlat: Hiperparaméter optimizáció Python modulok segítségével.

  11. Elmélet: End-to-end beszédfelismerés visszacsatolt neurális hálózatokkal. Connectionist Temporal Classification (CTC) célfüggvény.
    Gyakorlat: End-to-end beszédfelismerés LSTM alapon, CNN és fully-connected rétegekkel.

  12. Elmélet: Generatív modellek és alkalmazásai. Mély auto-encoder típusú hálózatok. Variációs auto-encoderek (Variational Autoencoder) és generatív versengő hálózatok (Generative Adversarial Network, GAN). 
    Gyakorlat: Variációs auto-encoder és GAN megvalósítása Python nyelven.

  13. Elmélet: A többszintű trendelemzés elméleti alapjai, tőzsdei vonatkozásai. Devizapiaci (forex) árfolyam adatgyűjtés és előkészítés a tanításhoz.
    Gyakorlat: CNN/LSTM alapú tőzsdei trendelemzés Python alapú implementációja. 

  14. Elmélet: A természetes nyelvfeldolgozás alapjai. Szóbeágyazás alapjai és típusai: BOW, skip-gram, N-gram és CBOW beágyazások. Távolságmetrikák. Word2Vec, GloVe és FastText modellek. Sequence-to-sequence és transformer modellek. Attention (figyelem) mechanizmus.
    Gyakorlat: Természetes nyelvfeldolgozási példa (pl. író klasszifikáció Python alapon).
Az adatmennyiség robbanásszerű növekedésével, a grafikus processzorok jelentős technológiai fejlődésével és a tudományterület új eredményeinek köszönhetően az elmúlt években a mély tanuló rendszerek, azon belül is a mély neurális hálózatok (Deep Neural Networks, DNN) valós életbeli folyamatok megfigyelések alapján történő modellezésének az egyik leghatékonyabb eszközévé váltak. A neuronháló mély rétegei a modellezni kívánt folyamat különböző, magas és alacsony szintű absztrakcióinak kinyerésére, osztályozására és predikciójára képesek. A mély tanuló rendszerek már a gépi beszéd- és látásfunkciók modellezésén túl alkalmasak például fordításra, zenei stílus automatikus osztályozására, felhasználói preferencia jóslására, felhasználó azonosítására, sőt, akár rajzolni és zenét komponálni is tudnak. Napjainkban már az olyan nagy cégek, mint a Google, Facebook, Amazon, IBM is egyre több technológiájukat helyezik deep learning alapokra.  A tárgy gyakorlati problémák megoldásán keresztül tanítja meg a rendelkezésre álló, az iparban is széles körben használt két legfontosabb nyílt forráskódú mély tanuló keretrendszer, a Google TensorFlow / Keras (Python) és a Facebook által támogatott PyTorch (Python) programozását és ezek széleskörű használatához szükséges elméleti alapokat. 

Tanulmányi eredmények

Ez a tantárgy a KKK rendeletben meghatározott, következő kompetenciák fejlesztését szolgálja:

Tudás

Nincsenek rögzített tanulási eredmények.

Képességek

Nincsenek rögzített tanulási eredmények.

Attitűd

Nincsenek rögzített tanulási eredmények.

Autonómia és felelősség

Nincsenek rögzített tanulási eredmények.

Oktatási módszertan

Előadás és gyakorlat. A gyakorlat során a hallgatók az előadáson hallottak gyakorlati alkalmazását láthatják és gyakorolhatják. Saját laptop használata megengedett.

Tanulástámogató anyagok

Online források
Altrichter Márta, Horváth Gábor, Pataki Béla, Strausz György, Takács Gábor, Valyon József: Neurális hálózatok, 2006 Hungarian Edition Panem Könyvkiadó Kft., Budapest; Online: http://project.mit.bme.hu/mi_almanach/books/neuralis/index; Andrew Ng: Deep Learning Tutorial, Computer Science Department, Stanford University, 2016; Online: http://ufldl.stanford.edu/tutorial/; Ian Goodfellow, Yoshua Bengio, Aaron Courville: Deep Learning (Book in preparation for MIT Press); Online: http://www.deeplearningbook.org/; Michael Nielsen: Neural Networks and Deep Learning, 2016.; Online: http://neuralnetworksanddeeplearning.com/; Y. LeCun, Y. Bengio, G. Hinton (2015). Deep Learning. Nature 521, 436-444.; Online: http://www.nature.com/nature/journal/v521/n7553/full/nature14539.html

A tantárgy teljesítéséhez ajánlott előzetes ismeretek

Tudás típusú kompetenciák
(azon előzetes ismeretek összessége, amelyek megléte nem kötelező, de a tantárgy eredményes teljesítését nagyban elősegíti)
Python programozás Mátrixalgebra
Képesség típusú kompetenciák
(azon előzetes képességek és készségek összessége, amelyek megléte nem kötelező, de a tantárgy eredményes teljesítését nagyban elősegíti)
nincs
Ajánlott (nem kötelező) előzetesen megszerzendő kompetenciák
(azon ajánlott (nem kötelező) előzetesen megszerzendő kompetenciák összessége, amelyek jelentősen hozzájárulnak a tantárgy eredményes teljesítéséhez)
Python programozás Mátrixalgebra
Általános szabályok
Követelmények: A szorgalmi időszakban: A hallgatók a szorgalmi időszak során egyedül vagy csapatban tetszőlegesen választott nagy házi feladatot készítenek, amelyen gyakorolhatják a mély tanuló rendszerek tervezését, megvalósítását és az órán tanult eszközök használatát. Az elkészített rendszert dokumentációkkal együtt a félév végén kell bemutatniuk, illetve félév közben egy alkalommal be kell számolni az előrehaladásról. A házi feladatok dokumentációja és a forráskódok karbantartása széles körben elterjedt, általános git rendszeren keresztül történik. A hallgató a félév elismerését jelentő félév végi aláírást csak akkor kaphat, ha a házi feladata teljesíti a minimális követelményeket. A vizsgaidőszakban: A tantárgy anyagából a hallgatók vizsgát tesznek. A félév végi osztályzatot a házi feladat (50%) és a vizsgajegy (50%) alapján kapják. A vizsgán a hallgatóknak el kell érniük a meghatározott minimum szintet (40%). Elővizsga: Elővizsga tehető a szorgalmi időszak utolsó hetében. Pótlási lehetőségek: A házi feladat leadása a pótlási héten megadott időpontban pótolható. Elégtelen vizsga a TVSZ szabályai szerint pótolható.
Teljesítményértékelési módszerek
Szorgalmi időszakban végzett teljesítményértékelések részletes leírása

Nincs megadva részletes értékelés.

Szorgalmi időszakban végzett teljesítményértékelések részaránya

Nincs megadva részarány.

Vizsgaidőszakban végzett teljesítményértékelések részletes leírása

Nincs megadva részletes értékelés.

Vizsgarészek részaránya

Nincs megadva részarány.

Érdemjegy megállapítása

Nincs megadva érdemjegy határ.

Jelenléti és részvételi követelmények

Nincs megadva jelenléti követelmény.

Javítás, ismétlés és pótlás különös szabályai

Nincs megadva.

Rövid leírás

Nincs megadva.

Részletes leírás

Nincs megadva.

Ajánlott tantárgyak
Neurális hálózatok (VIMIJV07) Deep learning alkalmazása a vizuális informatikában (VIIIAV20)
A tantárgy elvégzéséhez szükséges tanulmányi munka

Nincs megadva munkaidő bontás.

Tantárgykövetelmények hatályossága
Tantárgykövetelmények hatályosságának kezdete:
Tantárgykövetelmények hatályosságának vége:
Tantervi elhelyezés

Nincsenek rögzített tantervi elhelyezések ehhez a tárgyverzióhoz.