Peut-on (théoriquement) former un réseau neuronal avec moins d'échantillons d'entraînement que de poids?

12

Tout d'abord: je sais, il n'y a pas de nombre général de taille d'échantillon requis pour former un réseau neuronal. Cela dépend de trop de facteurs comme la complexité de la tâche, le bruit dans les données, etc. Et plus j'aurai d'échantillons de formation, meilleur sera mon réseau.

Mais je me demandais: est-il théoriquement possible de former un réseau neuronal avec moins d'échantillons d'entraînement que de poids, si je suppose que ma tâche est assez "simple"? Quelqu'un connaît-il un exemple où cela a fonctionné? Ou ce réseau sera-t-il presque sûrement mauvais?

Si je considère, par exemple, la régression polynomiale, je ne peux pas ajuster un polynôme de degré 4 (c'est-à-dire avec 5 paramètres libres) sur seulement 4 points de données. Existe-t-il une règle similaire pour les réseaux de neurones, considérant mon nombre de poids comme le nombre de paramètres libres?

Hobbit
la source
Oui: si les poids sont initialisés de manière aléatoire, il est théoriquement possible d'obtenir un réseau neuronal parfaitement entraîné même avec zéro échantillon d'entraînement. (Poster comme un commentaire, pas une réponse, car je sais que ce n'est pas vraiment ce que vous demandez.)
Darren Cook

Réponses:

17

Les gens le font tout le temps avec de grands réseaux. Par exemple, le célèbre réseau AlexNet compte environ 60 millions de paramètres, alors que l'ImageNet ILSVRC sur lequel il a été formé à l'origine ne compte que 1,2 million d'images.

La raison pour laquelle vous ne faites pas correspondre un polynôme à 5 paramètres à 4 points de données est qu'il peut toujours trouver une fonction qui correspond exactement à vos points de données, mais fait des choses absurdes ailleurs. Eh bien, comme cela a été noté récemment , AlexNet et les réseaux similaires peuvent s'adapter à des étiquettes aléatoires arbitraires appliquées à ImageNet et simplement les mémoriser tous, probablement parce qu'ils ont tellement plus de paramètres que de points d'entraînement. Mais quelque chose sur les antérieurs du réseau combiné avec le processus d'optimisation de la descente de gradient stochastique signifie que, dans la pratique, ces modèles peuvent encore bien se généraliser à de nouveaux points de données lorsque vous leur donnez de véritables étiquettes. Nous ne comprenons toujours pas vraiment pourquoi cela se produit.

Dougal
la source
2
+1. Puis-je ajouter que pour une comparaison avec la régression polynomiale, je considérerais également que les échantillons sont très dimensionnels. La résolution moyenne de l'image sur ImageNet est d'environ 469x387 pixels, si recadrée à 256x256 nous avons 1,2 millions de paramètres d'entrée 65k, qui sont fortement corrélés au sein de chaque échantillon, fournissant ainsi beaucoup plus d'informations au réseau de neurones (et surtout un NN convolutionnel) que dans le cas de régression polynomiale.
jjmontes
3
@jjmontes vrai, mais le principal mystère est que ces réseaux ont la capacité de mémoriser et de généraliser (enfin). En d'autres termes, ils peuvent briser les données d'entraînement avec des étiquettes aléatoires et toujours bien généraliser. Ce n'est pas quelque chose que l'on voit dans les méthodes ML traditionnelles.
Amelio Vazquez-Reina
6

Les systèmes sous-déterminés ne sont sous-déterminés que si vous n'imposez pas d'autres contraintes que les données. Fidèle à votre exemple, l'ajustement d'un polynôme à 4 degrés à 4 points de données signifie que vous avez un degré de liberté non contraint par les données, ce qui vous laisse avec une ligne (dans l'espace des coefficients) de solutions également bonnes. Cependant, vous pouvez utiliser diverses techniques de régularisation pour rendre le problème traitable. Par exemple, en imposant une pénalité à la norme L2 (c'est-à-dire la somme des carrés) des coefficients, vous vous assurez qu'il y a toujours une solution unique avec la meilleure forme physique.

Des techniques de régularisation existent également pour les réseaux de neurones, donc la réponse courte à votre question est «oui, vous le pouvez». Un intérêt particulier est une technique appelée «abandon», dans laquelle, pour chaque mise à jour des poids, vous «supprimez» au hasard un certain sous-ensemble de nœuds du réseau. Autrement dit, pour cette itération particulière de l'algorithme d'apprentissage, vous prétendez que ces nœuds n'existent pas. Sans abandon, le réseau peut apprendre des représentations très complexes de l'entrée qui dépendent de tous les nœuds travaillant ensemble correctement. De telles représentations sont susceptibles de «mémoriser» les données de formation, plutôt que de trouver des modèles qui se généralisent. Le décrochage garantit que le réseau ne peut pas utiliser tous les nœuds à la fois pour ajuster les données de formation; il doit être capable de bien représenter les données même lorsque certains nœuds sont manquants,

Notez également que lors de l'utilisation du décrochage, les degrés de liberté à un moment donné au cours de la formation peuvent en fait être inférieurs au nombre d'échantillons de formation, même si au total vous apprenez plus de poids que les échantillons de formation.

Ruben van Bergen
la source
2
Cela surestime peut-être le rôle que joue la régularisation explicite dans les réseaux profonds: cet article auquel j'ai fait référence dans ma réponse montre que le décrochage et d'autres formes de régularisation n'ont que de petits effets sur la quantité de mémoire que le réseau peut mémoriser. Il se peut, cependant, que votre histoire de base soit exacte, mais la régularisation principale en jeu est celle implicite de SGD; tout cela est encore un peu trouble.
Dougal