Schița de curs

Partea 1 – Concepte de Învățare Profundă și DNN

Introducere în IA, Învățarea Automată și Învățarea Profundă

  • Istoric, concepte de bază și aplicații obișnuite ale inteligenței artificiale dincolo de fanteziile asociate acestui domeniu
  • Inteligența colectivă: agregarea cunoștințelor împărtășite de mulți agenți virtuali
  • Algoritmi genetici: evoluția unei populații de agenți virtuali prin selecție
  • Învățarea automată obișnuită: definiție.
  • Tipuri de sarcini: învățare supervizată, învățare nesupervizată, învățare prin întărire
  • Tipuri de acțiuni: clasificare, regresie, clustering, estimare a densității, reducere a dimensionalității
  • Exemple de algoritmi de învățare automată: Regresie liniară, Naive Bayes, Arbore aleator
  • Învățarea automată vs. Învățarea profundă: probleme în care învățarea automată rămâne încă la stadiul actual (Păduri aleatoare & XGBoosts)

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

  • Reamintirea bazelor matematice.
  • Definirea unei rețele de neuroni: arhitectura clasică, activarea și
  • Ponderea activărilor anterioare, adâncimea unei rețele
  • Definirea învățării unei rețele de neuroni: funcții de cost, back-propagation, coborâre stocastică a gradientului, maximizarea verosimilității.
  • Modelarea unei rețele neuronale: modelarea datelor de intrare și de ieșire în funcție de tipul de problemă (regresie, clasificare ...). Blestemul dimensionalității.
  • Distincția între date cu multiple caracteristici ș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
  • Creșterea datelor: 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, Normalizare pe lot
  • Algoritmi de optimizare și convergență

Instrumente standard ML / DL

Se planifică o prezentare simplă cu avantaje, dezavantaje, poziția în ecosistem și utilizare.

  • Instrumente de gestionare a datelor: Apache Spark, Apache Hadoop Tools
  • Învățarea automată: Numpy, Scipy, Sci-kit
  • Cadre de nivel înalt pentru DL: PyTorch, Keras, Lasagne
  • Cadre de nivel scăzut pentru DL: 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: stratul convoluțional, utilizarea unui nucleu,
  • Padding & stride, generarea hărților de caracteristici, straturi de pooling. Extensii 1D, 2D și 3D.
  • Prezentarea diferitelor arhitecturi CNN care au adus stadiul actual în clasificare
  • Imagini: LeNet, Rețele VGG, Network in Network, Inception, Resnet. Prezentarea inovațiilor aduse de fiecare arhitectură și a aplicațiilor lor mai largi (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 pentru creșterea 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-ului: activare ascunsă, back propagation prin timp, versiune desfășurată.
  • Evoluții către Unitățile Recurente cu Poartă (GRU) și LSTM (Memorie pe Termen Lung și Scurt).
  • Prezentarea diferitelor stări și a evoluțiilor aduse de aceste arhitecturi
  • Probleme de convergență și gradient dispărut
  • Arhitecturi clasice: Prezicerea unei serii temporale, clasificare ...
  • Arhitectura de tip RNN Encoder Decoder. Utilizarea unui model de atenție.
  • Aplicații NLP: codificare de cuvinte / caractere, traducere.
  • Aplicații video: predicția următoarei imagini generate dintr-o secvență video.

Modele generative: Autoencoder Variabil (VAE) și Rețele Generatoare Adversariale (GAN).

  • Prezentarea modelelor generative, legătura cu CNN-urile
  • Auto-encoder: reducerea dimensionalității și generare limitată
  • Auto-encoder variabil: model generativ și aproximarea distribuției unui dat. Definirea și utilizarea spațiului latent. Trucul de reparametrizare. Aplicații și limite observate
  • Rețele Generatoare Adversariale: Fundamente.
  • Arhitectura duală de rețea (Generator și discriminator) cu învățare alternativă, funcții de cost disponibile.
  • Convergența unui GAN și dificultăți întâlnite.
  • Îmbunătățirea convergenței: Wasserstein GAN, Began. Distanța de mișcare a pământului.
  • Aplicații pentru generarea de imagini sau fotografii, generare de text, super-rezoluție.

Învățarea profundă prin întărire.

  • Prezentarea învățării prin întărire: 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
  • Învățare profundă Q: reluare a experienței și aplicare la controlul unui joc video.
  • Optimizarea politicii de învățare. On-policy & off-policy. Arhitectura Actor critic. A3C.
  • Aplicații: controlul unui singur joc video sau a unui sistem digital.

Partea 2 – Theano pentru Învățarea Profundă

Bazele Theano

  • Introducere
  • Instalare și Configurare

Funcții Theano

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

Antrenarea și optimizarea unei rețele neuronale folosind Theano

  • Modelarea unei rețele neuronale
  • Regresie logistică
  • Straturi ascunse
  • Antrenarea unei rețele
  • Calcul și clasificare
  • Optimizare
  • Pierdere logaritmică

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ă utilizezi infrastructura TensorFlow pentru a antrena modele la scară largă
  • Vizualizarea și evaluarea modelelor cu TensorBoard

Mecanica TensorFlow

  • Pregătirea datelor
  • Descărcare
  • Intrări și placeholderi
  • Construirea graficuluiS
    • Inferență
    • Pierdere
    • Antrenament
  • Antrenarea modelului
    • Graficul
    • Sesiunea
    • Bucla de antrenament
  • Evaluarea modelului
    • Construirea graficului de evaluare
    • Ieșirea de evaluare

Perceptronul

  • Funcții de activare
  • Algoritmul de învățare al perceptronului
  • Clasificare binară cu perceptronul
  • Clasificare de documente cu perceptronul
  • Limitările perceptronului

De la Perceptron la Mașini cu Vectori de Sprijin

  • Nuclee și trucul nucleului
  • Clasificare cu marja maximă și vectori de sprijin

Rețele Neuronale Artificiale

  • Granițe de decizie neliniare
  • Rețele neuronale artificiale feedforward și feedback
  • Perceptroni multicelulari
  • Minimizarea funcției de cost
  • Propagare înainte
  • Propagare inversă
  • Îmbunătățirea modului în care rețelele neuronale învață

Rețele Neuronale Convoluționale

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

Introduceri de bază pentru modulele următoare (Se va oferi o scurtă introducere în funcție de timpul disponibil):

Utilizare avansată a TensorFlow

  • Fire de execuție și cozi
  • TensorFlow distribuit
  • Scrierea documentației și partajarea modelului tău
  • Personalizarea cititorilor de date
  • Manipularea fișierelor de model TensorFlow

TensorFlow Serving

  • Introducere
  • Tutorial de bază pentru servire
  • Tutorial avansat pentru servire
  • Tutorial pentru servirea modelului 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 învățare automată și să fi lucrat cu programarea Python și bibliotecile aferente.

 35 Ore

Numărul de participanți


Pret per participant

Mărturii (5)

Cursuri viitoare

Categorii înrudite