La fonction de coût du réseau neuronal est non convexe?

36

La fonction de coût du réseau neuronal est J(W,b) , et il est prétendu être non convexe . Je ne comprends pas très bien pourquoi c'est ainsi, car je vois que cela ressemble beaucoup à la fonction de coût de la régression logistique, n'est-ce pas?

Si elle est non convexe, la dérivée du 2ème ordre JW<0, non?

MISE À JOUR

Grâce aux réponses ci-dessous ainsi qu'au commentaire de @ gung, j'ai compris votre argument. S'il n'y a aucune couche cachée, elle est convexe, tout comme la régression logistique. Mais s'il y a des couches cachées, en permutant les nœuds dans les couches cachées ainsi que les poids dans les connexions suivantes, nous pourrions avoir plusieurs solutions des poids résultant de la même perte.

Maintenant plus de questions,

1) Il existe plusieurs minima locaux, et certains d'entre eux doivent avoir la même valeur, car ils correspondent à certains nœuds et pondérations permutations, n'est-ce pas?

2) Si les nœuds et les poids ne sont pas permutés du tout, alors c'est convexe, non? Et les minima seront les minima globaux. Si oui, la réponse à 1) est que tous ces minima locaux auront la même valeur, n'est-ce pas?

Avocat
la source
Il est non convexe dans la mesure où il peut y avoir plusieurs minima locaux.
gung - Réintégrer Monica
2
Dépend du réseau de neurones. Les réseaux de neurones avec des fonctions d'activation linéaires et une perte de carré donneront une optimisation convexe (si ma mémoire est bonne, également pour les réseaux à fonction de base radiale à variance fixe). Cependant, les réseaux de neurones sont principalement utilisés avec des fonctions d'activation non linéaires (c.-à-d. Sigmoïde), d'où l'optimisation devient non convexe.
Cagdas Ozgenc
@gung, j'ai compris votre question et maintenant j'ai d'autres questions, veuillez consulter ma mise à jour :-)
avocat
5
À ce stade (deux ans plus tard), il serait peut-être préférable de revenir à la version précédente, d'accepter l'une des réponses ci-dessous et de poser une nouvelle question de suivi, qui renvoie au contexte.
gung - Réintégrer Monica
1
@gung, oui tu as raison, mais maintenant je ne suis pas tout à fait sûr de certains aspects de la réponse que j'ai votée auparavant. Eh bien, comme j'ai laissé quelques nouveaux commentaires sur les réponses ci-dessous, j'attendrais un moment pour voir s'il était nécessaire d'en demander un nouveau.
avocat

Réponses:

25

La fonction de coût d'un réseau de neurones n'est généralement ni convexe ni concave. Cela signifie que la matrice de toutes les dérivées partielles secondes (la hessienne) n'est ni semi-définie positive, ni semi-définie négative. Puisque la seconde dérivée est une matrice, il est possible que ce ne soit ni l'un ni l'autre.

Pour rendre cela analogue aux fonctions ʻa une variable, on pourrait dire que la fonction de coût n'a ni la forme du graphe de ni celle du graphe de - x 2 . Un autre exemple d'un non-convexe, la fonction non-concave est sin ( x ) sur R . L'une des différences les plus frappantes est que ± x 2 n'a qu'un extremum, alors que le péché a une infinité de maxima et de minima.x2x2sin(x)R±x2sin

Quel est le lien avec notre réseau de neurones? Une fonction de coût a également un nombre de maxima et de minima locaux, comme vous pouvez le voir sur cette image , par exemple.J(W,b)

Le fait que ait plusieurs minima peut également être interprété de manière satisfaisante. Dans chaque couche, vous utilisez plusieurs nœuds auxquels différents paramètres sont affectés pour réduire la fonction de coût. À l'exception des valeurs des paramètres, ces nœuds sont les mêmes. Vous pouvez donc échanger les paramètres du premier nœud d'une couche avec ceux du deuxième nœud de la même couche, en tenant compte de cette modification dans les couches suivantes. Vous vous retrouveriez avec un ensemble de paramètres différent, mais la valeur de la fonction de coût ne peut pas être distinguée par (vous avez simplement déplacé un nœud vers un autre emplacement, tout en conservant les mêmes entrées / sorties).J

Roland
la source
OK, je comprends l'explication de la permutation que vous avez faite, je pense que cela a du sens, mais je me demande maintenant si c’est l’authentique qui permet d’expliquer pourquoi le réseau neuronal est non convexe?
avocat
1
Que voulez-vous dire par "authentique"?
Roland
Je veux dire, c'est comment il devrait être interprété, pas simplement une analogie.
avocat
4
@loganecolss Vous avez raison de dire que ce n'est pas la seule raison pour laquelle les fonctions de coût ne sont pas convexes, mais l'une des raisons les plus évidentes. En fonction du réseau et de l'ensemble de formation, il peut exister d'autres raisons pour lesquelles plusieurs minimums sont requis. Mais l'essentiel est le suivant: la seule permutation crée une non-convexité, quels que soient les autres effets.
Roland
1
Désolé, je ne peux pas comprendre le dernier paragraphe. Mais je ne comprends pas non plus pourquoi j'ai mentionné max (0, x) ici. Dans tous les cas - je pense que la bonne façon de montrer qu’il existe peut-être plusieurs modes (minimum local multiple) est de le prouver d’une certaine manière. ps Si Hessian est indéfini, il ne dit rien - la fonction quasiconvexe peut avoir un hessien indéfini mais reste unimodal.
bruziuz
17

Si vous permutez les neurones dans la couche cachée et effectuez la même permutation sur les poids des couches adjacentes, la perte ne change pas. Par conséquent, s'il existe un minimum global non nul en fonction des poids, il ne peut pas être unique car la permutation des poids donne un autre minimum. Par conséquent, la fonction n'est pas convexe.

Abhinav
la source
5

Whether the objective function is convex or not depends on the details of the network. In the case where multiple local minima exist, you ask whether they're all equivalent. In general, the answer is no, but the chance of finding a local minimum with good generalization performance appears to increase with network size.

This paper is of interest:

Choromanska et al. (2015). The Loss Surfaces of Multilayer Networks

http://arxiv.org/pdf/1412.0233v3.pdf

From the introduction:

  • For large-size networks, most local minima are equivalent and yield similar performance on a test set.

  • The probability of finding a "bad" (high value) local minimum is non-zero for small-size networks and decreases quickly with network size.

  • Struggling to find the global minimum on the training set (as opposed to one of the many good local ones) is not useful in practice and may lead to overfitting.

They also cite some papers describing how saddle points are a bigger issue than local minima when training large networks.

user20160
la source
4

Some answers for your updates:

  1. Yes, there are in general multiple local minima. (If there was only one, it would be called the global minimum.) The local minima will not necessarily be of the same value. In general, there may be no local minima sharing the same value.

  2. No, it's not convex unless it's a one-layer network. In the general multiple-layer case, the parameters of the later layers (the weights and activation parameters) can be highly recursive functions of the parameters in previous layers. Generally, multiplication of decision variables introduced by some recursive structure tends to destroy convexity. Another great example of this is MA(q) models in times series analysis.

Side note: I don't really know what you mean by permuting nodes and weights. If the activation function varies across nodes, for instance, and you permute the nodes, you're essentially optimizing a different neural network. That is, while the minima of this permuted network may be the same minima, this is not the same network so you can't make a statement about the multiplicity of the same minima. For an analogy of this in the least-squares framework, you are for example swapping some rows of y and X and saying that since the minimum of yXβ is the same as before that there are as many minimizers as there are permutations.

Mustafa S Eisa
la source
1
"one-layer network" would be just what "softmax" or logistic regression looks like, right?
avocado
By "permuting nodes and weights", I mean "swapping", and that's what I got from the above 2 old answers, and as I understood their answers, by "swapping" nodes and weights in hidden layers, we might end up having the same output in theory, and that's why we might have multiple minima. You mean this explanation is not correct?
avocado
You have the right idea, but its not quite the same. For networks, the loss may not necessarily be binomial loss, the activation functions may not necessarily be sigmoids, etc.
Mustafa S Eisa
Yes, I don't think it's correct. Even though it's true that you'll get the same performance whether you permute these terms or not, this doesn't define the convexity or non-convexity of any problem. The optimization problem is convex if, for a fixed loss function (not any permutation of the terms in the loss), the objective function is convex in the model parameters and the feasible region upon which you are optimizing is convex and closed.
Mustafa S Eisa
I see, so if it's "one-layer", it might not be "softmax".
avocado
2

You will have one global minimum if problem is convex or quasiconvex.

About convex "building blocks" during building neural networks (Computer Science version)

I think there are several of them which can be mentioned:

  1. max(0,x) - convex and increasing

  2. log-sum-exp - convex and increasing in each parameter

  3. y = Ax is affine and so convex in (A), maybe increasing maybe decreasing. y = Ax is affine and so convex in (x), maybe increasing maybe decreasing.

Unfortunately it is not convex in (A, x) because it looks like indefinite quadratic form.

  1. Usual math discrete convolution (by "usual" I mean defined with repeating signal) Y=h*X Looks that it is affine function of h or of variable X. So it's a convex in variable h or in variable X. About both variables - I don't think so because when h and X are scalars convolution will reduce to indefinite quadratic form.

  2. max(f,g) - if f and g are convex then max(f,g) is also convex.

If you substitute one function into another and create compositions then to still in the convex room for y=h(g(x),q(x)), but h should be convex and should increase (non-decrease) in each argument....

Why neural netwoks in non-convex:

  1. I think the convolution Y=h*X is not nessesary increasing in h. So if you not use any extra assumptions about kernel you will go out from convex optimization immediatly after you apply convolution. So there is no all fine with composition.

  2. Also convolution and matrix multiplication is not convex if consider couple parameters as mentioned above. So there is evean a problems with matrix multiplication: it is non-convex operation in parameters (A,x)

  3. y = Ax can be quasiconvex in (A,x) but also extra assumptions should be taken into account.

Please let me know if you disagree or have any extra consideration. The question is also very interesting to me.

p.s. max-pooling - which is downsamping with selecting max looks like some modification of elementwise max operations with affine precomposition (to pull need blocks) and it looks convex for me.

About other questions

  1. No, logistic regression is not convex or concave, but it is log-concave. This means that after apply logarithm you will have concave function in explanatory variables. So here max log-likelihood trick is great.

  2. If there are not only one global minimum. Nothing can be said about relation between local minimums. Or at least you can not use convex optimization and it's extensions for it, because this area of math is deeply based on global underestimator.

Maybe you have confusion about this. Because really people who create such schemas just do "something" and they receive "something". Unfortunately because we don't have perfect mechanism for tackle with non-convex optimization (in general).

But there are even more simple things beside Neural Networks - which can not be solved like non-linear least squares -- https://youtu.be/l1X4tOoIHYo?t=2992 (EE263, L8, 50:10)

bruziuz
la source