Chapitre 1 : Contexte et État de l’art
1.2 Les réseaux de neurones artificiels
1.2.3 Les règles d’apprentissage
Figure 1‐7 – Schéma illustrant la topologie du perceptron multi couches à trois couches et fonctions mathématiques
correspondantes.
Les réseaux de neurones convolutifs :
Dans les CNN, certaines couches de neurones effectuent des extractions de caractéristiques sur leur
couche précédente par l’application d’une convolution. Du point de vue des connexions synaptiques,
cela se traduit par la restriction du champ de réception des neurones, et le partages de poids
synaptiques. Les CNN sont très largement utilisés pour l’apprentissage profond (« deep learning »)
[31]–[34] qui est à l’origine des avancées significatives en intelligence artificielle depuis les années
2010, dans le champ des techniques de reconnaissance de motif en général, et d’images en particulier.
1.2.2.2 Les RNN
De façon générale, les RNN sont des ANN dont la topologie contient des cycles. Il existe de nombreux
types de RNN comme les réseaux de Hopfield (« Hofield network » : HN) [35], [36], les réseaux « long
short term memory » (LSTM) [37]–[39], les « liquid state machines » (LSM) [40]–[42] ou les « echo
state networks » (ESN) [43]–[45]. De par leur comportement dynamique (à l’exception des HN), ils sont
particulièrement adaptés au traitement de flux de données. Ils trouvent leur application dans des
champs comme la reconnaissance de discours [38], [46], la reconnaissance scripturale [47], [48], la
robotique [49] ou la détection d’anomalies dans les séries temporelles [50], [51] ou leur prédiction à
court terme [52]. D’autres types d’application sont listés dans [53].
Les LSM et les ESN sont composés d’une couche de neurones d’entrée, d’une couche dite de
« réservoir » dont les neurones sont interconnectés de façon récursive et dont les poids synaptiques
sont fixés aléatoirement, et d’une couche de neurones de sortie. La différence entre les LSM et le ESN
réside dans le type de neurone utilisé : neurone à déclenchement dans le premier cas et neurone
formel dans le second. Pendant l’apprentissage, seuls les poids synaptiques des couches de sortie sont
entraînés. A cause de cette caractéristique particulière, ces systèmes sont les supports d’un type de
traitement de données appelé « reservoir computing » [54].
1.2.3 Les règles d’apprentissage
Pour fonctionner, un ANN doit être entrainé pendant une phase dite d’apprentissage. Cet
apprentissage peut être supervisé ou non‐supervisé selon qu’il requiert l’intervention d’une entité
extérieure ou selon qu’il apprend par sa simple exécution. Les stratégies d’apprentissages dépendent
fortement du type de neurones, formels ou impulsionnels, qui constituent le réseau.
36
1.2.3.1 Apprentissage dans les réseaux de neurones formels
Les réseaux de neurones formels sont aujourd’hui les plus matures. Ils ont été les plus largement
étudiés et développés, notamment parce qu’ils peuvent être émulés efficacement sur des calculateurs
standards. De nombreuses stratégies d’apprentissage, supervisé ou non, ont été développées pour
eux. Beaucoup d’entre elles reposent sur l’algorithme de rétropropagation du gradient (« back
propagation algorithm ») introduit par Rumelhart en 1986 [12] et dont l’efficacité est à l’origine de sa
large diffusion.
La rétropropagation du gradient :
La méthode de rétropropagation du gradient repose en premier lieu sur le calcul d’une fonction
d’erreur2 ε. Dans le cadre d’un apprentissage supervisé, elle est une fonction de la différence entre les
normes des vecteurs de sorties cibles Y⃗ et inférés Y⃗ . Sa forme la plus commune est celle issue de
la méthode des moindres carrés ε ∑ Y⃗ -Y⃗ , mais d’autres formes sont possibles [55]. Dans le cadre
d’apprentissages non‐supervisés, les vecteurs Y⃗ sont générés selon un certain jeu de contraintes.
ε dépend des paramètres du réseau w ; θ (poids synaptiques et biais neuronaux) au travers des Y⃗ .
L’apprentissage consiste à minimiser ε par descente de gradient en mettant à jour les
paramètres selon3 w⃗⨂θ⃗ ← w⃗⨂θ⃗-λ ⋅ ∇⃗
⃗⨂ ⃗ε , où λ est une constante appelée taux d’apprentissage, et
∇⃗
⃗⨂ ⃗ε la divergence de ε. L’algorithme de rétropropagation est une méthode de calcul des ∂ε ∂w⁄
et ∂ε ∂θ⁄ optimisée pour la structure des réseaux de neurones formels. Elle consiste à calculer d’abord
les dérivées partielles qui concernent les paramètres de la dernière couche du réseau, puis de
remonter de couche en couche vers le début du réseau, en retro‐propageant l’erreur. La force de cette
méthode réside dans sa généralisation : elle s’adapte à n’importe quelle structure de réseaux FNN [56],
dont les CNN [57].
Cette méthode a été adaptée aux RNN [58], [59], notamment sous le nom de « backpropagation
through time » [60], [61]. Cependant, l’application de cette méthode aux RNN donne lieu aux
problèmes de disparition ou d’explosion du gradient (« gradient vanishing » ou « exploding gradient»)
[62]–[64]. Le premier empêche le réseau de capturer les dépendances à long terme, le second rend le
système très sensible au bruit. Les travaux pour résoudre ces problèmes ont donné naissance aux
réseaux LSTM évoqués à la section 1.2.2.2 dont l’efficacité a permis l’émergence de nombreuses
applications.
Apprentissages supervisés et non‐supervisés :
L’apprentissage supervisé implique la construction de jeux de données labellisées (couple de données
d’entrée X⃗ et de vecteur de sortie cible Y⃗ ). Le calcul de la fonction d’erreur est alors évident et
l’application de la méthode de rétropropagation du gradient est applicable de façon générale.
Dans le cadre de l’apprentissage non‐supervisé, des implémentions de règles de Hebb – i.e. de règles
d’apprentissage locales – ont été tentées. Pour pallier aux problèmes d’instabilité de la première
formulation proposée par Hebb [8], des variantes ont été développées comme, par exemple, la règle
de Oja [65] ou la règle de Sanger [66]. Cependant, peu de développements de ces stratégies sont
présents dans la littérature actuelle, signe de leur efficacité limitée.
2