Skip to content

Artificial Intelligence

fast.ai outer layer / inner layer RNN (reccurent neural network)

Neural networks types

Chaque type de neural network a ses forces et faiblesses

Type Caractéristiques Links
Perceptron The basic one medium.com
Convolutional (CNN) Reco image
Recurrent (RNN)
Adversarial generator + discriminator. Reco image
Long Short Term Memory (LSTM) Séquentiel, texte, parole github.com
  • Neurone: fonction qui prend un input et output une valeur d'activation entre 0 et 1
  • Weights
  • Sigmoid: fonction qui prend n'importe quoi et le squash entre 0 et 1 (utile pour déterminer la valeur d'activation du neurone du layer suivant)
  • ReLu (Rectified Linear Unit): autre type de fonction pls simple et plus rapide
  • Bias: ajoute un threshold d'activation
  • Learning: trouver les bias et weights "corrects" en minimisant la fonction de cost.
  • Trouver un minimum: la technique de trouver la pente (gradient) permet de trouver un minimum local. Il faut répéter cette méthode pour chaque neurone (le signe du gradient renseigne sur la nécessité d'augmenter/diminuer le poids et la valeur renseigne sur la magnitude du changement nécessaire pour atteindre le minimum)
  • Représentation = matrices
  • Training data
  • Testing data: doit evidemment être différente de la training data
  • Loss/cost: distance entre le training data set et l'output de l'AI (lower the better)

https://github.com/mnielsen/neural-networks-and-deep-learning

Word vectors

SpaCy: natural language processor = permet de tokenizer un texte et de classifier les tokens. Peut-être utilisé pour préparer un texte d'apprentissage ML. Word2vec https://gist.github.com/aparrish/5732d2f50166930113fb138fe9f09554

Deep learning libraries

High level

  • keras: high level API, peut wrapper CNTK, Theano ou Tensorflow

Low level (backend engines)

Torch: LuaJIT pytorch: wrapper de Torch en Python

tensorflow: low level API

MXNet: apache, open source CNTK: microsoft, open source Theano

  • Dynamic
  • Static

Data type

Training data Test data Validation Data

Training models

Attentional models (natural language

Process

Input Training

  • Tensor: modèle de représentation de données utilisé par Tensorflow (matrice 3D)
  • Overfitting: le network ne génère rien de nouveau et ressort la training data

Communauté

Kaggle

Compétitions (with prizes), public datasets

Predicting HOTS games: https://www.youtube.com/watch?v=wjOEHvzv15s

OpenAI

Initiative open source, soutenue par Elon Musk, AWS.

  • Baselines: algorithmes de renforcement
  • Gym: benchmark

DeepMind

Société basé au Royaume-Uni, CEO Demis Hassabis.

  • 2014: acquisition par Google
  • 2016: AlphaGo bat le champion de Go (basé sur une bdd de moves)
  • 2017: AlphaZero, une version plus puissante/généraliste (shogi, échecs, go) + s'entraine only par self-play
  • 2018: AlphaFold, prédiction molécules 3D (recherche Parkinson/Alzeihmer)
  • 2019: AlphaStar: starcraft

Loi de Moore pour AI

source: openai.com

La puissance de calcule nécessaire à TRAIN une AI double tous les 3.5 mois. (la loi de Moore c'était tous les 18 mois)

AlphaGo Zero est souvent présentée comme une AI qui consomme peu, mais c'est uniquement pendant sa phase de run. La phase de train est la plus massive.