Vous êtes sur la page 1sur 212

ALGORITHMIQUE

Marc Pic
Plan du Cours
◦ Part I – Théorie de la Complexité :
◦ Introduction
◦ Calculabilité
◦ Structures Alogrithmiques
◦ Complexité
◦ Part II – Stratégies Algorithmiques :
◦ 0. Structures de Données
◦ 1. Conception d’Algorithmes
◦ 2. Programmation Dynamique
◦ 3. Méthodes Probabilistes
◦ 4. Heuristiques
◦ 6. Apprentissage
◦ Part III – Futures Approches :
◦ Deep Learning
◦ Genetic Programming
◦ Quantum Computing

08/01/2021
Petit Inventaire à la Prévert…

Apprentissage Programmation Calcul


Profond Genetique Quantique

08/01/2021
APPRENTISSAGE
PROFOND
L’apprentissage

 Supposons que nous avons un jeu de données d’entrées 𝑋𝑋𝑖𝑖 et de sorties 𝑌𝑌𝑖𝑖et un réseau de
neurones avec les paramètres 𝜃𝜃 = 𝑊𝑊, 𝐵𝐵 qui prédit les sorties 𝑌𝑌𝑖𝑖 à partir des données 𝑋𝑋𝑖𝑖
 Minimisation de la fonction de coût 𝐿𝐿 par descente de gradient (itérations) :

𝜃𝜃 ≔ 𝜃𝜃 − 𝜆𝜆𝛻𝛻L (𝜃𝜃)
𝜆𝜆 est le taux d’apprentissage : valeur définie ou adaptée à chaque itération pour assurer la
convergence

 Intérêt des réseaux de neurones : le gradient de la fonction de coût 𝐿𝐿 se calcule « facilement »,


par succession de calculs élémentaires appelé backpropagation

Geoffrey Daniel - CEA/Irfu/DAp


Descente de
Gradient

08/01/2021
Comment
implementer
la descente
de gradient ?

08/01/2021
08/01/2021
Comment
suivre le
gradient ?

08/01/2021
Cas d’une
Régression
Linéaire
La function de coût que
l’on souhaite parcourir est
dans ce cas de la forme :

C’est le gradient de cetet


function J que l’on a
besoin de determiner.

08/01/2021
Pour la
regression
linéaire…

08/01/2021
Learning Rate
On a défini un élément qui
est lié à la façon dont
nous souhaitons traiter le
problème :
Le learning rate α

En Machine Learning, on
appelle ce genre de
facteur un Hyper-
paramètre

08/01/2021
Multi-Layer
Perceptron
Theorem [Cybenko, 1989]
• A neural network with one single hidden layer is a universal
approximator: it can represent any continuous function on compact
subsets of Rn
• 2 layers is enough ... theoretically:
“…networks with one internal layer and an arbitrary continuous sigmoidal
function can approximate continuous functions with arbitrary precision
providing that no constraints are placed on the number of nodes or the size
of the weights"
• But no efficient learning rule is known and the size of the hidden layer is
exponential with the complexity of the problem (which is unkown
beforehand) to get an error Ε, the layer must be infinite for an error 0.

13
Le second hiver de l’Intelligence
Artificielle
Après les déclarations trop optimistes de Marvin Minsky de 1970, un fort ralentissement de l’activité autour
de l’IA se ressent de 1974 jusque vers le début des années 80, on appellera cela le premier hiver de
l’intelligence artificielle.
La décennie 80 verra l’apparition des systèmes experts et les premiers arbres de décisions, puis leur
déclin…
Finalement du début des années 90 à 2010 ce sera un hiver encore plus sévère pour ces technologies…

08/01/2021
Après l’Hiver le Printemps…
Et pourtant, le théorème de l’approximation universelle montre que l’on est sur la bonne voie, mais les
moyens techniques n’étaient pas adaptés.

Plusieurs facteurs vont changer la donne :


◦ De nouvelles fonctions d’activations vont simplifier et améliorer la remontée de gradient.
◦ Un support technique inespéré va permettre de calculer massivement le comportement de très
nombreux neurones.
◦ De très grands jeux de données (corpus) sur lesquels l’apprentissage va prendre un nouveau sens se
construisent grâce à l’émergence Internet.
◦ Une méthode va être développée pour généraliser la remontée de Gradient à travers les couches

08/01/2021
Large Scale Visual Recognition Challenge
• Image Classification Challenge :
–1,000 classes d’objets
–1,431,167 images

Renaissance
30

28.2
25 25.8
Erreur top-5

20

15 16.4

10 11.7

5 7.3 6.7 5.1


3.57 2.99 2.25
0 - - AlexNet - VGG GoogLeNet ResNet - SENets Human
Lin et al. Sanchez Krizhevsky Zeilerand Simonyan Szegedy et He et al. Shao et al. Hu et al. Russakovsky
2010 and et al. Fergus and al. 2015 2016 2017 et al. 2014
Perronnin 2012 2013 Zisserman 2014
2011 2014

17
Réseaux profonds
Causes de la renaissance #1
Nouvelles fonctions d’activations

pré-
2006

Vanishing gradient

18
Crédit : L. Trottier
Causes de la renaissance #1
Nouvelles fonctions d’activations
• ReLU : Rectifier Linear Unit
• Introduite en 2010 par Nair et Hinton

• Se calcule très rapidement : max(input,0)


• Beaucoup moins de vanishing gradient, car
pente = 1 dans la partie active
19
Causes de la renaissance #2
• Grands jeux de données : www.image-net.org
• 14 millions images, 22 000 catégories

20
Causes de la renaissance #3
Puissance de calcul via GPU

Août 2016 1,800 CAD

Novembre 2001

12,000

21
Causes de la renaissance #3
Puissance de calcul via GPU
Décembre 2017 2,995 USD

Juin 2005

110

22
Cause de la Renaissance #4 :
Back-Propagation (BackProp)
◦ Comment faire évoluer les poids appliqués à chaque neurone du réseau lorsque lors de l’apprentissage
on impose un résultat à une extrémité du réseau et un ensemble d’entrée à l’autre ?
◦ Problème complexe de calculs interdépendants. Se résoud par une étude des gradients entre les
couches.
◦ La BackPropagation est une technologie-clef pour les réseaux de neurones.
Cause de la Renaissance #4 :
la backpropagation

 Pour chaque poids 𝑤𝑤𝑘𝑘 𝑙𝑙 et biais 𝑏𝑏𝑘𝑘𝑙𝑙 du neurone 𝑘𝑘 de la couche 𝑙𝑙, on veut calculer pourchque
exemple 𝑖𝑖 :
𝜕𝜕𝐿𝐿𝑖𝑖 𝜕𝜕𝐿𝐿𝑖𝑖
;
𝜕𝜕𝑤𝑤𝑘𝑘 𝜕𝜕𝑏𝑏𝑘𝑘𝑙𝑙
𝑙𝑙

 Pour la dernière couche 𝑛𝑛 :

𝜕𝜕𝐿𝐿𝑖𝑖 𝜕𝜕𝐿𝐿𝑖𝑖 𝜕𝜕𝑌𝑌𝑖𝑖 𝑘𝑘 𝜕𝜕𝐿𝐿𝑖𝑖 𝜕𝜕𝐿𝐿 𝜕𝜕𝑌𝑌𝑖𝑖 𝑘𝑘


= ; =
𝜕𝜕𝑤𝑤𝑘𝑘𝑛𝑛 𝜕𝜕𝑌𝑌 𝑖𝑖 𝑘𝑘 𝜕𝜕𝑤𝑤 𝑛𝑛 𝜕𝜕𝑏𝑏 𝑛𝑛 𝜕𝜕𝑌𝑌𝑖𝑖 𝑘𝑘 𝜕𝜕𝑏𝑏 𝑛𝑛
𝑘𝑘 𝑘𝑘 𝑘𝑘

𝑇𝑇
𝑌𝑌𝑖𝑖 𝑘𝑘 = 𝜎𝜎 𝑧𝑧𝑘𝑘𝑛𝑛 = 𝑤𝑤𝑘𝑘𝑛𝑛 𝑎𝑎 𝑛𝑛−1 + 𝑏𝑏𝑘𝑘𝑛𝑛
𝜕𝜕𝑌𝑌𝑖𝑖 𝜕𝜕𝑌𝑌𝑖𝑖 𝑛𝑛 𝜕𝜕𝑌𝑌𝑖𝑖 𝜕𝜕𝑌𝑌𝑖𝑖 𝑛𝑛
𝑘𝑘 𝑘𝑘 𝜕𝜕𝑧𝑧𝑘𝑘 𝑧𝑧𝑘𝑘𝑛𝑛 𝑘𝑘 𝑘𝑘 𝜕𝜕𝑧𝑧𝑘𝑘 𝑧𝑧𝑘𝑘𝑛𝑛
= = 𝜎𝜎 ′ 𝑎𝑎 𝑛𝑛−1 ∈ ℝ 𝑚𝑚 𝑛𝑛−1 ; = = 𝜎𝜎 ′ ∈ℝ
𝜕𝜕𝑤𝑤𝑘𝑘𝑛𝑛 𝜕𝜕𝑧𝑧𝑘𝑘𝑛𝑛 𝜕𝜕𝑤𝑤 𝑘𝑘𝑛𝑛 𝜕𝜕𝑏𝑏𝑘𝑘𝑛𝑛 𝜕𝜕𝑧𝑧𝑘𝑘𝑛𝑛 𝜕𝜕𝑏𝑏 𝑘𝑘𝑛𝑛
Geoffrey Daniel - CEA/Irfu/DAp
Calcul du gradient :
backpropagation
𝜕𝜕𝐿𝐿𝑖𝑖 𝜕𝜕𝐿𝐿𝑖𝑖 𝜕𝜕𝐿𝐿𝑖𝑖 𝜕𝜕𝐿𝐿𝑖𝑖 ′
= 𝜎𝜎 ′ 𝑧𝑧𝑘𝑘𝑛𝑛 𝑎𝑎 𝑛𝑛−1 ; = 𝜎𝜎 𝑧𝑧𝑘𝑘𝑛𝑛
𝜕𝜕𝑤𝑤𝑘𝑘𝑛𝑛 𝜕𝜕𝑌𝑌𝑖𝑖 𝑘𝑘 𝜕𝜕𝑏𝑏𝑘𝑘𝑛𝑛 𝜕𝜕𝑌𝑌𝑖𝑖 𝑘𝑘

 Exemple avec :
2
𝐿𝐿 = 𝑌𝑌 𝜃𝜃 − 𝑌𝑌
1
𝜎𝜎 𝑥𝑥 =
1 + 𝑒𝑒−𝑥𝑥
 On obtient :
𝜎𝜎 ′ 𝑧𝑧𝑘𝑘𝑛𝑛 = 𝜎𝜎 𝑧𝑧𝑘𝑘
𝑛𝑛
1 − 𝜎𝜎 𝑧𝑧𝑘𝑘
𝑛𝑛
= 𝑌𝑌𝑖𝑖 𝑘𝑘 1 − 𝑌𝑌𝑖𝑖 𝑘𝑘 Propriété du sigmoïde
𝜕𝜕𝐿𝐿 = 2 𝑌𝑌 − 𝑌𝑌
𝑖𝑖 𝑖𝑖
𝜕𝜕𝑌𝑌𝑖𝑖 𝑘𝑘 𝑘𝑘 𝑘𝑘

Geoffrey Daniel - CEA/Irfu/DAp


Calcul du gradient :
backpropagation
En rouge : par forward pass
 Pour les autres couches 𝑙𝑙 ≠ 𝑛𝑛 : de manière récursive En bleu : par récursivité

𝜕𝜕𝐿𝐿𝑖𝑖 𝜕𝜕𝐿𝐿𝑖𝑖 𝜕𝜕𝑎𝑎𝑘𝑘𝑙𝑙 𝜕𝜕𝐿𝐿𝑖𝑖 𝜕𝜕𝐿𝐿𝑖𝑖 𝜕𝜕𝐿𝐿𝑖𝑖 𝜕𝜕𝑎𝑎 𝑙𝑙𝑘𝑘 𝜕𝜕𝐿𝐿𝑖𝑖 ′


= = 𝜎𝜎 ′ 𝑧𝑧𝑘𝑘𝑙𝑙 𝑎𝑎 𝑙𝑙−1 ; = = 𝜎𝜎 𝑧𝑧 𝑙𝑙
; pour 𝑙𝑙 = 1, 𝑎𝑎 0 = 𝑋𝑋
𝜕𝜕𝑤𝑤𝑘𝑘𝑙𝑙 𝜕𝜕𝑎𝑎𝑘𝑘𝑙𝑙 𝜕𝜕𝑤𝑤𝑘𝑘𝑙𝑙 𝜕𝜕𝑎𝑎𝑘𝑘𝑙𝑙 𝜕𝜕𝑏𝑏 𝑙𝑙 𝜕𝜕𝑎𝑎 𝑙𝑙 𝜕𝜕𝑏𝑏 𝑙𝑙 𝜕𝜕𝑎𝑎 𝑙𝑙 𝑘𝑘
𝑘𝑘 𝑘𝑘 𝑘𝑘 𝑘𝑘

𝜕𝜕𝐿𝐿𝑖𝑖 𝜕𝜕𝐿𝐿𝑖𝑖 𝜕𝜕𝑎𝑎 𝑙𝑙+1


=
𝜕𝜕𝑎𝑎𝑘𝑘𝑙𝑙 𝜕𝜕𝑎𝑎 𝑙𝑙+1 𝜕𝜕𝑎𝑎𝑘𝑘𝑙𝑙

𝜕𝜕𝑎𝑎 𝑙𝑙+1
𝑎𝑎 𝑙𝑙+1 = 𝜎𝜎 𝑧𝑧 𝑙𝑙+1 = 𝑤𝑤 𝑙𝑙+1 𝑎𝑎𝑘𝑘𝑙𝑙′ + 𝑏𝑏 𝑙𝑙+1 ⇒ = 𝑤𝑤
𝑙𝑙+1
𝜎𝜎 ′ 𝑧𝑧 𝑙𝑙+1
𝑘𝑘′
𝑘𝑘 ′ 𝜕𝜕𝑎𝑎𝑘𝑘𝑙𝑙 𝑘𝑘

Geoffrey Daniel - CEA/Irfu/DAp


Global
Évolution des A.N.N average
pooling

Early 1000
Convolutions stopping couches
à trous Max
pooling
Drop-out
tanh 5 couches Squeeze-
and-Excite
ReLU
Multitâche
10,000 Adam
exemples Batch norm
SGD lr scheduling
Skip
connections
Ensemble
32 filtres
Pré-
ca. 1990 entraînement
Average pooling Xavier ca. 2017
ImageNet Initialization

Data
geler des augmentation
couches 3,000+ filtres
24
Crédit photo : Griffin’s auto repair Crédit photo : wildsau.ca
Pourquoi le Deep?
• Fonction mathématique extrêmement
flexible et puissante (millions de
paramètres)
• Théorème d’approximation universelle :
– Peut approximer n’importe quelle fonction*
avec un niveau de précision arbitraire
– http://neuralnetworksanddeeplearning.com/chap4.html

• Réseaux peu profonds vont :


– demander beaucoup de neurones
(exponentiel)
25
*continue sur des sous-ensembles compacts de Rn
Généralisation vs. profondeur
• Street View Home Numbers SVHN

Goodfellow et al., Multi-digit Number Recognition from Street View Imagery 26


using Deep Convolutional Neural Networks, ICLR 2014.
Meilleure généralisation
SVHN Modèles larges ou peu profonds ont tendance à overfitter

Goodfellow et al., Multi-digit Number Recognition from Street View Imagery 27


using Deep Convolutional Neural Networks, ICLR 2014.
Thomas Cover’s Theorem (1965)
“The Blessing of dimensionality”

Cover’s theorem states: A complex pattern-classification problem


cast in a high-dimensional space nonlinearly is more likely to be
linearly separable than in a low-dimensional space.

(repeated sequence of Bernoulli trials)

08/01/2021
Capacité exponentielle du Deep
The curse of
dimensionality
[Bellman, 1956]

-1 0 +1 -1 0 +1

32
Contrecarre (en partie) le fléau de la dimensionnalité :
# d’exemples d’entraînement exponentiel en dimension

(I. Goodfellow) deeplearningbook.org

08/01/2021

28
Output

Contraste avec
Mapping approches
Output
traditionnelles
Output from
features

Mapping Mapping Additional


layers of
Appris
Output from from
features features
more
abstract
features
conjointement

Hand- Hand-
designed Simple
designed Features features
program features

Input Input Input Input

Rule- Classic Deep


based machine Learning
systems learning Representation
Learning 29
Deep Learning
◦ Deep learning has an inbuilt automatic multi stage feature learning process that learns rich
hierarchical representations (i.e. features).

Low Mid High Output


Trainabl (e.g.
Level Level Level
e outdoor,
Features Features Features
Classifier indoor)
Ceci ouvre la voie au Transfer Learning !
Convolutional Layers
◦ What is Convolution?
ℎ1 = 𝑓𝑓 𝑎𝑎 ∗ 𝑤𝑤1 + 𝑏𝑏 ∗ 𝑤𝑤2 + 𝑒𝑒 ∗ 𝑤𝑤3 + 𝑓𝑓 ∗ 𝑤𝑤4

a b c d w1 w2
h1 h2
e f g h w3 w4
i j k l
m n o p

Input Image Filter Convolved Image


(Feature Map)

ℎ2 = 𝑓𝑓 𝑏𝑏 ∗ 𝑤𝑤𝑤 + 𝑐𝑐 ∗ 𝑤𝑤𝑤 + 𝑓𝑓 ∗ 𝑤𝑤𝑤 + 𝑔𝑔 ∗ 𝑤𝑤𝑤

Number of Parameters for one feature map = 4


Number of Parameters for 100 feature map = 4*100
Lower Level to More Complex Features

w w
1 2
w w w w
3 4 5 6
Filter 1 w w
7 8
Filter 2

Input Image
Layer 1 Layer 2
Feature Map Feature Map
 In Convolutional neural networks, hidden units are only connected to local receptive field.
Principaux types de couche
• Fully-Connected (vous connaissez déjà)
• Convolutive
• Pooling
– Max
– Average et global average
– Stochastic
– Fractional

CNN est une combinaison de ces couches


24
Building-blocks for CNN’s

Feature maps of a larger


region are combined.

Feature maps are trained


with neurons.

Shared weights Each sub-region yields a


feature map, representing its
feature.
Images are segmented
into sub-regions.
40
Pooling
◦ Max pooling: reports the maximum output within a
rectangular neighborhood.
◦ Average pooling: reports the average output of a
rectangular neighborhood.

MaxPool with 2X2 filter with


1 3 5 3 stride of 2
4 2 3 1
4 5
3 1 1 3
3 4
0 1 0 4

Input Matrix Output Matrix


CNN Architecture: Pooling Layer
◦ Intuition: to progressively reduce the spatial size of the
representation to reduce the amount of parameters and
computation in the network, and hence to also control overfitting
◦ Pooling partitions the input image into a set of non-overlapping
rectangles and, for each such sub-region, outputs the maximum
value of the features in that region.Input

42
Approche par
bloc
• La plupart des architectures sont organisées par
alternance de blocs (pas de spaghetti)

Fonction sortie
fully-connect

sortie
Bloc B

Bloc B

Bloc B
Bloc C
Bloc A Bloc A Bloc A Bloc A

• Facile de combiner des blocs de différents types,


jouer sur la profondeur, réutiliser des idées
• Choix des blocs est en quelque sorte des
hyperparamètres : trop difficile de parfaitement
optimiser, donc on se restreint à un agencement
limité
Full CNN

pooling

pooling

44
Convolutional Neural Network
Maxpool
Output
Feature Extraction Architecture Vector

Living Room

Bed Room

128 Kitchen

256
256

512
512

512
512
128

256

512

512
64
64

Bathroom

Outdoor

Max Pool
Filter

Fully Connected
Layers
Recurrent Neural Networks
The limitations of the Convolutional Neural Networks
◦ Take fixed length vectors as input and produce fixed length
vectors as output.
◦ Allow fixed amount of computational steps.

We need to model the data with temporal or sequential structures


and varying length of inputs and outputs
e.g.
This movie is ridiculously good.
This movie is very slow in the beginning but picks up pace later on
and has some great action sequences and comedy scenes.
Modeling Sequences
A person riding a
Image
motorbike on dirt
Captionin
road
g

Awesome tutorial. Positive Sentiment


Analysis

Happy
Machine
Diwali º µ
ſ
Translatio
Øυ≤ρª � υ n
What is RNN?
◦ Recurrent neural networks are connectionist models with
the ability to selectively pass information across
sequence steps, while processing sequential data one
element at a time.
◦ Allows a memory of the previous inputs to persist in the
model’s internal state and influence the outcome.
OUTPUT
h(t)
h(t)
Hidden Layer Delay
h(t-1)
x(t)
INPUT
RNN (rolled over time)
RNN is awesome

OUTPUT

𝑤𝑤ℎ 𝑤𝑤ℎ 𝑤𝑤ℎ 𝑤𝑤𝑦𝑦


h0 𝑓𝑓ℎ () h1 𝑓𝑓ℎ () h2 𝑓𝑓ℎ () h3 𝑓𝑓𝑦𝑦 ()

𝑤𝑤𝑥𝑥 𝑤𝑤𝑥𝑥 𝑤𝑤𝑥𝑥

x1 x2 x3

RNN is awesome

ℎ 𝑡𝑡 = 𝑓𝑓ℎ 𝑤𝑤ℎ ∗ ℎ 𝑡𝑡 − 1 + 𝑤𝑤𝑥𝑥 ∗ 𝑥𝑥 𝑡𝑡


RNN (rolled over time)
RNN is so cool

𝑤𝑤ℎ 𝑤𝑤ℎ 𝑤𝑤ℎ 𝑤𝑤ℎ


𝑓𝑓ℎ () 𝑓𝑓ℎ () 𝑤𝑤𝑦𝑦
h0 h h 𝑓𝑓ℎ () h 𝑓𝑓ℎ () h 𝑓𝑓𝑦𝑦 ()
1 2 3 4
𝑤𝑤𝑥𝑥 𝑤𝑤𝑥𝑥 𝑤𝑤𝑥𝑥 𝑤𝑤𝑥𝑥

x1 x2 x4
x3 OUTPUT
RNN is so co
ol
The Vanishing Gradient Problem
◦ RNN’s use back propagation.
◦ Back propagation uses chain rule.
◦ Chain rule multiplies derivatives

◦ If these derivatives are between 0 and 1 the product vanishes as the chain gets longer.
◦ or the product explodes if the derivatives are greater than 1.

◦ Sigmoid activation function in RNN leads to this problem.


◦ Relu, in theory, avoids this problem but not in practice.
Problem with Vanishing or Exploding Gradients

◦ Don’t allow us to learn long term dependencies.

◦ Param is a hard worker.


VS.
◦ Param, student of Yong, is a hard worker.

BAD!!!!
Misguided!!!!
Unacceptable!!!!
Long Short Term Memory (LSTM)
◦ LSTM provide solution to the vanishing/exploding gradient problem.
◦ Solution: Memory Cell, which is updated at each step in the sequence.
◦ Three Gates control the flow of information to and from the Memory cell
◦ Input Gate: protect the current step from irrelevant inputs
◦ Output Gate: prevents current step from passing irrelevant information to later steps.
◦ Forget Gate: limits information passed from one cell to the next.
LSTM

c0 Forget
f1 + c1

Input i1
𝑐𝑐1 =𝑓𝑓1 . 𝑐𝑐0 +𝑖𝑖𝑖𝑖 . 𝑢𝑢1
𝑤𝑤ℎ
h0 𝑓𝑓ℎ () h1
u1
𝑐𝑐𝑡𝑡 =𝑓𝑓𝑡𝑡 . 𝑐𝑐𝑡𝑡−1 +𝑖𝑖𝑡𝑡 . 𝑢𝑢𝑡𝑡
𝑤𝑤𝑥𝑥

x1
LSTM

c0 Forget
f1 + c1

𝑓𝑓𝑓𝑓 () Input i1
𝑤𝑤ℎ𝑓𝑓
𝑤𝑤ℎ 𝑓𝑓1 =𝑓𝑓𝑓𝑓 𝑊𝑊ℎ𝑓𝑓 ∗ ℎ0 + 𝑊𝑊𝑥𝑥𝑥𝑥 ∗ 𝑥𝑥1
h0 𝑓𝑓ℎ () h1
u1

𝑓𝑓𝑡𝑡 =𝑓𝑓𝑓𝑓 𝑊𝑊ℎ𝑓𝑓 ∗ ℎ𝑡𝑡−1 + 𝑊𝑊𝑥𝑥𝑥𝑥 ∗ 𝑥𝑥𝑡𝑡


𝑤𝑤𝑥𝑥𝑥𝑥 𝑤𝑤𝑥𝑥

x1
LSTM

c0 Forget
f1 + c1

𝑤𝑤ℎ𝑖𝑖 𝑓𝑓𝑖𝑖 () Input i1


𝑖𝑖1 =𝑓𝑓𝑖𝑖 𝑊𝑊ℎ𝑖𝑖 ∗ ℎ0 + 𝑊𝑊𝑥𝑥𝑥𝑥 ∗ 𝑥𝑥1
𝑤𝑤ℎ
h0 𝑓𝑓ℎ () h1
u1

𝑤𝑤𝑥𝑥 𝑖𝑖𝑡𝑡 =𝑓𝑓𝑓𝑓 𝑊𝑊ℎ𝑖𝑖 ∗ ℎ𝑡𝑡−1 + 𝑊𝑊𝑥𝑥𝑥𝑥 ∗ 𝑥𝑥𝑡𝑡


𝑤𝑤𝑥𝑥𝑥𝑥

x1
LSTM
𝑜𝑜𝑡𝑡 =𝑓𝑓𝑜𝑜 𝑊𝑊ℎ𝑜𝑜 ∗ ℎ𝑡𝑡−1 + 𝑊𝑊𝑥𝑥𝑥𝑥 ∗ 𝑥𝑥𝑡𝑡

ℎ𝑡𝑡 =𝑜𝑜𝑡𝑡 . 𝑡𝑡𝑡𝑡𝑡𝑡𝑡 𝑐𝑐𝑡𝑡

c0 Forget
f1 + c1

Input i1 𝑓𝑓𝑜𝑜 ()
𝑤𝑤ℎ
h0 𝑓𝑓ℎ () h1
u1 Output h1
o1
𝑤𝑤𝑥𝑥

x1 𝑤𝑤ℎ
h0 𝑓𝑓ℎ () h
1
𝑤𝑤𝑥𝑥

x1
LSTM

c Forge + c Forge + c
0 t f1 1 t f2 2
Input 𝑓𝑓𝑜𝑜 () 𝑓𝑓𝑜𝑜 ()
Input
𝑤𝑤ℎ i1 i2
𝑤𝑤ℎ
h 𝑓𝑓ℎ () u1 Outpu h1 𝑓𝑓ℎ () u2 Outpu h2
0 t o1 t o2
𝑤𝑤𝑥𝑥 𝑤𝑤𝑥𝑥

x1 x2
Visual Question Answering :
combining LSTM and CNN
Autoencoders
◦ Autoencoders are designed to reproduce their input, especially for images.
◦ Key point is to reproduce the input from a learned encoding.

https://www.edureka.co/blog/autoencoders-tutorial/
Autoencoders
◦ Compare PCA/SVD
◦ PCA takes a collection of vectors (images) and produces a usually smaller set of vectors that can be used to
approximate the input vectors via linear combination.
◦ Very efficient for certain applications.
◦ Fourier and wavelet compression is similar.

◦ Neural network autoencoders


◦ Can learn nonlinear dependencies
◦ Can use convolutional layers
◦ Can use transfer learning

https://www.edureka.co/blog/autoencoders-tutorial/
Autoencoders: structure
◦ Encoder: compress input into a latent-space of usually smaller dimension. h = f(x)
◦ Decoder: reconstruct input from the latent space. r = g(f(x)) with r as close to x as possible

https://towardsdatascience.com/deep-inside-autoencoders-7e41f319999f
Autoencoders: applications
◦ Denoising: input clean image + noise and train to reproduce the clean image.

https://www.edureka.co/blog/autoencoders-tutorial/
Autoencoders: Applications
◦ Image colorization: input black and white and train to produce color images

https://www.edureka.co/blog/autoencoders-tutorial/
Autoencoders: Applications
◦ Watermark removal

https://www.edureka.co/blog/autoencoders-tutorial/
Properties of Autoencoders
◦ Data-specific: Autoencoders are only able to compress data similar to what they have been trained on.
◦ Lossy: The decompressed outputs will be degraded compared to the original inputs.
◦ Learned automatically from examples: It is easy to train specialized instances of the algorithm that will
perform well on a specific type of input.

https://www.edureka.co/blog/autoencoders-tutorial/
Capacity
◦ As with other NNs, overfitting is a problem when capacity is too large for the data.

◦ Autoencoders address this through some combination of:


◦ Bottleneck layer – fewer degrees of freedom than in possible outputs.
◦ Training to denoise.
◦ Sparsity through regularization.
◦ Contractive penalty.
Bottleneck layer (undercomplete)
◦ Suppose input images are nxn and the latent space is m < nxn.
◦ Then the latent space is not sufficient to reproduce all images.
◦ Needs to learn an encoding that captures the important features in training data, sufficient for
approximate reconstruction.
What are GANs?

◦System of two neural networks competing against


each other in a zero-sum game framework.
◦They were first introduced by Ian Goodfellow et
al. in 2014.
◦Can learn to draw samples from a model that is
similar to data that we give them.
Components of GANs

Noise

Slide credit – Victor Garcia


Overview of GANs
Source: https://ishmaelbelghazi.github.io/ALI
Discriminative Models

◦ A discriminative model learns a function that maps the


input data (x) to some desired output class label (y).

◦ In probabilistic terms, they directly learn the conditional


distribution P(y|x).
Generative Models

◦ A generative model tries to learn the joint probability of the


input data and labels simultaneously i.e. P(x,y).

◦ Potential to understand and explain the underlying


structure of the input data even when there are no labels.
How GANs are being used?

◦Applied for modelling natural images.

◦Performance is fairly good in comparison to other


generative models.

◦Useful for unsupervised learning tasks.


Why GANs?

◦Use a latent code.


◦Asymptotically consistent (unlike variational
methods) .
◦No Markov chains needed.
◦Often regarded as producing the best samples.
How to train GANs?

◦ Objective of generative network - increase the error rate


of the discriminative network.
◦ Objective of discriminative network – decrease binary
classification loss.
◦ Discriminator training - backprop from a binary
classification loss.
◦ Generator training - backprop the negation of the binary
classification loss of the discriminator.
Loss Functions

Generator Discriminator
Generated bedrooms. Source: “Unsupervised Representation Learning with Deep Convolutional
Generative Adversarial Networks” https://arxiv.org/abs/1511.06434v2
“Improved Techniques for Training
GANs” by Salimans et. al

◦ One-sided Label smoothing - replaces the 0 and 1 targets


for a classifier with smoothed values, like .9 or .1 to reduce
the vulnerability of neural networks to adversarial examples.

◦ Virtual batch Normalization - each example x is normalized


based on the statistics collected on a reference batch of
examples that are chosen once and fixed at the start of
training, and on x itself.
Original CIFAR-10 vs. Generated CIFAR-10 samples
Source: “Improved Techniques for Training GANs” https://arxiv.org/abs/1606.03498
Variations to GANs

◦ Several new concepts built on top of GANs have been


introduced –
◦ InfoGAN – Approximate the data distribution and learn
interpretable, useful vector representations of data.
◦ Conditional GANs - Able to generate samples taking into
account external information (class label, text, another
image). Force G to generate a particular type of output.
Major Difficulties

◦Networks are difficult to converge.

◦Ideal goal – Generator and discriminator to reach


some desired equilibrium but this is rare.

◦GANs are yet to converge on large problems (E.g.


Imagenet).
Common Failure Cases

◦ The discriminator becomes too strong too quickly and the


generator ends up not learning anything.

◦ The generator only learns very specific weaknesses of the


discriminator.

◦ The generator learns only a very small subset of the true


data distribution.
So what can we do?

◦ Normalize the inputs


◦ A modified loss function
◦ Use a spherical Z
◦ BatchNorm
◦ Avoid Sparse Gradients: ReLU, MaxPool
◦ Use Soft and Noisy Labels
◦ DCGAN / Hybrid Models
◦ Track failures early (D loss goes to 0: failure mode)
◦ If you have labels, use them
◦ Add noise to inputs, decay over time
GAN for everything ?

◦ Train GAN – Use discriminator as base model for transfer


learning and the fine-tuning of a production model.

◦ A well-trained generator has learned the true data


distribution well - Use generator as a source of data that is
used to train a production model.
ALGORITHMES
GÉNÉTIQUES
Présentation

◦ Problèmes « non classiques »


◦ Pas de méthode pour résoudre
◦ Déplacement d’un robot

◦ Modélisation trop complexe


◦ Comportement social

◦ Évolution / Adaptation / Tolérance à l’erreur


◦ Systèmes de perception, d’analyse

Exposé Système - IR3 88


Téléphoner à la campagne

Herve.Frezza-Buet@supelec.fr 89
Téléphoner à la campagne

Herve.Frezza-Buet@supelec.fr 90
Téléphoner à la campagne

Herve.Frezza-Buet@supelec.fr 91
Téléphoner à la campagne

Herve.Frezza-Buet@supelec.fr 92
Téléphoner à la campagne

Herve.Frezza-Buet@supelec.fr 93
Téléphoner à la campagne

maximum...
…local !

Herve.Frezza-Buet@supelec.fr 94
Définition d'un problème

Fitness (à optimiser)

"La" solution

Espace des solutions


Herve.Frezza-Buet@supelec.fr 95
Résolution ?
◦ Se déplacer dans l'espace des solutions.
◦ Les évaluer en cours de route.
◦ Retenir la meilleure qu'on a trouvée.

◦ … mais comment se déplacer ?

Herve.Frezza-Buet@supelec.fr 96
Résolution ?
◦ Risquer l'exploration d'une solution tirée au hasard ?
◦ Améliorer les solutions connues ?

Herve.Frezza-Buet@supelec.fr 97
Tout explorer
◦ C'est la seule façon pour être sûr de trouver la meilleure solution possible.

◦ Ca peut être impossible, même pour des problèmes relativement simples, pour lesquels l'espace des
solutions est énorme.

Herve.Frezza-Buet@supelec.fr 98
Suivre le gradient
◦ C'est ce qu'on a fait avec le téléphone, à la campagne.
◦ C'est ce que fait le chien qui retrouve la source d'une odeur.

◦ Pb : Maxima locaux.

Herve.Frezza-Buet@supelec.fr 99
Recuit simulé
◦ On exploite (gradient), mais on s'autorise à faire des "grands pas" de temps en temps (exploration).
◦ Paramètre de température.

◦ Inspiration de la physique statistique.

Herve.Frezza-Buet@supelec.fr 100
Algorithme génétiques
◦ On se dote d'une population de solutions.
◦ Pertinent si, ayant deux solutions moyenne, on peut créer une nouvelle solution, meilleure, en combinant
les avantages des deux.

◦ Lien avec la génétique...

Herve.Frezza-Buet@supelec.fr 101
Présentation

◦ Une solution basée sur les heuristiques


◦ Approche différente du problème
◦ Recherche de la meilleure solution (moins mauvaise)
◦ Exploration du domaine de solutions

Exposé Système - IR3 102


Présentation

R = {x,y} tel que g( f(x,y) ) est optimal avec (x,y) є I


◦ R: Meilleure solution
◦ (x,y): Solution
◦ I: Ensemble des solutions
◦ f(x,y) : Fonction coût
◦ g(): Fonction objectif

Exposé Système - IR3 103


Présentation

◦ Une solution: les heuristiques


◦ Principaux algorithmes
◦ Brute force (Monte Carlo)

◦ Hill climbers(gradient descent , annealing, tabu search)

◦ Evolutionary algorithm (Genetic, ant colony, neurals networks)

◦ Constraints algorithms (Local consistency, hybrid algorithms)

Exposé Système - IR3 104


Présentation

◦ Algorithmes génétiques
◦ Origine : Théorie Darwinienne de l’évolution
◦ Struggle for life
◦ Sélection naturelle
◦ AG inspirés du paradigme
◦ Terminologie identique (population, individu, chromosome, gène)
◦ Traduction du phénomène
◦ Opérateurs d’évolution
◦ Sélection
◦ Croisement
◦ Mutation
Présentation

◦ Algorithmes génétiques
◦ Gène et génotype
◦ Crossing over
Présentation

◦ Algorithmes génétiques

◦ Individus différents

◦ Sélection des mieux adaptés

◦ Hérédité
Fonctionnement

◦ Principes de base

◦ Modélisation de la sélection naturelle


◦ Etape d’évaluation

◦ C’est donc une sélection artificielle


◦ Intervention humaine
Fonctionnement

◦ Principes de base
◦ Génération
◦ Création d’un population aléatoire
◦ Evaluation
◦ Comparaison des individus
◦ Sélection
◦ On ne garde que les meilleurs
◦ Croisement/Mutation
◦ On les fait se reproduire / Évoluer
◦ Retour à l’évaluation
JOUER À TÉTRIS !

Par une approche évolutionniste

Herve.Frezza-Buet@supelec.fr 110
Le problème à résoudre

◦ "Lâcher" les pièces (tétris) et faire une forme


compacte.
◦ Problème de placement.

Herve.Frezza-Buet@supelec.fr 111
Fitness ◦ Elle définit le problème à résoudre.
◦ On a le choix !

12

Herve.Frezza-Buet@supelec.fr 112
Codage d'une solution
◦ On a aussi le choix, mais il faut que ce codage possède une "bonne" propriété.
◦ Qu'est-ce qu'une solution possible ?
◦ Choisir un ordre d'insertion des pièces
◦ Insertion : choisir pour chaque pièce une colonne et une orientation.

Herve.Frezza-Buet@supelec.fr 113
Codage d'une solution
◦ Insertion d'une pièce : on numérote les possibilités.
◦ Ex : pour
18
12
11
10
3
2
1

Herve.Frezza-Buet@supelec.fr 114
Codage d'une solution
◦ Insertion d'une pièce : on numérote les possibilités.

34 30 16 9 8 14 32 26 30 18

Herve.Frezza-Buet@supelec.fr 115
Choisir une solution au hasard

34 30 16 9 8 14 32 26 30 18

10 3 29 10 7 14 27 2 13 1

Taille de l'espace des solutions :


(1×2×...×10)×34×30×16×9×8×14×32×26×30×18 = 26820125487267840000

Les compter à 2GHz, ça prend environs 425 ans !


Herve.Frezza-Buet@supelec.fr 116
POPULATION

Herve.Frezza-Buet@supelec.fr 117
Individu
◦ Une solution possible est appelée un individu. Il a :

10 3 6 4 11 14 7 1 10 3
Un code
Génotype / Chromosome 12

Fitness
Phénotype Une valeur
Un "aspect" Herve.Frezza-Buet@supelec.fr 118
Individu
Génotype

Phénotype

Fitness Herve.Frezza-Buet@supelec.fr 119


Population
◦ On se donne une foule d'individus pour explorer l'espace des solutions…

◦ … mais leur nombre reste ridiculement petit.

Herve.Frezza-Buet@supelec.fr 120
REPRODUCTION /
SÉLECTION

Herve.Frezza-Buet@supelec.fr 121
Reproduction/sélection
◦ Population : 10 individus A,B…H
◦ Chacun est une solution, dont on évalue la fitness.
◦ On détermine les 10 nouveaux individus par sélection probabiliste sur la fitness.

Herve.Frezza-Buet@supelec.fr 122
Reproduction/sélection

A B C D E F G H Génération n
9 2 4 9 1 7 3 1

F D A D B A A G Génération n+1
7 9 9 9 2 9 9 3

D D A A G A A A Génération n+2
9 9 9 9 3 9 9 9

A A A A D A A A Génération n+3
9 9 9 9 9 9 9 9
Herve.Frezza-Buet@supelec.fr 123
Reproduction/sélection
◦ Tendance à l'uniformité (clones du meilleur).
◦ Pas de création de solution nouvelle.

Herve.Frezza-Buet@supelec.fr 124
MUTATION

Herve.Frezza-Buet@supelec.fr 125
Mutation
◦ A chaque génération, tout individu a une probabilité pm d'être un peu modifié aléatoirement.
◦ Ca ressemble à un pas au hasard dans la campagne.
◦ Dépend du codage. Pour tétris, on choisira de permuter deux pièces ou de changer un numéro
d'insertion.

Herve.Frezza-Buet@supelec.fr 126
Mutation
F = 10 3 6 4 11 14 7 1 10 3
7
F' = 10 3 10 4 11 14 7 1 6 3
3

Ou

F = 10 3 6 4 11 14 7 1 10 3
7
F' = 10 22 6 4 11 14 7 1 10 3
11 Herve.Frezza-Buet@supelec.fr 127
CROSSING-OVER
C'est ce qui différencie les algorithmes génétiques
du reste de la recherche opérationnelle.

Herve.Frezza-Buet@supelec.fr 128
Crossing-over
◦ On fait des couples dans la population.
◦ Les couples d'échangent des morceaux de chromosomes à chaque génération, avec une probabilité
pc
◦ Codage et Crossing-over doivent rendre compte du fait qu'on peut assembler des morceaux de
solution.

Herve.Frezza-Buet@supelec.fr 129
Crossing-over pour tétris
◦ Pour un des partenaires du couple, on définit un morceau de chromosome.
◦ On échange les pièces choisies avec l'autre partenaire.

Herve.Frezza-Buet@supelec.fr 130
Crossing-over pour tétris

Site de crossing-over

F = 10 3 6 4 11 14 7 1 10 3
7
G= 4 8 8 12 3 9 1 13 11 5
5

Herve.Frezza-Buet@supelec.fr 131
Crossing-over pour tétris
3 6 4 11 14

F = 10 7 1 10 3
7
G= 4 8 8 12 3 9 1 13 11 5
5

Herve.Frezza-Buet@supelec.fr 132
Crossing-over pour tétris
3 6 4 11 14

F = 10 7 1 10 3
7
G= ? 8 ? 12 3 ? 1 13 ? ?
5

4 8 9 11 5

Herve.Frezza-Buet@supelec.fr 133
Crossing-over pour tétris
3 6 4 11 14

F = 10 7 1 10 3
7
G= 8 12 3 1 13
5

4 8 9 11 5

Herve.Frezza-Buet@supelec.fr 134
Crossing-over pour tétris

F = 10 7 1 10 3
7
G= 8 3 6 4 11 14 12 3 1 13
5

4 8 9 11 5

Herve.Frezza-Buet@supelec.fr 135
Crossing-over pour tétris

F = 10 7 1 10 3
7
G'= 8 3 6 4 11 14 12 3 1 13
15

4 8 9 11 5

Herve.Frezza-Buet@supelec.fr 136
Crossing-over pour tétris

F = 10 4 8 9 11 5 7 1 10 3
7
G'= 8 3 6 4 11 14 12 3 1 13
15

Herve.Frezza-Buet@supelec.fr 137
Crossing-over
◦ Si une solution est moyenne car elle résout une partie du problème…
◦ … elle peut recevoir une partie complémentaire par crossing-over (recombinaison)
◦ Le crossing-over peut aussi être destructif ! (mais il y aura des clones non altérés dans la population…)

Herve.Frezza-Buet@supelec.fr 138
RÉSUMÉ
 Reproduction
 Crossing-over
 Mutation

Herve.Frezza-Buet@supelec.fr 139
FITNESS SHARING
Création de niches écologiques pour favoriser le
diversité de la population.

Herve.Frezza-Buet@supelec.fr 140
Fitness sharing
◦ But : maintenir la diversité, lutter contre l'uniformisation de la reproduction.
◦ Moyen : limiter les ressources...

Herve.Frezza-Buet@supelec.fr 141
Fitness sharing
◦ On définit une fonction s de similarité génotypique sur les individus.
◦ s(A,B)=1 si A=B
◦ s(A,B)=0 si A très différent de B
◦ s(A,B)=.5 si A et B se ressemblent moyennement,
◦ ...

Herve.Frezza-Buet@supelec.fr 142
Fitness sharing
◦ Avant la reproduction, on divise les fitness de A par la somme des s(A,I), pour tous les individus I de la
population.
◦ S'il y a n clones de A, la fitness de chacuns d'eux est divisée par n, l'union ne fait plus la force.

Herve.Frezza-Buet@supelec.fr 143
Fitness sharing
◦ Interprétation : la fitness accordée à une solution est une ressource finie, les solutions identiques se la
partagent.

◦ C'est comme si les devait se partager la qualité de réception.

Herve.Frezza-Buet@supelec.fr 144
Fitness sharing 3

Sans partage

Herve.Frezza-Buet@supelec.fr 145
Fitness sharing 3

Avec partage

Herve.Frezza-Buet@supelec.fr 146
PROGRAMMATION
GÉNÉTIQUE

Herve.Frezza-Buet@supelec.fr 147
Programmation génétique
◦ On n'évolue pas le code qui décrit l'individu, mais un programme, à partir duquel il se construit. C'est sur
l'individu construit qu'on évalue la fitness.
◦ C'est ce qu'on a fait ici.
◦ Exemple : Frédéric Gruau, 1995

Herve.Frezza-Buet@supelec.fr 148
DISCUSSION
Liens avec la biologie ?
Effet Baldwin ?
Catastrophes évolutionistes ?

Herve.Frezza-Buet@supelec.fr 149
RESEAUX EVOLUTIONNAIRES
Exemple 1 :
Problématique :
• Garer un semi-remorque en marche arrière

Solution :
• Pilotage du véhicule par un réseau de neurones (PMC)
• Apprentissage par un algorithme évolutionnaire
 Pas de base d’apprentissage
L’expérience permet d’apprendre : comportement
émergent
15
0
RESEAUX EVOLUTIONNAIRES
Principe :
RESEAUX EVOLUTIONNAIRES
Variables : Paramètres :

Contraintes :

Équations de mouvement :
15
2
RESEAUX EVOLUTIONNAIRES
PMC :
• 3 couches cachées
• Entrées : x, y, θs, θc
• Sortie : u

15
3
RESEAUX EVOLUTIONNAIRES
Principe :
• Position de départ : x0, y0, θs0, θc0
• 1 mouvement (itération) : la position
suivante est donnée par la sortie du
réseau u et par les équations de
mouvement
•On autorise 300 mouvements
(itérations) max.
• Le point de garage est donné par
: Xg = 0 ; Yg = 0 ; θsg = 0
15
4
RESEAUX EVOLUTIONNAIRES
Apprentissage par algorithme évolutionnaire :
• un individu = 1 PMC = liste des coefficients synaptiques
• population de PMC
• opérateurs de croisement, mutation, sélection
•au bout de N générations : le PMC optimal pour une
fonction d ’évaluation (fitness function) ⇔ le PMC le plus
adapté

15
5
RESEAUX EVOLUTIONNAIRES
Fitness function :
• On veut minimiser
 la distance au point de garage
 le nombre de mouvements (itérations)
• fitness function = 1 / (ε + d² + γ * nb_iter), où
 d est la distance au point de garage
nb_iter est le nombre de mouvements (itérations)
effectués
 ε = 0.1 et γ = 0.001

15
6
RESEAUX EVOLUTIONNAIRES
Résultats :
• Apprentissage :

• Tests (généralisation) :

15
7
RESEAUX EVOLUTIONNAIRES
Exemple 2 :
Problématique :
• Apprentissage du comportement suivant
 Trouver le plus court-chemin jusqu’à un point-cible
 Et éviter des obstacles

Solution :
• Pilotage du robot par un réseau de neurones (PMC)
• Apprentissage par un algorithme évolutionnaire
 Pas de base d’apprentissage
 L’expérience permet d’apprendre : comportement
émergent 92
RESEAUX EVOLUTIONNAIRES
• Modélisation de l ’univers : quadrillage NxM

• Modélisation d ’un obstacle : indice de présence Iij d ’une menace


sur une case (i ; j)
 Iij = 0 si aucune menace et aucun obstacle
 Iij = -1 si un obstacle
 Iij = -0.5 si un obstacle sur les cases voisines

• PMC :
6 entrées : coordonnées du point courant et indices de présence d ’un
obstacle sur les cases voisines
4 sorties : probabilité de déplacement vers le nord, le sud, l ’ouest oul
’est. La sortie la plus élevée indique la direction à suivre
15
9
RESEAUX EVOLUTIONNAIRES
PMC :
RESEAUX EVOLUTIONNAIRES
•Pas de base d ’apprentissage ! Pas de couples {position de
départ ; liste des déplacements successifs}

• Apprentissage par des algorithmes génétiques


un individu = 1 PMC = liste des coefficients
synaptiques
 population de PMC
 opérateurs de croisement, mutation, sélection
au bout de N générations : le PMC optimal pour une
fonction d ’évaluation (fitness function) ⇔ le PMC le
plus adapté 16
1
RESEAUX EVOLUTIONNAIRES
Principe :
RESEAUX EVOLUTIONNAIRES
Principe de l’apprentissage :
Pout tout point de départ d’apprentissage Xi
Point_Courant = Xi
nb_iteri = 0
Tant que (point_cible A non atteint) et
(Point_Courant n’est pas dans un obstacle) et
(nb_iteri < nb_iter_max) Faire
Incrémenter nb_iteri
Calculer les 4 sorties du PMC pour Point_Courant (coordonnées et voisinage)
Déplacement_Elémentaire = Max (Sortie → , Sortie ← , Sortie ↑, Sortie ↓)
Déplacer Point_Courant selon Déplacement_Elémentaire
Fin Tant que
Si (Point_Courant est dans un obstacle) Alors
nb_iteri = nb_iter_max
Fin Si
Fin Pour tout 16
3
RESEAUX EVOLUTIONNAIRES
• Comment sélectionner les meilleurs réseaux ?
• Tenir compte de plusieurs critères :
 la distance au point-cible
 le nombre de déplacements effectués
 le cumul des indices de présence de menace des cases parcourues
• D ’où la fitness function suivante à maximiser :

α β
K

f (x) = ∑ +
i=1 1+10 × d ( X i , A) nb _iteri

Avec Xi un point de départ parmi les K points de départ d ’apprentissage,


A le point-cible à atteindre et nb_iteri le nombre de déplacements effectués depuis Xi.
16
4
RESEAUX EVOLUTIONNAIRES
Paramètres AG :
– taille de la population : 100
– nombre de générations : 500
– taux de mutation : 0.1
– taux de croisement : 0.7
– fitness function :
• α = 500,
• β = 100

16
5
RESEAUX EVOLUTIONNAIRES
Tests : généralisation sur
• les points de départ

• la position et le nombre des obstacles

100
Vers d’autres approches…
◦ Il existe de nombreuses autres méthodes d’optimisation basées sur l’optimisation thermique orientée,
similaires dans leurs modèles aux réseaux de neurones ou à l’évolutionnisme :
◦ Par exemple les modèles de colonies de fourmis

◦ Les modèles mathématiques sont similaires et la différenciation est principalement due au modèle
physique ou biologique qui a inspiré la conception de chaque approche.
◦ Les outils mathématiques sont communs : ce sont ceux des probabilités et de la mécanique statistique.
◦ Il y a de bonnes raisons de s’inspirer de la nature pour tenter de trouver des algorithmes efficaces pour
traiter les problèmes d’optimisation.
◦ Mais il ne faut pas suivre aveuglément l’analogie : un avion ne vole pas comme un oiseau, même s’il
partage une partie de la même logique pour tenir en l’air…

08/01/2021
CALCUL
QUANTIQUE
L’Enjeu du Calcul Quantique

08/01/2021
Le Calcul classique présente des limites
Limites théoriques :
◦ Celles de la calculabilité
◦ Celles de la complexité
◦ Celles de l’efficacité

Limites pratiques :
◦ La loi d’Amdhal limite l’efficacité réelle
◦ La loi de Moore devrait s’interrompre
vers 2025
(en fait la reformulation de la LdM)
◦ La progression de l’intégration des
circuits
va se heurter à l’échelle Quantique

08/01/2021
Où chercher des solutions ?

08/01/2021
08/01/2021
Quantum
Supremacy

08/01/2021
Post-Quantum Cryptography (PQC)
◦ Le NIST estime que les ordinateurs quantiques représenteront un risque pour les algorithmes de
cryptogrpahie utilisés aujourd’hui partout (banques, internet, états,…) tels que RSA, DSA et peut-être
ECDSA.
◦ Dans leur estimation les performances de certains ordinateurs quantiques pourraient être menaçant dès
2025.
◦ Le NIST a donc décider d’un planning de développement et de normalisation d’un ensemble de
technologies cryptographiques capables de résister calculatoirement aux attaques quantiques, d’où le
nom de Post-Quantum Cryptography.
◦ Le planning vise une normalisation de ces techniques vers 2024.

08/01/2021
Retour sur la Mécanique Quantique

08/01/2021
Quantas et fonctions d’onde
◦ La Mécanique Quantique est une théorie de la physique des très petites dimensions
et des très hautes énergies dans laquelle la représentation des particules est
doublée par une représentation ondulatoire.
◦ Tous les composants de l’Univers sont à la fois Ondes et Corpuscules.
◦ Une fonction d’onde représentant la probabilité de présence d’un composant
remplace la notion de localisation spatialement et temporellement.
◦ Les niveaux d’énergie accessibles par un composant sont quantifiées, c’est-à-dire
n’existent que sous formes de valeurs entières et non nombres réels.
Formulation de
la théorie des
◦ Rapidement, deux visions s’affrontent : Quantas en
◦ Une vision « réalisme local» qui ne voient la Méca Q que comme une représentation 1905 par Einstein
mathématique astucieuse (Einstein et son « Dieu ne joue pas aux dés »)
◦ Une vision « réalisme quantique » qui y voit une nouvelle interprétation de l’Univers, défendue
par Niels Bohr.

08/01/2021
Fondements de la mécanique quantique
Position d’Einstein, théorie réaliste locale
◦ La réalité physique est indépendantes des
observateurs humains : Réalisme

◦ L’induction est un mode de raisonnement valable


: Libre induction

◦ Aucune information ne se propage plus vite que


c : Séparabilité einsteinienne

La mécanique quantique est juste mais incomplète. Einstein suppose


l’existence d’une explication plus fine des phénomènes (variables
cachées)
177
Fondements de la mécanique quantique
Position de Bohr (Ecole de Copenhague)
◦ La mécanique quantique est un ensemble de règles
de calcul permettant de prédire les résultats des
expériences

◦ Il n’existe pas de variable cachée

◦ Conflit avec la théorie réaliste locale

◦ Inégalités de Bell (1964)

178
Onde ou corpuscule ?

◦ Suivant l’expérience le photon se manifeste comme


une onde (interférences) ou comme un corpuscule

◦ Pour Bohr l’apparition se fait suivant l’une ou l’autre


forme selon l’instrument avec lequel on l’observe

◦ Pour Einstein onde et corpuscule existent


simultanément et possèdent une réalité physique
indépendante de l’observation

◦ Pour Jordan l’observation non seulement perturbe,


mais produit le résultat de mesure
179
Paradoxe EPR (1935)
Einstein, Podolsky, Rosen
◦ Les prédictions de la mécanique quantique sont justes

◦ Aucun signal ne peut se propager plus vite que c

◦ Pour 2 objets très éloignés l’un de l’autre on peut


parler séparément d’éléments de réalité

Raisonnement EPR : application de ces hypothèses à 2 particules


éloignées mais ayant interagi dans le passé
Démonstration du caractère incomplet de la mécanique quantique
180
Inégalités de Bell (1964)
◦ Exemple sur la mesure de spin de paires de protons
corrélés ayant 3 composantes de spin : A, B, C et 2 valeurs
possibles pour chaque composante : + et -

◦ Si les 3 hypothèses des théories réalistes locales sont


supposées vraies alors :
n(A+B-) ≤ n(A+C- + B-C+)

◦ Les prédictions de la mécanique quantique diffèrent pour


cette expérience des théories réalistes locales
Les inégalités de Bell rendent impossible la réconciliation entre les théories
réalistes locales (variables cachées) et la mécanique quantique 181
1982 : Alain Aspect tranche :
l’Intrication Quantique existe !
◦ Les résultats d’observations faites sur des états obéissant à la loi classique
d’indépendance statistique des systèmes spatialement séparés doivent satisfaire aux
inégalités de Bell

◦ Les états produits dans les expériences de pensée EPR violeraient, si la mécanique
quantique est correcte, cette loi d’indépendance statistique

◦ On appelle « intrication quantique » (« quantum entanglement ») cette propriété :


l’intrication quantique se manifeste par une violation des inégalités de Bell

◦ Alain Aspect et ses collaborateurs ont réussi en 1982 à réaliser une authentique
expérience EPR et à y tester ces inégalités de Bell

◦ Ils ont trouvé une incontestable violation


182
Le Principe du Calcul Quantique

08/01/2021
Le Qbit

Superposition de deux
états: |0 > et |1 >

Fonction d’onde:

Où α et β sont des
nombres complexes.

08/01/2021
N-Qbits

08/01/2021
Notation en Cercle Etat semi-
classique :
100% de |0 >
◦ Pour rendre plus visuel le contenu des Qbits, on
emploie une notation avec deux cercles, l’un
pour l’état 0 et l’autre pour l’état 1.
◦ Le remplissage de l’un ou de l’autre des cercles Etat quantique
représentent le module du nombre complexe
équilibré :
associé.
50% de |0 >
◦ La barre indique la phase complexe 50% de |1 >
correspondante
◦ La somme des deux remplissages = 100%
◦ La phase n’a de sens que relativement d’un
Le même avec
cercle à l’autre. C’est la différence de phase qui
un déphasage
compte.
de 90°

08/01/2021
Extension aux QBits
|0>1 |0 >2 = |00 > = | 0 >  100%
|0>1 |1 >2 = |01 > = | 1 >  0%
|1>1 |0 >2 = |10 > = | 2 >  0%
|1>1 |1 >2 = |11 > = | 3 >  0%

|0>1 |0 >2 = |00 > = | 0 >  25%


|0>1 |1 >2 = |01 > = | 1 >  25%
|1>1 |0 >2 = |10 > = | 2 >  25%
|1>1 |1 >2 = |11 > = | 3 >  25%

08/01/2021
Ceci n’est pas une partition de musique

Chaque ligne représente un Qbit et les traitements (portes) qui lui sont appliquées

08/01/2021
Un point MAJEUR
◦ Il n’existe aucun moyen de faire une copie d’un état quantique…

A=B

08/01/2021
Entrée et Sortie du Monde Quantique
◦ Le traitement Quantique apparait comme une sorte de Co-Processing
spécialisé, un peu comme une FPU ou une GPU…et physiquement il y a de
bonnes raisons que cela reste ainsi à l’avenir. On parle de QPU
◦ Le temps pendant lequel les Qbits sont utilisables pour un traitement est le
« temps de cohérence ».
◦ Lorsque la cohérence est interrompue, les données quantiques sont perdues.

}
Doivent
◦ Les opérations d’écriture depuis le monde classique vers le monde quantique donc se
dérouler au
sein de
◦ Les opérations de lecture depuis le monde quantique vers le monde classique cette
cohérence

08/01/2021
Lecture
La lecture d’une valeur
quantique consiste en une
mesure, donc en une
operation qui fait perdre
son caractère complexe
à la donnée quantique.
Elle ramène les données
dans une representation
de bit Classique.

08/01/2021
Lecture
La lecture d’une valeur
quantique consiste en une
mesure, donc en une
operation qui fait perdre
son caractère complexe
à la donnée quantique

08/01/2021
Portes Quantiques
◦ Ce sont l’équivalent des portes logiques NAND, XOR, NOT, …
◦ Notation QC-Engine : dans le langage d’invocation de construction de porte QCEngine
◦ Notaion matricielle :
L’état de superposition est caractérisé complètement par les valeurs complexes α et β .
La transformation d’un Qbit par une porte peut sont se traduire par un produit matriciel transformant les valeurs α et β .

𝑇𝑇00 𝑇𝑇10 𝛼𝛼 𝛼𝛼 𝑇𝑇
× 𝛽𝛽 = 𝑇𝑇
𝑇𝑇01 𝑇𝑇11 𝛽𝛽

08/01/2021
Porte NOT
Définition : échange les deux arguments complexes
Pratique : échange les deux cercles d’un même Qbit
HAD est son propre inverse

◦ Conséquences :
◦ 0 -> 1
◦ 1 -> 0

◦ Notation QC-Engine : qc.not();

0 1
1 0

08/01/2021
Porte de Hadamard (HAD)
HAD génère un état de superposition uniforme à partir
d’états classique.
HAD applique à un état de superposition quantique la
combinaison pondérée des superpositions dues aux deux
états classiques |0 > et |1 >
C’est souvent le point d’entrée dans un processus quantique.
HAD est son propre inverse

Notation QC-Engine : qc.had();

1 1
1/ 2
1 −1
08/01/2021
Porte PHASE
◦ Cette porte introduit une rotation de la phase
relative entre | 0 > et | 1 > d’une valeur 𝜃𝜃.
◦ La porte PHASE est reversible (application d’une
phase de -𝜃𝜃).
-10°

◦ Notation QC-Engine : qc.phase(theta);


◦ 1 0
0 𝑒𝑒 −𝑖𝑖𝜃𝜃
08/01/2021
Portes ROTX et ROTY
◦ Même principe que PHASE mais dans une autre
direction de la Sphère de Bloch.
◦ PHASE = ROTZ au sens de la même sphère

◦ Notation QC-Engine : qc.rotx(theta);


qc.roty(theta);

08/01/2021
Porte Root-of-NOT (RNOT)
◦ Voici une porte étonnante : sa caractéristique est
d’être la racine carrée d’une porte NOT
◦ RNOT suivie de RNOT = NOT
◦ Techniquement c’est une porte de Hadamard, suivie
d’une porte PHASE de -90°, puis d’une nouvelle porte
de Hadamard

◦ Notation QC-Engine : qc.rootnot();

08/01/2021
Exemple de tirage au sort parfait
◦ Les ordinateurs quantiques peuvent générer des aléas réels contrairement aux ordinateurs classiques

08/01/2021
Exemple de tirage au sort d’un Byte
◦ 8 Qbits = 1 Qbyte

08/01/2021
Portes Multilignes

08/01/2021
Porte CNOT
◦ Soit 2 Qbits A et B : CNOT Appliquera une porte NOT sur B si et seulement si A vaut 1.

A A inchangé
B si A = 1, B -> NOT(B)
sinon, rien

Notation QC-Engine : b.cnot(a);

1 0 0 0 1 0 0 0
0 1 0 0 0 1 0 0
Si A==1 et sinon
0 0 0 1 0 0 1 0
0 0 1 0 0 0 0 1 08/01/2021
Intrication et
Paires de Bell
On produit ici une paire
de Bell.
Elles sont toutes les deux
intriquées (entangled).

Le résultat du tirage au
sort sera toujours le même
pour les deux.

08/01/2021
Controlled-NOT
◦ Remember the CNOT (input-consuming XOR) gate?

A A’ A A’ A B A’ B’
0 0 0 0
0 1 0 1
B B B’ = A⊕B 1 0 1 1
B’ = A⊕B 1 1 1 0

00 01 10 11

1 0 0 0 00 Example:

X :≡  0 1 0 0 01 A B A B

0 0 0 1 10 X 10 = 11
0 0 1 0 11
Toffoli Gate (CCNOT)
A A’=A
B B’=B ABC A’ B’ C’
A A’
0 0 0 0 0 0
0 0 1 0 0 1
B B’ 0 1 0 0 1 0
0 1 1 0 1 1
C 1 0 0 1 0 0
C’ = C⊕AB C C’
(XOR) 1 0 1 1 0 1
1 1 0 1 1 0
000 001 010 011 100 101 110 111
1 1 1 1 1 1
1 0 0 0 0 0 0 0 000
0 1 0 0 0 0 0 0 001
0 0 1 0 0 0 0 0 010

X :≡ 0 0 0 1 0 0 0 0 011 Now, what happens if
0 0 0 0 1 0 0 0 100 the unitary matrix elements
0 0 0 0 0 1 0 0 101 are not always 0 or 1?
0 0 0 0 0 0 0 1 110
0 0 0 0 0 0 1 0 111
Deutsch: Gen. 3-bit Toffoli gate:
◦ The following
1 gate is universal:
 
iπα / 2 iπα
 1
 1


a = ie (1 + e )/2
 
iπα / 2 iπα


1
1


b = ie (1 − e )/2
 1 
 a b (Where α is any irrational number.)

 b a 

ab
ba
Barenco’s 2-bit gen. CNOT gate
1 
 1 
A(φ , α ,θ ) =  iα i (α −φ ) 
e cosθ − ie sin θ
 i (α +φ ) iα

 − ie sin θ e cosθ 
◦ where φ,α,θ,π are relatively irrational
◦ Also works, e.g., for φ=π, α=π/2:

1 
 1 
A(π , 2 ,θ ) = 
π
i cosθ − sin θ 
  U
 − sin θ i cosθ 
Transformée de Fourier Quantique

La transformée de Fourier est


particulièrement simple calculatoirement
sur les ordinateurs quantiques

08/01/2021
Quantum Complexity Theory
◦ Early developments:
◦ Deutch’s problem (from earlier): Slight speedup
◦ Deutsch & Jozsa: Exponential speed-up

◦ Important quantum complexity classes:


◦ EQP: Exact Quantum Polynomial - like P.
◦ Polynomial time, deterministic.
◦ ZQP: Zero-error Quantum Polynomial - like ZPP.
◦ Probabilistic, expected polynomial-time, zero errors.
◦ BQP: Bounded-error Quantum Poly. - like BPP.
◦ Probabilistic, bounded probability of errors.

◦ All results relativized, e.g.,


Given a certain black-box, quantum
◦ ∃O: EQPO ⊃ (NPO ∪ co-NPO) computers can solve a certain problem
faster than a classical computer can
even check the answer!
Langages pour exprimer le Quantique
◦ Divers langages sont disponibles pour gérer la création des portes quantiques et l’interaction avec le
classique:
◦ QCEngine
◦ Qiskit
◦ Q# (de Microsoft)
◦ OpenQASM (de niveau assembleur quantique)
◦ Cirq
◦ Etc…

◦ Ils sont cependant liés aux architectures dont ils proviennent. Comme elles sont variées avec des
particularités (sur certaines ce n’est pas la même décomposition en portes, etc...) et que l’uniformisation
et la standardisation ne sont pas encore au rendez-vous, il y aura certainement des fluctuations.
◦ Pour l’instant on est sur du bas-niveau d’expressivité, cela s’améliorera sans doute.
◦ Les librairies sont très restreintes.

08/01/2021
Vers de nouveaux horizons…
◦ L’abord des problèmes algorithmiques « durs » va certainement être fortement impacté par l’arrivée du
quantique.
◦ Des sujets laissés de côté car nécessitant des calculs inabordables vont être remis au gout du jour.
◦ Le Quantum Deep Learning est un des domaines les plus prometteurs et des librairies orientées sur les
deux sujets commencent à sortir (Facebook, Intel).

08/01/2021
Biblio – Genetic programming &
Ordinateur Quantique
◦ E.R. Johnston, N. Harrigan, M. Gimeno-Segovia, Programming Quantum Computers, O’Reilly 2019

08/01/2021

Vous aimerez peut-être aussi