Ha a tárgyról lecsúsztál, de szeretnél a deep learningbe belekezdeni, vagy már elvégezted a tárgyat és szeretnél elmélyülni a témában, akár PhD-zni, akkor olvass tovább az alábbi gombra kattintva:


További tudnivalók

"Először is szeretném megköszönni a Deep Learning a Gyagorlatban Python és Lua alapokon tárgy keretein belül végzett munkád (illetve a társoktatóknak is) és a rengetek tudást amit kaptam. A tőletek kapott tudásnak hála tovább foglalkoztam a tárgyon belül leadott házi feladatommal (IMU szenzorjelek feldolgozása deep learning segítségévével) és a projekttel elnyertem a Suzuki Foundation ösztöndíját, így a következő fél évben Japánban kutathatok a Shizuoko Egyetemen."

Nagy Balázs - BME GPK, Mechatronikai mérnök, doktorandusz

"Kiss Gábor vagyok, utolsó éves mesterképzéses mechatronikai mérnök hallgató és 2017-ben hallgattam a tárgyukat, Deep Learning a gyakorlatban python és Lua alapon. A házi feladatom parancsszó felismerő neurális hálózatok tanítása és összehasonlítása volt. Azért írok Önöknek, hogy köszönetet mondjak. A tárgy után is aktívan foglalkoztam a területtel, ahogyan Önök is javasolták (Kaggle versenyek, cikkek reprodukálása stb.) és meglett az eredménye. Februártól főállásban fogok dolgozni egy vezető autóipari cégnél Automated Driving területen, igen jó fizetésért. Úgy érzem azok az alapok nélkül és azok az elvek nélkül, amiket Önök átadtak, nem sikerült volna betörnöm erre a területre, a legtöbb embernek ugyanis manapság fogalma sincs a hálózatok mély működéséről."

Hallgatói vélemény

"A tantárgy eddigi BME-s tanulmányaim közül a legjobb kurzusnak mondható. Naprakész (értsd: valóban az előadás napjára aktuális) információk, rengeteg gyakorlati példa és valós problémák megoldása. Ennél jobb tárgyat nem nagyon tudok elképzelni arra, hogy valaki megismerkedjen a deep learninggel, remek alapokat ad, hogy ezekre építve valaki a későbbiekben el tudjon mélyülni a témában.Még egy hatalmas köszönet a tárgy oktatóinak, ha minden jól megy, pénteken kapom meg az új állásomat gépi tanulás és deep learning témakörben :)"

Hallgatói vélemény

"...iszonyatosan élveztem az órát, a legjobb volt az egyetemi tanulmányaim alatt. Tetszett a modern, agilis hozzáállás és az, hogy végre egy cutting edge technológiát tanulhattam gyakorlati alapokon."

Hallgatói vélemény

Aláírás és osztályzat

Az aláírás feltétele a házi feladat elkészítése és a gyakorlatok 70%-án való részvétel. Lehetőségek az osztályzatra:

  • vizsga (írásbeli + szóbeli)
  • +1 jegy: 5 db kis házi feladat összpontszámának 70%-nak elérése esetén
  • +1 jegy: órán való Kahoot! kérdőívben legjobban teljesítő 5 hallgatónak
  • 4-es vagy 5-ös megajánlott jegy: megfelelő komplexitású nagy házi feladatért

Előadás, gyakorlat

Előadás: kedd 12-14h
Gyakorlat: csütörtök 12-14h és csütörtök 16-18h
Microsoft Teams csatorna: csatlakozom
Az előadások és gyakorlatok jelenlétiek 2022-ben (ameddig nincs egyetemi szintű más utasítás). Nem készül felvétel.

Fogadóórák

Előre egyeztetett időpontban online. Minden esetben legalább két munkanappal korábban küldjétek el a kérdéseiteket az előadónak.

Oktatók és gyakorlatvezetők:
Gyires-Tóth Bálint
Csapó Tamás Gábor
Zainkó Csaba
Moni Róbert
Kalapos András
Unyi Dániel
Hajgató Gergely

Segédoktatók:
Sevinj Yolchuyeva
Mohammed AL-Radhi
Hamdi Abed

FAQ

Q: Mire tudom használni a kurzuson elsajátított ismereteket?
A: Célunk az alapvető összefüggések, módszerek, algoritmusok és programozási eszközök megtanítása. Ha bejársz az órákra és részt veszel minden feladatban, akkor a kurzus végére a célunk, hogy olyan tudásod legyen, ami alapján már bátran belevághatsz komplexebb deep learning feladatokba.

Q: Ha bejárok az órákra, deep learning szakember leszek?
A: Az anyag elsajátításához az órákra való bejárás szükséges, de nem elégséges feltétel. A deep learning téma esetén szükség van sok-sok egyéni munkára. Ehhez megadjuk a segítséget kis- és nagy házi feladatok formájában, konzultációs lehetőséggel. Ha ezeket is lelkiismeretesen elvégzed, akkor az már jó belépőt jelent a deep learning világába.
DE! Ha előre láthatóleg nem lesz időd ezeket megcsinálni, vagy még az órákra se tudsz bejárni, akkor arra szeretnénk kérni, hogy a helyek korlátozott száma miatt, inkább gyere vissza, ha több időd lesz és add át a helyet olyannak, aki ezt tudja vállalni.

Q: Milyen lesz a számonkérés?
A: Heti rendszerességgel adunk fel gyakorlati házi feladatot, amiért plusz pont jár. Ezen túl a tárgyban van egy nagy házi, ami az aláírás feltétele. Megfelelő minőségű megoldás esetén megajánlott jegyet adunk. A nagy házi feladatot csapatokban fogjátok megoldani. Ha nincs megajánlott jegyed, akkor szóbeli vizsga van. A házikat Github-ra kérjük majd feltölteni.

Q: Mennyit kell majd tanulni?
A: Legalább annyit, mint amennyit mi készülünk az órákra. :) Viccet félretéve: a célunk tényleg egy gyakorlati, magánvállalkozásban és iparban egyaránt használható tudás átadása. Reméljük, hogy olyan mértékben magával ragad Titeket a téma, mint bennünket (és már jó pár BSc és MSc hallgatónkat), és alig várjátok, hogy lefusson egy újabb tanítás, vagy ismét kódolhassatok. Ekkor már öröm lesz a „tanulás”, de addig pedig a rövid válasz: SOKAT!

Q: Kell tudnom programozni?
A: Script nyelveket használunk, amiket C, C++ vagy JAVA alapokkal viszonylag gyorsan meg lehet tanulni. Mindazonáltal, ha még nem használtál Python-t vagy LUA-t, akkor sincs baj, gyorsan bele lehet jönni, de foglalkozni kell vele. A kurzus kezdete előtt javasoljuk csinálj végig 1-2 tutorialt, mi ezeket ajánljuk.

Q: Kell-e előzetes elméleti tudás?
A: Úgy építjük fel a tárgyat, hogy nem kell. Mindazonáltal ha tudsz deriválni, tudod mi az a gradiens módszer, és a mátrix algebrát se felejtetted el teljesen, akkor ezek segítenek. Illetve nagyon jó, ha tisztában vagy a big data és gépi tanulás világával. Ha van időd, csináld végig a lentebb ajánlott, tudásszintednek megfelelő „machine learning” kurzus(oka)t, katt ide.

Q: Nem vagyok matematikus beállítottságú, hogy fogom érteni?
A: Ha bejársz és figyelsz, nem lesz gond. A tárgy gyakorlati szempontból mutatja be a deep learning paradigmát. Lesznek mélyebb elméleti részek, de legtöbb esetben a képleteket összerendeljük forráskóddal, így könnyebb lesz.

Q: Hol kaphatok további infókat a tárgyról?
A: Az órán elhangzott és a házikkal kapcsolatos dolgokat a a kurzus hivatalos Microsoft Teams csatornáján tudjátok megbeszélni. A tárgyal kapcsolatos javaslatokat, kritikákat anonim módon pedig itt tudjátok beküldeni.


Linkek

Tárggyal kapcsolatos oldalak
Tárgy Moodle oldala (előadások, gyakorlatok, házi feladatok)
Tárgy Twitter csatorna (hírek)
Tárgy GitHub oldala (gyakorlatok, házifeladatok)
2022 őszi kurzus MS Teams csatornája (vita, beszélgetés, kérdések)
Tárgy Google Form (anonim javaslatok, kritika)
Python
CS228 Python tutorial
Python kurzus a Coursera-n
Gépi tanulás, deep learning
Andrew Ng: Machine Learning - általános gépi tanulás kurzus, ha új vagy a témában ezzel kezd
Nando de Freitas: Deep learning at Oxford 2015 - ez már kifejezetten haladó deep learning kurzus, elméleti háttérrel és gyakorlati példákkal
Hugo Larochelle professzor on-line kurzusa - nagyon jó anyag, ami érinti mind a matematikai és machine learning alapokat, mind pedig az alkalmazott deep learning témakört
CS231n: Stanford egyetem képfelismerős kurzusának sillabusza - nagyon jó anyag, az általános megfontolások és a CNN specifikus részek is ismertetésre kerülnek benne
CS224d: Stanford egyetem természetes nyelvfeldolgozás kurzusának sillabusza - szintén nagyon jó anyag a nyelvi modellezés LSTM és GRU alapjairól
Long Short-Term Memory (LSTM) - nagyon jó, könnyen érthető, nagyon sokat hivatkozott leírás
The Unreasonable Effectiveness of Recurrent Neural Networks - Szekvencia modellezés LSTM-el. A szövegszintézis, zeneszintézis alapjai, szemléletes példákkal. Must read!
The Matrix Calculus You Need For Deep Learning - A deep learning-hez leginkább szükséges mátrix műveleteket összefoglaló nagyszerű cikk!
Deep learning programozás
Deep Learning with Python könyv (F. Chollet) gyakorlati anyaga
Deep Learning with Keras Tutorial @ EuroScipy 2016 - szuper Keras tutorial (2016 nyár)
Fast.ai kurzus - nagyszerű videók és notebook-ok (Python) kezdő szinttől haladó szintig.
TensorFlow Tutorial - used by Nvidia - kiváló TensorFlow tutorial
Awesome TensorFlow - TensorFlow-val kapcsolatos rengeteg forrás egy helyen
Rekurrens hálók, Backpropagation Through Time (BPTT) - nagyon szépen elmagyarázza a sima RNN és BPTT elméletét kóddal illusztrálva, illetve az LSTM-re is kitér


KIS HÁZI FELADAT

A kis házi feladatok elkészítése nem kötelező, de erősen ajánlott. A célunk deep learning rendszerek programozásának megtanulása, és ehhez elengedhetetlen a kurzusban való aktív részvétel.
A félévben várhatóan 5 db kis házi feladat lesz. Az eredményeket a Github.com-ra (elsődlegesen Jupyter notebook formátumban, secret gist-ként vagy git repo-ként) kell feltölteni, és az eredmények és az oda vezető útnak is jól láthatónak kell lennie. A határidő a kiosztástól számitott 2 hét. Késve leadott feladatot nem fogadunk el. Az öt házi feladatban megszerzehető pontszámnak, ha eléred a 70 százalékát, akkor az +1 jegyet ér a vizsgán/megajánlott jegy esetén. A kiértékelésig maradjon secret gist.
A kis házi feladatok beadása a Moodle oldalon történik.

NAGY HÁZI FELADAT

A nagy házi feladat az aláírás feltétele és egyben komplexebb nagy házi feladat esetén lehetőség van 4-es vagy 5-ös megajánlott jegyre. Rosszabbra nem!
A házi feladatok, forráskódjuk, dokumentáció és prezentáció publikus lesz és felkerül a tárgy honlapjára, illetve github.com-ra GNU GPLv3 licensz alatt. A házi feladatot 3 fős csapatokban kell elkészíteni (külön indoklással lehet csak 1 vagy 2 fős), a csapatok GitHub repoját mindig a csapat hozza létre. A kiemelkedő projektek gazdái megjelennek a tantárgy honlapján.
A házi feladat bármelyik deep learning keretrendszerben készülhet. A kiemelkedő nagy házi feladat további TDK, BSc és MSc diploma, publikációs és akár PhD lehetőséget is jelenthet. BENYÚJTANDÓ ANYAGOK

CSAPATOK

Egy témán 3 fős csapatok dolgoznak, 2-2 fős „vetésforgó” az alábbi szerepkörökkel:

  1. Tudományterület feltérképezése, cikkek olvasása.
  2. Adatok beszerzése, tisztítása, előkészítése.
  3. Hálózat és tanítás.
  4. Hiperparaméter optimalizálás és tesztelés.
  5. Interfész csatolás, opcionális (pl. Android).

Tehát a csapat minden tagja legalább 3 ponttal foglalkozik. Mindenkinek kötelező a (3)-as vagy (4)-es pontok valamelyikével foglalkoznia.

KÖTELEZŐ MÉRFÖLDKÖVEK

KIZÁRÓLAG a mérföldkövek határidőre történő teljesítése esetén van lehetőség a megajánlott jegyre! Nincs utólagos pótlásra lehetőség! A mérföldkőhöz tartozó kódokat, notebookokat a GitHub-ra töltsétek fel.

LEADÁSI HATÁRIDŐK

Aláírás

Megajánlott jegy

A házi feladat benyújtásának határideje a szorgalmi időszak utolsó hetének pénteki napja, hosszabbítási lehetőség nincs. A benyújtott feladatok GitHub forrása a szorgalmi időszak utolsó hetének vasárnapjáig módosítható.

BESZÁMOLÓ DOKUMENTUM

A beszámoló dokumentum angol vagy magyar nyelvű, minimum 2, maximum 4 oldal. A beszámoló forrását (.doc, .docx, .tex) és PDF exportját a csapat GitHub repojába kell feltölteni. Megajánlott jegy esetén kötelező az angol nyelv használata. A beszámoló jellemzően a következő részekből áll:

A beszámoló formázásnak a gépi tanulás témában elismert konferencia vagy folyóirat irányelveit kell követnie:

ELŐADÁSOK ÉS GYAKORLATOK ANYAGAI

Az előadásokhoz tartozó diák és a gyakorlatok anyagai az elhangzásuk után kerülnek feltöltésre a tárgy Moodle oldalára.

Segédlet: Amazon Web Service (AWS) használata deep learningre diákoknak ingyen (Szabó Dániel Attila)
Segédlet: Google Cloud használata deep learningre diákoknak ingyen (Szabó Dániel Attila)

SZABÁLYOK

Kis és nagy házi feladat egymásról való másolás gyanúja esetén az időben későbbi feltöltés tulajdonosa minden plusz lehetőségből ki lesz zárva (megajánlott jegy, +1 jegy) és kötelező számára a szóbeli vizsga. Bizonyosság esetén -1 jegy.
A feltöltött előadásokhoz tartozó diák nem helyettesítik az előadáson való részvételt, csupán emlékeztetőül szolgálnak.
Az előadás diái a szerzői jog védelme alatt állnak. Az előadás diáinak vagy bármilyen részének újra felhasználása, terjesztése, megjelenítése csak a szerző írásbeli beleegyezése esetén megengedett. Ez alól kivétel, mely diákon külső forrás külön fel van tüntetve.