Schița de curs
Partea 1 – Concepte de Deep Learning și DNN
Introducere în AI, Machine Learning și Deep Learning
- Istoric, concepte de bază și aplicații uzuale ale inteligenței artificiale, dincolo de scenariile fantastice asociate acestui domeniu
- Inteligența colectivă: agregarea cunoștințelor împărtășite de mai mulți agenți virtuali
- Algoritmi genetici: evoluția unei populații de agenți virtuali prin selecție
- Machine learning uzual: definiție.
- Tipuri de sarcini: învățare supervizată, învățare nesupervizată, învățare prin consolidare
- Tipuri de acțiuni: clasificare, regresie, clustering, estimarea densității, reducerea dimensionalității
- Exemple de algoritmi de Machine Learning: regresie liniară, Naive Bayes, Random Tree
- Machine Learning vs Deep Learning: probleme la care Machine Learning rămâne și astăzi tehnologia de vârf (Random Forests și XGBoost)
Concepte de bază ale unei rețele neuronale (Aplicație: perceptron multistrat)
- Recapitularea bazelor matematice.
- Definiția unei rețele de neuroni: arhitectură clasică, activare și
- Ponderarea activărilor anterioare, adâncimea unei rețele
- Definiția învățării unei rețele de neuroni: funcții de cost, back-propagation, coborâre de gradient stocastică, probabilitate maximă.
- Modelarea unei rețele neuronale: modelarea datelor de intrare și ieșire în funcție de tipul problemei (regresie, clasificare ...). Blestemul dimensionalității.
- Distincția dintre date multi-caracteristică și semnal. Alegerea unei funcții de cost în funcție de date.
- Aproximarea unei funcții printr-o rețea de neuroni: prezentare și exemple
- Aproximarea unei distribuții printr-o rețea de neuroni: prezentare și exemple
- Data Augmentation: cum să echilibrezi un set de date
- Generalizarea rezultatelor unei rețele de neuroni.
- Inițializarea și regularizarea unei rețele neuronale: regularizare L1 / L2, Batch Normalization
- Algoritmi de optimizare și convergență
Instrumente standard ML / DL
Este planificată o prezentare simplă, cu avantaje, dezavantaje, poziția în ecosistem și mod de utilizare.
- Instrumente de gestionare a datelor: Apache Spark, Apache Hadoop
- Machine Learning: Numpy, Scipy, Sci-kit
- Framework-uri DL de nivel înalt: PyTorch, Keras, Lasagne
- Framework-uri DL de nivel scăzut: Theano, Torch, Caffe, Tensorflow
Rețele neuronale convoluționale (CNN).
- Prezentarea CNN-urilor: principii fundamentale și aplicații
- Funcționarea de bază a unui CNN: strat convoluțional, utilizarea unui kernel,
- Padding și stride, generarea hărților de caracteristici, straturi de pooling. Extensii 1D, 2D și 3D.
- Prezentarea diferitelor arhitecturi CNN care au adus progrese de vârf în clasificare
- Imagini: LeNet, VGG Networks, Network in Network, Inception, Resnet. Prezentarea inovațiilor aduse de fiecare arhitectură și aplicațiile lor mai globale (convoluție 1x1 sau conexiuni reziduale)
- Utilizarea unui model de atenție.
- Aplicație la un caz comun de clasificare (text sau imagine)
- CNN-uri pentru generare: super-rezoluție, segmentare pixel-la-pixel. Prezentarea
- Principalele strategii de creștere a hărților de caracteristici pentru generarea de imagini.
Rețele neuronale recurente (RNN).
- Prezentarea RNN-urilor: principii fundamentale și aplicații.
- Funcționarea de bază a RNN: activare ascunsă, backpropagation prin timp, versiune desfășurată.
- Evoluții către Gated Recurrent Units (GRU) și LSTM (Long Short Term Memory).
- Prezentarea diferitelor stări și a evoluțiilor aduse de aceste arhitecturi
- Probleme de convergență și de gradient care dispare
- Arhitecturi clasice: predicția unei serii temporale, clasificare ...
- Arhitectură de tip 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.
Modele generativ: Variational AutoEncoder (VAE) și Generative Adversarial Networks (GAN).
- Prezentarea modelelor generativ, legătura cu CNN-urile
- Auto-encoder: reducerea dimensionalității și generare limitată
- Variational Auto-encoder: model generativ și aproximarea distribuției unui dat. Definiția și utilizarea spațiului latent. Reparameterization trick. Aplicații și limite observate
- Generative Adversarial Networks: Fundamente.
- Arhitectură de rețea duală (Generator și discriminator) cu învățare alternativă, funcții de cost disponibile.
- Convergența unui GAN și dificultățile întâmpinate.
- Convergență îmbunătățită: Wasserstein GAN, Began. Earth Moving Distance.
- Aplicații pentru generarea de imagini sau fotografii, generarea de text, super-rezoluție.
Deep Reinforcement Learning.
- Prezentarea învățării prin consolidare: controlul unui agent într-un mediu definit
- Printr-o stare și acțiuni posibile
- Utilizarea unei rețele neuronale pentru a aproxima funcția de stare
- Deep Q Learning: experience replay și aplicarea la controlul unui joc video.
- Optimizarea politicii de învățare. On-policy și off-policy. Arhitectură actor-critic. A3C.
- Aplicații: controlul unui singur joc video sau al unui sistem digital.
Partea 2 – Theano pentru Deep Learning
Bazele Theano
- Introducere
- Instalare și configurare
Funcții Theano
- intrări, ieșiri, actualizări, givens
Antrenarea și optimizarea unei rețele neuronale folosind Theano
- Modelarea rețelei neuronale
- Regresie logistică
- Straturi ascunse
- Antrenarea unei rețele
- Calcul și clasificare
- Optimizare
- Log Loss
Testarea modelului
Partea 3 – DNN folosind Tensorflow
Bazele TensorFlow
- Crearea, inițializarea, salvarea și restaurarea variabilelor TensorFlow
- Alimentarea, citirea și preîncărcarea datelor TensorFlow
- Cum să folosești infrastructura TensorFlow pentru a antrena modele la scară
- Vizualizarea și evaluarea modelelor cu TensorBoard
Mecanica TensorFlow
- Pregătirea datelor
- Descărcare
- Intrări și placeholdere
-
Construirea grafului
- Inferență
- Loss
- Antrenare
-
Antrenarea modelului
- Graful
- Sesiunea
- Bucla de antrenare
-
Evaluarea modelului
- Construirea grafului de evaluare
- Ieșirea evaluării
Perceptronul
- Funcții de activare
- Algoritmul de învățare al perceptronului
- Clasificare binară cu perceptronul
- Clasificarea documentelor cu perceptronul
- Limitările perceptronului
De la perceptron la Support Vector Machines
- Kernel-uri și kernel trick
- Clasificare cu marjă maximă și vectori suport
Rețele neuronale artificiale
- Granițe de decizie neliniare
- Rețele neuronale artificiale feedforward și feedback
- Perceptroni multistrat
- Minimizarea funcției de cost
- Propagare înainte
- Propagare înapoi
- Îmbunătățirea modului în care învață rețelele neuronale
Rețele neuronale convoluționale
- Obiective
- Arhitectura modelului
- Principii
- Organizarea codului
- Lansarea și antrenarea modelului
- Evaluarea unui model
Introduceri de bază care vor fi oferite pentru modulele de mai jos (scurtă introducere în funcție de timpul disponibil):
Tensorflow – Utilizare avansată
- Threading și cozi
- TensorFlow distribuit
- Scrierea documentației și partajarea modelului tău
- Personalizarea cititoarelor de date
- Manipularea fișierelor de model TensorFlow
TensorFlow Serving
- Introducere
- Tutorial de bază pentru serving
- Tutorial avansat de serving
- Tutorial de serving pentru modelul Inception
Cerințe
Cunoștințe de bază în fizică, matematică și programare. Implicare în activități de procesare a imaginilor.
Participanții ar trebui să aibă o înțelegere prealabilă a conceptelor de machine learning și să fi lucrat cu programare Python și biblioteci specifice.
Mărturii (2)
Formarea a fost organizată și bine planificată, iar din ea am ieșit cu cunoștințe sistematizate și o perspectivă bună asupra temelor pe care le-am abordat.
Magdalena - Samsung Electronics Polska Sp. z o.o.
Curs - Deep Learning with TensorFlow 2
Tradus de catre o masina
Mi-a plăcut foarte mult finalul unde am avut ocazia să jucăm cu CHAT GPT. Sala nu era configuraționată cel mai bine pentru aceasta - ar fi fost mai util să avem câteva mese mici în loc de o masă mare, astfel încât să putem forma grupuri mai mici și să ne brainstorm-urim idei.
Nola - Laramie County Community College
Curs - Artificial Intelligence (AI) Overview
Tradus de catre o masina