Pourquoi la régularisation ne résout-elle pas le besoin en données des réseaux neuronaux profonds?


37

Un problème que j'ai souvent vu dans le contexte des réseaux de neurones en général, et des réseaux de neurones profonds en particulier, est qu'ils sont "gourmands en données". avec lequel former le réseau.

D'après ce que je comprends, cela est dû au fait que les NNets, notamment les Deep NNets, ont un grand nombre de degrés de liberté. Ainsi, en tant que modèle, un réseau comporte un très grand nombre de paramètres, et si le nombre de paramètres du modèle est grand par rapport au nombre de points de données d'apprentissage, la tendance à la sur-adaptation est accrue.

Mais pourquoi ce problème n'est-il pas résolu par la régularisation? Autant que je sache, les réseaux NNets peuvent utiliser les régularisations L1 et L2 et disposent de leurs propres méthodes de régularisation, telles que le décrochage, qui peuvent réduire le nombre de paramètres du réseau.

Pouvons-nous choisir nos méthodes de régularisation de manière à appliquer la parcimonie et à limiter la taille du réseau?


Pour clarifier ma pensée: Disons que nous utilisons un grand réseau Deep NNet pour essayer de modéliser nos données, mais le jeu de données est petit et pourrait en fait être modélisé par un modèle linéaire. Alors pourquoi les poids de réseau ne convergent-ils pas de telle manière qu'un neurone simule la régression linéaire et que tous les autres convergent vers des zéros? Pourquoi la régularisation ne vous aide-t-elle pas?


7
"Alors pourquoi les poids de réseau ne convergent-ils pas de telle manière qu'un neurone simule la régression linéaire et que tous les autres convergent vers des zéros? Pourquoi la régularisation n'aide-t-elle pas cela?" Je pense en fait que cela ferait un article vraiment intéressant: construisez ce réseau et ce problème, puis évaluez ce qui se passe.
Sycorax dit de réintégrer Monica

Eh bien, vous avez le problème de la diminution progressive des gradients dans les couches profondes des réseaux, même lorsque vous régularisez. C'est pourquoi les gens utilisent la normalisation par lots pour faire ce que vous décrivez. D'autres approches tiennent déjà compte de cela (comme le LSTM) et certaines choses peuvent aider à faire face à la famine, comme le décrochage scolaire.
Benjamin Gruenbaum,


comme @cliffab répond ci-dessous, la régularisation n'est pas ce dont vous avez besoin pour améliorer les performances. pour le dire simplement, un tas d'images de chat pivotées n'est pas la même chose qu'une image de chat simple avec régularisation.
seanv507

1
Je ne suis pas surpris du tout. Avec le genre de série chronologique que je traite au travail, je n'ai pas encore trouvé de méthode qui batte les anciennes méthodes de série temporelle skool, mais je continue d'essayer :)
Aksakal

Réponses:


43

La façon simple de l'expliquer est que la régularisation aide à ne pas s'adapter au bruit, mais ne permet pas de déterminer la forme du signal. Si vous envisagez l'apprentissage en profondeur comme un approximateur de fonctions glorieux, vous réalisez qu'il faut beaucoup de données pour définir la forme du signal complexe.

S'il n'y avait pas de bruit, la complexité croissante de NN produirait une meilleure approximation. La taille de la NN ne serait pas pénalisée, une plus grande aurait été meilleure dans tous les cas. Considérons une approximation de Taylor, plus de termes est toujours préférable pour une fonction non polynomiale (en ignorant les problèmes de précision numérique).

Cela tombe en présence d'un bruit, car vous commencez à vous adapter au bruit. Alors, voici la régularisation pour aider: cela peut réduire l’adaptation au bruit, nous permettant ainsi de construire un plus grand réseau de bruit pour résoudre des problèmes non linéaires.

La discussion suivante n’est pas essentielle à ma réponse, mais j’ai ajouté en partie pour répondre à certains commentaires et motiver le corps de la réponse ci-dessus. Fondamentalement, le reste de ma réponse est comme les feux français qui viennent avec un repas de hamburger, vous pouvez le sauter.

(Ir) Cas pertinent: Régression polynomiale

Regardons un exemple jouet d'une régression polynomiale. C'est également un très bon approximateur pour de nombreuses fonctions. Nous examinerons la fonction dans la région . Comme vous pouvez le voir dans la série de Taylor ci-dessous, l'extension du 7ème ordre est déjà un très bon ajustement. Nous pouvons donc nous attendre à ce qu'un polynôme de l'ordre du 7+ soit également un très bon ajustement:x ( - 3 , 3 )sin(x)x(3,3)

entrez la description de l'image ici

Ensuite, nous allons ajuster les polynômes d'ordre croissant à un petit ensemble de données très bruyant comprenant 7 observations:

entrez la description de l'image ici

Nous pouvons observer ce que beaucoup de gens au courant savent nous dire au sujet des polynômes: ils sont instables et commencent à osciller sauvagement avec l’augmentation de l’ordre des polynômes.

Cependant, le problème n'est pas les polynômes eux-mêmes. Le problème est le bruit. Lorsque nous ajustons des polynômes à des données bruitées, une partie de cet ajustement est liée au bruit, pas au signal. Voici les mêmes polynômes exacts qui correspondent au même ensemble de données mais avec le bruit complètement supprimé. Les ajustements sont super!

Notez un ajustement visuel parfait pour l'ordre 6. Cela ne devrait pas être surprenant puisque 7 observations sont tout ce dont nous avons besoin pour identifier uniquement le polynôme d'ordre 6, et nous avons vu dans le diagramme d'approximation de Taylor ci-dessus que l'ordre 6 est déjà une très bonne approximation de dans notre plage de données.sin(x)

entrez la description de l'image ici

Notez également que les polynômes d'ordre supérieur ne correspondent pas à l'ordre 6, car il n'y a pas assez d'observations pour les définir. Alors, regardons ce qui se passe avec 100 observations. Sur un graphique ci-dessous, vous voyez comment un plus grand ensemble de données nous a permis d'adapter des polynômes d'ordre supérieur, réalisant ainsi un meilleur ajustement!

entrez la description de l'image ici

Bien, mais le problème est que nous traitons généralement des données bruitées. Regardez ce qui se passe si vous vous adaptez aux 100 observations de données très bruyantes, voir le tableau ci-dessous. Nous revenons à la case départ: les polynômes d'ordre supérieur produisent des ajustements horribles. Ainsi, l’augmentation du jeu de données n’a pas beaucoup aidé à augmenter la complexité du modèle pour mieux expliquer les données. Ceci est dû au fait que le modèle complexe s’adapte mieux non seulement à la forme du signal, mais également à la forme du bruit.

entrez la description de l'image ici

Enfin, essayons une régularisation boiteuse sur ce problème. Le graphique ci-dessous montre la régularisation (avec différentes pénalités) appliquée à la régression polynomiale d'ordre 9. Comparez ceci à l'ordre (puissance) 9 ajustement polynomial ci-dessus: à un niveau approprié de régularisation, il est possible d'adapter les polynômes d'ordre supérieur aux données bruitées.

entrez la description de l'image ici

Juste au cas où ce ne serait pas clair: je ne suggère pas d'utiliser la régression polynomiale de cette façon. Les polynômes étant adaptés aux ajustements locaux, un polynôme par morceaux peut constituer un bon choix. Il est souvent déconseillé d’en équiper l’ensemble du domaine. En effet, ils sont sensibles au bruit, comme il ressort des graphiques ci-dessus. Que le bruit soit numérique ou d'une autre source n'est pas si important dans ce contexte. le bruit est du bruit et les polynômes vont y réagir passionnément.


8
Et lorsque votre jeu de données est petit, il est très difficile de faire la distinction entre bruit et non-bruit.
Alex R.

3
En fait, la régularisation permet d’avoir un plus gros NN sans surajustement
Aksakal

6
@Alex - Pourquoi utiliser par défaut un modèle plus simple? Il existe une variabilité inexpliquée qui peut encore être ajustée en augmentant la complexité! Et… le but est de réduire autant que possible la variabilité inexpliquée… sinon, le NN passerait par défaut au modèle le plus simple possible, à savoir «0». Mais, comme l'a écrit Aksakal, à mesure que le NN réduit de plus en plus cette variabilité inexpliquée dans les données, il s'adapte également à la variabilité inexplicable , c'est-à-dire au surapprentissage - d'où la nécessité d'une régularisation.
jbowman

2
Autre chose: supposez que le processus sous-jacent que vous modélisez soit bruyant, comme le comportement de vote humain ou certains résultats pour la santé qui sont fondamentalement difficiles à prédire. Dites aussi que vos données sont truffées d’erreurs de mesure et même de biais de sélection. Dans un environnement de bruit à signal aussi élevé, je ne préférerais pas seulement un modèle plus simple avec régularisation. Je pourrais même préférer moins de données pour ne pas mesurer un bruit de manière très précise malgré tous les efforts de régularisation que j'ai déployés.
Brash Equilibrium

2
@BrashEquilibrium - un excellent point. Nous effectuons des prévisions à grande échelle en utilisant des machines renforçant le gradient avec près de 150 fonctions, dont beaucoup ont un niveau de bruit élevé (tout en améliorant la qualité de la prévision), et avons découvert que donner au GBM 20% des données à entraîner sur les résultats dans de meilleures prévisions que de lui donner 50% ou plus, même avec tous les autres mécanismes de régularisation appliqués.
jbowman

7

À ce stade, il est difficile de comprendre quand et pourquoi certaines méthodes de régularisation réussissent ou échouent. En fait, on ne comprend pas du tout pourquoi l'apprentissage en profondeur fonctionne en premier lieu.

Compte tenu du fait qu'un réseau neuronal suffisamment profond peut mémoriser parfaitement les données d'entraînement les mieux comportées, il existe beaucoup plus de solutions fausses que de solutions pour un réseau profond particulier. La régularisation, d’une manière générale, est une tentative de limiter l’expressivité des modèles pour ces "mauvaises" solutions - où "faux" est défini par des heuristiques que nous pensons être importantes pour un domaine particulier . Mais il est souvent difficile de définir l'heuristique de manière à ne pas perdre la "bonne" expressivité. Un bon exemple de ceci est la pénalité de L2.

Très peu de méthodes pouvant être considérées comme une forme de régularisation s’appliquent généralement à tous les domaines d’application du BC. Les problèmes de vision, de PNL et de prédiction structurée ont tous leur propre livre de recettes de techniques de régularisation dont l'efficacité expérimentale a été démontrée dans ces domaines particuliers. Mais même dans ces domaines, ces techniques ne sont efficaces que dans certaines circonstances. Par exemple, la normalisation par lots sur des réseaux résiduels profonds semble rendre redondant les abandons, même s’il a été démontré que les deux amélioraient indépendamment la généralisation.

Sur une note séparée, je pense que le terme régularisation est si large qu’il est difficile de comprendre quoi que ce soit à son sujet. Compte tenu du fait que les convolutions restreignent de manière exponentielle l'espace des paramètres par rapport aux pixels, vous pouvez considérer le réseau neuronal convolutionnel comme une forme de régularisation sur le réseau neuronal vanille.


Je ne suis pas sûr d'être d'accord avec votre premier paragraphe.
Ander Biguri

3
Difficile d'en parler en 500 caractères, mais les plus grands chercheurs au monde affirment que le succès de SGD n'est pas bien compris. Par exemple, prenez Ilya S. de OpenAI: youtube.com/watch?v=RvEwFvl-TrY&feature=youtu.be&t=339
Austin Shin,

Tout à fait d'accord - c'est probablement la raison pour laquelle il est plus facile de raisonner avec des approximations polynomiales plutôt qu'avec des réseaux réels ...
P-Gn

3

Une classe de théorèmes qui montre pourquoi ce problème est fondamental sont les théorèmes de non-déjeuner libre . Pour chaque problème d'échantillons limités pour lesquels une certaine régularisation est utile, il existe un autre problème: la même régularisation aggravera les choses. Comme le souligne Austin, nous trouvons généralement que la régularisation de L1 / L2 est utile pour de nombreux problèmes du monde réel, mais il ne s'agit que d'une observation et, en raison des théorèmes de la NFL, il ne peut y avoir de garantie générale.


3

Je dirais qu’à un niveau élevé, le biais inductif des DNN (réseaux de neurones profonds) est puissant, mais légèrement trop lâche ou n’a pas assez d’opinion. J'entends par là que les DNN capturent de nombreuses statistiques de surface sur ce qui se passe, mais ne parviennent pas à atteindre la structure de haut niveau causale / compositionnelle plus profonde. (Vous pouvez considérer les convolutions comme une spécification du biais inductif d'un homme pauvre).

En outre, la communauté de l'apprentissage automatique croit que la meilleure façon de généraliser (faire de bonnes déductions / prédictions avec peu de données) est de trouver le programme le plus court ayant donné lieu à ces données. Cependant, l’induction / la synthèse du programme est difficile et nous n’avons aucun moyen efficace de le faire. Nous nous basons donc sur une approximation proche, à savoir la recherche de circuit, et nous savons comment procéder avec la rétropropagation. Ici , Ilya Sutskever donne un aperçu de cette idée.


Pour illustrer la différence de puissance de généralisation des modèles représentés sous forme de programmes réels par rapport à des modèles d'apprentissage en profondeur, je montrerai celui de cet article: La simulation en tant que moteur de compréhension de la scène physique .

entrez la description de l'image ici

(A) Le modèle IPE [moteur physique intuitif] prend des entrées (par exemple, perception, langage, mémoire, images, etc.) qui instancient une distribution sur des scènes (1), puis simule les effets de la physique sur la distribution (2), et ensuite agréger les résultats pour la sortie à d'autres facultés sensorimotrices et cognitives (3)

entrez la description de l'image ici

(B) Exp. 1 (Est-ce que ça va tomber?) Les stimuli de la tour. La tour avec la bordure rouge est en fait délicatement équilibrée et les deux autres ont la même hauteur, mais celle à bord bleu est jugée beaucoup moins susceptible de tomber par le modèle et les personnes.

(C) Modèle IPE probabiliste (axe des abscisses) par rapport aux moyennes de jugement humain (axe des ordonnées) dans Exp. 1. Voir Fig. S3 pour les corrélations pour les autres valeurs de σ et. Chaque point représente une tour (avec SEM), et les trois cercles colorés correspondent aux trois tours de B.

(D) La vérité au sol (non probabiliste) contre les jugements humains (Exp. 1). Parce qu’il ne représente pas l’incertitude, il ne peut pas capter les jugements des gens pour un certain nombre de nos stimuli, comme la tour à bord rouge de B. (Notez que ces cas peuvent être rares dans des scènes naturelles, où les configurations ont instable et l'IPE devrait pouvoir corréler mieux avec la vérité du sol que sur nos stimuli.)

Ce que je veux dire, c’est que la correspondance en C est vraiment bonne, car le modèle prend en compte les justes préjugés sur la façon dont les humains formulent leurs jugements physiques. Ceci est en grande partie parce qu'elle modélise la physique réelle (rappelez - vous qu'il est un moteur physique réelle) et peuvent faire face à l' incertitude.

Maintenant, la question évidente est: pouvez-vous faire cela avec un apprentissage en profondeur? Voici ce que Lerer et al ont fait dans ce travail: Apprendre l’intuition physique des tours à blocs par exemple

Leur modèle: entrez la description de l'image ici

Leur modèle est en fait assez bon pour la tâche à accomplir (prédire le nombre de blocs qui tombent, et même leur direction de chute)

entrez la description de l'image ici

Mais il souffre de deux inconvénients majeurs:

  • Il faut une énorme quantité de données pour s'entraîner correctement
  • En général, les modifications sont superficielles: vous pouvez transférer des images plus réalistes, ajouter ou supprimer 1 ou 2 blocs. Mais tout ce qui est au-delà et les performances sont catastrophiques: ajoutez 3 ou 4 blocs, modifiez la tâche de prédiction ...

Le laboratoire de Tenenbaum a réalisé une étude comparative sur ces deux approches: une évaluation comparative de la simulation probabiliste approximative et des réseaux de neurones profonds en tant que comptes de la compréhension de la scène physique humaine .

Citant la section de discussion:

La performance des CNN diminue à mesure qu’il y a moins de données d’entraînement. Bien qu'AlexNet (non pré-entraîné) fonctionne mieux avec 200 000 images d'entraînement, il souffre également davantage du manque de données, tandis qu'AlexNet pré-formé est en mesure de mieux apprendre à partir d'un petit nombre d'images d'entraînement. Pour notre tâche, les deux modèles nécessitent environ 1 000 images pour que leurs performances soient comparables au modèle IPE et aux humains.

Les CNN ont également une capacité de généralisation limitée, même pour de petites variations de scène, telles que le nombre de blocs. En revanche, les modèles IPE généralisent naturellement et capturent les façons dont la précision du jugement humain diminue avec le nombre de blocs d'une pile.

Pris ensemble, ces résultats suggèrent un élément fondamental de la cognition humaine que les réseaux de neurones (ou du moins les réseaux CNN) ne capturent pas actuellement: l'existence d'un modèle mental des processus causaux du monde. Les modèles mentaux causaux peuvent être simulés pour prédire ce qui se passera dans des situations qualitativement nouvelles. Ils ne nécessitent pas de données de formation vastes et variées pour être généralisés, mais ils sont intrinsèquement sujets à certaines erreurs (par exemple, la propagation de l’incertitude due à dynamique du bruit) juste en vertu du fonctionnement par simulation.

Revenons à ce que je veux dire: si les réseaux de neurones sont des modèles puissants, ils ne semblent pas avoir la capacité de représenter une structure causale, compositionnelle ou complexe. Et ils compensent cela en exigeant beaucoup de données de formation.

Et revenons à votre question: je dirais que le large biais inductif et le fait que les réseaux de neurones ne modélisent pas la causalité / la compositionalité sont la raison pour laquelle ils ont besoin de tant de données de formation. La régularisation n’est pas une solution miracle à cause de la façon dont elles se généralisent. Une meilleure solution consisterait à modifier leur biais, comme le tente actuellement Hinton d’ utiliser des capsules pour modéliser la géométrie totale / partielle ou des réseaux d’interaction pour modéliser des relations.


2

Tout d'abord, de nombreuses méthodes de régularisation sont utilisées et utilisées dans la recherche active pour l'apprentissage en profondeur. Donc, votre prémisse n'est pas entièrement certaine.

Comme pour les méthodes utilisées, la décroissance du poids est une implémentation directe d’une pénalité de niveau 2 sur les poids via une descente de gradient. Prenez le gradient de la norme au carré de vos poids et ajoutez-leur un petit pas dans cette direction à chaque itération. Le décrochage est également considéré comme une forme de régularisation, qui impose une sorte de structure moyennée. Cela semblerait impliquer quelque chose comme une pénalité de niveau 2 sur un ensemble de réseaux avec des paramètres partagés.

Vous pourriez probablement augmenter le niveau de ces techniques ou d’autres techniques pour traiter de petits échantillons. Mais notons que la régularisation implique l’imposition de connaissances préalables. La pénalité L2 sur les poids implique par exemple un préalable gaussien pour les poids. L'augmentation du nombre de régularisations indique essentiellement que vos connaissances préalables sont de plus en plus sûres et faussent votre résultat par rapport à ces résultats antérieurs. Donc, vous pouvez le faire et il en résultera moins, mais la sortie biaisée peut être nul. Évidemment, la solution est une meilleure connaissance préalable. Pour la reconnaissance d’image, cela signifierait des priorités beaucoup plus structurées en ce qui concerne les statistiques de votre problème. Le problème avec cette direction est que vous imposez beaucoup d’expertise dans le domaine, et éviter d’imposer l’expertise humaine était l’une des raisons pour lesquelles vous avez utilisé l’apprentissage en profondeur.


+1 pour mention de partialité. Pourquoi ne pas expliquer tout cela en termes de biais et de variance? "Overfitting" n'a pas de définition mathématique précise et implique une dichotomie inexistante ("overfit" / "non overfit").
Josh

2

Pour clarifier ma pensée: Disons que nous utilisons un grand réseau Deep NNet pour essayer de modéliser nos données, mais le jeu de données est petit et pourrait en fait être modélisé par un modèle linéaire. Alors pourquoi les poids de réseau ne convergent-ils pas de telle manière qu'un neurone simule la régression linéaire et que tous les autres convergent vers des zéros? Pourquoi la régularisation ne vous aide-t-elle pas?

Les réseaux de neurones peuvent être formés comme ceci. Si la régularisation appropriée de la L1 est utilisée, la plupart des poids peuvent être mis à zéro et les réseaux de neurones se comportent comme une concaténation d'un ou plusieurs neurones de régression linéaire et de nombreux autres nérons nuls. Donc, oui - les régularisations N1 / N2 ou similaires peuvent être utilisées pour limiter la taille ou la puissance de représentation du réseau neuronal.

En réalité, la taille du modèle lui-même est une sorte de régularisation: si vous faites un modèle grand, cela signifie que vous avez une connaissance préalable du problème, c'est-à-dire que le problème est extrêmement complexe et qu'il nécessite donc un modèle doté d'un pouvoir de représentation élevé. Si vous faites un modèle petit, cela signifie que vous indiquez que le problème est simple et que le modèle n'a pas besoin de beaucoup de capacité.

Et cela signifie que la régularisation de L2 ne rendra pas les réseaux "clairsemés" comme vous l'avez décrit, car la régularisation de L2 injecte la connaissance préalable que la contribution de chaque neurone (poids) devrait être petite mais non nulle. Ainsi, le réseau utiliserait chacun des neurones plutôt que de n'utiliser qu'un petit ensemble de neurones.


1

L2L1

Un point clé ici est que la régularisation n’est pas toujours utile. Régulariser vers ce qui devrait probablement être vrai est très utile, mais régulariser dans la mauvaise direction est clairement mauvais.

L2

Mais supposons maintenant que nos données soient des images de chats nourris dans un réseau de neurones profonds. Si "les oreilles pointues" est en fait très utile pour identifier les chats, nous voudrions peut-être réduire la pénalité pour donner plus de pouvoir prédictif. Mais nous n'avons aucune idée cela sera représenté dans le réseau! Nous pouvons quand même introduire des pénalités pour qu'une petite partie du système ne domine pas tout le réseau, mais en dehors de cela, il est difficile d'introduire une régularisation de manière significative.

En résumé, il est extrêmement difficile d'intégrer des informations préalables dans un système que nous ne comprenons pas.

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.