Université de Bejaia
Faculté de Technologie
Département Génie électrique/ATE
M2 AI/AS 2020/2021
ZENADJI.S
Vision Artificielle
Chapitre II : Deep Learning et la vision
Ce que le Deep learning permet à la vision par ordinateur ?
L’apprentissage en profondeur établit ses propres caractéristiques analytiques. Par
conséquent, il peut identifier des fonctionnalités invisibles pour les humains, faciliter la
recherche et automatiser les opérations, en économisant ainsi beaucoup de temps. Par
exemple les voitures autonomes utilisent ce système pour se localiser dans l'espace et réagir
aux événements extérieurs.
Le Deep Learning a également la capacité de transformer son réseau et d'inverser son
processus. Autrement dit, une entrée similaire à la sortie précédente peut être fournie pour
obtenir une image de sortie. Par conséquent, il permet à la vision par ordinateur d'approfondir
ses principales fonctions et, surtout, de comprendre l'image analysée.
II.1. L’apprentissage automatique
La vision par ordinateur fonctionne grâce à la combinaison de plusieurs technologies, parmi
lesquelles le Deep Learning. Il s’agit d’une technique d’apprentissage profond par réseaux de
neurones grâce à "l’absorption" d’un très grand nombre de données. On parle ici d’une
méthode d’apprentissage automatique consistant à transformer une image en une
représentation d’un vecteur de données prenant en compte, notamment, l’intensité des pixels,
les formes particulières, etc.
II.2. Apprentissage profond
Il repose sur plusieurs couches de représentation de très grands jeux de données avec des
transformations successives. Ces transformations amplifient les caractéristiques des données
en entrée qui les discriminent et atténuent leurs variations. L'apprentissage profond peut être
supervisé ou non supervisé.
Université de Bejaia
Faculté de Technologie
Département Génie électrique/ATE
M2 AI/AS 2020/2021
ZENADJI.S
Vision Artificielle
II.2.1. Apprentissage supervisé ("supervised learning")
Programme d'apprentissage des associations entre les données en entrée et en sortie par
l'analyse des sorties qui présentent un intérêt défini par un superviseur (généralement
humain). C'est l'un des domaines prépondérant de l'apprentissage automatique avec de
nombreuses applications dans le domaine de la santé.
Exemple d'apprentissage supervisé : créer un système qui reconnaisse et classe des images
contenant une maison, une voiture ou un animal.
• 1ère étape : créer un grand jeu de données de ce type d'images. Chaque image est
associée à une indication de la catégorie à laquelle elle appartient.
• 2ème étape - la formation / l'entraînement ("training") : une image est "montrée à la
machine", ce qui produit un résultat sous forme d'un vecteur de scores pour chaque
catégorie. La catégorie de l'image considérée doit obtenir le score le plus élevé (peu
probable avant l'entraînement).
• 3ème étape : calcul d'une fonction objectif (moyennée sur tous les éléments du jeu
d'apprentissage) qui mesure la distance (l'erreur) entre ces scores de sortie et le modèle
de scores souhaité. La machine (l'algorithme / le programme) modifie ensuite ses
paramètres ajustables internes pour minimiser cette distance.
Ces paramètres ajustables (souvent appelés poids, "weight") sont des nombres réels : il peut y
avoir des centaines de millions de catégories et de poids ajustables à partir desquels la
machine (l'algorithme / le programme) est entrainée.
Pour ajuster correctement le vecteur de poids, l'algorithme d'apprentissage calcule un vecteur
de gradient qui, pour chaque poids, indique de quelle valeur augmente ou diminue l'erreur si
le poids est légèrement modifié. Le vecteur de poids est ensuite ajusté dans la direction
opposée au vecteur de gradient.
Université de Bejaia
Faculté de Technologie
Département Génie électrique/ATE
M2 AI/AS 2020/2021
ZENADJI.S
Vision Artificielle
II.2.2. Apprentissage non supervisé ("unsupervised learning")
Programme qui apprend les associations à partir de jeux de données sans qu'on lui fournisse
de définition de ces associations. L'apprentissage non supervisé est capable d'identifier des
prédicteurs inconnus.
II.3. Réseaux de neurones
Les réseaux de neurones artificiels sont des réseaux fortement connectés de processeurs
élémentaires fonctionnant en parallèle. Chaque processeur élémentaire calcule une sortie
unique sur la base des informations qu'il reçoit. Toute structure hiérarchique de réseaux est
évidemment un réseau.
II.3.1. Neurone biologique
L'information ne se transmet que dans un seul sens : des dendrites vers l'axone. Le neurone va
donc recevoir des informations, venant d'autres neurones, grâce à ses dendrites. Il va ensuite y
avoir une sommation, au niveau du corps cellulaire, de toutes ces informations et via un signal
électrique. Le résultat de l'analyse va transiter le long de l'axone jusqu'aux terminaisons
synaptiques. Il va y avoir libération des neurotransmetteurs (médiateurs chimiques) dans la
fente synaptique. Le signal électrique ne pouvant pas passer la synapse, les
neurotransmetteurs permettent donc le passage des informations, d'un neurone à un autre. Les
neurotransmetteurs excitent ou inhibent le neurone suivant et peuvent ainsi générer ou
interdire la propagation d'un nouvel influx nerveux. Les synapses possèdent une sorte de
«mémoire» qui leur permet d'ajuster leur fonctionnement. En fonction de leur «histoire»,
c'est-à-dire de leur activation répétée ou non entre deux neurones, les connexions synaptiques
vont se modifier : mécanisme d’apprentissage.
Université de Bejaia
Faculté de Technologie
Département Génie électrique/ATE
M2 AI/AS 2020/2021
ZENADJI.S
Vision Artificielle
Figure 1 : Mise en correspondance neurone biologique.
II.3.2. Neurone Artificiel
La figure 2 montre la structure d'un neurone artificiel. Chaque neurone artificiel est un
processeur élémentaire. Il reçoit un nombre variable d'entrées en provenance de neurones
amonts. A chacune de ces entrées est associée un poids w abréviation de weight (poids en
anglais) représentatif de la force de la connexion. Chaque processeur élémentaire est doté
d'une sortie unique, qui se ramifie ensuite pour alimenter un nombre variable de neurones
avals. A chaque connexion est associé un poids.
Figure 2 : Mise en correspondance neurone artificiel
II.4. Modélisation mathématique
Comportement
On distingue deux phases. La première est habituellement le calcul de la somme pondérée des
entrées (a) selon l'expression suivante : a = (wi . ei).
Université de Bejaia
Faculté de Technologie
Département Génie électrique/ATE
M2 AI/AS 2020/2021
ZENADJI.S
Vision Artificielle
A partir de cette valeur, une fonction de transfert calcule la valeur de l'état du neurone. C'est
cette valeur qui sera transmise aux neurones avals. Il existe de nombreuses formes possibles
pour la fonction de transfert. Les plus courantes sont présentées sur la figure 3. On remarquera
qu'à la différence des neurones biologiques dont l'état est binaire, la plupart des fonctions de
transfert sont continues, offrant une infinité de valeurs possibles comprissent dans l'intervalle
[0, +1] (ou [-1, +1]).
Figure 3 : Différents types de fonctions de transfert pour le neurone artificiel,
a : fonction à seuil (S , la valeur du seuil), b : linéaire par morceaux, c : sigmoïde.
La règle d'apprentissage la plus simple est : wi,j(t+1) = wi,j(t) + η.xi(t).yj(t)
• wi,j(t) est le poids synaptique de la connexion entre le neurone j et le neurone i à
l'instant t
• η est le taux d'apprentissage ou pas d'apprentissage. Sa valeur est entre 0 et 1 et on la
fait souvent varier au cours de l'apprentissage.
Si on initialise les poids à 0 et le pas d'apprentissage à 1, après k exemples d'apprentissage on
obtient : wi,j = ∑k xi,[Link],k
Fonction d'activation : fonction mathématique qui calcule la valeur de sortie d'un neurone
artificiel.
Université de Bejaia
Faculté de Technologie
Département Génie électrique/ATE
M2 AI/AS 2020/2021
ZENADJI.S
Vision Artificielle
Exemple d’apprentissage supervisé d’un réseau de neurones qui classe des images des
chiffres 0 à 9 :
Source : Yamashita et al. (2018)
Couche d'entrée (n = 1) de ce réseau simple (figure ci-dessous) :
• Chaque neurone i = 1 à k possède un niveau d'activation xi(1) dont la valeur est
comprise entre 0 et 1.
• Ce niveau d'activation correspond aux niveaux de gris d'un pixel de l'image.
• k est le nombre de pixels de l'image.
Les couches de sortie (n = 2, 3, ...) sont constituées de neurones yj avec j = 0 à 9, les 10
chiffres correspondant aux images du jeu de données d'entraînement.
Source : Deep learning.
Université de Bejaia
Faculté de Technologie
Département Génie électrique/ATE
M2 AI/AS 2020/2021
ZENADJI.S
Vision Artificielle
Références bibliographiques
[Link]
[Link]
[Link]/Page2/COURS/Zsuite/6BiochMetabSUITE/5IntelligenceArtificielle/1IntelligenceAr
[Link]