Quand le deep learning échoue-t-il?

8

L'apprentissage en profondeur est un sujet de plus en plus d'actualité de nos jours.

Quelles sont les principales hypothèses qui font que l'apprentissage en profondeur manque dans certains ensembles de données. Ex: fonctionne-t-il bien sur des ensembles de données bruyants?

Wis
la source

Réponses:

9

On peut généralement penser à deux types de résultats de dureté dans l'apprentissage automatique: la dureté théorique de l'information dans le contexte de l'apprentissage statistique (à savoir, donner une limite inférieure au nombre minimal d'exemples requis pour apprendre) et la dureté algorithmique (c'est-à-dire un mauvais choix algorithmique signifie que l'optimisation devient impossible).

Dans le contexte de l'apprentissage en profondeur, discuter de la dureté est délicat, car nous savons en fait très peu de raisons pour lesquelles l'apprentissage en théorie fonctionne. (Rappel: Le problème d'optimisation résolu dans l'apprentissage en profondeur est celui de la minimisation d'une fonction hautement non convexe de haute dimension, et est connu pour être NP-dur en général. Autrement dit, il n'y a aucune garantie d'atteindre le minimum global. Et pourtant dans la pratique, les praticiens ont très bien utilisé des variantes de la SGD pour résoudre de nombreux problèmes. Il y a eu récemment des progrès dans la réponse justifiée à la raison, mais cela n'entre pas dans le cadre de votre question.)

Un très bel exemple de dureté algorithmique dans l'apprentissage en profondeur est d'essayer d'apprendre des problèmes dans lesquels le gradient n'est pas informatif. Le Deep Learning utilise actuellement une certaine forme de SGD pour mettre à jour les poids du réseau. par exemple, les mini-lots GD calculent le gradient de la fonction de coût sur un échantillon aléatoire deb exemples par rapport aux paramètres θ :

θt+1=θt-αtθJ(θ;X(je:je+b),y(je:je+b))

En d'autres termes, l'optimisation DL essaie d' optimiser globalement une fonction en utilisant des informations de gradient local ; Cela suggère que si un problème d'apprentissage est caractérisé par des gradients non informatifs, aucune architecture d'apprentissage en profondeur ne pourra l'apprendre.

L'apprentissage des parités aléatoires est le problème d'apprentissage suivant:

Après avoir choisi un vecteur v> ∈{0,1}, l'objectif est de former une cartographie prédictive X{0,1} à y=(-1)X,v, où Xest uniformément répartie. En d'autres termes, nous essayons d'apprendre un mappage qui détermine si le nombre de 1 dans un certain sous-ensemble de coordonnées deX (indiqué par v) est pair ou impair.

Dans «Failures of Gradient-Based Deep Learning» ( Shamir, 2017 ), les auteurs prouvent que ce problème (et plus généralement, chaque fonction linéaire composée d'une fonction périodique ) souffre de gradients non informatifs, rendant ainsi le problème d'optimisation aussi difficile .

Ils le démontrent également empiriquement, en mesurant la précision en fonction du nombre d'itérations d'apprentissage, pour différentes dimensions d'entrée.

entrez la description de l'image ici

Le réseau utilisé ici est une couche de largeur entièrement connectée dixavec activations ReLU, et une couche de sortie entièrement connectée avec activation linéaire et une seule unité. (La largeur est choisie pour garantir que la fonction de parité requise est bien réalisée par un tel réseau)

Q: Pourquoi est-ce que l'apprentissage de la parité ne devient difficile qu'environ =30?

galoosh33
la source
1

Il échoue lorsque vous n'imposez pas la bonne structure au problème. Les réseaux de neurones convolutifs fonctionnent car ils supposent que les pixels qui sont proches les uns des autres sont liés, il est donc logique d'appliquer des convolutions spatiales à vos entités. Et ce faisant, vous avez considérablement réduit l'espace de recherche d'hypothèses, ce qui signifie que l'apprentissage en profondeur est plus susceptible d'arriver à une solution optimale.

Si vous appliquez l'apprentissage en profondeur à un problème où les fonctionnalités ne se prêtent pas à des convolutions spatiales / temporelles, alors l'apprentissage en profondeur échouera, car il n'est pas logique de résumer certaines fonctionnalités et d'appliquer des fonctions à la sommation, ce qui est ce que les réseaux de neurones le font.

Si quelqu'un peut penser à un exemple où l' apprentissage en profondeur a été appliqué avec succès à des données qui ne sont pas des images ou du son (ou des données spatiales / temporelles), je serais ravi de retirer cette réponse.

housecat64
la source