Intrati in legatura

Schița de curs

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

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

  • Istorie, concepte de bază și aplicații uzuale 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: evolutia unei populații de agenți virtuali prin selecție
  • Învățarea automată uzuală: definiție.
  • Tipuri de sarcini: învățare supervizată, învățare nesupervizată, învățare prin întărire
  • Tipuri de acțiuni: clasificare, regresie, clustering, estimarea densității, reducerea dimensionalității
  • Exemple de algoritmi de învățare automată: regresie liniară, Naive Bayes, Arbore aleator
  • Învățarea automată VS Învățarea profundă: probleme pentru 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 multi-strat)

  • Recapitulare a bazelor matematice.
  • Definiția unei rețele de neuroni: arhitectură clasică, activare și
  • Ponderea 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 gradient stocastică, maximă verosimilitate.
  • Modelarea unei rețele neuronale: modelarea datelor de intrare și de ieșire în funcție de tipul problemei (regresie, clasificare...). Blestemul dimensionalității.
  • Distincția între date 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
  • 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 Batch
  • Algoritmi de optimizare și convergență

Instrumente standard ML / DL

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

  • Instrumente de gestionare a datelor: Apache Spark, Apache Hadoop Tools
  • Învățare automată: Numpy, Scipy, Sci-kit
  • Framework-uri de nivel înalt pentru DL: PyTorch, Keras, Lasagne
  • Framework-uri 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: strat 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 clasificarea
  • Imaginilor: LeNet, Rețele VGG, Rețea în Rețea, 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 într-un caz comun de clasificare (text sau imagine)
  • CNN-uri pentru generare: super-rezoluție, segmentare pixel-to-pixel. Prezentarea
  • Principalelor strategii de creștere a hărților de caracteristici pentru generarea imaginilor.

Rețele neuronale recurente (RNN).

  • Prezentarea RNN-urilor: principii fundamentale și aplicații.
  • Funcționarea de bază a RNN-ului: activare ascunsă, propagare inversă în timp, versiune desfășurată.
  • Evoluții către Unitățile Recurente cu Poartă (GRUs) ș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 cuvânt / caracter, traducere.
  • Aplicații video: prezicerea următoarei imagini generate dintr-o secvență video.

Modele generative: AutoEncoder Variabil (VAE) și Rețele Generative Adversare (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. Definiția și utilizarea spațiului latent. Truc de reparametrizare. Aplicații și limite observate
  • Rețele Generative Adversare: Fundamente.
  • Arhitectura duală a rețelei (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
  • Prin starea și acțiunile posibile
  • Utilizarea unei rețele neuronale pentru a aproxima funcția de stare
  • Deep Q Learning: 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 date

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
  • 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 placeholder-e
  • Construirea graficului
    • Inferență
    • Pierdere
    • Antrenare
  • 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 documente cu perceptronul
  • Limitări ale perceptronului

De la Perceptron la Mașini cu Vectori de Suport

  • Nuclee și trucul nucleului
  • Clasificare cu marjă maximă și vectori de suport

Rețele neuronale artificiale

  • Limite de decizie neliniare
  • Rețele neuronale artificiale feedforward și feedback
  • Perceptroni multi-strat
  • 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 următoarele module (se va oferi o scurtă introducere în funcție de disponibilitatea timpului):

Utilizare avansată a TensorFlow

  • Threading ș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 sale.

 35 Ore

Numărul de participanți


Pret per participant

Mărturii (2)

Cursuri viitoare

Categorii înrudite