Réponses:
Cela revient en arrière, mais cela suit en quelque sorte la logique des arguments.
En termes d'efficacité, je peux voir quelques problèmes majeurs avec les réseaux de neurones classiques.
Les grands réseaux de neurones nécessitent beaucoup de données pour s'entraîner. Le montant peut varier en fonction de la taille du réseau et de la complexité de la tâche, mais en règle générale, il est généralement proportionnel au nombre de poids. Pour certaines tâches d'apprentissage supervisé, il n'y a tout simplement pas assez de données étiquetées de haute qualité. La collecte de grandes quantités de données de formation spécialisée peut prendre des mois, voire des années, et l'étiquetage peut être lourd et peu fiable. Cela peut être partiellement atténué par l'augmentation des données, ce qui signifie «synthétiser» plus d'exemples à partir de ceux que vous avez déjà, mais ce n'est pas une panacée.
Le taux d'apprentissage est généralement assez faible, donc la progression de la formation est lente. Un grand modèle qui pourrait prendre des semaines à s'entraîner sur un processeur de bureau peut être formé, disons, en deux heures en utilisant un cluster GPU qui consomme plusieurs kW d'énergie. Il s'agit d'un compromis fondamental en raison de la nature de la procédure de formation. Cela dit, les GPU deviennent de plus en plus efficaces - par exemple, la nouvelle architecture GPU nVidia Volta permet 15,7 TFLOP tout en consommant moins de 300 W.
À l'heure actuelle, pratiquement tous les problèmes différents nécessitent la conception, la formation et le déploiement d'un réseau neuronal personnalisé. Bien que la solution fonctionne souvent, elle est en quelque sorte bloquée dans ce problème. Par exemple, AlphaGo est génial chez Go, mais il serait inutile de conduire une voiture ou de fournir des recommandations musicales - il n'était tout simplement pas conçu pour de telles tâches. Cette redondance écrasante est un inconvénient majeur des réseaux de neurones à mon avis, et c'est aussi un obstacle majeur au progrès de la recherche sur les réseaux de neurones en général. Il y a tout un domaine de recherche appelé apprentissage par transfertqui traite de la façon d'appliquer un réseau formé sur une tâche à une autre tâche. Souvent, cela est lié au fait qu'il peut ne pas y avoir suffisamment de données pour former un réseau à partir de zéro sur la deuxième tâche, donc être en mesure d'utiliser un modèle pré-formé avec un réglage supplémentaire est très attrayant.
La première partie de la question est plus délicate. Laissant de côté les modèles purement statistiques, je n'ai vu aucune approche proéminente de l'apprentissage automatique radicalement différente des réseaux de neurones. Cependant, il y a quelques développements intéressants qui méritent d'être mentionnés car ils corrigent certaines des inefficacités ci-dessus.
Un peu de fond d'abord.
Les réseaux de neurones dopés ont un énorme potentiel en termes de puissance de calcul. En fait, il a été prouvé qu'ils sont strictement plus puissants que les réseaux neuronaux classiques avec des activations sigmoïdes.
De plus, les réseaux de neurones dopés ont une compréhension intrinsèque du temps - quelque chose qui a été un obstacle majeur pour les réseaux classiques depuis leur création. Non seulement cela, mais les réseaux de dopage sont déclenchés par des événements , ce qui signifie que les neurones ne fonctionnent que s'il y a un signal entrant. Cela contraste avec les réseaux classiques, où chaque neurone est évalué indépendamment de son entrée (là encore, c'est juste une conséquence de la procédure d'évaluation généralement mise en œuvre comme une multiplication de deux matrices denses). Les réseaux de dopage utilisent donc un schéma de codage clairsemé , ce qui signifie que seule une petite fraction des neurones est active à un moment donné.
Désormais, l'encodage à pointes clairsemées et le fonctionnement piloté par événements conviennent aux implémentations matérielles de réseaux à pointes appelées puces neuromorphiques . Par exemple, la puce TrueNorth d'IBM peut simuler 1 million de neurones et 256 millions de connexions tout en ne consommant qu'environ 100 mW de puissance en moyenne. C'est des ordres de grandeur plus efficaces que les GPU nVidia actuels. Les puces neuromorphes peuvent être la solution au compromis temps de formation / énergie que j'ai mentionné ci-dessus.
De plus, les memristors sont un développement relativement nouveau mais très prometteur. Fondamentalement, un memristor est un élément de circuit fondamental très similaire à une résistance mais avec une résistance variable proportionnelle à la quantité totale de courant qui l'a traversé pendant toute sa durée de vie. Essentiellement, cela signifie qu'il maintient une "mémoire" de la quantité de courant qui l'a traversé. L'une des applications potentielles passionnantes des memristors est la modélisation extrêmement efficace des synapses dans le matériel.
Je pense que cela vaut la peine d'être mentionné car ce sont des candidats prometteurs pour résoudre le problème de la non-transférabilité. Ceux-ci ne sont pas limités aux réseaux de neurones - étant axés sur les récompenses, le RL et l'évolution sont théoriquement applicables dans un cadre générique à toute tâche où il est possible de définir une récompense ou un objectif à atteindre pour un agent. Ce n'est pas nécessairement trivial à faire, mais c'est beaucoup plus générique que l'approche habituelle basée sur les erreurs, où l'agent d'apprentissage essaie de minimiser la différence entre sa sortie et une vérité fondamentale. Le point principal ici concerne l'apprentissage par transfert: idéalement, appliquer un agent formé à une tâche différente devrait être aussi simple que de changer l'objectif ou la récompense (ils ne sont pas encore tout à fait à ce niveau, cependant ...).
In particular it is shown that networks of spiking neurons are, with regard to the number of neurons that are needed, computationally more powerful than these other neural network models.
max(0, x)
) est très en danger de rester coincé x < 0
, entraînant des neurones morts. En tout cas, il s'agit de la puissance de calcul des filets à pointes et de leur implémentation matérielle ultra-efficace en termes de consommation d'énergie.
Remplacement des réseaux neuronaux
Il peut exister de nouveaux algorithmes susceptibles de remplacer les réseaux neuronaux. Cependant, l'une des caractéristiques des réseaux neuronaux est qu'ils utilisent des éléments simples, chacun avec de faibles exigences en ressources informatiques dans des motifs géométriques.
Les neurones artificiels peuvent être exécutés en parallèle (sans partage de temps CPU ni boucle) en mappant les calculs aux périphériques DSP ou à tout autre matériel informatique parallèle. Le fait que les nombreux neurones soient essentiellement semblables est donc un fort avantage.
Que remplacerions-nous?
Lorsque nous considérons les remplacements algorithmiques aux réseaux neuronaux, nous impliquons qu'une conception de réseau neuronal est un algorithme. Ce n'est pas.
Un réseau neuronal est une approche pour converger sur un circuit en temps réel pour effectuer une transformation non linéaire d'entrée en sortie basée sur une certaine formulation de ce qui est optimal. Une telle formulation peut être la minimisation d'une mesure d'erreur ou de disparité par rapport à un idéal défini. Il peut s'agir d'une mesure du bien-être qui doit être maximisée.
La source de la détermination de l'adéquation pour tout comportement de réseau donné peut être interne. Nous appelons cela un apprentissage non supervisé. Il peut être externe, que nous appelons supervisé lorsque les informations de fitness externes sont couplées à des vecteurs d'entrée sous la forme de valeurs de sortie souhaitées, que nous appelons étiquettes.
La forme physique peut également provenir de l'extérieur comme un scalaire ou un vecteur non couplé aux données d'entrée mais plutôt en temps réel, que nous appelons le renforcement. Cela nécessite des algorithmes d'apprentissage rentrants. L'aptitude comportementale nette peut également être évaluée par d'autres réseaux au sein du système, dans le cas de réseaux empilés ou d'autres configurations telles que les hiérarchies laplaciennes.
La sélection des algorithmes a peu à voir avec l'intelligence comparative une fois que les conceptions mathématiques et de processus sont sélectionnées. La conception d'algorithmes est plus directement liée à la minimisation des demandes de ressources informatiques et à la réduction des exigences de temps. Cette minimisation dépend également du matériel et du système d'exploitation.
Un remplacement est-il indiqué?
Sûr. Il serait préférable que les réseaux ressemblent davantage à des neurones de mammifères.
Par signalisation régionale, on entend les nombreux signaux chimiques au-delà de la transmission du signal à travers les synapses.
On peut même envisager d'aller au-delà de la neurologie des mammifères.
Efficacité nette neuronale
L'efficacité ne peut pas être quantifiée à une échelle universelle car la température peut être quantifiée en degrés Kelvin. L'efficacité ne peut être quantifiée que sous la forme d'un quotient d'une valeur mesurée sur un idéal théorique. Notez que c'est un idéal, pas un maximum, dans le dénominateur. Dans les moteurs thermodynamiques, cet idéal est le taux d'entrée d'énergie, qui ne peut jamais être entièrement transféré à la sortie.
De même, les réseaux neuronaux ne peuvent jamais apprendre en un rien de temps. Un réseau neuronal ne peut pas non plus atteindre une erreur nulle sur une période de production arbitrairement longue. Par conséquent, l'information est à certains égards comme l'énergie, un concept étudié par Claude Shannon des Bell Labs à l'aube de l'automatisation numérique, et la relation entre l'entropie de l'information et l'entropie thermodynamique est désormais un élément important de la physique théorique.
Il ne peut y avoir ni mauvaise efficacité d'apprentissage ni bonne efficacité d'apprentissage. Il ne peut y avoir ni mauvaise performance ni bonne performance, si nous voulons penser en termes logiques et scientifiques - seulement une amélioration relative d'une certaine configuration système par rapport à une autre configuration système pour un ensemble très spécifique de scénarios de performance.
Par conséquent, sans une spécification sans ambiguïté des deux configurations matérielle, système d'exploitation et logicielle et une suite de tests entièrement définie utilisée pour une évaluation relative, l'efficacité n'a pas de sens.
Nous avons un peu d'espoir sur ce front. À l'heure actuelle, nous avons des réseaux de capsules par J.Hinton qui utilise une activation non linéaire différente appelée la fonction «squash».
Les réseaux de capsules eux-mêmes présentent certaines lacunes. Il y a donc eu des travaux visant à regarder au-delà des réseaux neuronaux. Vous pouvez lire ce blog pour une bonne compréhension avant de lire l'article de J.Hinton.
Les réseaux de neurones nécessitent beaucoup de données et de formation. Pour la plupart des ensembles de données au format tabulaire, il est préférable d'utiliser des modèles basés sur l'arbre de décision. La plupart du temps, des modèles simples suffisent pour donner une bonne précision. Cependant, les réseaux de neurones ont eu leur épreuve du temps. Cela ne fait que cinq à six ans que la révolution de l'apprentissage en profondeur a commencé, nous ne connaissons donc toujours pas la véritable puissance de l'apprentissage en profondeur.