Les lacunes des réseaux de neurones diminuent-elles?

8

Ayant travaillé avec des réseaux de neurones pendant environ six mois, j'ai expérimenté de première main ce qui est souvent revendiqué comme leurs principaux inconvénients, à savoir le sur-ajustement et le blocage dans les minima locaux. Cependant, grâce à l'optimisation hyperparamétrique et à certaines approches nouvellement inventées, celles-ci ont été surmontées pour mes scénarios. De mes propres expériences:

  • Le décrochage semble être une très bonne méthode de régularisation (également un pseudo-assembleur?),
  • La normalisation par lots facilite la formation et maintient la force du signal sur plusieurs couches.
  • Adadelta atteint constamment de très bons optimas

J'ai expérimenté la mise en œuvre de SciKit-learns de SVM à côté de mes expériences avec les réseaux de neurones, mais je trouve les performances très médiocres en comparaison, même après avoir fait des recherches dans la grille des hyperparamètres. Je me rends compte qu'il existe d'innombrables autres méthodes, et que les SVM peuvent être considérés comme une sous-classe des NN, mais quand même.

Donc, à ma question:

Avec toutes les nouvelles méthodes étudiées pour les réseaux de neurones, sont-elles devenues lentement - ou deviendront-elles - "supérieures" aux autres méthodes? Les réseaux de neurones ont leurs inconvénients, comme d'autres, mais avec toutes les nouvelles méthodes, ces inconvénients ont-ils été atténués à un état d'insignifiance?

Je me rends compte que souvent "moins c'est plus" en termes de complexité du modèle, mais cela aussi peut être conçu pour les réseaux de neurones. L'idée de "pas de déjeuner gratuit" nous interdit de supposer qu'une approche régnera toujours supérieure. C'est juste que mes propres expériences - ainsi que d'innombrables articles sur les performances impressionnantes de divers NN - indiquent qu'il pourrait y avoir, au moins, un déjeuner très bon marché.

Alexander C. Harrington
la source
toux pas de déjeuner gratuit théorème toux
yters

Réponses:

5

Les réseaux de neurones ont également d'autres lacunes.

  1. Il faut beaucoup plus de temps et beaucoup plus de ressources pour former un réseau neuronal que quelque chose comme une forêt aléatoire. Donc, si vous avez besoin de vitesse d'entraînement ou si vous avez des ressources limitées de toute façon, vous ne devriez probablement pas d'abord regarder les réseaux de neurones. L'évaluation d'un NN profond formé peut être beaucoup plus coûteuse que les techniques concurrentes.
  2. L'effort impliqué dans l'apprentissage de l'architecture et de la formation d'un NN est encore beaucoup plus élevé que les méthodes concurrentes, comme un SVM. Les personnes qui débutent dans la science des données devraient probablement utiliser d'autres techniques pour en savoir plus sur les nuances de l'ajustement des données avant de s'impliquer dans les réseaux de neurones. Et bien que les NN simples avec seulement un ou deux hyperparamètres soient souvent disponibles dans de nombreuses bibliothèques de science des données, ils ne fonctionnent pas mieux que les autres techniques, tout comme une autre technique de boîte noire ML.
  3. Bien que nous ayons fait beaucoup de progrès pour comprendre comment les réseaux de neurones font leur magie, ils sont toujours moins accessibles et dissectibles que la plupart des méthodes concurrentes. Ainsi, bien que les NN puissent résoudre le problème, ils peuvent ne pas vous donner autant d'informations que les autres techniques.

Dans l'attente de ce que les autres ont à dire ici.

Mike Wise
la source
De bons points, même si certains des problèmes de performances peuvent être atténués par les GPU, je pense. De plus, je peux chaudement recommander Keras, car il permet une composition très simple des MLP de base. Bien que, comme vous le dites, lors de l'utilisation d'une bibliothèque de très haut niveau telle que SciKit Learn, il soit un peu difficile d'obtenir de bonnes performances, car les hyperparamètres sont un peu trop superficiels et ne fournissent pas certaines des méthodologies les plus récentes.
Alexander C. Harrington
Oui, mais même avec un nombre massif de GPU, ils sont toujours beaucoup plus lents que les techniques concurrentes. La formation DNN est vraiment lourde, je travaille sur des projets dans une très grande entreprise technologique où ils parlent régulièrement de journées de formation de DNN sur de très gros clusters de GPU consacrés à ce genre de tâches. Vous ne voyez pas ce genre de calcul consacré aux algorithmes aléatoires basés sur la forêt AFAIK.
Mike Wise du
Je vois. Mais je suppose que c'est en échange d'une performance largement supérieure des DNN? Ou peut-être la marge qui fait la différence?
Alexander C. Harrington
Eh bien, nous savons que les DNN sont potentiellement capables d'intelligence au niveau humain :) - bien que nous ne sachions pas encore exactement comment. Concrètement, aujourd'hui, nous savons qu'ils nous donnent les meilleurs résultats pour des tâches comme la reconnaissance d'images complexes, le décodage du son, l'inférence d'intention dans une conversation et quelques autres.
Mike Wise
3

Pour ajouter à ce qui a été dit dans la brillante réponse de @ MikeWise,

  • Toutes choses égales par ailleurs, les modèles d'apprentissage en profondeur sont généralement prioritaires par rapport à d'autres algorithmes à mesure que la taille de l'ensemble de données augmente:

    pourquoi l'apprentissage en profondeur

  • Comme tout, tout se résume à l'ensemble de données à portée de main, les réseaux de neurones sont bons sur d'autres ensembles de données, mais en même temps, ils seront mauvais sur d'autres ensembles de données. Lorsqu'il s'agit de problèmes non structurés (par exemple visuels, texte, son ), les réseaux de neurones semblent à l'heure actuelle être le meilleur algorithme. Cela dit, en ce qui concerne les données structurées, une analyse rapide du type d'algorithme utilisé pour gagner des concours de science des données en ligne révèle que les algorithmes dits d'apprentissage automatique tels que XGboost sont suprêmes.

  • En ce qui concerne les autres modèles, l'ingénierie des fonctionnalités joue un grand rôle dans l'efficacité de l'algorithme. L'ingénierie des fonctionnalités est généralement une chose délicate à faire et à bien faire. Les algorithmes d'apprentissage profond ne nécessitent pas autant d'ingénierie des fonctionnalités (voire pas du tout) par rapport aux autres algorithmes, en fait, ils apprennent les fonctionnalités par eux-mêmes .

  • Si les gars de Google disent qu'ils n'ont pas vu venir l'apprentissage en profondeur, qui exclut la possibilité qu'un algorithme dit d'apprentissage automatique sorte et prenne le monde d'assaut?

  • Voici un sondage sur ce que le scientifique des données a dit lorsqu'on lui a demandé: si l'apprentissage en profondeur correspond au battage médiatique dans les applications du monde réel? .

  • Même certaines des applications d'apprentissage en profondeur les plus populaires comme AlphaGo de Google ne sont pas 100% d'apprentissage en profondeur , mais font plutôt partie d'un apprentissage en profondeur, d'un bon vieux "apprentissage machine". Mon 2 cent est, peut-être que nous ne devrions pas encore exclure d'autres algorithmes d'apprentissage automatique.

Tshilidzi Mudau
la source