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?
Réponses:
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.
la source
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.
la source