Dans quelle mesure le lien entre la fonction objectif et la fonction d'activation de la couche de sortie est-il flexible?

10

Il semble standard dans de nombreux packages de réseaux neuronaux de coupler la fonction objectif à minimiser avec la fonction d'activation dans la couche de sortie.

Par exemple, pour une couche de sortie linéaire utilisée pour la régression, il est standard (et souvent seul choix) d'avoir une fonction objectif d'erreur quadratique. Un autre appariement habituel est la sortie logistique et la perte de log (ou entropie croisée). Et encore un autre est softmax et la perte de plusieurs journaux.

En utilisant la notation, pour la valeur de pré-activation (somme des poids multipliés par les activations de la couche précédente), pour l'activation, pour la vérité du terrain utilisée pour l'entraînement, pour l'indice du neurone de sortie.zy iuneyje

  • L'activation linéaire va de pair avec l'erreur au carré1uneje=zje12je(yje-uneje)2

  • L'activation sigmoïde va de pair avec l'objectif logloss / cross-entropy -i(yilog(ai)+(1-yi)log(1-ai))uneje=11+e-zje-je(yjelog(uneje)+(1-yje)log(1-uneje))

  • L'activation de Softmax va de pair avec l'objectif de perte de journal multiclasseuneje=ezjejezj-je(yjelog(uneje))

Ce sont ceux que je connais, et je pense qu'il y en a beaucoup dont je n'ai pas encore entendu parler.

Il semble que la perte de log ne fonctionnerait et ne soit numériquement stable que lorsque la sortie et les cibles sont dans la plage [0,1]. Il peut donc ne pas être judicieux d'essayer une couche de sortie linéaire avec une fonction objectif de perte de journal. Sauf s'il existe une fonction de perte de log plus générale qui peut gérer des valeurs de qui sont en dehors de la plage?y

Cependant, il ne semble pas si mal d'essayer la sortie sigmoïde avec un objectif d'erreur au carré. Il doit être stable et converger au moins.

Je comprends qu'une partie de la conception derrière ces paires est qu'elle rend la formule pour - où est la valeur de la fonction objectif - facile pour la propagation arrière. Mais il devrait toujours être possible de trouver ce dérivé en utilisant d'autres paires. En outre, il existe de nombreuses autres fonctions d'activation qui ne sont pas couramment observées dans les couches de sortie, mais qui pourraient l'être, telles queδEδzEtanh , et où il n'est pas clair quelle fonction objective pourrait être appliquée.

Existe-t-il des situations lors de la conception de l'architecture d'un réseau de neurones, que vous utiliseriez ou devriez utiliser des paires "non standard" d'activation de sortie et de fonctions objectives?

Neil Slater
la source

Réponses:

4

Ce n'est pas tant la fonction d'activation que vous utilisez qui détermine quelle fonction de perte vous devez utiliser, mais plutôt quelle est l'interprétation que vous avez de la sortie.

Si la sortie est supposée être une probabilité, alors la perte de log est la voie à suivre.

Si la sortie est une valeur générique, l'erreur quadratique moyenne est la méthode par défaut. Ainsi, par exemple, si votre sortie était un pixel à échelle de gris avec une échelle de gris étiquetée par un nombre de 0 à 1, il pourrait être judicieux d'utiliser une fonction d'activation sigmoïde avec une fonction d'objectif d'erreur quadratique moyenne.

patapouf_ai
la source