Tantárgy » BMEVITMAV45
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) |
|
||||||||||||
| 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
elérhetőség:
zainko.csaba@vik.bme.hu
|
||||||||||||
| 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.
-
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.
-
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.
-
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.
-
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.
-
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. -
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.
- Félévközi házi feladat bemutató.
-
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. -
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.
-
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.
-
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.
-
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.
-
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. - 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.