neural network learning rules perceptron hebbian learning
Ce didacticiel approfondi sur les règles d'apprentissage des réseaux neuronaux explique l'apprentissage Hebbian et l'algorithme d'apprentissage Perceptron avec des exemples:
Dans notre tutoriel précédent, nous avons discuté de 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 souhaitée. Les nœuds ou neurones sont liés par des entrées, des poids de connexion et des fonctions d'activation.
La principale caractéristique d'un réseau de neurones est sa capacité à apprendre. Les réseaux de neurones 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.
=> Lisez la série complète de formations sur l'apprentissage automatique
Le réseau neuronal apprend à travers divers schémas d'apprentissage classé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 souhaitée (cible) et la sortie réelle pour des performances optimales. 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éseaux à couche unique, multicouches, à anticipation ou récurrents.
Ce que vous apprendrez:
- Terminologie ANN importante
- Comparaison des règles d'apprentissage du réseau neuronal
- Conclusion
Terminologie ANN importante
Avant de classer les différentes règles d'apprentissage dans ANN, laissez-nous comprendre quelques terminologies importantes liées à ANN.
# 1) Poids: Dans un ANN, chaque neurone est connecté aux autres neurones via des liens de connexion. Ces liens ont un poids. Le poids contient 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ésignés sous une forme matricielle qui est également appelée matrice de connexion.
il prend en charge les questions et réponses d'entrevue
Chaque neurone est connecté à tous les autres neurones de la couche suivante via des poids de connexion. Par conséquent, s'il y a «n» nœuds et que chaque nœud a des poids «m», 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 de 1stnœud de la couche précédente au 1stnœ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 désigné par w (b).
Le biais joue un rôle important dans le calcul de la sortie du neurone. Le biais peut être positif ou négatif. Un biais positif augmente le poids net des intrants tandis que le biais négatif réduit les intrants nets.
# 3) Seuil: Une valeur seuil est utilisée dans la fonction d'activation. L'entrée nette est comparée au seuil pour obtenir la sortie. Dans NN, la fonction d'activation est définie en fonction de la valeur de seuil et la sortie est calculée.
La valeur seuil est:
# 4) Taux d'apprentissage : Il est noté alpha?. Le taux d'apprentissage varie de 0 à 1. Il est utilisé pour l'ajustement du poids pendant le processus d'apprentissage de NN.
# 5) Facteur de momentum : Il est ajouté pour une convergence plus rapide des résultats. Le facteur momentum est ajouté au poids et est généralement utilisé dans les réseaux de rétropropagation.
Comparaison des règles d'apprentissage du réseau neuronal
Méthodes d'apprentissage -> | Descente graduelle | Hebbian | Compétitif | Stochastique | |||||||
---|---|---|---|---|---|---|---|---|---|---|---|
ÉPOQUE 2 | |||||||||||
Type d'architecture || | |||||||||||
Feedforward monocouche | ADALINE Hopfield Perceptron | Associatif Mémoire Hopfield | Vecteur linéaire Quantification | ||||||||
Avance multicouche | Cascade Corrélation Flux multicouche Effronté Biais radial Fonction | Néocognitron | |||||||||
Récurrent | Neural récurrent Réseau | Auto bidirectionnel Associatif Mémoire État-cerveau-dans-une-boîte Hopfield | Adaptatif Théorie de la résonance | Boltzmann Machine Cauchy Machine |
La classification des différents types d'apprentissage de l'ANN est indiquée ci-dessous.
Classification des algorithmes d'apprentissage supervisé
- Descente graduelle
- Stochastique
# 1) Apprentissage de la descente de gradient
Dans ce type d'apprentissage, la réduction des erreurs a lieu à l'aide de pondérations et de la fonction d'activation du réseau. La fonction d'activation doit être différenciable.
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 du poids est défini comme
# 2) Apprentissage stochastique
Dans cet apprentissage, les poids sont ajustés de manière probabiliste.
Classification des algorithmes d'apprentissage non supervisés
- Hebbian
- Compétitif
# 1) Apprentissage Hebbian
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 transposition de la sortie est prise pour le réglage du poids.
# 2) Apprentissage compétitif
C'est un gagnant qui prend toute la stratégie. Dans ce type d'apprentissage, lorsqu'un modèle d'entrée est envoyé au réseau, tous les neurones de la couche entrent en compétition et seuls les neurones gagnants ont des ajustements de poids.
Neurone Mc Culloch-Pitts
Aussi connu sous le nom de M-P Neuron, il s'agit du premier réseau de neurones 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 se déclenchera ou non.
La fonction du neurone M-P est:
Algorithme d'apprentissage Hebbian
Réseau Hebb a été déclaré par Donald Hebb en 1949. Selon la règle de Hebb, les poids augmentent proportionnellement au produit des intrants et des extrants. Cela signifie que dans un réseau Hebb, si deux neurones sont interconnectés, les poids associés à ces neurones peuvent être augmentés par des changements dans la brèche synaptique.
Ce réseau convient aux données bipolaires. La règle d'apprentissage Hebbian est généralement appliquée aux portes logiques.
Les poids sont mis à jour comme:
W (nouveau) = w (ancien) + x * y
Algorithme de formation pour la règle d'apprentissage Hebbian
Les étapes d'apprentissage de l'algorithme sont les suivantes:
- Initialement, les poids sont mis à zéro, c'est-à-dire w = 0 pour toutes les entrées i = 1 à n et n est le nombre total de neurones d'entrée.
- Soit s la sortie. La fonction d'activation des entrées est généralement définie comme une fonction d'identité.
- La fonction d'activation pour la sortie est également réglée sur y = t.
- Les ajustements de poids et le biais sont ajustés pour:
- Les étapes 2 à 4 sont répétées pour chaque vecteur d'entrée et de sortie.
Exemple de règle d'apprentissage Hebbian
Implémentons la fonction logique AND avec des entrées bipolaires en utilisant Hebbian Learning
X1 et X2 sont des entrées, b est le biais pris comme 1, la valeur cible est la sortie de l'opération ET logique sur les entrées.
Saisir | Saisir | Biais | Cibler |
---|---|---|---|
X1 | X2 | b | Oui |
un | un | un | un |
un | -1 | un | -1 |
-1 | un | un | -1 |
-1 | -1 | un | -1 |
#1) Au départ, les poids sont mis à zéro et le biais est également mis à zéro.
W1 = w2 = b = 0
#deux) Le premier vecteur d'entrée est pris comme (x1 x2 b) = (1 1 1) 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, ceux-ci deviennent les poids initiaux.
# 4) Prenez la deuxième entrée = (1 -1 1). La cible est -1.
# 5) De même, les autres entrées et poids sont calculés.
Le tableau ci-dessous montre toutes les entrées:
Contributions | Biais | Sortie cible | Changements de poids | Changements de biais | Nouveaux poids | ||||
---|---|---|---|---|---|---|---|---|---|
X1 | X2 | b | Oui | ? w1 | ? w2 | ? b | W1 | W2 | b |
un | un | un | un | un | un | un | un | un | un |
un | -1 | un | -1 | -1 | un | -1 | 0 | deux | 0 |
-1 | un | un | -1 | un | -1 | -1 | un | un | -1 |
-1 | -1 | un | -1 | un | un | -1 | deux | deux | -2 |
Hebb Net pour la fonction AND
Algorithme d'apprentissage Perceptron
Les réseaux Perceptron sont des réseaux à anticipation monocouche. Ceux-ci sont également appelés Réseaux Single Perceptron. Le Perceptron se compose 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 d'étape binaire pour la couche d'entrée et la couche cachée.
La sortie est
Y = f (y)
La fonction d'activation est:
La mise à jour du poids a lieu entre la couche masqué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, aucune mise à jour du 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 pondérations du réseau peuvent être initialisées à n'importe quelle valeur. L'apprentissage Perceptron convergera vers le vecteur de poids qui donne une sortie correcte pour tous les modèles d'entraînement d'entrée et cet apprentissage se produit en un nombre fini d'étapes.
La règle Perceptron peut être utilisée pour les entrées binaires et bipolaires.
Règle d'apprentissage pour Perceptron à sortie unique
#1) Soit «n» vecteurs d'entrée d'apprentissage et x (n) et t (n) sont associés aux valeurs cibles.
#deux) Initialisez les pondérations et les biais. Mettez-les à zéro pour un calcul facile.
# 3) Laissez le taux d'apprentissage être 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 nette pour obtenir une sortie.
# 7) Maintenant, en fonction de la sortie, comparez la valeur cible souhaitée (t) et la sortie réelle.
# 8) Continuez l'itération jusqu'à ce qu'il n'y ait pas de changement de poids. Arrêtez-vous une fois cette condition remplie.
Règle d'apprentissage pour Perceptron à sorties multiples
comment déclarer la file d'attente en java
#1) Soit «n» vecteurs d'entrée d'apprentissage et x (n) et t (n) sont associés aux valeurs cibles.
#deux) Initialisez les pondérations et les biais. Mettez-les à zéro pour un calcul facile.
# 3) Laissez le taux d'apprentissage être 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) À présent, en fonction de la sortie, comparez la valeur cible souhaitée (t) et la sortie réelle et effectuez les ajustements de poids.
w est le vecteur de poids des liaisons de connexion entre le ième neurone d'entrée et le jième neurone de sortie et t est la sortie cible pour l'unité de sortie j.
# 8) Continuez l'itération jusqu'à ce qu'il n'y ait pas de changement de poids. Arrêtez-vous une fois que cette condition est remplie.
Exemple de règle d'apprentissage Perceptron
Implémentation de la fonction AND à l'aide d'un réseau Perceptron pour les entrées et sorties bipolaires.
Le modèle d'entrée sera x1, x2 et biais b. Soit les poids initiaux 0 et la polarisation 0. Le seuil est mis à zéro et le taux d'apprentissage est 1.
ET Porte
X1 | X2 | Cibler |
---|---|---|
un | un | un |
un | -1 | -1 |
-1 | un | -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 nette = y = b + x1 * w1 + x2 * w2 = 0 + 1 * 0 + 1 * 0 = 0
Le seuil étant donc nul:
comment ouvrir les fichiers bin sur windows 8
De là, nous obtenons, sortie = 0. Maintenant, vérifiez si sortie (y) = cible (t).
y = 0 mais t = 1 ce qui signifie que ce ne sont pas les mêmes, d'où la mise à jour du poids.
Les nouveaux poids sont 1, 1 et 1 après la présentation du premier vecteur d'entrée.
#deux) 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 input = 1 sera 1 à partir de:
Par conséquent, à nouveau, 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, nous obtenons le tableau suivant:
Saisir | Biais | Cibler | Entrée nette | Sortie calculée | Changements de poids | Nouveaux poids | |||||
---|---|---|---|---|---|---|---|---|---|---|---|
X1 | X2 | b | t | yin | Oui | ? w1 | ? w2 | ? b | W1 | W2 | wb |
ÉPOQUE 1 | |||||||||||
un | un | un | un | 0 | 0 | un | un | un | un | un | un |
un | -1 | un | -1 | un | un | -1 | un | -1 | 0 | deux | 0 |
-1 | un | un | -1 | deux | un | un | -1 | -1 | un | un | -1 |
-1 | -1 | un | -1 | -3 | -1 | 0 | 0 | 0 | un | un | -1 |
un | un | un | un | un | un | 0 | 0 | 0 | un | un | -1 |
un | -1 | un | -1 | -1 | -1 | 0 | 0 | 0 | un | un | -1 |
-1 | un | un | -1 | -1 | -1 | 0 | 0 | 0 | un | un | -1 |
-1 | -1 | un | -1 | -3 | -1 | 0 | 0 | 0 | un | un | -1 |
Les EPOCHS sont le cycle des modèles d'entrée transmis au système jusqu'à ce qu'aucun changement de poids ne soit nécessaire et que l'itération s'arrête.
Algorithme d'apprentissage Widrow Hoff
Aussi connu sous le nom Règle delta , il suit la règle de descente de 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. Il s'agit de l'algorithme d'apprentissage des moindres carrés dans la catégorie des algorithmes d'apprentissage supervisé.
Cette règle est suivie par ADALINE (Adaptive Linear Neural Networks) et MADALINE. Contrairement à Perceptron, les itérations des réseaux Adaline ne s'arrêtent pas, mais il converge en réduisant l'erreur quadratique moyenne. 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:
Erreur quadratique la plus faible = (t- ydans)deux, ADALINE converge lorsque l'erreur quadratique moyenne est atteinte.
Conclusion
Dans ce didacticiel, nous avons discuté des deux algorithmes, à savoir Hebbian Learning Rule et Perceptron Learning Rule. La règle Hebbian est basée sur la règle selon laquelle le vecteur de poids augmente proportionnellement au signal d'entrée et 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 Hebb réside dans des problèmes d'association de motifs, de classification et de catégorisation.
La règle d'apprentissage Perceptron peut être appliquée à la fois au réseau de classes de sortie unique et de plusieurs classes de sortie. Le but du réseau perceptron est de classer le modèle d'entrée dans une classe de 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 correspondre à la sortie réelle avec la valeur cible. Le taux d'apprentissage est défini de 0 à 1 et détermine l'évolutivité des poids.
Les poids sont mis à jour selon:
En dehors de ces règles d'apprentissage, les algorithmes d'apprentissage automatique apprennent par le biais de nombreuses autres méthodes, à savoir supervisé, non supervisé, renforcement. Certains des autres algorithmes de ML courants sont la propagation arrière, l'ART, les cartes auto-organisées 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
lecture recommandée
- Un guide complet du réseau neuronal artificiel dans l'apprentissage automatique
- Types d'apprentissage automatique: apprentissage supervisé ou non supervisé
- Exploration de données Vs Machine Learning Vs Intelligence Artificielle Vs Deep Learning
- Test de sécurité réseau et meilleurs outils de sécurité réseau
- 11 outils logiciels d'apprentissage automatique les plus populaires en 2021
- Tutoriel d'apprentissage automatique: Introduction au ML et à ses applications
- 15 meilleurs outils de numérisation réseau (scanner réseau et IP) de 2021
- Top 30 des outils de test réseau (outils de diagnostic des performances réseau)