Résultats théoriques derrière les réseaux de neurones artificiels


13

Je viens de couvrir les réseaux de neurones artificiels dans le cours d'apprentissage automatique de Coursera et j'aimerais en savoir plus sur la théorie. Je trouve la motivation qu'ils imitent la biologie quelque peu insatisfaisante.

En surface, il semble qu'à chaque niveau, nous remplaçons les covariables par une combinaison linéaire d'entre elles. En le faisant à plusieurs reprises, nous permettons l'ajustement de modèle non linéaire. Cela soulève la question: pourquoi les réseaux de neurones sont parfois préférés à simplement ajuster un modèle non linéaire.

Plus généralement, j'aimerais savoir comment les réseaux de neurones artificiels s'inscrivent dans le cadre bayésien d'inférence qui est décrit en détail dans le livre de ET Jaynes "Probability Theory: The Logic Of Science". Ou, pour le dire simplement, pourquoi les réseaux de neurones artificiels fonctionnent-ils lorsqu'ils fonctionnent? Et, bien sûr, le fait qu'ils font des prédictions réussies implique qu'ils suivent le cadre susmentionné.

Réponses:


16

Voici une citation de " Un regard en arrière vers le futur ", par ET Jaynes.

New Adhockeries

Au cours des dernières années, l'habitude orthodoxe d'inventer des dispositifs intuitifs plutôt que de recourir à des principes théoriques connectés a été étendue à de nouveaux problèmes d'une manière qui donne à première vue l'impression que plusieurs nouveaux domaines scientifiques ont été créés. Pourtant, tous sont préoccupés par le raisonnement à partir d'informations incomplètes; et nous pensons que nous avons des théorèmes établissant que la théorie des probabilités comme logique est le moyen général de traiter tous ces problèmes. Nous notons trois exemples.

Les ensembles flous sont - de toute évidence, pour quiconque est formé à l'inférence bayésienne - des approximations grossières des probabilités antérieures bayésiennes. Ils ont été créés uniquement parce que leurs pratiquants persistaient à penser la probabilité en termes de "hasard" supposé exister dans la Nature mais jamais bien définis; et a donc conclu que la théorie des probabilités n'est pas applicable à de tels problèmes. Dès que l'on reconnaît la probabilité comme le moyen général de spécifier des informations incomplètes , la raison de l'introduction des ensembles flous disparaît.

De même, une grande partie de l'intelligence artificielle (IA) est une collection de dispositifs intuitifs pour raisonner à partir d'informations incomplètes qui, comme les plus anciennes des statistiques orthodoxes, sont des approximations des méthodes bayésiennes et utilisables dans une classe restreinte de problèmes; mais qui donnent des conclusions absurdes lorsque nous essayons de les appliquer à des problèmes extérieurs à cette classe. Encore une fois, ses praticiens ne sont pris dans cela que parce qu'ils continuent de penser que la probabilité représente un "hasard" physique au lieu d'informations incomplètes. Dans l'inférence bayésienne, tous ces résultats sont contenus automatiquement - et plutôt trivialement - sans aucune limitation à une classe restreinte de problèmes.

Le grand nouveau développement est Neural Nets, ce qui signifie un système d'algorithmes avec la merveilleuse nouvelle propriété qu'ils sont, comme le cerveau humain, adaptatifs afin qu'ils puissent apprendre des erreurs passées et se corriger automatiquement (WOW! Quelle excellente nouvelle idée!) . En effet, nous ne sommes pas surpris de voir que les réseaux neuronaux sont en fait très utiles dans de nombreuses applications; plus que les ensembles flous ou l'IA. Cependant, les réseaux neuronaux actuels ont deux défauts pratiques; (a) Ils produisent une sortie déterminée par la contribution actuelle plus les informations de formation passées. Cette sortie est vraiment une estimationde la réponse appropriée, sur la base de toutes les informations disponibles, mais elle ne donne aucune indication sur son exactitude, et donc elle ne nous dit pas à quel point nous sommes proches de l'objectif (c'est-à-dire, combien de formation supplémentaire est nécessaire); (b) Lorsqu'une réponse non linéaire est requise, on fait appel à une fonction non linéaire standard "sigmoïde" stockée en interne, qui avec diverses amplifications et mélanges linéaires peut être amenée à approximer, dans une certaine mesure, la véritable fonction non linéaire. (Remarque: c'est moi qui souligne.)

Mais faut-il vraiment souligner que (1) Toute procédure adaptative est, par définition, un moyen de prendre en compte des informations incomplètes; (2) Le théorème de Bayes est précisément la mère de toutes les procédures adaptatives; la règle générale de mise à jour de tout état des connaissances pour tenir compte des nouvelles informations; (3) Lorsque ces problèmes sont formulés en termes bayésiens, un seul calcul donne automatiquement à la fois la meilleure estimation et sa précision; (4) Si la non-linéarité est demandée, le théorème de Bayes génère automatiquement la fonction non linéaire exacte demandée par le problème, au lieu d'essayer de construire une approximation de celle-ci par un autre dispositif ad hoc .

En d'autres termes, nous soutenons qu'il ne s'agit pas du tout de nouveaux domaines; seuls les faux départs. Si l'on formule tous ces problèmes par la prescription bayésienne standard, on a automatiquement tous leurs résultats utiles sous une forme améliorée. Les difficultés que les gens semblent avoir à comprendre cela sont tous des exemples du même échec à conceptualiser la relation entre les mathématiques abstraites et le monde réel. Dès que nous reconnaissons que les probabilités ne décrivent pas la réalité - seulement nos informations sur la réalité - les portes sont grandes ouvertes à la solution optimale des problèmes de raisonnement à partir de ces informations.

Quelques commentaires:

  1. Le point (a) ignore les développements dans les réseaux de neurones bayésiens, qui ont commencé à la fin des années 80 et au début des années 90 (mais notez que l'article de Jaynes a été écrit en 1993). Jetez un oeil à ce post . Pensez également à lire la belle thèse de doctorat de Yarin Gal et à regarder cette superbe présentation de Zoubin Ghahramani.

  2. Je ne vois pas en quoi le point b) pourrait être une "lacune". En fait, c'est l'essence même de la raison pour laquelle les réseaux de neurones peuvent bien se rapprocher d'une grande classe de fonctions. Notez que les récentes architectures réussies sont passées des activations sigmoïdes aux activations ReLU dans les couches internes, favorisant la «profondeur» plutôt que la «largeur». Des théorèmes d'approximation ont été récemment prouvés pour les réseaux ReLU.


2
+1 Rien n'est plus satisfaisant que de savoir exactement où l'on peut trouver la référence précisément correcte pour une réponse.
Sycorax dit Réintégrer Monica

5
Étant donné que les dispositifs ad hoc ont démontré qu'ils fonctionnent dans de nombreuses situations, il serait productif de montrer (ou de réfuter) qu'ils s'intègrent simplement dans le cadre bayésien et, par conséquent, d'acquérir une compréhension plus profonde des adhockeries, qui sont si largement déployées ces journées. C'est le genre de travail qui m'intéresse.
Tom Artiom Fiodorov

1

Tout d'abord, nous n'empilons pas les fonctions linéaires les unes dans les autres pour obtenir une fonction non linéaire. Il y a une raison claire pour laquelle les NN pourraient ne jamais fonctionner comme ça: empiler des fonctions linéaires les unes dans les autres produirait à nouveau une fonction linéaire.

Ce qui rend les NN non linéaires, c'est la fonction d'activation qui vient derrière la fonction linéaire! Cependant, en principe, vous avez raison: nous empilons simplement beaucoup de régressions logistiques (mais pas linéaires!) Et ... tadaa: nous en tirons quelque chose de bien ... est-ce juste? Il s'avère que (d'un point de vue théorique) c'est en fait juste. Pire encore: en utilisant le célèbre et bien connu théorème de Stone-Weierstrass, nous prouvons simplement que les réseaux de neurones avec une seule couche cachée et aucune fonction de sortie au nœud final sont suffisants pour approximer les fonctions continues (et croyez-moi, les fonctions continues peuvent être laides) bêtes, voir "l'escalier du diable": https://en.wikipedia.org/wiki/Cantor_distribution) aux intervalles de la forme (les NN avec une seule couche cachée et sans fonction de sortie au nœud final sont exactement des fonctions de la forme où est la taille de la couche cachée, c'est-à-dire des polynômes dans les fonctions logistiques et ils forment une algèbre par définition!). C'est-à-dire «par construction», les NN sont très expressifs.[a,b]x↦=b+a1ϕ1(x)+...+alϕl(x)l

Pourquoi utilisons-nous alors des NN profonds? La raison en est que le théorème SW ci-dessus garantit seulement qu'il existe une taille de couche suffisamment grande pour que nous puissions nous rapprocher de notre fonction cible (espérons-le continue). Cependant, la taille de couche nécessaire peut être si grande qu'aucun ordinateur ne pourra jamais gérer des matrices de poids de cette taille. Les NN avec des couches plus cachées semblent être un bon compromis entre «précision» et calculabilité. Je ne connais pas de résultats théoriques qui pointent dans la direction de `` combien '' l'expressivité des NN augmente lorsque vous ajoutez des couches plus cachées par rapport à l'augmentation de la taille de la seule couche cachée, mais il existe peut-être des ressources sur le Web ...

Pouvons-nous vraiment comprendre les NN profonds? Exemples de questions: Pourquoi exactement le NN prévoit-il que ce cas soit VRAI alors qu'il prédit que cet autre cas similaire est FAUX? Pourquoi attribue-t-il exactement à ce client plus de valeur que l'autre? Je ne le crois pas vraiment. Cela vient avec la complexité du modèle que vous ne pouvez plus l'expliquer raisonnablement bien ... J'entends seulement que c'est encore un domaine de recherche actif mais je ne connais aucune ressource ...

Qu'est-ce qui rend les NN si uniques parmi tous les modèles? La vraie raison pour laquelle nous utilisons tant les NN ces jours-ci est due aux deux raisons suivantes:

  1. Ils viennent avec une propriété naturelle de «streaming».
  2. Nous pouvons les pimp au maximum dans de nombreuses directions.

Par 1. Je veux dire qu'étant donné un ensemble d'apprentissage , un NN qui a été formé sur cet ensemble et de nouveaux échantillons d'apprentissage , nous pouvons facilement inclure ces échantillons d'apprentissage dans le NN en continuant simplement l'algorithme de descente / backprop de gradient tout en sélection uniquement des lots de pour la formation. Tout le domaine de l'apprentissage par renforcement (utilisé pour gagner des jeux comme Tic Tac Toe, Pong , Chess, Go, de nombreux jeux Atari différents avec un seul modèle , etc.) est basé sur cette propriété. Les gens ont essayé d'insuffler cette propriété de streaming à d'autres modèles (par exemple, Gradient Boosting), mais cela ne vient pas naturellement et n'est pas aussi bon marché que dans la configuration NN.TfTTT

Par 2. Je veux dire que les gens ont formé des NN pour faire les choses les plus étranges, mais en principe ils ont juste utilisé le même cadre: empiler des fonctions lisses les unes dans les autres et ensuite laisser l'ordinateur (par exemple PyTorch / Tensorflow) faire le sale calcul pour vous comme l'informatique la dérivée de la fonction de perte par rapport aux poids. Un exemple serait ce documentoù les gens ont utilisé l'approche RL et ont également conçu l'architecture du NN pour apprendre le langage complexe des substances chimiques en lui apprenant à fonctionner sur une pile de mémoire (!). Essayez de le faire avec le renforcement du gradient ;-) La raison pour laquelle ils doivent le faire est que le langage des produits chimiques est au moins aussi `` difficile à apprendre '' que le langage du crochet (c'est-à-dire que chaque crochet ouvrant a un fermoir plus tard dans le mot). ) parce que le langage SMILES que les gens utilisent pour décrire les molécules contient les symboles «(» et «)». De l'informatique théorique (hiérarchie de Chomsky), on sait qu'on ne peut pas décrire ce langage avec un automate régulier mais il faut un automate push down (ie un automate avec une mémoire de pile). C'était la motivation pour eux (je suppose) d'enseigner cette chose étrange au NN.


-1

"Pourquoi ça marche quand ça marche?"

Une autre réponse ici cite ET Jaynes. Il dit que d'autres algorithmes d'apprentissage automatique sont ad hoc, mais pas le réseau neuronal. La raison en est que l'algorithme se corrige lui-même. En réalité, si vous avez instances dans un échantillon, pourquoi serait-il préférable de les utiliser l'une après l'autre plutôt que de les utiliser toutes ensemble? Il n'y a aucune preuve que l'approche NN est meilleure. Dans la plupart des cas, avec des données limitées, NN est en fait pire.n

Ainsi, tous les apprentissages automatiques sont également ad hoc.

L'apprentissage automatique est similaire à l'alchimie: il existe de nombreuses recettes énigmatiques, vous en appliquez une et vous pouvez obtenir de l'or. Sinon, appliquez simplement une autre recette.

Personne ne pose la question que vous avez posée, du moins pas dans les publications que je connais.

En plus de cela, il y a la théorie de l'apprentissage statistique. La théorie de l'apprentissage statistique suppose que la taille de l'ensemble d'apprentissage va à l'infini. La plupart des résultats que je connais ont la forme: "sous certaines conditions, si vous avez un ensemble d'entraînement assez grand, vous pouvez obtenir un résultat presque aussi bon que possible en utilisant cette procédure". Les estimations de ce qui est "assez grand" dépassent l'imagination.

Bien sûr, le problème est que la taille de l'ensemble d'entraînement ne va nulle part, et encore moins à l'infini.

Donc, je pense que c'est le bon moment pour (1) poser cette question, (2) développer un appareil mathématique pour répondre à la question sur tous les algorithmes d'apprentissage automatique possibles et (3) répondre à cette question.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.