A deep learning teljes megértéséhez szükséges, hogy teljesen a nulláról, framewörkök nélkül megvalósítsunk egy neurális hálót és be is tanítsuk. A pontos működés megértése hozzájárul ahhoz, hogy a későbbiekben sokkal összetettebb feladatokat is meg tudjunk oldani, kialakuljon egy helyes intuíció. Akik úgy érzik, hogy már értik a neurális hálókat, azoknak is egy kiváló összefoglaló.

Az MNIST datasetet fogjuk felhasználni, ráadásul a saját magunk által írt letöltővel szerezzük meg a képeket. A feladat nem túl nehéz, de nem is túl könnyű. Ezen a tanfolyamon megerősítjük a tudásunkat a Cross-entropy és SoftMaxxal kapcsolatban, aminek segítségével már "kézzel", saját magunk implementáljuk a loss függvényünket. Megírjuk a forward feed-et és elmerülünk az inputok és a paraméterek helyes inicializálásában. A helyes implementációnkat sok esetben a Pytorch eredményeivel hasonlítjuk össze.

  • Szükséges előismeretek!

    A tanfolyam erősen épít a deep learning útvonal korábbi részeire.

  • Kinek ajánljuk?

    Mindenkinek aki deep learninggel foglalkozik, vagy tervezi. Ez mindennek az alapja.

  • Mit tanulsz meg?

    Lehull a lepel a Mesterséges intelligenciáról és végre valójában látod a Mátrixot!

Témakörök

  1. 1
    • 1. Adatok letöltése a saját utils.py -al

    • 2. Egy kép a datasetből matplotlibbel ábrázolva

    • 3. Numpy arrayből kép PIL libraryvel és vissza

    • 4. A színes képeknek 3 (RGB) csatornája van

    • 5. Több kép együttes ábrázolása

    • 6. Több kép táblázatosan megjelenítve

    • 7. Teljes MNIST dataset vizuálisan

    • 8. Matplotlibbel is több képet ábrázolunk

    • 9. Pytorch frameworkkel hálózat definiálása

    • 10. Az nn.Module vs Sequential jelölés

    • 11. Cross-entropy loss definiálása

    • 12. Készítünk egy egyszerű dataloadert, ami batch sizenyi adatokat generál

    • 13. A mi trainloaderunk csak véletlenül válogat a datasetbol

    • 14. X (kép), Y (label) tuple kézzel

    • 15. A hálózat tanításának lépései

    • 16. Probléma a mátrixok méreteivel

    • 17. Mátrix szorzás az input és a hidden layer lineáris kombinációja

    • 18. A biast általában külön vektorban tároljuk

    • 20. Számoljuk ki hány darab paraméter van a hálózatunkban

    • 21. A GPUk, TPUk gyorsan szoroznak mátrixokat

    • 22. Milyen méretű mátrixokat kellene összeszoroznunk?

    • 23. Mátrix szorzás szabálya és a mérete szorzás után

    • 24. A kiinduló probléma logikai megoldása

    • 25. Reshape és label mátrix formája

    • 26. Utils, dataset átformálása az adott feladatra

    • 27. Valami lefutott, de ez most jó nekem?

    • 28. Accuracy számítása

    • 29. Hyperparameterek, manual seed beállítása

    • 30. Accuracy és loss elmentése a training alatt

    • 31. Loss és Accuracy ábrázolása

    • 32. Adamre cseréljük az optimizert

    • 33. Refactor és rendrakás

    • 34. Itt tartunk jelenleg

    • 35. Hyperparamétereket egy helyre gyűjtjük

    • 36. Learning rate

    • 37. A korábbi megvalósításban SGD optimizert használtuk és jó volt, most meg nem

    • 38. A hálózat forward feedje, predikció, inference

    • 39. Képek 0 es 1 köze essenek, normalizáció

    • 40. Kép histogramja

    • 41. Normalizált kép histogramja

    • 42. Teljes dataset normalizálása

    • 43. Műveletek Numpy arrayjel

    • 44. Tensor és Numpy array

    • 45. Tensor és Numpy egy helyen a memóriában

    • 46. Normal vs uniform distribution

    • 47. Forward feed szimulálása mátrix szorzással

    • 48. Kaiming féle paraméter (weight) inicializáció

    • 49. Kaimining inicializáció lekódolva

    • 50. Sigmoid használata ReLU helyett

    • 51. Súlyok kiolvasása pytorch modelből

    • 52. Forward feed megírása, "kézzel"

    • 53. Predikció avagy inference

    • 54. Tesztelés képpel

    • 55. Pytorch model elmentése és betöltése

    • 56. Overfitting

    • Project letöltése

Oktató

AI expert

Péter Litkei

Engem már teljesen besszipantott a mesterséges intelligencia, pontosabban a deep learning világa. 2012-től kezdődően a legtöbb szolgáltatás használ valamiféle neurális hálót, - kép és beszédfelismerők, google translate, önvezető autók és mire te ezt olvasod valószínűleg a barátod/barátnőd is :) - a jövő egyértelműen ez.