Schița de curs

Partea 1 – Concepte de Deep Learning și DNN

Introducere AI, Machine Learning & Deep Learning

  • Istoria, conceptele de bază și aplicațiile obișnuite ale inteligenței artificiale, acolo unde fantasii domeniului sunt depășite
  • 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 obișnuită: definiție.
  • Tipuri de sarcini: învățare supravegheată, învățare ne-supravegheată, învățare prin întăriri
  • Tipuri de acțiuni: clasificare, regresie, grupare, estimarea densității, reducerea dimensionalității
  • Exemple de algoritmi Machine Learning: Regresia liniară, Naive Bayes, Random Tree
  • Machine learning VS Deep Learning: problemele pentru care Machine Learning rămâne astăzi la stație (Random Forests & XGBoosts)

Concepte de bază ale unei rețele neuronale (Aplicație: perceptron multi-strat)

  • Reamintirea bazelor matematice.
  • Definiția unei rețele neuronale: arhitectură clasică, activare și
  • ponderarea activărilor anterioare, adâncimea unei rețele
  • Definiția învățării unei rețele neuronale: funcții de cost, back-propagation, descendentă gradient stochastică, maximizarea verosimilitudinii.
  • Modelarea unei rețele neuronale: modelarea datelor de intrare și iesire în funcție de tipul problemei (regresie, clasificare ...). Cursesul dimensionalității.
  • Diferența dintre date multi-feature și semnal. Alegerea unei funcții de cost în funcție de date.
  • Aproximarea unei funcții prin rețea neuronală: prezentare și exemple
  • Aproximarea unei distribuții prin rețea neuronală: prezentare și exemple
  • Augmentarea datelor: cum să echilibrați un set de date
  • Generalizarea rezultatelor unei rețele neuronale.
  • Inițializarea și regularizarea unei rețele neurona: L1 / L2 regularizare, Normalizarea Batch
  • Algoritmi de optimizare și convergență

Unelte standard ML / DL

O prezentare simplă cu avantaje, dezavantaje, poziție în ecosistem și utilizare este planificată.

  • Unelte de gestionare a datelor: Apache Spark, Apache Hadoop
  • Machine Learning: Numpy, Scipy, Sci-kit
  • Framework-uri de nivel înalt DL: PyTorch, Keras, Lasagne
  • Framework-uri de nivel scăzut DL: Theano, Torch, Caffe, Tensorflow

Rețele Neuronale Convoluționale (CNN).

  • Prezentarea CNN-urilor: principii fundamentale și aplicații
  • Funcționarea de bază a unei CNN: stratul convoluțional, utilizarea unui kernel,
  • Padding & stride, generarea hărții caracteristicilor, straturile de pooling. Extensii 1D, 2D și 3D.
  • Prezentarea arhitecturilor diferite ale CNN care au adus la stația stării în clasificare
  • Imagini: LeNet, VGG Networks, Network in Network, Inception, Resnet. Prezentarea inovațiilor aduse de fiecare arhitectură și a aplicațiilor lor mai largi (Convolution 1x1 sau conexiuni reziduale)
  • Utilizarea unui model cu atenție.
  • Aplicație la un caz de clasificare comun (text sau imagine)
  • CNN-uri pentru generație: super-rezoluție, segmentare pixel-to-pixel. Prezentarea
  • Strategiile principale de creștere a hărților caracteristicelor pentru generația imaginilor.

Rețele Neuronale Recurente (RNN).

  • Prezentarea RNN-urilor: principii fundamentale și aplicații.
  • Funcționarea de bază a RNN: activarea ascunsă, back propagation through time, versiunea desfășurată.
  • Evoluții către Gated Recurrent Units (GRUs) și LSTM (Long Short Term Memory).
  • Prezentarea diferitelor stări și a evoluțiilor aduse de aceste arhitecturi
  • Problemele de convergență și vanishing gradient
  • Arhitecturi clasice: predicția unei serii temporale, clasificare ...
  • Arhitectură de tip RNN Encoder Decoder. Utilizarea unui model cu atenție.
  • Aplicații NLP: codificare a cuvintelor / caracterelor, traducere.
  • Aplicații video: predicția următoarei imagini generate dintr-o secvență video.

Modele generative: Variational AutoEncoder (VAE) și Generative Adversarial Networks (GAN).

  • Prezentarea modelelor generative, legătura cu CNN-uri
  • Auto-encoder: reducerea dimensionalității și generația limitată
  • Variational Auto-encoder: model generativ și aproximarea distribuției unei date. Definiția și utilizarea spațiului latent. Reparametrizarea truc. Aplicații și limitări observate
  • Generative Adversarial Networks: Fundamente.
  • Arhitectura duală (Generator și discriminator) cu învățare alternativă, funcții de cost disponibile.
  • Convergența unei GAN și dificultățile întâmpinate.
  • Convergență îmbunătățită: Wasserstein GAN, Began. Distanța Earth Moving.
  • Aplicații pentru generația de imagini sau fotografii, generația de text, super-rezoluție.

Deep Reinforcement Learning.

  • Prezentarea învățării prin întăriri: controlul unui agent într-un mediu definit
  • Prin stari și acțiuni posibile
  • Utilizarea unei rețele neurona pentru aproximarea funcției de stare
  • Deep Q Learning: experiența replay, și aplicația la controlul unui joc video.
  • Optimizarea politicii de învățare. On-policy && off-policy. Arhitectură Actor critic. A3C.
  • Aplicații: controlul unui joc video sau a unui sistem digital.

Partea 2 – Theano pentru Deep Learning

Bazele Theano

  • Introducere
  • Instalare și configurare

TheanoFunctions

  • intrări, ieșiri, actualizări, givens

Antrenarea și optimizarea unei rețele neurona folosind Theano

  • Modelarea rețelei neurone
  • Regresia 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
  • Hranirea, citirea și preîncărcarea datelor TensorFlow
  • Cum să folosiți infrastructura TensorFlow pentru a antrena modele la scară largă
  • Vizualizarea și evaluarea modelelor cu TensorBoard

Mecanica TensorFlow

  • Prepararea datelor
  • Descărcare
  • Intrări și placeholder-uri
  • Construirea graficelor
    • Inference
    • Pierderi
    • Antrenare
  • Antrenarea modelului
    • Graficul
    • Sesiunea
    • Bucle de antrenare
  • Evaluarea modelului
    • Construirea graficului de evaluare
    • Ieșirea de evaluare

Perceptronul

  • Funcții de activare
  • Algoritmul de învățare a perceptronului
  • Clasificarea binară cu perceptronul
  • Clasificarea documentelor cu perceptronul
  • Limitările perceptronului

De la Perceptron la Support Vector Machines

  • Kernele și trucul cu kernel
  • Clasificarea maximă margină și vectorii de sprijin

Rețele Neuronale Artificiale

  • Frontiere de decizie neliniare
  • Rețele neuronale feedforward și feedback
  • Perceptroni multi-strat
  • Minimizarea funcției de cost
  • Propagarea înainte
  • Propagarea înapoi
  • Îmbunătățirea modului în care rețelele neurone învață

Rețele Neuronale Convoluționale

  • Obiective
  • Arhitectura modelului
  • Principii
  • Organizarea codului
  • Lansarea și antrenarea modelului
  • Evaluarea modelului

Introduceri de bază pentru modulele de mai jos (introducere succintă de oferit în funcție de timp disponibil):

Tensorflow - Utilizare Avansată

  • Thread-uri și cozi
  • TensorFlow distribuit
  • Scrierea documentației și împărtășirea modelului
  • Personalizarea cititorilor de date
  • Manipularea fișierelor model TensorFlow

Servirea TensorFlow

  • Introducere
  • Tutorial de bază pentru servire
  • Tutorial avansat pentru servire
  • Tutorial de servire al modelului Inception

Cerințe

Cunoștințe de 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 programarea Python și bibliotecile sale.

 35 ore

Numărul de participanți


Prețul pe participant

Mărturii (5)

Cursuri viitoare

Categorii înrudite