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?
la source
Réponses:
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 )péché( x ) x ∈ ( - 3 , 3 )
Ensuite, nous allons ajuster les polynômes d'ordre croissant à un petit ensemble de données très bruyant comprenant 7 observations:
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.péché( x )
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!
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.
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.
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.
la source
À 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.
la source
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.
la source
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 .
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:
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)
Mais il souffre de deux inconvénients majeurs:
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:
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.
la source
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.
la source
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.
la source
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.
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 où 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.
la source