Apprentissage non supervisé
Comme son nom l'indique, ce type d'apprentissage se fait sans la supervision d'un enseignant. Ce processus d'apprentissage est indépendant. Au cours de la formation de ANN sous apprentissage non supervisé, les vecteurs d'entrée de type similaire sont combinés pour former des grappes. Lorsqu'un nouveau modèle d'entrée est appliqué, le réseau neuronal donne une réponse de sortie indiquant la classe à laquelle appartient le modèle d'entrée. En cela, il n'y aurait aucun retour de la part de l'environnement sur ce qui devrait être la sortie souhaitée et si elle est correcte ou incorrecte. Par conséquent, dans ce type d'apprentissage, le réseau lui-même doit découvrir les modèles, les caractéristiques des données d'entrée et la relation entre les données d'entrée et la sortie.
Réseaux gagnant-gagnant-tout
Ces types de réseaux sont basés sur la règle de l'apprentissage compétitif et utiliseront la stratégie où il choisit le neurone avec le plus grand nombre d'entrées totales comme gagnant. Les connexions entre les neurones de sortie montrent la concurrence entre eux et l'un d'eux serait «ON», ce qui signifie que ce serait le gagnant et que les autres seraient «OFF».
Voici quelques-uns des réseaux basés sur ce concept simple utilisant un apprentissage non supervisé.
Réseau Hamming
Dans la plupart des réseaux de neurones utilisant l'apprentissage non supervisé, il est essentiel de calculer la distance et d'effectuer des comparaisons. Ce type de réseau est le réseau Hamming, où pour chaque vecteur d'entrée donné, il serait regroupé en différents groupes. Voici quelques caractéristiques importantes de Hamming Networks -
Lippmann a commencé à travailler sur les réseaux Hamming en 1987.
C'est un réseau monocouche.
Les entrées peuvent être binaires {0, 1} ou bipolaires {-1, 1}.
Les poids du réseau sont calculés par les vecteurs exemplaires.
Il s'agit d'un réseau de poids fixe, ce qui signifie que les poids resteraient les mêmes même pendant l'entraînement.
Net maximum
Il s'agit également d'un réseau à poids fixe, qui sert de sous-réseau pour sélectionner le nœud ayant l'entrée la plus élevée. Tous les nœuds sont entièrement interconnectés et il existe des poids symétriques dans toutes ces interconnexions pondérées.
Architecture
Il utilise le mécanisme qui est un processus itératif et chaque nœud reçoit des entrées inhibitrices de tous les autres nœuds via des connexions. Le nœud unique dont la valeur est maximale serait actif ou gagnant et les activations de tous les autres nœuds seraient inactives. Max Net utilise la fonction d'activation d'identité avec $$ f (x) \: = \: \ begin {cases} x & if \: x> 0 \\ 0 & if \: x \ leq 0 \ end {cases} $$
La tâche de ce réseau est accomplie par le poids d'auto-excitation de +1 et la magnitude d'inhibition mutuelle, qui est définie comme [0 <ɛ <$ \ frac {1} {m} $] où “m” est le nombre total de nœuds.
Apprentissage compétitif en ANN
Il s'agit d'un entraînement non supervisé dans lequel les nœuds de sortie essaient de se concurrencer pour représenter le modèle d'entrée. Pour comprendre cette règle d'apprentissage, nous devrons comprendre le net concurrentiel qui est expliqué comme suit -
Concept de base du réseau concurrentiel
Ce réseau est comme un réseau à anticipation monocouche ayant une connexion de rétroaction entre les sorties. Les connexions entre les sorties sont de type inhibitrices, ce qui est indiqué par des lignes pointillées, ce qui signifie que les concurrents ne se soutiennent jamais.
Concept de base de la règle d'apprentissage compétitif
Comme indiqué précédemment, il y aurait une concurrence entre les nœuds de sortie, de sorte que le concept principal est - pendant l'entraînement, l'unité de sortie qui a l'activation la plus élevée pour un modèle d'entrée donné sera déclarée gagnante. Cette règle est également appelée Winner-takes-all car seul le neurone gagnant est mis à jour et le reste des neurones reste inchangé.
Formulation mathématique
Voici les trois facteurs importants pour la formulation mathématique de cette règle d'apprentissage -
Condition pour être gagnant
Supposons que si un neurone yk veut être le gagnant, alors il y aurait la condition suivante
$$ y_ {k} \: = \: \ begin {cases} 1 & if \: v_ {k}> v_ {j} \: for \: all \: \: j, \: j \: \ neq \ : k \\ 0 & sinon \ end {cases} $$
Cela signifie que si un neurone, disons, yk veut gagner, alors son champ local induit (la sortie de l'unité de sommation), disons vk, doit être le plus grand parmi tous les autres neurones du réseau.
Condition de la somme totale de poids
Une autre contrainte sur la règle d'apprentissage compétitif est la somme totale des poids pour un neurone de sortie particulier va être 1. Par exemple, si nous considérons neurone k puis
$$ \ displaystyle \ sum \ limits_ {k} w_ {kj} \: = \: 1 \: \: \: \: for \: all \: \: k $$
Changement de poids pour le gagnant
Si un neurone ne répond pas au modèle d'entrée, alors aucun apprentissage n'a lieu dans ce neurone. Cependant, si un neurone particulier gagne, les poids correspondants sont ajustés comme suit -
$$ \ Delta w_ {kj} \: = \: \ begin {cases} - \ alpha (x_ {j} \: - \: w_ {kj}), & if \: neuron \: k \: wins \\ 0 & if \: neuron \: k \: pertes \ end {cases} $$
Ici $ \ alpha $ est le taux d'apprentissage.
Cela montre clairement que nous favorisons le neurone gagnant en ajustant son poids et si un neurone est perdu, alors nous n'avons pas besoin de nous soucier de réajuster son poids.
Algorithme de clustering K-means
K-means est l'un des algorithmes de clustering les plus populaires dans lequel nous utilisons le concept de procédure de partition. Nous commençons par une partition initiale et déplaçons à plusieurs reprises des modèles d'un cluster à un autre, jusqu'à ce que nous obtenions un résultat satisfaisant.
Algorithme
Step 1 - Sélectionnez kpoints comme centres de gravité initiaux. Initialiserk prototypes (w1,…,wk), par exemple, nous pouvons les identifier avec des vecteurs d'entrée choisis au hasard -
$$ W_ {j} \: = \: i_ {p}, \: \: \: où \: j \: \ in \ lbrace1, ...., k \ rbrace \: et \: p \: \ dans \ lbrace1, ...., n \ rbrace $$
Chaque cluster Cj est associé au prototype wj.
Step 2 - Répétez les étapes 3-5 jusqu'à ce que E ne diminue plus ou que l'appartenance au cluster ne change plus.
Step 3 - Pour chaque vecteur d'entrée ip où p ∈ {1,…,n}, mettre ip dans le cluster Cj* avec le prototype le plus proche wj* ayant la relation suivante
$$ | i_ {p} \: - \: w_ {j *} | \: \ leq \: | i_ {p} \: - \: w_ {j} |, \: j \: \ in \ lbrace1, ...., k \ rbrace $$
Step 4 - Pour chaque cluster Cj, où j ∈ { 1,…,k}, mettre à jour le prototype wj être le centre de gravité de tous les échantillons actuellement Cj , pour que
$$ w_ {j} \: = \: \ sum_ {i_ {p} \ in C_ {j}} \ frac {i_ {p}} {| C_ {j} |} $$
Step 5 - Calculez l'erreur de quantification totale comme suit -
$$ E \: = \: \ sum_ {j = 1} ^ k \ sum_ {i_ {p} \ in w_ {j}} | i_ {p} \: - \: w_ {j} | ^ 2 $$
Néocognitron
Il s'agit d'un réseau à réaction multicouche, qui a été développé par Fukushima dans les années 1980. Ce modèle est basé sur un apprentissage supervisé et est utilisé pour la reconnaissance visuelle de formes, principalement des caractères écrits à la main. Il s'agit essentiellement d'une extension du réseau Cognitron, qui a également été développé par Fukushima en 1975.
Architecture
C'est un réseau hiérarchique, qui comprend de nombreuses couches et il existe un modèle de connectivité localement dans ces couches.
Comme nous l'avons vu dans le diagramme ci-dessus, le néocognitron est divisé en différentes couches connectées et chaque couche a deux cellules. L'explication de ces cellules est la suivante -
S-Cell - C'est ce qu'on appelle une cellule simple, qui est formée pour répondre à un modèle particulier ou à un groupe de modèles.
C-Cell- C'est ce qu'on appelle une cellule complexe, qui combine la sortie de la cellule S et réduit simultanément le nombre d'unités dans chaque tableau. Dans un autre sens, C-cell déplace le résultat de S-cell.
Algorithme de formation
On constate que la formation du néocognitron progresse couche par couche. Les pondérations de la couche d'entrée à la première couche sont entraînées et figées. Ensuite, les poids de la première couche à la deuxième couche sont entraînés, et ainsi de suite. Les calculs internes entre S-cell et Ccell dépendent des poids provenant des couches précédentes. Par conséquent, nous pouvons dire que l'algorithme d'apprentissage dépend des calculs sur la cellule S et la cellule C.
Calculs dans la cellule S
La cellule S possède le signal excitateur reçu de la couche précédente et possède des signaux inhibiteurs obtenus au sein de la même couche.
$$ \ theta = \: \ sqrt {\ sum \ sum t_ {i} c_ {i} ^ 2} $$
Ici, ti est le poids fixe et ci est la sortie de C-cell.
L'entrée mise à l'échelle de la cellule S peut être calculée comme suit -
$$ x \: = \: \ frac {1 \: + \: e} {1 \: + \: vw_ {0}} \: - \: 1 $$
Ici, $ e \: = \: \ sum_i c_ {i} w_ {i} $
wi est le poids ajusté de la cellule C à la cellule S.
w0 est le poids réglable entre l'entrée et la S-cell.
v est l'entrée excitatrice de C-cell.
L'activation du signal de sortie est,
$$ s \: = \: \ begin {cases} x, & if \: x \ geq 0 \\ 0, & if \: x <0 \ end {cases} $$
Calculs en cellule C
L'entrée nette de la couche C est
$$ C \: = \: \ displaystyle \ sum \ limits_i s_ {i} x_ {i} $$
Ici, si est la sortie de S-cell et xi est le poids fixe de la cellule S à la cellule C.
La sortie finale est la suivante -
$$ C_ {out} \: = \: \ begin {cases} \ frac {C} {a + C}, & if \: C> 0 \\ 0, & sinon \ end {cases} $$
Ici ‘a’ est le paramètre qui dépend des performances du réseau.