Règles d’apprentissage des réseaux neuronaux – Perceptron et apprentissage hébbien

Ce tutoriel approfondi sur les règles d’apprentissage des réseaux neuronaux explique l’apprentissage hébbien et l’algorithme d’apprentissage du perceptron avec des exemples:

Dans notre précédent tutoriel, nous avons discuté du réseau neuronal artificiel qui est une architecture d’un grand nombre d’éléments interconnectés appelés neurones.

Ces neurones traitent l’entrée reçue pour donner la sortie désirée. Les nœuds ou neurones sont reliés par des entrées, des poids de connexion et des fonctions d’activation.

La principale caractéristique d’un réseau neuronal est sa capacité d’apprentissage. Les réseaux neuronaux s’entraînent avec des exemples connus. Une fois que le réseau est formé, il peut être utilisé pour résoudre les valeurs inconnues du problème.

=> Lire à travers la série complète de formation à l’apprentissage automatique

Le réseau neuronal apprend à travers divers schémas d’apprentissage qui sont catégorisés comme apprentissage supervisé ou non supervisé.

Dans les algorithmes d’apprentissage supervisé, les valeurs cibles sont connues du réseau. Il essaie de réduire l’erreur entre la sortie désirée (cible) et la sortie réelle pour une performance optimale. Dans les algorithmes d’apprentissage non supervisé, les valeurs cibles sont inconnues et le réseau apprend par lui-même en identifiant les modèles cachés dans l’entrée en formant des clusters, etc.

Un ANN se compose de 3 parties à savoir l’entrée, la couche cachée et la couche de sortie. Il y a une seule couche d’entrée et une seule couche de sortie alors qu’il peut n’y avoir aucune couche cachée ou 1 ou plusieurs couches cachées qui peuvent être présentes dans le réseau. Sur la base de cette structure, l’ANN est classé en réseau monocouche, multicouche, feed-forward ou récurrent.

Terminologie importante de l’ANN

Avant de classer les différentes règles d’apprentissage dans l’ANN, comprenons quelques terminologies importantes liées à l’ANN.

#1) Poids : Dans un ANN, chaque neurone est connecté aux autres neurones par des liens de connexion. Ces liens portent un poids. Le poids possède des informations sur le signal d’entrée du neurone. Les poids et le signal d’entrée sont utilisés pour obtenir une sortie. Les poids peuvent être dénotés sous forme de matrice qui est aussi appelée matrice de connexion.

Chaque neurone est connecté à chaque autre neurone de la couche suivante par des poids de connexion. Par conséquent, s’il y a « n » nœuds et que chaque nœud a « m » poids, alors la matrice de poids sera :

W1 représente le vecteur de poids à partir du nœud 1. W11 représente le vecteur de poids du 1er nœud de la couche précédente au 1er nœud de la couche suivante. De même, wij représente le vecteur de poids du « ième » élément de traitement (neurone) au « jième » élément de traitement de la couche suivante.

#2) Biais : Le biais est ajouté au réseau en ajoutant un élément d’entrée x (b) = 1 dans le vecteur d’entrée. Le biais porte également un poids noté par w (b).

Le biais joue un rôle important dans le calcul de la sortie du neurone. Le biais peut être soit positif, soit négatif. Un biais positif augmente le poids net d’entrée tandis que le biais négatif réduit l’entrée nette.

#3) Seuil : Une valeur de seuil est utilisée dans la fonction d’activation. L’entrée nette est comparée au seuil pour obtenir la sortie. Dans le NN, la fonction d’activation est définie en fonction de la valeur seuil et la sortie est calculée.

La valeur seuil est :

#4) Taux d’apprentissage : Il est dénoté par alpha ? Le taux d’apprentissage va de 0 à 1. Il est utilisé pour l’ajustement des poids pendant le processus d’apprentissage du NN.

#5) Facteur de momentum : Il est ajouté pour une convergence plus rapide des résultats. Le facteur de momentum est ajouté au poids et est généralement utilisé dans les réseaux de rétropropagation.

Comparaison des règles d’apprentissage des réseaux neuronaux

.

.

Méthodes d’apprentissage -.> Descente par gradient Hebbienne Compétitive Stochastique
Type d’architecture
||
Single couche Feedforward ADALINE
Hopfield
Perceptron
Associative
Mémoire
Hopfield
Linéaire. Vecteur
Quantization
Multilayer Feed Forward Cascade
Corrélation
Multilayer Feed
Forward
Radial Bias
Function
Néocognitron
Récurrent Récurrent Neural
Network
Bidirectionnel Auto
Associatif
Mémoire
Cerveau-. State- In-a- Box
Hopfield
Adaptive
Théorie de la résonance
Boltzmann
Machine
Cauchy
Machine

La classification des différents types d’apprentissage des ANN est présentée ci-dessous.

Classification des algorithmes d’apprentissage supervisé

  1. Gradient Descent
  2. Stochastique

#1) Apprentissage par descente de gradient

Dans ce type d’apprentissage, la réduction de l’erreur se fait à l’aide des poids et de la fonction d’activation du réseau. La fonction d’activation doit être différentiable.

L’ajustement des poids dépend du gradient d’erreur E dans cet apprentissage. La règle de rétropropagation est un exemple de ce type d’apprentissage. Ainsi, l’ajustement des poids est défini comme

#2) L’apprentissage stochastique

Dans cet apprentissage, les poids sont ajustés de manière probabiliste.

Classification des algorithmes d’apprentissage non supervisé

  1. Hébien
  2. Concurrentiel

#1) Apprentissage hébbien

Cet apprentissage a été proposé par Hebb en 1949. Il est basé sur l’ajustement corrélatif des poids. Les paires de motifs d’entrée et de sortie sont associées à une matrice de poids, W.

La transposée de la sortie est prise pour l’ajustement des poids.

#2) Apprentissage compétitif

C’est une stratégie du gagnant prend tout. Dans ce type d’apprentissage, lorsqu’un modèle d’entrée est envoyé au réseau, tous les neurones de la couche sont en compétition et seuls les neurones gagnants ont des ajustements de poids.

Neuron Mc Culloch-Pitts

Aussi connu sous le nom de neurone M-P, c’est le plus ancien réseau neuronal qui a été découvert en 1943. Dans ce modèle, les neurones sont connectés par des poids de connexion, et la fonction d’activation est utilisée en binaire. Le seuil est utilisé pour déterminer si le neurone va se déclencher ou non.

La fonction du neurone M-P est :

Algorithme d’apprentissage de Hebb

Le réseau de Hebb a été énoncé par Donald Hebb en 1949. Selon la règle de Hebb, on constate que les poids augmentent proportionnellement au produit de l’entrée et de la sortie. Cela signifie que dans un réseau de Hebb si deux neurones sont interconnectés alors les poids associés à ces neurones peuvent être augmentés par des changements dans l’écart synaptique.

Ce réseau est adapté aux données bipolaires. La règle d’apprentissage de Hebbian est généralement appliquée aux portes logiques.

Les poids sont mis à jour comme:

W (nouveau) = w (ancien) + x*y

Algorithme d’entraînement pour la règle d’apprentissage de Hebbian

Les étapes d’entraînement de l’algorithme sont les suivantes:

  • Initialement, les poids sont mis à zéro, c’est-à-dire.c’est-à-dire w =0 pour toutes les entrées i =1 à n et n est le nombre total de neurones d’entrée.
  • Let s est la sortie. La fonction d’activation pour les entrées est généralement fixée comme une fonction d’identité.
  • La fonction d’activation pour la sortie est également fixée à y= t.
  • Les ajustements de poids et le biais sont ajustés à :
  • Les étapes 2 à 4 sont répétées pour chaque vecteur d’entrée et chaque sortie.

Exemple de règle d’apprentissage Hebbian

Mettons en œuvre la fonction ET logique avec des entrées bipolaires en utilisant l’apprentissage Hebbian

X1 et X2 sont des entrées, b est le biais pris à 1, la valeur cible est la sortie de l’opération ET logique sur les entrées.

.

Entrée Entrée Bias Cible
X1 X2 b y
1 1 1 1
1 -1 1 -1
-1 1 1 -1
-1 -1 1 -1

#1) Initialement, les poids sont fixés à zéro et le biais est également fixé à zéro.

W1=w2=b=0

#2) Le premier vecteur d’entrée est pris comme = et la valeur cible est 1.

Les nouveaux poids seront :

#3) Les poids ci-dessus sont les nouveaux poids finaux. Lorsque la deuxième entrée est passée, ils deviennent les poids initiaux.

#4) Prenez la deuxième entrée = . La cible est -1.

#5) De même, les autres entrées et les poids sont calculés.

Le tableau ci-dessous montre toutes les entrées :

Réseau de Hebb pour la fonction ET

Algorithme d’apprentissage Perceptron

Les réseaux Perceptron sont des réseaux à une seule couche de type feed-forward. Ils sont également appelés réseaux à perceptron unique. Le Perceptron est constitué d’une couche d’entrée, d’une couche cachée et d’une couche de sortie.

La couche d’entrée est connectée à la couche cachée par des poids qui peuvent être inhibiteurs ou excitateurs ou nuls (-1, +1 ou 0). La fonction d’activation utilisée est une fonction de pas binaire pour la couche d’entrée et la couche cachée.

La sortie est

Y= f (y)

La fonction d’activation est :

L’actualisation des poids a lieu entre la couche cachée et la couche de sortie pour correspondre à la sortie cible. L’erreur est calculée en fonction de la sortie réelle et de la sortie souhaitée.

Si la sortie correspond à la cible, alors aucune actualisation des poids n’a lieu. Les poids sont initialement fixés à 0 ou 1 et ajustés successivement jusqu’à ce qu’une solution optimale soit trouvée.

Les poids du réseau peuvent être fixés à n’importe quelles valeurs initialement. L’apprentissage du Perceptron convergera vers le vecteur de poids qui donne une sortie correcte pour tous les modèles de formation d’entrée et cet apprentissage se produit dans un nombre fini d’étapes.

La règle du Perceptron peut être utilisée pour les entrées binaires et bipolaires.

Règle d’apprentissage pour un perceptron à sortie unique

#1) Soit « n » vecteurs d’entrée d’apprentissage et x (n) et t (n) sont associés aux valeurs cibles.

#2) Initialiser les poids et le biais. Mettez-les à zéro pour faciliter le calcul.

#3) Soit le taux d’apprentissage de 1.

#4) La couche d’entrée a une fonction d’activation d’identité donc x (i)= s ( i).

#5) Pour calculer la sortie du réseau :

#6) La fonction d’activation est appliquée sur l’entrée du réseau pour obtenir une sortie.

#7) Maintenant, sur la base de la sortie, comparer la valeur cible souhaitée (t) et la sortie réelle.

#8) Continuer l’itération jusqu’à ce qu’il n’y ait pas de changement de poids. Arrêtez une fois cette condition atteinte.

Règle d’apprentissage pour un perceptron à sorties multiples

#1) Soit « n » vecteurs d’entrée d’apprentissage et x (n) et t (n) sont associés aux valeurs cibles.

#2) Initialisez les poids et le biais. Mettez-les à zéro pour faciliter le calcul.

#3) Soit le taux d’apprentissage de 1.

#4) La couche d’entrée a une fonction d’activation d’identité donc x (i)= s ( i).

#5) Pour calculer la sortie de chaque vecteur de sortie de j= 1 à m, l’entrée nette est :

#6) La fonction d’activation est appliquée sur l’entrée nette pour obtenir une sortie.

#7) Maintenant, sur la base de la sortie, on compare la valeur cible souhaitée (t) et la sortie réelle et on effectue des ajustements de poids.

w est le vecteur de poids des liens de connexion entre le ie neurone d’entrée et le je neurone de sortie et t est la sortie cible pour l’unité de sortie j.

#8) Continuer l’itération jusqu’à ce qu’il n’y ait pas de changement de poids. S’arrêter une fois cette condition atteinte.

Exemple de règle d’apprentissage de Perceptron

Mise en œuvre de la fonction ET en utilisant un réseau Perceptron pour des entrées et des sorties bipolaires.

Le motif d’entrée sera x1, x2 et le biais b. Soit les poids initiaux sont 0 et le biais est 0. Le seuil est fixé à zéro et le taux d’apprentissage est 1.

Porte ET

.

X1 X2 Cible
1 1 1
1 -1 -1
-1 1 -1
-1 -1 -1

#1) X1=1 , X2= 1 et sortie cible = 1
W1=w2=wb=0 et x1=x2=b=1, t=1
Entrée réseau= y =b + x1*w1+x2*w2 = 0+1*0 +1*0 =0

Comme le seuil est zéro donc :

De là, on obtient, sortie = 0. Maintenant, vérifiez si la sortie (y) = la cible (t).

y = 0 mais t= 1 ce qui signifie que ce ne sont pas les mêmes, donc la mise à jour des poids a lieu.

Les nouveaux poids sont 1, 1 et 1 après la présentation du premier vecteur d’entrée.

#2) X1= 1 X2= -1 , b= 1 et cible = -1, W1=1 ,W2=2, Wb=1
Entrée nette= y =b + x1*w1+x2*w2 = 1+1*1 + (-1)*1 =1
La sortie nette pour l’entrée= 1 sera 1 à partir de:

Donc à nouveau, la cible = -1 ne correspond pas à la sortie réelle =1. Des mises à jour de poids ont lieu.

Maintenant les nouveaux poids sont w1 = 0 w2 =2 et wb =0

De même, en continuant avec le prochain ensemble d’entrées, on obtient le tableau suivant :

Les EPOCHS sont le cycle des modèles d’entrée alimentés au système jusqu’à ce qu’il n’y ait plus de changement de poids nécessaire et que l’itération s’arrête.

Algorithme d’apprentissage de Hoff à flèche large

Aussi connu sous le nom de règle Delta, il suit la règle de descente du gradient pour la régression linéaire.

Il met à jour les poids de connexion avec la différence entre la cible et la valeur de sortie. C’est l’algorithme d’apprentissage par la méthode des moindres carrés moyens entrant dans la catégorie des algorithmes d’apprentissage supervisé.

Cette règle est suivie par ADALINE (réseaux neuronaux linéaires adaptatifs) et MADALINE. Contrairement au Perceptron, les itérations des réseaux Adaline ne s’arrêtent pas, mais il converge en réduisant l’erreur quadratique moyenne la plus faible. MADALINE est un réseau de plus d’un ADALINE.

Le motif de la règle d’apprentissage delta est de minimiser l’erreur entre la sortie et le vecteur cible.

Les poids des réseaux ADALINE sont mis à jour par :

Moindre erreur quadratique moyenne = (t- yin)2, ADALINE converge lorsque l’erreur quadratique moyenne la plus faible est atteinte.

Conclusion

Dans ce tutoriel, nous avons abordé les deux algorithmes à savoir la règle d’apprentissage de Hebbian et la règle d’apprentissage du perceptron. La règle de Hebbian est basée sur la règle selon laquelle le vecteur de poids augmente proportionnellement à l’entrée et au signal d’apprentissage c’est-à-dire à la sortie. Les poids sont incrémentés en ajoutant le produit de l’entrée et de la sortie à l’ancien poids.

W (nouveau) = w (ancien) +x*y

L’application des règles de Hebb réside dans les problèmes d’association de motifs, de classification et de catégorisation.

La règle d’apprentissage du Perceptron peut être appliquée au réseau de classes à sortie unique et à sorties multiples. L’objectif du réseau perceptron est de classer le motif d’entrée dans une classe membre particulière. Les neurones d’entrée et le neurone de sortie sont connectés par des liens ayant des poids.

Les poids sont ajustés pour faire correspondre la sortie réelle avec la valeur cible. Le taux d’apprentissage est fixé de 0 à 1 et il détermine l’évolutivité des poids.

Les poids sont mis à jour en fonction de :

En dehors de ces règles d’apprentissage, les algorithmes d’apprentissage automatique apprennent par de nombreuses autres méthodes à savoir : supervisé, non supervisé, renforcement. Certains des autres algorithmes ML courants sont la propagation arrière, l’ART, les cartes auto-organisatrices de Kohonen, etc.

Nous espérons que vous avez apprécié tous les tutoriels de cette série d’apprentissage automatique !

=> Visitez ici pour la série exclusive d’apprentissage automatique

.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.