Rétropropagation: Dans les méthodes de second ordre, serait dérivé Relu être 0? et quel est son effet sur la formation?

datascience.stackexchange https://datascience.stackexchange.com/questions/12744

Question

RELU est une fonction d'activation définie comme $ h = \ max (0, a) où $ $ a = Wx + b $.

Normalement, nous former des réseaux de neurones avec des méthodes de premier ordre, tels que SGD, Adam, RMSprop, Adadelta ou Adagrad. Rétropropagation dans les méthodes de premier ordre nécessite un dérivé de premier ordre. Par conséquent $ x $ provient de 1 $.

Mais si nous utilisons des méthodes de second ordre, serait le dérivé de Relu 0 $ $? Parce que $ x $ provient de 1 $ et est dérivé de nouveau à $ 0 $. Serait-il une erreur? Par exemple, avec la méthode de Newton, vous serez en divisant par 0 $. (Je ne comprends pas vraiment l'optimisation libre-hessois, encore. IIRC, il est question d'utiliser une hessois approximative au lieu du vrai).

Quel est l'effet de cette $ h '' = 0 $? Peut-on former encore le réseau de neurones avec Relu avec des méthodes de second ordre? Ou serait-il erreur / non trainable (nan / infini)?


Pour plus de clarté, ce Relu comme $ f (x) $:

$ f (x) = $ \ begin {array} {} rcl 0 & \ mbox {for} & x <0 \\ x & \ mbox {} pour & x \ ge 0 \ end {array}

$ f '(x) = $ \ begin {array} {} rcl 0 & \ mbox {for} & x <0 \\ 1 & \ mbox {for} & x \ ge 0 \ end {array}

$ f '' (x) = 0 $

Était-ce utile?

La solution

Oui, le dérivé du second ordre Relu est 0. Techniquement, ni $ \ frac {dy} {dx} $ et $ \ frac {d ^ 2y} {dx ^ 2} $ sont définis à $ x = 0 $, mais nous ignorons que - dans la pratique un $ exact x = 0 $ est rare et pas particulièrement significatif, donc ce n'est pas un problème. La méthode de Newton ne fonctionne pas sur la fonction de transfert Relu parce qu'il n'a pas de points fixes. Il ne fonctionne pas de façon significative sur la plupart des autres fonctions de transfert commun si -. Ils ne peuvent pas être réduits au minimum ou maximisés pour les entrées finis

Lorsque vous combinez plusieurs fonctions Relu avec des couches de multiplications de matrice dans une structure comme un réseau de neurones, et que vous souhaitez minimiser une fonction objective, l'image est plus compliquée. Cette combinaison n'ont des points fixes. Même un seul neurone Relu et un objectif d'erreur quadratique moyenne auront un comportement assez différent, tel que le dérivé du second ordre du poids unique variera et n'est pas garanti à 0.

non-linéarités lorsque plusieurs couches combinent est ce qui crée une surface d'optimisation plus intéressante. Cela signifie également qu'il est plus difficile de calculer second ordre utile dérivées partielles (ou Hessien ), il est non seulement une question de prendre dérivées secondes des fonctions de transfert.

Le fait que $ \ frac {d ^ 2y} {dx ^ 2} = 0 $ pour la fonction de transfert fera des termes zéro dans la matrice (pour le second effet d'ordre de même activation des neurones), mais la majorité des termes du hessois sont de la forme $ \ frac {\ partial ^ 2E} {\ x_i partiel \ x_j partiel} $ où E est l'objectif et $ x_i $, $ x_j $ sont différents paramètres de le réseau de neurones. Une matrice de Hesse entièrement réalisé aura N $ ^ 2 Les $ où $ N $ est le nombre de paramètres - avec de grands réseaux de neurones ayant plus de 1 million de paramètres, même avec un procédé de calcul simple et beaucoup de termes étant 0 (egwrt 2 poids en même couche) ce ne peut pas être possible de calculer.

Il existe des techniques pour estimer les effets des dérivées d'ordre utilisées dans certains optimiseurs de réseaux de neurones. RMSProp peut être considérée comme l'estimation de gros effets de second ordre, par exemple. Les optimiseurs « libres » hessois calculer plus explicitement l'impact de cette matrice.

Licencié sous: CC-BY-SA avec attribution
scroll top