Réseaux de neurones: structure

Pour voir comment les réseaux de neurones peuvent aider à résoudre les problèmes non linéaires, en représentant un modèle linéaire sous forme de graphe:

Trois cercles bleus d'affilée reliés par des flèches à un cercle vert au-dessus d'eux

Figure 3. Modèle linéaire sous forme de graphe.

Chaque cercle bleu représente une caractéristique d'entrée, et le cercle vert représente la somme pondérée des entrées.

Comment modifier ce modèle pour améliorer sa capacité à gérer les cas des problèmes ?

Couches cachées

Dans le modèle représenté par le graphique suivant, nous avons ajouté une "couche cachée" de valeurs intermédiaires. Chaque nœud jaune de la couche cachée est une somme pondérée des valeurs bleues du nœud d'entrée. La sortie est la somme pondérée des valeurs jaunes nœuds.

Trois cercles bleus sur une ligne étiquetés

Figure 4 Graphique d'un modèle à deux couches.

Ce modèle est-il linéaire ? Oui. Son résultat est toujours une combinaison linéaire ses entrées.

Dans le modèle représenté par le graphique suivant, nous avons ajouté de sommes pondérées.

Trois cercles bleus sur une ligne étiquetés

Figure 5. Graphique d'un modèle à trois couches.

Ce modèle est-il toujours linéaire ? Oui. Lorsque vous exprimez le résultat sous la forme de l'entrée et de simplifier, on obtient juste une autre somme pondérée les entrées. Cette somme ne modélise pas efficacement le problème non linéaire de la figure 2.

Fonctions d'activation

Pour modéliser un problème non linéaire, nous pouvons directement introduire une non-linéarité. Nous pouvons canaliser chaque nœud de la couche cachée via une fonction non linéaire.

Dans le modèle représenté par le graphique suivant, la valeur de chaque nœud dans La couche cachée 1 est transformée par une fonction non linéaire avant d'être transmise aux sommes pondérées de la couche suivante. Cette fonction non linéaire est appelée fonction d'activation.

Identique à la figure précédente, sauf qu'une ligne de cercles roses étiquetés "Couche de transformation non linéaire" a été ajoutée entre les deux couches cachées.

Figure 6 Graphique d'un modèle à trois couches avec fonction d'activation.

Maintenant que nous avons ajouté une fonction d'activation, l'ajout de couches a plus d'impact. L'empilement de non-linéarités sur des non-linéarités permet de modéliser des les relations entre les entrées et les sorties prédites. En bref, chaque est l'apprentissage par une fonction plus complexe et de niveau supérieur les entrées brutes. Si vous souhaitez approfondir vos connaissances sur ce fonctionnement, consultez L'excellent article de blog de Chris Olah (en anglais).

Fonctions d'activation courantes

La fonction d'activation sigmoïde suivante convertit la somme pondérée en une valeur comprise entre 0 et 1.

$$F(x)=\frac{1} {1+e^{-x}}$$

Voici un graphique:

Fonction sigmoïde

Figure 7. Fonction d'activation sigmoïde

La fonction d'activation d'unité de rectification linéaire (ou ReLU, pour court) fonctionne souvent un peu mieux qu'une fonction lisse comme la sigmoïde, tout en étant bien plus facile à calculer.

$$F(x)=max(0,x)$$

La supériorité de la fonction ReLU repose sur des résultats empiriques, probablement motivés par la fonction ReLU. avec une plage de réactivité plus utile. La réactivité d'une fonction sigmoïde chute assez rapidement des deux côtés.

Fonction d'activation ReLU

Figure 8 Fonction d'activation ReLU.

En fait, toute fonction mathématique peut servir de fonction d'activation. Supposons que \(\sigma\) représente notre fonction d'activation (Relu, sigmoïde, etc.). Par conséquent, la valeur d'un nœud du réseau est donnée par l'élément formule:

$$\sigma(\boldsymbol w \cdot \boldsymbol x+b)$$

Résumé

Notre modèle contient à présent tous les composants standards de ce que les gens par "réseau de neurones" :

  • Un ensemble de nœuds, semblables à des neurones, organisés en couches.
  • Un ensemble de pondérations représentant les connexions entre chaque réseau de neurones calque et la couche inférieure. La couche sous-jacente peut être d'une autre couche de réseau de neurones ou d'un autre type de couche.
  • Un ensemble de biais, un pour chaque nœud.
  • Fonction d'activation qui transforme la sortie de chaque nœud d'une couche. Différentes couches peuvent avoir des fonctions d'activation différentes.

Attention: les réseaux de neurones ne sont pas toujours meilleurs que les croisements de caractéristiques, mais les réseaux de neurones offrent une alternative flexible qui fonctionne dans de nombreux cas.