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.
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:
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.T f T T′ T′
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.
la source
"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.
la source