Équation d'un réseau Perceptron multicouche

Oct 15 2020

J'écris un article sur la gestion commerciale des entreprises viticoles où j'utilise un réseau Perceptron multicouche.

Mon professeur m'a alors demandé d'écrire une équation qui me permette de calculer la sortie du réseau. Ma réponse a été qu'en raison de la nature des réseaux de perceptron multicouches, il n'y a pas d'équation unique en soi. Ce que j'ai, c'est un tableau des pondérations et des biais. Je peux alors utiliser cette formule:

$$f(x) = (\sum^{m}_{i=1} w_i * x_i) + b$$

Où:

  • m est le nombre de neurones de la couche précédente,
  • w est un poids aléatoire,
  • x est la valeur d'entrée,
  • b est un biais aléatoire.

Faites cela pour chaque couche / neurone dans les couches cachées et la couche de sortie.

Elle m'a montré un exemple d'un autre travail qu'elle a réalisé (image en bas), en me disant que ça devrait être quelque chose comme ça. En regardant le graphique, je suppose que c'est une régression logistique.

Donc, mes questions sont les suivantes:

  1. Existe-t-il une équation pour prédire la sortie d'un réseau de perceptrons multicouche autre que l'itération sur chaque neurone avec $w*x+b$?
  2. Dois-je simplement dire à mon professeur qu'une régression logistique est un cas différent et qu'il n'en va pas de même pour ce type de réseaux de neurones?
  3. La première formule est-elle correcte pour montrer qu'une valeur d'un neurone est le produit de la somme des couches précédentes plus le biais?


Edit 1 : Je n'ai pas écrit la formule mais j'ai aussi des fonctions d'activation (relu).

Réponses

1 OliverFoster Oct 15 2020 at 02:59

Vous oubliez un élément du MLP qui est la fonction d'activation. Si votre fonction d'activation est linéaire, vous pouvez simplement aplatir tous les neurones en une seule équation linéaire. L'avantage de MLP est cependant ses non-linéarités, donc je soupçonne que dans votre réseau vous avez une certaine activation (sigmoïde? Tanh? Relu? Etc.).

En ce qui concerne votre graphique, vous pouvez simplement générer des prédictions à partir de votre MLP et tracer le nuage de points exact que vous avez ci-dessus. La seule différence serait que vous n'auriez pas un moyen simple d'exprimer ce réseau en notation algébrique (comme vous l'avez fait sur l'axe des x existant).

Pour décrire efficacement les réseaux dans le texte, vous devez vous pencher sur la notation matricielle décrivant les poids et les entrées de chaque couche. Jetez peut-être un œil à quelque chose comme ceci pour commencer:https://www.jeremyjordan.me/intro-to-neural-networks/