Schița de curs
Cursul este împărțit în trei zile separate, dintre care cea de-a treia este opțională.
Ziua 1 - Machine Learning & Deep Learning: concepte teoretice
1. Introducere în IA Machine Learning & Deep Learning
- Istoric, concepte fundamentale și aplicații comune ale inteligenței artificiale, departe de fanteziile asociate acestui domeniu.
- Inteligența colectivă: agregarea cunoștințelor împărtășite de mai mulți agenți virtuali
- Algoritmi genetici: dezvoltarea unei populații de agenți virtuali prin selecție
- 5] uzual: definiție.
- Tipuri de sarcini: învățare supravegheată, învățare nesupravegheată, învățare prin întărire
- Tipuri de acțiuni: clasificare, regresie, grupare, estimare a densității, reducere a dimensionalității
- Exemple de algoritmi Machine Learning: regresie liniară, Naive Bayes, Arborele aleatoriu
- Învățare automată VS Deep Learning: probleme în care Machine Learning rămâne stadiul actual al tehnologiei (Random Forests & XGBoosts)
2. Concepte fundamentale ale unei rețele neuronale (Aplicație: perceptron multistrat)
- Reamintire a noțiunilor matematice de bază.
- Definiția unei rețele neuronale: arhitectura clasică, funcții de activare și de ponderare a activărilor anterioare, adâncimea unei rețele etc.
- Definiția învățării unei rețele neuronale: funcții de cost, back-propagation, coborârea gradientului stocastic, maximum de verosimilitate.
- Modelarea unei rețele neuronale: modelarea datelor de intrare și de ieșire în funcție de tipul de problemă (regresie, clasificare etc.). Blestemul dimensionalității. Distincția dintre datele cu mai multe caracteristici și semnal. Alegerea unei funcții de cost în funcție de date.
- Aproximarea unei funcții cu ajutorul unei rețele neuronale: prezentare și exemple.
- Aproximarea unei distribuții cu ajutorul unei rețele neuronale: prezentare și exemple.
- Augmentarea datelor: cum se echilibrează un set de date.
- Generalizarea rezultatelor unei rețele neuronale.
- Inițializarea și regularizarea unei rețele neuronale: regularizarea L1/L2, normalizarea pe loturi etc.
- Algoritmi de optimizare și convergență.
3. Instrumente ML / DL comune
Se face o prezentare simplă, cu avantaje, dezavantaje, poziția în ecosistem și utilizare.
- Instrumente de gestionare a datelor: Apache Spark, Apache Hadoop.
- Instrumente comune Machine Learning: Numpy, Scipy, Sci-kit.
- Cadre DL de nivel înalt: PyTorch, Keras, Lasagne.
- Cadre DL de nivel scăzut: Theano, Torch, Caffe, Tensorflow.
Ziua 2 - Rețele convoluționale și recurente
4. Convoluționale Neural Networks (CNN).
- Prezentarea CNN-urilor: principii fundamentale și aplicații
- Funcționarea de bază a unui CNN: strat convoluțional, utilizarea unui nucleu, padding & stride, generarea de hărți de caracteristici, straturi de grupare. Extensii 1D, 2D și 3D.
- Prezentarea diferitelor arhitecturi CNN care au reprezentat stadiul actual al clasificării imaginilor: LeNet, VGG Networks, Network in Network, Inception, Resnet. Prezentarea inovațiilor aduse de fiecare arhitectură și a aplicațiilor lor mai globale (convoluție 1x1 sau conexiuni reziduale).
- Utilizarea unui model de atenție.
- Aplicare la un scenariu tipic de clasificare (text sau imagine).
- CNN-uri pentru generare: super-rezoluție, segmentare pixel cu pixel. Prezentarea principalelor strategii de augmentare a hărților de caracteristici pentru generarea de imagini.
5. Recurent Neural Networks (RNN).
- Prezentarea RNN-urilor: principii fundamentale și aplicații.
- Funcționarea de bază a RNN-urilor: activarea ascunsă, propagarea înapoi în timp, versiunea desfășurată.
- Evoluții spre GRU (Gated Recurrent Units) și LSTM (Long Short Term Memory). Prezentarea diferitelor stări și evoluții aduse de aceste arhitecturi.
- Probleme de convergență și de gradient de dispariție.
- Tipuri de arhitecturi clasice: predicția unei serii de timp, clasificarea etc.
- Arhitectura RNN Encoder Decoder. Utilizarea unui model de atenție.
- Aplicații NLP: codificarea cuvintelor/caracterelor, traducere.
- Aplicații video: predicția următoarei imagini generate dintr-o secvență video.
Ziua 3 - Modele generaționale și Reinforcement Learning.
6. Modele generaționale: Variational AutoEncoder (VAE) și Generative Adversarial Networks (GAN).
- Prezentarea modelelor generaționale, legătura cu CNN-urile văzute în ziua 2.
- Autocodificator: reducerea dimensionalității și generare limitată
- Autocodificator variațional: model generațional și aproximarea distribuției datelor. Definiția și utilizarea spațiului latent. Truc de reparametrizare. Aplicații și limitări observate
- Rețele generative adversare: principii fundamentale. Două arhitecturi de rețea (generator și discriminator) cu învățare alternantă, funcții de cost disponibile.
- Convergența unei GAN și dificultățile întâmpinate.
- Convergență îmbunătățită: Wasserstein GAN, BeGAN. Distanța de deplasare a pământului.
- Aplicații pentru generarea de imagini sau fotografii, generarea de text, super-rezoluție.
rezoluție.
7. Deep Reinforcement Learning.
- Prezentare a învățării prin întărire: controlul unui agent într-un mediu definit de o stare și de acțiuni posibile.
- Utilizarea unei rețele neuronale pentru a aproxima funcția de stare.
- Deep Q Learning: reluarea experienței și aplicarea la controlul unui joc video.
- Optimizarea politicii de învățare. În cadrul politicii și în afara politicii. Arhitectura critică a actorilor. A3C.
- Aplicații: controlul unui joc video simplu sau al unui sistem digital.
Cerințe
Nivel de inginer