Intrati in legatura

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.

 35 Ore

Numărul de participanți


Pret per participant

Mărturii (2)

Cursuri viitoare

Categorii înrudite