Je me demandais, pourquoi est-il si important d'avoir un apprentissage automatique fondé sur des principes / théorique? D'un point de vue personnel en tant qu'humain, je peux comprendre pourquoi l'apprentissage automatique fondé sur des principes serait important:
- les humains aiment comprendre ce qu'ils font, nous trouvons la beauté et la satisfaction de la compréhension.
- d'un point de vue théorique, les mathématiques sont amusantes
- quand il y a des principes qui guident la conception des choses, il y a moins de temps consacré aux devinettes aléatoires, aux essais et erreurs étranges. Si nous comprenions, disons, comment les réseaux neuronaux fonctionnaient vraiment, nous pourrions peut-être passer beaucoup plus de temps à les concevoir plutôt que les énormes quantités d'essais et d'erreurs qui y sont associées en ce moment.
- plus récemment, si les principes sont clairs et que la théorie l'est aussi, il devrait y avoir (espérons-le) plus de transparence dans le système. C'est bien parce que si nous comprenons le fonctionnement du système, l'IA risque que beaucoup de gens qui font du battage médiatique disparaissent à peu près immédiatement.
- les principes semblent être un moyen concis de résumer les structures importantes que le monde pourrait avoir et quand utiliser un outil plutôt qu'un autre.
Cependant, ces raisons sont-elles suffisamment solides pour justifier une étude théorique intense de l'apprentissage automatique? L'une des plus grandes critiques de la théorie est que, parce que c'est si difficile à faire, ils finissent généralement par étudier un cas très restreint ou les hypothèses qui doivent être apportées rendent essentiellement les résultats inutiles. Je pense avoir entendu cela une fois lors d'une conférence au MIT par le créateur de Tor. Le fait que certaines des critiques de Tor qu'il a entendues est l'argument théorique, mais essentiellement, les gens ne sont jamais en mesure de prouver des choses sur les scénarios réels de la vie réelle parce qu'ils sont si compliqués.
Dans cette nouvelle ère avec tant de puissance de calcul et de données, nous pouvons tester nos modèles avec de vrais ensembles de données et de tests. Nous pouvons voir si les choses fonctionnent en utilisant l'empirisme. Si nous pouvons obtenir à la place une AGI ou des systèmes qui fonctionnent avec l'ingénierie et l'empirisme, cela vaut-il encore la peine de poursuivre la justification théorique et théorique de l'apprentissage automatique, en particulier lorsque les limites de quantification sont si difficiles à atteindre, mais les intuitions et les réponses qualitatives sont tellement plus faciles à réaliser avec une approche basée sur les données? Cette approche n'était pas disponible dans les statistiques classiques, c'est pourquoi je pense que la théorie était si importante à cette époque, car les mathématiques étaient le seul moyen de s'assurer que les choses étaient correctes ou qu'elles fonctionnaient réellement comme nous le pensions.
Personnellement, j'ai toujours aimé et pensé la théorie et une approche fondée sur des principes était importante. Mais avec la puissance de pouvoir simplement essayer des choses avec des données réelles et une puissance de calcul, je me demande si l'effort élevé (et les récompenses potentiellement faibles) de la poursuite théorique en vaut la peine.
La poursuite théorique et fondée sur des principes de l'apprentissage automatique est-elle vraiment si importante?
la source
Réponses:
Il n'y a pas de bonne réponse à cela, mais peut-être "tout avec modération". Bien que de nombreuses améliorations récentes de l'apprentissage automatique, à savoir l'abandon, les connexions résiduelles, les connexions denses, la normalisation par lots, ne soient pas ancrées dans une théorie particulièrement approfondie (la plupart peuvent être justifiées en quelques paragraphes), je pense qu'il y a finalement un goulot d'étranglement pour le nombre ces résultats peuvent avoir un impact énorme. À un moment donné, vous devez vous asseoir et élaborer une théorie supplémentaire pour faire le prochain grand saut. De plus, la théorie peut guider l'intuition car elle peut prouver la qualité ou les limites d'un modèle dans un doute raisonnable. Ceci est particulièrement important pour déterminer si, disons, SGD est meilleur que Momentum pour un problème particulier. C'est la bonne chose à propos de la théorie: cela vous oblige à faire abstraction du problème que vous résolvez,
Le grand exemple qui me vient à l'esprit est celui des machines vectorielles de support. Ils ont été initialement conçus par Vapnik et Chervonenkis au début des années 60, mais ont vraiment décollé au début des années 90 lorsque Vapnik et d'autres ont réalisé que vous pouvez faire des SVM non linéaires en utilisant le Kernel Trick. Vapnik et Chervonenkis ont également élaboré la théorie derrière la dimension VC, qui est une tentative de proposer une mesure de complexité pour l'apprentissage automatique. Je ne peux penser à aucune application pratique de la dimension VC, mais je pense que l'idée des SVM a probablement été influencée par leur travail à ce sujet. Le Kernel Trick lui-même vient des mathématiques abstraites et non-sens sur les espaces de Hilbert. Il serait peut-être exagéré de dire qu'il est nécessaire de connaître ce non-sens abstrait pour proposer des SVM, mais je pense que cela a probablement beaucoup aidé, surtout parce que beaucoup de mathématiciens étaient passionnés par l'apprentissage automatique.
Au sujet de ResNet, il y a eu récemment un travail vraiment soigné suggérant que les architectures résiduelles n'ont vraiment pas besoin d'avoir des centaines de couches de profondeur. En fait, certains travaux suggèrent que les connexions résiduelles sont très similaires aux RNN, par exemple Combler les écarts entre l'apprentissage résiduel, les réseaux de neurones récurrents et le cortex visuel ", Liao et al. Je pense que cela vaut certainement la peine d'être approfondi car cela suggère que théoriquement, ResNet avec de nombreuses couches est en fait incroyablement inefficace et gonflé.
Les idées de coupure de gradient pour les RNN étaient très bien justifiées dans le désormais célèbre article " Sur la difficulté de former des réseaux de neurones récurrents " - Pascanu, et. Al. Bien que vous puissiez probablement trouver un découpage de gradient sans toute la théorie, je pense que cela permet de comprendre pourquoi les RNN sont si diablement difficiles à former sans faire quelque chose de fantaisiste, en particulier en établissant des analogies avec des cartes de système dynamiques (comme le fait le document ci-dessus). ).
Il y a beaucoup d'excitation à propos des méthodes de descente de gradient stochastique d'entropie . Celles-ci ont été dérivées de la dynamique de Langevin, et une grande partie des résultats théoriques sont fermement ancrés dans la théorie théorique PDE classique et la physique statistique. Les résultats sont prometteurs car ils jettent le SGD sous un nouveau jour, en termes de la façon dont il se coince dans les fluctuations locales de la fonction de perte et comment on peut lisser localement la fonction de perte pour rendre le SGD beaucoup plus efficace. Cela aide beaucoup à comprendre quand SGD est utile et quand il se comporte mal. Ce n'est pas quelque chose que vous pouvez déduire empiriquement en essayant SGD sur différents types de modèles.
Dans l'article Propriétés intrigantes des réseaux de neurones , les auteurs résument que les réseaux de neurones sont sensibles aux exemples contradictoires (définis comme calculés, perturbations du tourbillon d'une image) en raison de constantes de Lipchitz élevées entre les couches. Il s'agit toujours d'un domaine de recherche actif qui ne peut être mieux compris que par des dérivations plus théoriques.
Il y a aussi l'exemple de l' analyse des données topologiques , autour duquel au moins une entreprise ( Ayasdi ) s'est formée. Il s'agit d'un exemple particulièrement intéressant car les techniques utilisées sont si spécifiques et abstraites que même à partir d'aujourd'hui, il faudra encore beaucoup de temps pour voir où les idées de cette théorie se retrouveront. Ma compréhension est que la complexité de calcul des algorithmes impliqués a tendance à être assez élevée (mais là encore, elle était également élevée pour les réseaux de neurones il y a même 20 ans).
la source
La réponse à cette question est en fait très simple. Avec une justification théorique derrière le modèle d'apprentissage automatique, nous pouvons au moins prouver que lorsque certaines conditions plus ou moins réalistes sont remplies, il existe des garanties d'optimalité pour la solution. Sans cela, nous n'avons aucune garantie. Bien sûr, vous pouvez dire "vérifions simplement ce qui fonctionne et utilisons-le pour le problème particulier", mais cela n'est pas possible car il existe un nombre infini de façons de résoudre tout problème d'apprentissage automatique.
la source
Il suffit de regarder la question: la poursuite théorique et fondée sur des principes de l'apprentissage automatique est-elle vraiment si importante?
Définissez ce que vous entendez par «important». D'un point de vue philosophique, c'est une distinction fondamentale si vous voulez décrire quelque chose ou comprendre quelque chose. Dans une réponse quelque peu grossière, c'est la différence entre être scientifique ou autre. La partie pratique ne concerne pas la question sous-jacente. Si quelque chose est trop difficile à prouver, voire impossible à prouver en soi, c'est une découverte importante. (Entrez Goedel et al.) Mais cela ne signifie pas que ce n'est pas pertinent. Cela peut au moins sembler hors de propos d'un point de vue pragmatique. Mais il devrait au moins être reconnu comme quelque chose de principale importance et valeur.
Prenons une analogie: la médecine dans son ensemble (et de son passé) n'est pas scientifique. À certains égards, cela ne peut jamais l'être. C'est une discipline qui est entièrement régie par son résultat. Dans la plupart des cas, il n'y a rien de tel que la «vérité». Mais il s'avère que certaines parties peuvent en fait être scientifiques - et c'est là que la plupart des progrès prévus se produisent.
Une autre description extrêmement courte pourrait être: sans théorie, vous pouvez gagner beaucoup d'argent. Si c'est vraiment utile pour un "plus grand bien", vous pourriez même obtenir un prix Nobel pour cela. Mais vous n'obtiendrez jamais la médaille Fields.
la source
Les humains ont été capables de construire des navires, des voitures et des bâtiments pendant des siècles sans les lois de la physique. Mais depuis la science moderne, nous avons pu porter ces technologies à un tout nouveau niveau. Une théorie éprouvée permet d'apporter des améliorations de manière raisonnée. Nous n'aurions jamais pu arriver sur la Lune ou disposer d'ordinateurs sans une théorie mathématique de la matière et du calcul.
L'apprentissage automatique n'est qu'un autre domaine de la science et de l'ingénierie comme les autres. Une approche de l'apprentissage machine basée sur des principes nous a fourni des machines à noyau, un apprentissage structuré et des méthodes d'ensemble (boosting, forêts aléatoires).
la source
Voici un exemple simple de mon propre travail.
J'adapte beaucoup de réseaux neuronaux à des résultats continus. On détermine les poids par rétropropagation. Finalement, cela convergera.
Mon filet converge beaucoup plus vite .
Merci, théorie.
la source
Empirisme contre théorie
Tu as écrit:
Je pense que cela montre la principale fracture entre les deux points de vue que nous pouvons appeler empirique et théorique .
D'un point de vue empirique, comme vous l'avez également décrit, les théorèmes sont inutiles car ils ne sont jamais assez complexes pour modéliser le monde réel. Ils parlent de scénarios idéaux simplifiés qui ne s'appliquent nulle part dans le monde réel. Alors quel est l'intérêt de faire de la théorie.
Cependant, d'un point de vue théorique, le contraire est vrai. Que peut nous apprendre l'empirisme au-delà "J'ai exécuté cette méthode sur ce jeu de données et c'était mieux que d'exécuter cette autre méthode sur ce même jeu de données". Ceci est utile pour une instance mais en dit peu sur le problème.
Ce que la théorie fait, c'est fournir des garanties. Cela nous permet également d'étudier exactement des scénarios simplifiés afin de pouvoir commencer à comprendre ce qui se passe.
Exemple
Imaginez un exemple concret: vous voulez voir comment la dérive du concept (lorsque les données changent au fil du temps) affecte votre capacité à apprendre. Comment un pur empiriste aborderait-il cette question? Tout ce qu'il peut vraiment faire, c'est commencer à appliquer différentes méthodes et réfléchir aux trucs qu'il peut faire. L'ensemble de la procédure pourrait être similaire à ceci:
Nous avons ici des résultats assez précis sur quelques ensembles de données. Peut-être que les données étaient telles que la mise à jour de l'algorithme d'apprentissage basé sur des observations de 200 derniers jours a donné la plus grande précision. Mais la même chose fonctionnera-t-elle pour d'autres données? Quelle est la fiabilité de cette estimation de 200 jours? Les simulations aident - mais elles ne reflètent pas le monde réel - la même théorie des problèmes.
Imaginez maintenant la même chose d'un point de vue théorique:
Maintenant, ce scénario est plus clair - nous avons pu isoler le problème en corrigeant tous les détails. Nous connaissons l'erreur moyenne de nos classificateurs. Peut probablement estimer le nombre de jours qu'il faudrait pour détecter ce changement. Déduisez de quels paramètres cela dépend (comme peut-être la taille du changement). Et maintenant, basé sur quelque chose, produit une solution pratique. Mais le plus important de tous: ce résultat (s'il est correctement calculé) est immuable. Elle est là pour toujours et tout le monde peut en tirer des leçons.
Comme l'un des pères de l'apprentissage automatique moderne - Jürgen Schmidhuber aime à dire:
Leçons tirées d'autres domaines
Je voulais également mentionner brièvement certains parallèles avec la physique. Je pense qu'ils avaient aussi ce dilemme. Les physiciens étudiaient des objets sans friction de masse infinie se déplaçant à l'intérieur d'un espace infini. À première vue, qu'est-ce que cela peut nous dire sur la réalité où nous voulons savoir comment les flocons de neige se déplacent dans le vent. Mais on dirait que la théorie les a amenés assez loin.
la source
Vous avez mentionné certaines raisons, dont la capacité d'interpréter les résultats du BA est à mon avis la plus importante. Disons que le garde des biens conduit par l'IA a décidé de tirer sur le chien du voisin. Il serait important de comprendre pourquoi il l'a fait. Si ce n'est pas pour empêcher que cela se produise à l'avenir, alors au moins pour comprendre qui est responsable et qui va payer l'indemnisation du propriétaire.
Cependant, pour moi, la raison la plus importante est que la compréhension des principes sur lesquels l'algorithme est fondé permet de comprendre ses limites et d'améliorer ses performances. Envisagez l'utilisation de la distance euclidienne en ML. Dans de nombreux algorithmes de clustering, vous commencez par définir la distance entre les exemples, puis vous recherchez les limites entre les caractéristiques des exemples qui les regroupent. Une fois que vous avez augmenté le nombre de fonctions, la distance euclidienne cesse de fonctionner à un moment donné. Vous pouvez passer beaucoup de temps à essayer de le faire fonctionner, ou - si vous savez que la distance euclidienne en tant que mesure de proximité ne fonctionne pas dans une limite dimensionnelle infinie - passez simplement à une autre métrique de distance, telle que Manhattan, puis continuez à travailler sur de vrais problèmes. Vous pouvez trouver une tonne d'exemples comme celui-ci,
la source
Je pense qu'il est très difficile que ce ne soit pas une discussion philosophique. Ma réponse est vraiment une reformulation des bons points déjà mentionnés ici (+1 pour tous); Je veux juste souligner une citation d'Andrew Gelman qui m'a vraiment parlé en tant que personne ayant une formation d'informaticien. J'ai l'impression que beaucoup de gens qui appellent ce qu'ils font de l'apprentissage automatique viennent également de l'informatique. La citation est extraite d'un discours que Gelman a prononcé lors de la conférence de New York R 2017 intitulée Theoretical Statistics is the Theory of Applied Statistics :
La théorie vous dit ce qui a du sens et ce qui ne l'est pas sous certaines conditions. Voulons-nous faire des milliers ou des dizaines de milliers ou des millions de simulations pour avoir une idée de la vérité? Voulons-nous faire des comparaisons empiriques sur de plus en plus d'ensembles de données de référence? Cela va prendre un certain temps, et nos résultats peuvent encore être fragiles. De plus, comment savons-nous que les comparaisons que nous faisons ont du sens? Comment savons-nous que notre nouveau Deep Learner avec une précision de 99,5% est vraiment meilleur que l'ancien qui avait une précision de 99,1%? Une théorie aidera ici.
Je suis un grand fan des simulations et je les utilise beaucoup pour donner un sens au monde (ou même donner un sens à la théorie), mais l'apprentissage machine théorique est la théorie de l'apprentissage machine appliqué.
la source