Mon doctorat est en mathématiques pures, et j’avoue que je ne sais pas grand chose (c’est-à-dire quoi que ce soit) en CS théorique. Cependant, j'ai commencé à explorer des options non académiques pour ma carrière et en m'initiant à l'apprentissage automatique, j'ai trouvé des affirmations telles que "Personne ne comprend pourquoi le réseau de neurones fonctionne bien", ce que j'ai trouvé intéressant.
Ma question est la suivante: quel type de réponses les chercheurs souhaitent-ils? Voici ce que j'ai trouvé dans ma brève recherche sur le sujet:
- Les algorithmes mettant en œuvre des réseaux de neurones simples sont assez simples.
- Le processus de SGD est bien compris mathématiquement, de même que la théorie statistique.
- Le théorème d'approximation universel est puissant et éprouvé.
- Il existe un article récent, https://arxiv.org/abs/1608.08225, qui indique essentiellement que l'approximation universelle est bien plus que ce dont nous avons réellement besoin dans la pratique, car nous pouvons faire de fortes hypothèses simplificatrices sur les fonctions que nous essayons de modéliser avec réseau neuronal.
Dans l'article susmentionné, ils déclarent (paraphrasant) "Les algorithmes GOFAI sont parfaitement compris analytiquement, mais de nombreux algorithmes RNA ne sont compris que de manière heuristique." Les théorèmes de convergence pour les algorithmes implémentés sont un exemple de compréhension analytique que nous avons apparemment sur les réseaux de neurones. Un énoncé à ce niveau de généralité ne me dit pas grand-chose sur ce qui est connu ou inconnu ou sur ce qui pourrait être considéré comme une réponse. "
Les auteurs suggèrent en conclusion que les questions telles que les limites effectives de la taille du réseau neuronal nécessaire pour se rapprocher d'un polynôme donné sont ouvertes et intéressantes. Quels sont d'autres exemples de questions analytiques mathématiquement spécifiques auxquelles il faudrait répondre pour dire que nous "comprenons" les réseaux de neurones? Y a-t-il des questions auxquelles on peut répondre dans un langage mathématique plus pur?
(Je pense spécifiquement aux méthodes de la théorie des représentations en raison de l'utilisation de la physique dans cet article - et, égoïstement, parce que c'est mon domaine d'étude. Cependant, je peux aussi imaginer des domaines tels que la combinatoire / la théorie des graphes, la géométrie algébrique , et la topologie fournissant des outils viables.)
la source
Réponses:
Il existe une foule de théorèmes du «non-repas gratuit» dans l’apprentissage automatique, affirmant en gros qu’il n’existe pas d’algorithme unique d’apprentissage principal offrant des performances uniformément meilleures que tous les autres algorithmes (voir, par exemple, ici : http: //www.no-free- lunch.org/ ). Effectivement, l'apprentissage en profondeur peut être "interrompu" sans trop de difficultés: http://www.evolvingai.org/fooling
Par conséquent, pour être prouvé efficace, un apprenant a besoin d’ un biais inductif - c’est-à-dire de certaines hypothèses antérieures concernant les données. Parmi les exemples de biais inductifs, on peut citer les hypothèses de faible densité de données, de faible dimensionnalité, ou de factorisation satisfaisante de la distribution, de marge de manœuvre importante, etc. Divers algorithmes d’apprentissage réussis exploitent ces hypothèses pour prouver les garanties de généralisation. Par exemple, SVM (linéaire) fonctionne bien lorsque les données sont bien séparées dans l’espace; sinon - pas tellement.
Je pense que le principal défi de l'apprentissage en profondeur est de comprendre ce que son biais inductif est. En d'autres termes, il s'agit de prouver des théorèmes du type: si les données d'apprentissage satisfont à ces hypothèses, je peux alors garantir quelque chose au sujet de la performance de généralisation. (Sinon, tous les paris sont désactivés.)
la source
Notre compréhension des réseaux de neurones comporte deux lacunes principales: la dureté d'optimisation et les performances de généralisation.
La formation d'un réseau de neurones nécessite la résolution d'un problème d'optimisation hautement non convexe dans les grandes dimensions. Les algorithmes d’entraînement actuels sont tous basés sur la descente de gradient, ce qui garantit uniquement la convergence vers un point critique (minimum local ou selle). En fait, Anandkumar & Ge 2016 a récemment prouvé que trouver même un minimum local est NP-difficile, ce qui signifie que (en supposant que P! = NP), il existe "mauvais", difficile à échapper, des points de selle dans la surface d'erreur.
Pourtant, ces algorithmes de formation sont empiriquement efficaces pour de nombreux problèmes pratiques et nous ne savons pas pourquoi.
Il y a eu des articles théoriques tels que Choromanska et al. 2016 et Kawaguchi 2016qui prouvent que, sous certaines hypothèses, les minima locaux sont essentiellement aussi bons que les minima globaux, mais les hypothèses qu’ils émettent sont quelque peu irréalistes et ne traitent pas la question des points faibles.
L’autre grande lacune dans notre compréhension concerne les performances de généralisation: dans quelle mesure le modèle fonctionne-t-il avec des exemples inédits non observés au cours de la formation? Il est facile de montrer que, dans la limite d’un nombre infini d’exemples d’entraînement (échantillonné dans une distribution stationnaire), l’erreur d’apprentissage converge vers l’erreur attendue sur de nouveaux exemples (à condition que vous puissiez vous entraîner à l’optimum global). Nous n’avons pas d’exemples d’entraînement infinis, mais combien d’exemples sont nécessaires pour obtenir une différence donnée entre erreur d’apprentissage et erreur de généralisation. La théorie de l'apprentissage statistique étudie ces limites de généralisation.
Empiriquement, la formation d’un grand réseau de neurones moderne nécessite un grand nombre d’exemples de formation (Big Data, si vous aimez les mots à la mode), mais pas celle d’une taille énorme pour être pratiquement irréalisable. Mais si vous appliquez les limites les plus connues de la théorie de l'apprentissage statistique (par exemple, Gao et Zhou 2014 ), vous obtenez généralement ces nombres énormes infaisables. Par conséquent, ces limites sont très loin d'être étroites, du moins pour les problèmes pratiques.
Une des raisons pourrait être que ces limites supposent très peu de choses sur la distribution génératrice de données. Elles reflètent donc la pire performance face aux environnements contradictoires, alors que les environnements "naturels" ont tendance à être plus "intelligibles".
Il est possible d'écrire des limites de généralisation dépendantes de la distribution, mais nous ne savons pas formaliser formellement une distribution sur des environnements "naturels". Des approches telles que la théorie de l'information algorithmique ne sont toujours pas satisfaisantes.
Par conséquent, nous ne savons toujours pas pourquoi les réseaux de neurones peuvent être formés sans surapprentissage.
En outre, il convient de noter que ces deux problèmes principaux semblent être liés de manière encore mal comprise: les limites de généralisation tirées de la théorie de l’apprentissage statistique supposent que le modèle est formé à l’optimum global de l’ensemble de formation, mais dans un contexte pratique. ne formerait jamais un réseau de neurones avant la convergence, même à un point de selle, car cela provoquerait généralement un surajustement. Au lieu de cela, vous arrêtez de vous entraîner lorsque l'erreur sur un jeu de validation conservé (qui est un proxy pour l'erreur de généralisation) cesse de s'améliorer. Ceci est connu comme "arrêt précoce".
Donc, dans un sens, toutes ces recherches théoriques sur la délimitation de l’erreur de généralisation de l’optimum global risquent d’être bien dénuées de pertinence: non seulement nous ne pouvons pas la trouver efficacement, mais même si nous le pouvions, nous ne voudrions pas, car cela aurait des résultats pires nouveaux exemples que de nombreuses solutions "sous-optimales".
Il se peut que la dureté de l'optimisation ne soit pas un défaut du réseau de neurones; au contraire, les réseaux de neurones peuvent fonctionner du tout précisément parce qu'ils sont difficiles à optimiser.
Toutes ces observations sont empiriques et aucune théorie valable ne les explique. Il n’existe pas non plus de théorie expliquant comment définir les hyperparamètres des réseaux de neurones (largeur et profondeur de couche cachée, vitesse d’apprentissage, détails architecturaux, etc.). Les praticiens utilisent leur intuition affinée par l'expérience et par de nombreux essais et erreurs pour proposer des valeurs efficaces, tandis qu'une théorie pourrait nous permettre de concevoir des réseaux de neurones de manière plus systématique.
la source
Une autre prise sur cette question, à ajouter aux remarques de @ Aryeh: Pour de nombreux autres modèles d'apprentissage, nous connaissons la "forme" de l'espace d'hypothèses. Les SVM en sont le meilleur exemple, dans la mesure où vous trouvez un séparateur linéaire dans un espace de Hilbert (éventuellement de très haute dimension).
Pour les réseaux de neurones en général, nous n’avons pas de description claire ni même d’approximation. Et une telle description est importante pour que nous comprenions ce qu’un réseau de neurones trouve exactement dans les données.
la source
Le principe des goulots d’information a été proposé pour expliquer le succès des réseaux nueraux profonds.
Voici une citation du magazine Quanta
Références:
1- L'apprentissage en profondeur et le principe de goulot d'étranglement de l'information , Naftali Tishby et Noga Zaslavsky
2- Ouvrir la boîte noire des réseaux de neurones profonds via Information , Ravid Shwartz-Ziv et Naftali Tishby
3- Vidéo de conférence: La théorie de l'information de l'apprentissage en profondeur par Naftali Tishby
la source
Je dirais qu'il nous reste à découvrir un algorithme efficace pour la formation de réseaux de neurones profonds. Oui, SGD fonctionne bien dans la pratique, mais il serait très utile de trouver un meilleur algorithme offrant des garanties de convergence vers le minimum global.
la source