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 fanteziile asociate acestui domeniu
  • Inteligența colectivă: agregarea cunoștințelor partajate de numeroși agenți virtuali
  • Algoritmi genetici: pentru a evolua o populație de agenți virtuali prin selecție
  • Machine Learning uzual: definiție.
  • Tipuri de sarcini: supervised learning, unsupervised learning, reinforcement learning
  • 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 state of the art (Random Forests și XGBoosts)

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

  • Reamintirea bazelor matematice.
  • Definirea unei rețele de neuroni: arhitectură clasică, activare și
  • Ponderarea activărilor anterioare, adâncimea unei rețele
  • Definirea învățării unei rețele de neuroni: funcții de cost, back-propagation, coborâre de gradient stocastică, maximum likelihood.
  • Modelarea unei rețele neuronale: modelarea datelor de intrare și de ieșire în funcție de tipul problemei (regresie, clasificare...). Curse of dimensionality.
  • Distincția dintre datele multi-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
  • 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 de ML / DL

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

  • Instrumente de gestionare a datelor: Apache Spark, Apache Hadoop Tools
  • 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 state of the art în clasificare
  • Imagini: 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 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 through time, versiune 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
  • Probleme de convergență și vanishing gradient
  • Arhitecturi clasice: predicția unei serii temporale, clasificare...
  • Arhitectură de tip RNN Encoder Decoder. Utilizarea unui model de atenție.
  • Aplicații NLP: codificare cuvinte / caractere, 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-urile
  • Auto-encoder: reducerea dimensionalității și generare limitată
  • Variational Auto-encoder: model generativ și aproximarea distribuției unui dat. Definirea ș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.
  • Îmbunătățirea convergenței: Wasserstein GAN, Began. Earth Moving Distance.
  • Aplicații pentru generarea de imagini sau fotografii, generarea de text, super-rezoluție.

Deep Reinforcement Learning.

  • Prezentarea reinforcement learning: 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 aplicare la controlul unui joc video.
  • Optimizarea politicii de învățare. On-policy && off-policy. Arhitectură actor critic. A3C.
  • Aplicații: controlul unui singur joc video sau al unui sistem digital.

Partea 2 – Theano pentru Deep Learning

Noțiuni de bază Theano

  • Introducere
  • Instalare și configurare

Funcții Theano

  • inputs, outputs, updates, givens

Antrenarea și optimizarea unei rețele neuronale folosind Theano

  • Modelarea rețelelor neuronale
  • Regresie logistică
  • Straturi ascunse
  • Antrenarea unei rețele
  • Calcul și clasificare
  • Optimizare
  • Log Loss

Testarea modelului

Partea 3 – DNN folosind Tensorflow

Noțiuni de bază TensorFlow

  • Crearea, inițializarea, salvarea și restaurarea variabilelor TensorFlow
  • Feeding, Reading și Preloading a datelor TensorFlow
  • Cum să folosești infrastructura TensorFlow pentru a antrena modele la scară
  • Vizualizarea și evaluarea modelelor cu TensorBoard

Mecanica TensorFlow

  • Pregătește datele
  • Descarcă
  • Inputs și Placeholders
  • Construiește graful
    • Inferență
    • Pierdere
    • Antrenare
  • Antrenează modelul
    • Graful
    • Sesiunea
    • Bucla de antrenare
  • Evaluează modelul
    • Construiește graful 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

  • Kernels ș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
  • Back propagation
  • Î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 trebuie oferite pentru modulele de mai jos (introducere scurtă, în funcție de disponibilitatea de timp):

Tensorflow - Utilizare avansată

  • Threading și Queues
  • Distributed TensorFlow
  • Scrierea documentației și partajarea modelului tău
  • Personalizarea cititoarelor de date
  • Manipularea fișierelor modelului TensorFlow

TensorFlow Serving

  • Introducere
  • Tutorial de bază pentru Serving
  • Tutorial avansat pentru Serving
  • Tutorial pentru Serving Inception Model

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 programarea Python și cu bibliotecile acestuia.

 35 Ore

Numărul de participanți


Pret per participant

Mărturii (2)

Cursuri viitoare

Categorii înrudite