Intuition mathématique pour l'utilisation de Re-Lu dans l'apprentissage automatique


10

Donc, actuellement, les fonctions d'activation les plus couramment utilisées sont celles de Re-Lu. J'ai donc répondu à cette question Quel est le but d'une fonction d'activation dans les réseaux de neurones? et en écrivant la réponse, cela m'a frappé, comment peut exactement la fonction non linéaire approximative de Re-Lu?

Par pure définition mathématique, bien sûr, c'est une fonction non linéaire en raison du virage serré, mais si nous nous limitons à la partie positive ou négative de l'axe des x uniquement, alors son linéaire dans ces régions. Disons que nous prenons également l'ensemble de l'axe des x, puis aussi son peu linéaire (pas au sens mathématique strict) dans le sens où il ne peut pas approximer de manière satisfaisante les fonctions courbes comme l'onde sinusoïdale ( 0 --> 90) avec une couche cachée à un seul nœud comme cela est possible par un sigmoïde fonction d'activation.

Alors, quelle est l'intuition derrière le fait que les Re-Lu sont utilisés dans les NN, donnant des performances satisfaisantes (je ne demande pas le but des Re-lu) même s'ils sont plutôt linéaires? Ou les fonctions non linéaires comme sigmoïde et tanh sont-elles parfois lancées au milieu du réseau?

EDIT: Selon le commentaire de @ Eka, Re-Lu tire sa capacité de la discontinuité agissant dans les couches profondes de Neural Net. Cela signifie-t-il que les Re-Lu sont bons tant que nous les utilisons dans les NN profonds et non dans un NN peu profond?


2
Je ne suis pas un expert mais j'ai trouvé ce lien quora.com/…
Eka

1
@Eka nice link .... mais ils énoncent des faits
concrets

3
C'est une supposition; La capacité du relu à approximer les fonctions non linéaires peut être le résultat de sa propriété de discontinuité, c'est-à-dire qu'il max(0,x)agit dans les couches profondes du réseau neuronal. Il y a une recherche openai dans laquelle ils ont calculé des fonctions non linéaires en utilisant des réseaux linéaires profonds voici le lien blog.openai.com/nonlinear-computation-in-linear-networks
Eka

Réponses:


2

Les sorties d'un réseau ReLU sont toujours "linéaires" et discontinues. Ils peuvent approximer les courbes, mais cela pourrait prendre beaucoup d'unités ReLU. Cependant, en même temps, leurs sorties seront souvent interprétées comme une sortie incurvée continue.

Imaginez que vous avez formé un réseau de neurones qui prend x 3 et produit | x 3 | (qui est similaire à une parabole). C'est facile pour la fonction ReLU de faire parfaitement. Dans ce cas, la sortie est courbe.

Mais ce n'est pas réellement incurvé. Les entrées ici sont liées «linéairement» aux sorties. Tout ce que fait le réseau de neurones, c'est qu'il prend l'entrée et renvoie la valeur absolue de l'entrée. Il remplit une fonction «linéaire», non courbe. Vous ne pouvez voir que la sortie n'est pas linéaire lorsque vous la représentez graphiquement par rapport aux valeurs x d'origine (les x en x 3 ).

Ainsi, lorsque nous tracons la sortie sur un graphique et qu'elle semble courbe, c'est généralement parce que nous avons associé différentes valeurs x à l'entrée, puis tracé la sortie en tant que coordonnée y par rapport à ces valeurs x.

D'accord, vous voulez donc savoir comment modéliser en douceur sin (x) en utilisant ReLU. L'astuce est que vous ne voulez pas mettre x comme entrée. Au lieu de cela, mettez quelque chose de courbe par rapport à x comme entrée, comme x 3 . L'entrée est donc x 3 et la sortie est sin (x). La raison pour laquelle cela fonctionnerait est que ce n'est pas le calcul sinus de l'entrée - c'est le calcul sinus de la racine cubique de l'entrée. Il ne pourrait jamais calculer en douceur le sinus de l'entrée elle-même. Pour représenter graphiquement la sortie sin (x), mettez le x d'origine comme coordonnée x (ne mettez pas d'entrée) et mettez la sortie comme coordonnée y.


L'approche que vous donnez nécessiterait beaucoup de relus est ma conjecture ... Vous discrétisez la courbe ... Donc pour les courbes plus fines, nous avons besoin de plus de relus ... Correct?
DuttaA

Pas tout à fait, l'OMI. Si vous prenez un tas de combinaisons linéaires différentes de l'entrée dans la première couche, vous aurez de nombreux types de courbes disponibles à assembler dans la couche suivante, encore une fois avec des combinaisons plus linéaires. Cela peut donner une sortie impeccable. Imaginez par exemple si vous coupez et collez les courbes ensemble uniquement à leur extrema local. Les courbes résultantes seraient alors presque parfaitement continues. Cela dépend également de la précision de la sortie. Il est vrai cependant qu'il existe de meilleures fonctions d'activation que ReLU en raison de leur linéarité excessive (par exemple ELU)
Image par défaut

Je ne pouvais pas comprendre comment nous allons avoir de nombreuses courbes différentes disponibles par une simple relecture .. ce sera juste une combinaison de 2 lignes droites
DuttaA

@DuttaA Les lignes droites ne sont que la fonction de cartographie. Vous pouvez mapper une courbe à une courbe à l'aide d'un mappage Relu. Tout ce dont vous avez besoin est d'avoir une courbe comme données d'entrée.
Image par défaut

@DuttaA La ligne numérique d'entrée est une ligne droite et la ligne numérique de sortie est une ligne droite, mais cela ne dit rien sur la forme des données sur la ligne numérique. Le plan xy est un espace euclidien rectangulaire, mais vous pouvez avoir des courbes à l'intérieur de l'espace rectangulaire.
Image par défaut
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.