En 1998, lorsque la base de données MNIST est apparue, il a fallu des semaines pour former les ordinateurs les plus avancés, qui ont obtenu des résultats bien pires que les ordinateurs d'aujourd'hui, qui prennent moins d'une heure pour utiliser le GPU. Par conséquent, le MNIST n'est plus une tâche qui repousse les limites de la technologie; la rapidité de la formation suggère que cette tâche est bien adaptée à l'étude de cette technologie. En attendant, la recherche va plus loin et le travail moderne étudie des problèmes beaucoup plus complexes. Dans cette section, je décrirai brièvement quelques exemples de travaux en cours liés à la reconnaissance d'images à l'aide de réseaux de neurones.
Cette section est différente du reste du livre. Dans le livre, je me suis concentré sur des idées vraisemblablement de longue durée - rétropropagation, régularisation, réseaux convolutionnels. J'ai essayé d'éviter les résultats considérés comme à la mode au moment de la rédaction, dont la valeur à long terme semblait douteuse. En science, ces résultats se révèlent le plus souvent éphémères, disparaissent rapidement et n'ont pas d'effet à long terme. Compte tenu de cela, le sceptique dirait: «Bien sûr, les progrès récents de la reconnaissance d'image peuvent être considérés comme un exemple d'un tel voyage d'une journée? Dans deux ou trois ans, tout va changer. Ces résultats sont-ils donc susceptibles d'intéresser un petit nombre de professionnels en compétition au premier plan? Pourquoi en discuter? "
Un tel sceptique aura raison en ce que les petits détails des œuvres récentes perdent progressivement de l'importance perçue. Cependant, au cours des dernières années, des améliorations incroyables ont été apportées à la résolution de problèmes particulièrement complexes de reconnaissance d'image à l'aide de réseaux de neurones profonds (GNS). Imaginez un historien de la science qui rédige du matériel sur la vision par ordinateur en 2100. Ils définiront 2011-2015 (et probablement plusieurs années après) comme une période de percées significatives tirées par les réseaux de convolution profonde (GSS). Cela ne signifie pas que le GOS sera toujours utilisé en 2100, sans parler de détails tels que l'exception, ReLU, etc. Mais cela signifie tout de même qu'il y a une transition importante dans l'histoire des idées à l'heure actuelle. Cela revient à observer la découverte de l'atome, l'invention des antibiotiques: l'invention et la découverte de proportions historiques. Par conséquent, sans entrer dans les détails, il vaut la peine de se faire une idée des découvertes intéressantes qui se font aujourd'hui.
Travail 2012 LRMD
Permettez-moi de commencer par les
travaux de 2012, rédigés par un groupe de chercheurs de Stanford et de Google. Je l'appellerai LRMD, par les premières lettres des noms des quatre premiers auteurs. LRMD a utilisé NS pour classer les images de la base de données ImageNet, ce qui est une tâche très difficile de reconnaissance de formes. Les données qu'ils ont utilisées à partir de 2011 ImageNet comprenaient 16 millions d'images en couleur, réparties en 20 000 catégories. Les images ont été téléchargées sur Internet et classées par Mechanical Turk d'Amazon. En voici quelques uns:




Ils appartiennent respectivement aux catégories: oreillons, champignon racine brune, lait pasteurisé, vers ronds. Si vous voulez vous entraîner, je vous recommande de consulter la liste des outils à main d'ImagNet, où des différences sont faites entre les monticules, les raboteuses, les raboteuses pour le chanfreinage et des dizaines d'autres types de raboteuses, sans parler des autres catégories. Je ne sais pas pour vous, mais je ne peux pas distinguer avec certitude tous ces outils. C'est évidemment beaucoup plus difficile que MNIST! Le réseau LRMD a obtenu un résultat décent avec une précision de reconnaissance d'image de 15,8% d'ImageNet. Ce résultat peut ne pas sembler aussi impressionnant, mais il s'agit d'une énorme amélioration par rapport au résultat précédent de 9,3%. Un tel bond suggère que les NS peuvent offrir une approche efficace pour des tâches de reconnaissance d'image très complexes, comme ImageNet.
Travail 2012 KSH
Les travaux du LRMD en 2012 ont été suivis des
travaux de Krizhevsky, Sutskever et Hinton (KSH). KSH a formé et testé le GSS en utilisant un sous-ensemble limité de données ImagNet. Ce sous-ensemble est défini par le concours populaire d'apprentissage automatique - Défi de reconnaissance visuelle à grande échelle ImageNet (ILSVRC). L'utilisation de ce sous-ensemble leur a donné un moyen pratique de comparer leur approche avec d'autres techniques de pointe. L'ensemble ILSVRC 2012 contient environ 1,2 million d'images de 1000 catégories. Les ensembles de vérification et de confirmation contiennent respectivement 150 000 et 50 000 images des 1000 mêmes catégories.
L'un des défis du concours ILSVRC est que de nombreuses images d'ImageNet contiennent plusieurs objets. Par exemple, sur l'image, le Labrador Retriever court après un ballon de soccer. T.N. La classification «correcte» de l'ILSVRC peut correspondre à l'étiquette du Labrador Retriever. Est-il nécessaire de sélectionner des points dans l'algorithme s'il marque l'image comme un ballon de foot? En raison d'une telle ambiguïté, l'algorithme était considéré comme correct si la classification ImageNet était parmi les 5 hypothèses les plus probables de l'algorithme concernant le contenu de l'image. Selon ce critère, parmi les 5 premiers, l'ESG de KSH a atteint une précision de 84,7%, bien meilleure que l'adversaire précédent, qui a atteint une précision de 73,8%. En utilisant une métrique plus rigoureuse, lorsque l'étiquette doit correspondre exactement à la prescription, la précision KSH atteint 63,3%.
Il convient de décrire brièvement le réseau KSH, car il a inspiré de nombreux travaux qui ont suivi. Il est également, comme nous le verrons, étroitement lié aux réseaux que nous avons formés dans ce chapitre, bien qu'il soit plus complexe. KSH a utilisé GSS formé sur deux GPU. Ils ont utilisé deux GPU car leur carte particulière (NVIDIA GeForce GTX 580) n'avait pas assez de mémoire pour stocker l'ensemble du réseau. Par conséquent, ils ont divisé le réseau en deux parties.
Le réseau KSH comprend 7 couches de neurones cachés. Les cinq premières couches masquées sont convolutives (certaines utilisent la mise en commun maximale) et les 2 suivantes sont entièrement connectées. La couche softmax en sortie est constituée de 1000 neurones correspondant à 1000 classes d'images. Voici un croquis du réseau, tiré des travaux de KSH. Les détails sont décrits ci-dessous. Notez que de nombreuses couches sont divisées en 2 parties correspondant à deux GPU.

Dans la couche d'entrée, il y a un neurone 3x224x224 indiquant les valeurs RVB pour une image de taille 224x224. Rappelons que ImageNet contient des images de différentes résolutions. Cela pose un problème, car la couche réseau d'entrée est généralement de taille fixe. KSH a résolu ce problème en mettant à l'échelle chaque image de sorte que son petit côté ait une longueur de 256 pixels. Ensuite, ils ont découpé une zone de 256x256 pixels à partir du milieu de l'image redimensionnée. Enfin, KSH récupère des morceaux d'image aléatoires 224x224 (et leurs réflexions horizontales) à partir d'images 256x256. Cette coupe aléatoire est un moyen d'élargir les données de formation pour réduire le recyclage. Cela aide particulièrement à former un réseau aussi important que KSH. Et enfin, ces images 224x224 sont utilisées comme entrée sur le réseau. Dans la plupart des cas, l'image recadrée contient l'objet principal de l'image d'origine.
Nous passons aux couches cachées du réseau KSH. La première couche cachée est convolutive, avec une étape de traction maximale. Il utilise des champs récepteurs locaux de taille 11x11 et un pas de 4 pixels. Au total, 96 cartes de caractéristiques sont obtenues. Les cartes de personnage sont divisées en deux groupes de 48 pièces, les 48 premières cartes se trouvant sur un GPU et la seconde sur l'autre. Le regroupement maximal dans cette couche et les couches suivantes est effectué par des sections 3x3, mais les sections de regroupement peuvent se chevaucher et sont situées à une distance de seulement 2 pixels les unes des autres.
La deuxième couche cachée est également convolutive, avec une mise en commun maximale. Il utilise des champs récepteurs locaux 5x5 et dispose de 256 cartes fonctionnelles, divisées en 128 pièces pour chaque GPU. Les cartes d'entités n'utilisent que 48 canaux entrants, et pas les 96 sorties de la couche précédente, comme d'habitude. En effet, toute carte de fonction reçoit une entrée du GPU sur lequel elle est stockée. En ce sens, le réseau s'éloigne de l'architecture convolutionnelle que nous avons décrite plus haut dans ce chapitre, bien que, de toute évidence, l'idée de base reste la même.
Les troisième, quatrième et cinquième couches sont convolutives, mais sans mise en commun maximale. Leurs paramètres: (3) 384 cartes de caractéristiques, champs récepteurs locaux 3x3, 256 canaux entrants; (4) 384 cartes de caractéristiques, champs récepteurs locaux 3x3, 192 canaux entrants; (5) 256 cartes fonctionnelles, champs récepteurs locaux 3x3, 192 canaux entrants. Sur la troisième couche, les données sont échangées entre les GPU (comme indiqué dans l'image) afin que les cartes d'entités puissent utiliser les 256 canaux entrants.
Les sixième et septième couches cachées sont entièrement connectées, 4096 neurones chacune.
La couche de sortie est softmax, se compose de 1000 unités.
Le réseau KSH bénéficie de nombreuses techniques. Au lieu d'utiliser la tangente sigmoïde ou hyperbolique comme fonction d'activation, il utilise des ReLU, qui accélèrent considérablement l'apprentissage. Le réseau KSH contient environ 60 millions de paramètres de formation et, par conséquent, même avec un grand nombre de données de formation, il est soumis à un recyclage. Pour y faire face, les auteurs ont élargi l'ensemble de formation en recadrant des images au hasard, comme décrit ci-dessus. Ils ont ensuite utilisé la variante de régularisation L2 et l'exception. Le réseau a été formé en utilisant une descente de gradient stochastique basée sur l'élan et avec des mini-paquets.
Ceci est un bref aperçu de la plupart des informations clés de KSH. J'ai omis certains détails; recherchez-les vous-même dans l'article. Vous pouvez également regarder le projet d'Alex Krizhevsky
cuda-convnet (et ses disciples), contenant du code qui met en œuvre bon nombre des idées décrites.
Une version de ce réseau
basée sur Theano a également été
développée . Vous pouvez reconnaître dans le code des idées similaires à celles que nous avons développées dans ce chapitre, bien que l'utilisation de plusieurs GPU complique les choses. Le framework Caffe a sa propre version du réseau KSH, voir leurs "
modèles de zoo " pour plus de détails.
Concours ILSVRC 2014
Depuis 2012, les progrès ont été assez rapides. Participez au concours ILSVRC 2014. Comme en 2012, les participants ont dû former des réseaux pour 1,2 million d'images de 1000 catégories, et l'une des 5 prédictions probables dans la bonne catégorie était un critère de qualité.
L'équipe gagnante , composée principalement d'employés de Google, a utilisé le GSS avec 22 couches de neurones. Ils ont nommé leur réseau GoogLeNet, d'après LeNet-5. Selon le critère pour atteindre les cinq premières options, GoogLeNet a atteint un indicateur de précision de 93,33%, ce qui a considérablement amélioré les résultats du vainqueur de 2013 (Clarifai, de 88,3%) et du gagnant de 2012 (KSH, de 84,7%).
Quelle est la précision de GoogLeNet à 93,33%? En 2014, une équipe de recherche a rédigé une
revue du concours ILSVRC. L'une des questions abordées était de savoir dans quelle mesure les gens seraient capables de faire face à la tâche. Pour l'expérience, ils ont créé un système qui permet aux gens de classer les images avec ILSVRC. Comme l'un des auteurs de l'ouvrage, Andrei Karpaty, explique, dans une entrée informative sur son blog, il était très difficile d'apporter l'efficacité des gens aux indicateurs GoogLeNet:
La tâche de baliser des images avec cinq catégories sur 1000 possibles est rapidement devenue extrêmement difficile, même pour ceux de mes amis du laboratoire qui travaillaient depuis longtemps avec ILSVRC et ses catégories. Tout d'abord, nous voulions soumettre la tâche à Amazon Mechanical Turk. Ensuite, nous avons décidé d'essayer d'embaucher des étudiants pour de l'argent. J'ai donc organisé une fête de marquage entre experts de mon laboratoire. Après cela, j'ai développé une interface modifiée qui a utilisé les prédictions GoogLeNet pour réduire le nombre de catégories de 1000 à 100. Pourtant, la tâche était difficile - les gens ont sauté les catégories, donnant des erreurs de l'ordre de 13-15%. En fin de compte, j'ai réalisé que pour me rapprocher encore plus du résultat de GoogLeNet, l'approche la plus efficace serait de m'asseoir et de passer par un processus d'apprentissage incroyablement long et le processus ultérieur de balisage approfondi. Au début, le marquage était à une vitesse de l'ordre de 1 pièce par minute, mais s'est accéléré dans le temps. Certaines images étaient faciles à reconnaître, tandis que d'autres (par exemple, certaines races de chiens, espèces d'oiseaux ou de singes) nécessitaient plusieurs minutes de concentration. Je suis devenu très bon pour distinguer les races de chiens. Sur la base de mon échantillon d'images, les résultats suivants ont été obtenus: GoogLeNet s'est trompé dans 6,8% des cas; mon taux d'erreur était de 5,1%, soit environ 1,7% de mieux.
En d'autres termes, l'expert, qui a travaillé très soigneusement, uniquement en faisant de sérieux efforts, a pu légèrement devancer le STS. Karpaty rapporte que le deuxième expert, formé sur moins d'images, a réussi à réduire l'erreur de seulement 12% en choisissant jusqu'à 5 étiquettes par image, ce qui est beaucoup moins que GoogLeNet.
Des résultats impressionnants. Et depuis l'avènement de ce travail, plusieurs équipes ont rendu compte du développement de systèmes dont le taux d'erreur lors du choix des 5 meilleures balises était même inférieur à 5,1%. Parfois, ces réalisations ont été couvertes par les médias comme l'émergence de systèmes capables de mieux reconnaître les images que les personnes. Bien que les résultats soient généralement frappants, il existe de nombreuses nuances qui ne peuvent être considérées que la vision par ordinateur fonctionne mieux sur ces systèmes que sur les humains. À bien des égards, le concours ILSVRC est une tâche très limitée - les résultats d'une recherche d'images sur un réseau ouvert ne correspondront pas nécessairement à ce que le programme rencontrera dans une tâche pratique. Et, bien sûr, le critère «l'une des cinq meilleures notes» est assez artificiel. Nous avons encore un long chemin à parcourir pour résoudre le problème de la reconnaissance d'image, sans parler de la tâche plus générale de la vision par ordinateur. Mais c'est quand même très cool de voir les progrès accomplis dans la résolution d'une tâche aussi difficile en quelques années seulement.
Autres tâches
Je me suis concentré sur ImageNet, mais il existe de nombreux autres projets utilisant NS pour la reconnaissance d'images. Permettez-moi de décrire brièvement quelques résultats intéressants obtenus récemment, juste pour avoir une idée du travail moderne.
Un
ensemble de résultats pratiques inspirants a été obtenu par une équipe de Google, qui a appliqué GSS à la tâche de reconnaissance des plaques d'adresse dans Google Street View. Dans leur travail, ils rapportent comment ils ont découvert et reconnu automatiquement près de 100 millions de plaques d'adresse avec une précision comparable au travail humain. Et leur système est rapide: il a pu décrypter les données de toutes les images de Google Street View en France en moins d'une heure! Ils écrivent: "L'obtention de ce nouvel ensemble de données a considérablement amélioré la qualité du géocodage de Google Maps dans plusieurs pays, en particulier là où il n'y avait pas d'autres sources de géocodage." Ensuite, ils font une déclaration plus générale: "Nous pensons que, grâce à ce modèle, nous avons résolu le problème de la reconnaissance optique des séquences courtes d'une manière qui est applicable dans de nombreuses applications pratiques."
J'ai peut-être donné l'impression d'un défilé de résultats victorieux et inspirants. Bien entendu, les rapports les plus intéressants concernent des choses fondamentales qui ne sont pas encore claires pour nous. Par exemple, dans les
travaux de 2013, il a été démontré que l'Assemblée nationale a, en fait, des angles morts. Jetez un œil aux images ci-dessous. À gauche, l'image d'ImageNet, que le réseau de chercheurs a correctement classée. À droite, une image légèrement modifiée (au milieu les différences sont affichées), que le réseau n'était plus en mesure de reconnaître correctement. Et les auteurs ont constaté que de tels changements "contradictoires" peuvent être sélectionnés pour n'importe quelle image de la base de données, et pas seulement pour l'élite.

Résultat désagréable. Nous avons utilisé un réseau basé sur le même code que le réseau KSH - c'est-à -dire que c'est un tel réseau qui est de plus en plus utilisé. Et bien que ces NS calculent, en principe, des fonctions continues, des résultats similaires suggèrent qu'ils calculent probablement des fonctions presque discrètes. Pire, ils se révèlent discrets d'une manière qui viole notre notion intuitive de comportement intelligent. C'est un problème. De plus, on ne sait pas très bien ce qui conduit exactement à la discrétion, quel est le problème: dans la fonction de perte? Quelles fonctions d'activation utiliser? En architecture réseau? Dans autre chose? Nous ne le savons pas.
Mais ces résultats ne sont pas aussi mauvais qu'ils le semblent. Bien que de tels changements contradictoires soient assez courants, il est peu probable qu'ils se retrouvent dans la pratique. Comme indiqué dans le travail:
L’existence de négatifs contradictoires contredit la capacité du réseau à atteindre une généralisabilité élevée. En effet, si le réseau pouvait bien se généraliser, comment pourrait-il être trompé par de tels négatifs contradictoires qui ne se distinguent pas des exemples ordinaires? L'explication est qu'un ensemble de négatifs compétitifs a une probabilité extrêmement faible, et donc n'est pas observé (ou presque pas observé) dans l'ensemble de données de formation, cependant, il a une densité élevée (approximativement comme des nombres rationnels), et donc il peut être trouvé dans presque tous les cas .
Néanmoins, il est désagréable que nous comprenions si mal le travail de l'Assemblée nationale que ce résultat ait été découvert récemment. Bien sûr, le principal avantage de ces résultats sera qu'ils ont stimulé l'apparition de travaux ultérieurs sur ce sujet.
Un travail récent en 2014 a montré qu'il est possible pour un réseau formé de créer des images qui ressemblent à du bruit blanc pour une personne, et le réseau les classera dans des catégories bien connues avec un haut degré de confiance. Ceci est une autre démonstration que nous avons encore beaucoup à comprendre dans le travail de la NS et dans son utilisation pour la reconnaissance d'image.Mais, malgré la présence de résultats similaires, l'image globale est inspirante. Nous constatons des progrès rapides dans la réalisation de tests extrêmement complexes tels que ImageNet. Nous constatons également des progrès rapides dans la résolution des problèmes du monde réel, tels que la reconnaissance des plaques d'adresse dans StreetView. Mais, malgré l'inspiration, il ne suffit pas d'observer les améliorations des performances des tests de vitesse ou même des tâches du monde réel. Il y a des phénomènes fondamentaux, dont nous comprenons encore mal l'essence, par exemple, l'existence d'images concurrentielles. Et alors que de tels problèmes fondamentaux continuent de s'ouvrir (sans parler de les résoudre), il serait prématuré de parler d'approcher la solution du problème de reconnaissance d'image. Mais en même temps, ces problèmes sont d'excellentes incitations à poursuivre le travail.Autres approches des réseaux de neurones profonds
Dans ce livre, nous nous sommes concentrés sur une tâche: la classification des nombres MNIST. Une excellente tâche qui nous a fait comprendre beaucoup d'idées efficaces: descente de gradient stochastique, rétropropagation, réseaux convolutionnels, régularisation, etc. Cependant, c'est aussi une tâche assez étroite. Après avoir lu la littérature sur les réseaux de neurones, vous rencontrerez de nombreuses idées que nous n'avons pas discutées: NS récurrents, machines Boltzmann, modèles génératifs, transfert de formation, apprentissage renforcé, etc., etc. Les réseaux de neurones sont un vaste domaine. Cependant, de nombreuses idées importantes sont des variantes de ces idées dont nous avons déjà discuté, et elles sont assez faciles à comprendre. Dans cette section, j'ouvrirai légèrement le rideau sur ces vastes étendues. Leur discussion ne serait pas détaillée et complète - cela gonflerait extrêmement le livre. Ce sera impressionniste,une tentative de montrer la richesse conceptuelle de ce domaine, et de relier certains concepts à ceux que nous avons déjà vus. Dans le texte, je donnerai plusieurs références à d'autres sources, quant au matériel de formation continue. Bien sûr, beaucoup d'entre eux seront bientôt supplantés par d'autres, et vous voudrez peut-être chercher de la littérature plus récente. Néanmoins, je pense que de nombreuses idées de base resteront intéressantes pendant longtemps.Réseaux de neurones récurrents (RNS)
Dans les réseaux de propagation directe que nous avons utilisés, il y a une entrée qui détermine complètement l'activation de tous les neurones dans les couches suivantes. C'est une image très statique: tout dans le réseau est fixe et a un caractère cristallin figé. Mais supposons que nous permettons aux éléments du réseau de changer dynamiquement. Par exemple, le comportement des neurones cachés peut être déterminé non seulement par des activations dans les couches précédentes, mais aussi par des activations qui se sont produites plus tôt dans le temps. L'activation d'un neurone peut être partiellement déterminée par son activation antérieure. Dans les réseaux à distribution directe, cela ne se produit clairement pas. Ou, peut-être, l'activation des neurones cachés et de sortie sera déterminée non seulement par l'entrée actuelle du réseau, mais aussi par les précédentes.Les réseaux de neurones avec ce type de comportement variant dans le temps sont appelés réseaux de neurones récurrents, ou RNS. Il existe de nombreuses façons de formaliser mathématiquement la description informelle du paragraphe précédent. Vous pouvez vous en faire une idée en lisant l'article Wikipédia . Au moment de la rédaction, dans la version anglaise de l'article, au moins 13 modèles différents sont décrits [au moment de la traduction en 2019, déjà 18 / env. trad.].
Mais, si nous mettons de côté les détails mathématiques, l'idée générale du RNS est la présence de changements dynamiques dans le réseau qui se produisent au fil du temps. Et, sans surprise, ils sont particulièrement utiles pour analyser des données ou des processus qui changent au fil du temps. Ces données et processus apparaissent naturellement dans des tâches telles que l'analyse de la parole ou le langage naturel.L'une des façons actuelles d'utiliser RNS est d'intégrer plus étroitement les réseaux de neurones avec les méthodes traditionnelles de représentation des algorithmes, avec des concepts tels qu'une machine de Turing et des langages de programmation courants. En travail depuis 2014RNS a été développé, capable d'accepter une description lettre par lettre d'un programme python très simple et de prédire le résultat de son travail. De manière informelle, le réseau apprend à «comprendre» certains programmes python. Le deuxième travail de 2014 a utilisé le RNS comme point de départ pour le développement de la neuromachine de Turing (BDC). Il s'agit d'un ordinateur universel, dont toute la structure peut être entraînée par descente de gradient. Ils ont formé leur BDC à créer des algorithmes pour plusieurs tâches simples, telles que le tri ou la copie.Ce sont bien sûr des modèles de jouets très simples. Apprendre à exécuter un programme en python comme print (398345 + 42598) ne fait pas d'un réseau neuronal un interprète à part entière de la langue! On ne sait pas à quel point ces idées seront plus fortes. Néanmoins, les résultats sont assez intéressants. Historiquement, les réseaux de neurones ont fait un bon travail de reconnaissance des modèles qui sont tombés sur des approches algorithmiques conventionnelles. Et vice versa, les approches algorithmiques classiques font un bon travail de résolution de problèmes complexes pour NS. Aujourd'hui, personne n'essaye d'implémenter un serveur web ou une base de données basée sur NS! Il serait formidable de développer des modèles intégrés qui intègrent les points forts des approches NS et algorithmiques traditionnelles. Le RNS et les idées qui s'en inspirent peuvent nous aider à y parvenir.Ces dernières années, le RNS a été utilisé pour résoudre de nombreux autres problèmes. Ils étaient particulièrement utiles dans la reconnaissance vocale. Les approches basées sur le RNS établissent des records de qualité de reconnaissance des phonèmes. Ils ont également été utilisés pour développer des modèles améliorés du langage utilisé par les gens. Des modèles de langage améliorés aident à reconnaître les ambiguïtés de la parole qui semblent similaires. Un bon modèle de langage peut nous dire que l'expression «en avant vers l'infini» est beaucoup plus probable que l'expression «en avant sans membre», même si elles semblent similaires. RNS a été utilisé pour obtenir des résultats record dans certains tests de langue.Ce travail fait partie de l'utilisation plus large de NS de toutes sortes, pas seulement RNS, pour résoudre le problème de la reconnaissance vocale. Par exemple, une approche basée sur GNS a montré d' excellents résultats dans la reconnaissance de la parole continue avec un vocabulaire important. Un autre système basé sur GNS est implémenté dans le système d'exploitation Android de Google.J'ai parlé un peu de ce dont les RNC sont capables, mais je n'ai pas expliqué comment ils fonctionnent. Vous ne serez peut-être pas surpris d'apprendre que bon nombre des idées du monde des réseaux de distribution directe peuvent également être utilisées dans le RNS. En particulier, nous pouvons entraîner le RNS en modifiant la descente de gradient et la propagation arrière dans le front. De nombreuses autres idées utilisées dans les réseaux de distribution directe, depuis les techniques de régularisation jusqu'à la convolution, l'activation et les fonctions de coût, seront également utiles. De plus, bon nombre des idées que nous avons développées dans le cadre du livre peuvent être adaptées pour être utilisées dans le RNS.Modules de mémoire à court terme à long terme (DCT)
L'un des problèmes du RNS est que les premiers modèles étaient très difficiles à entraîner, plus compliqués que même le GNS. La raison en était les problèmes du gradient instable, dont nous avons discuté au chapitre 5. Rappelons que la manifestation habituelle de ce problème était que le gradient diminue tout le temps lors de la propagation à travers les couches dans la direction opposée. Cela ralentit extrêmement l'apprentissage des premières couches. Dans RNS, ce problème devient encore pire, car les gradients se propagent non seulement dans la direction opposée le long des couches, mais également dans la direction opposée dans le temps. Si le réseau fonctionne pendant une période assez longue, le gradient peut devenir extrêmement instable et sur sa base sera très difficile à apprendre. Heureusement, une idée connue sous le nom de modules de mémoire à court terme à long terme (DCT) peut être incluse dans le RNS . Pour la première fois, les modules introduitsHochreiter et Schmidguber en 1997 , spécifiquement pour aider à résoudre le problème d'un gradient instable. Les DCT facilitent l'obtention de bons résultats dans l'apprentissage des RNS, et de nombreux travaux récents (y compris ceux que j'ai déjà référencés) utilisent des DCT ou des idées similaires.Réseaux de confiance profonde, modèles génératifs et machines Boltzmann
De nos jours, l'intérêt pour le deep learning a pris un second souffle en 2006, après la publication d'ouvrages ( 1 , 2 ) expliquant comment enseigner un type particulier de NS appelé Deep Trust Network (GDS). Le GDS a influencé le domaine de la recherche pendant plusieurs années, mais leur popularité a commencé à décliner et les réseaux de distribution directe et les SN récurrents sont devenus à la mode. Malgré cela, certaines des propriétés de GDS les rendent très intéressantes.Premièrement, les GDS sont un exemple de modèle génératif. Dans un réseau de distribution directe, nous spécifions les activations d'entrée, et elles déterminent l'activation des neurones caractéristiques plus bas sur le réseau. Le modèle génératif peut être utilisé d'une manière similaire, mais vous pouvez y définir des valeurs de neurones, puis exécuter le réseau «dans la direction opposée», générant des valeurs d'activation d'entrée. Plus précisément, un GDS formé aux images de chiffres manuscrits peut lui-même générer des images similaires aux chiffres manuscrits (potentiellement et après certaines actions). En d'autres termes, le GDM dans un sens peut apprendre à écrire. En ce sens, les modèles génératifs sont similaires au cerveau humain: ils peuvent non seulement lire des nombres, mais aussi les écrire. Le célèbre dicton de Jeffrey Hintonindique que pour la reconnaissance des formes, vous devez d'abord apprendre à générer des images.Deuxièmement, ils sont capables d' apprendre sans enseignant et presque sans enseignant. Par exemple, lors de la formation sur les images, les GDS peuvent apprendre des signes qui sont utiles pour comprendre d'autres images, même s'il n'y avait aucune marque sur les images de la formation. La capacité d'apprendre sans professeur est extrêmement intéressante à la fois d'un point de vue scientifique fondamental et d'un point de vue pratique - si l'on peut le faire fonctionner suffisamment bien.Compte tenu de tous ces points attrayants du GDS en tant que modèles d'apprentissage en profondeur, pourquoi leur popularité a-t-elle diminué? En partie dû au fait que d'autres modèles, tels que la distribution directe et les réseaux récurrents, ont obtenu des résultats étonnants, en particulier des percées dans les domaines de la reconnaissance d'image et de la parole. Il n'est pas surprenant que ces modèles aient reçu une telle attention, et très mérités. Cependant, une conclusion désagréable en découle. Le marché des idées fonctionne souvent selon le schéma «le gagnant obtient tout», et presque toute l'attention est portée à ce qui est le plus à la mode dans ce domaine actuellement. Il peut être extrêmement difficile pour les gens de travailler sur des idées actuellement impopulaires, même s'il est évident qu'elles peuvent présenter un intérêt à long terme. Mon opinion personnelle est que le GDS et les autres modèles génératifs méritent plus d'attention qu'ils n'en reçoivent.Je ne serai pas surpris si le GDM ou un modèle similaire dépasse jamais les modèles populaires d'aujourd'hui. Lisezcet article est pour une introduction au domaine du GDM. Cet article peut également être utile . Il ne s'agit pas entièrement de GDM, mais il a beaucoup de choses utiles sur les machines Boltzmann limitées, un composant clé de GDM.Autres idées
Que se passe-t-il d'autre dans le domaine de l'Assemblée nationale et de la protection civile? Une énorme quantité de travail intéressant. Parmi les domaines de recherche actifs figure l'utilisation de NS pour le
traitement du
langage naturel,
la traduction automatique et des applications plus inattendues, par exemple l'
informatique musicale . Il existe de nombreux autres domaines. Dans de nombreux cas, après avoir lu ce livre, vous serez en mesure de comprendre les travaux récents, même si, bien sûr, vous devrez peut-être combler certaines lacunes dans les connaissances.
Je terminerai cette section par une mention d'un travail particulièrement intéressant. Elle combine des réseaux convolutionnels profonds avec une technique appelée
apprentissage par renforcement pour
apprendre à jouer à des jeux vidéo (et
un autre article à ce sujet). L'idée est d'utiliser un réseau convolutionnel pour simplifier les données de pixels de l'écran de jeu, de les transformer en un ensemble d'attributs plus simple qui peut ensuite être utilisé pour prendre des décisions sur d'autres actions: «aller à gauche», «aller à droite», «tirer», et etc. Particulièrement intéressant est qu'un réseau a assez bien appris à jouer à sept jeux vidéo classiques différents, devant des experts dans trois d'entre eux. Bien sûr, cela ressemble à une astuce, et le travail a été activement annoncé sous le titre "Jouer à des jeux Atari avec apprentissage par renforcement". Cependant, derrière un brillant superficiel, il convient de considérer le fait que le système prend des données de pixels brutes - il ne connaît même pas les règles du jeu - et sur leur base est formé pour prendre des décisions de bonne qualité dans plusieurs situations très différentes et très compétitives, chacune ayant son propre ensemble complexe de règles. Assez bien.
L'avenir des réseaux de neurones
Interfaces d'intention utilisateur
Dans une vieille blague, un professeur impatient dit à un étudiant confus: "N'écoutez pas mes mots, écoutez ce que je veux dire." Historiquement, les ordinateurs ne comprenaient souvent pas, comme un élève confus, ce que signifie un utilisateur. Cependant, la situation évolue. Je me souviens encore de la première fois où j'ai été surpris lorsque j'ai écrit par erreur une demande à Google, et le moteur de recherche m'a dit: "Vouliez-vous dire [demande correcte]?" Le directeur de Google, Larry Page,
a décrit le moteur de recherche parfait comme un système qui comprend exactement ce que signifient vos requêtes et vous donne exactement ce que vous voulez.
C'est l'idée d'une interface basée sur l'intention de l'utilisateur. Dans ce document, au lieu de répondre aux demandes littérales des utilisateurs, le moteur de recherche utilisera le MO pour prendre une vague demande des utilisateurs, comprendre exactement ce que cela signifie et agir sur cette base.
L'idée d'une interface basée sur l'intention de l'utilisateur peut être appliquée plus largement que simplement dans la recherche. Au cours des prochaines décennies, des milliers d'entreprises créeront des produits dans lesquels MO sera utilisé pour les interfaces utilisateur, se référant calmement aux actions inexactes des utilisateurs et devinant leurs véritables intentions. Nous voyons déjà les premiers exemples de telles interfaces basées sur l'intention: Apple Siri; Wolfram Alpha; IBM Watson des systèmes qui marquent automatiquement les photos et les vidéos, etc.
La plupart d'entre eux échoueront. Le développement d'interfaces est une chose compliquée, et je soupçonne qu'au lieu d'inspirer des interfaces, de nombreuses entreprises créeront des interfaces sans vie sur la base de MO. Le meilleur MO au monde ne vous aidera pas si votre interface est nulle. Cependant, certains produits réussiront. Au fil du temps, cela entraînera un changement sérieux dans notre relation avec les ordinateurs. Il n'y a pas si longtemps, par exemple, en 2005, les utilisateurs tenaient pour acquis que l'interaction avec les ordinateurs nécessite une grande précision. La nature littérale de l'ordinateur a servi à répandre l'idée que les ordinateurs sont très littéraux; le seul point-virgule oublié pourrait complètement changer la nature de l'interaction avec l'ordinateur. Mais je crois qu'au cours des prochaines décennies, nous développerons plusieurs interfaces réussies basées sur l'intention de l'utilisateur, et cela changera radicalement nos attentes lorsque nous travaillerons avec des ordinateurs.
Apprentissage automatique, science des données et cercle immaculé de l'innovation
Bien sûr, MO n'est pas seulement utilisé pour créer des interfaces basées sur l'intention de l'utilisateur. Une autre application intéressante de MO est la science des données, où elle est utilisée pour rechercher des «inconnues connues» cachées dans les données obtenues. C'est déjà un sujet à la mode, sur lequel de nombreux articles ont été écrits, donc je ne m'étendrai pas dessus pendant longtemps. Je veux mentionner une conséquence de cette mode, qui n'est pas souvent notée: à long terme, il est possible que la plus grande percée dans la région de Moscou ne soit pas une seule percée conceptuelle. La plus grande avancée sera que la recherche dans le domaine des OM deviendra rentable grâce à l'utilisation de données dans les domaines scientifiques et autres. Si une entreprise peut investir un dollar dans la recherche sur les MO et obtenir un dollar et dix cents de revenus assez rapidement, alors beaucoup d'argent sera versé dans la région du MO. En d'autres termes, MO est le moteur qui nous conduit à l'émergence de plusieurs grands marchés et domaines de croissance technologique. En conséquence, de grandes équipes de personnes expertes dans ce domaine apparaîtront et auront accès à des ressources incroyables. Cela fera avancer l'OM encore plus loin, créera encore plus de marchés et d'opportunités, ce qui sera le cercle immaculé de l'innovation.
Le rôle des réseaux de neurones et du deep learning
J'ai décrit MO en termes généraux comme un moyen de créer de nouvelles opportunités de développement technologique. Quel sera le rôle spécifique de l'Assemblée nationale et de la société civile dans tout cela?
Pour répondre à la question, il est utile de se tourner vers l'histoire. Dans les années 1980, il y a eu un réveil joyeux actif et un optimisme associé aux réseaux de neurones, en particulier après la popularisation de la propagation arrière. Mais la reprise s'est calmée et dans les années 1990, le bâton MO a été transféré à d'autres technologies, par exemple la méthode du vecteur de support. Aujourd'hui, l'Assemblée nationale est à nouveau sur le cheval, établissant toutes sortes de records et dépassant de nombreux rivaux dans divers problèmes. Mais qui garantit que demain une nouvelle approche ne sera pas développée qui éclipsera à nouveau l'AN? Ou, peut-être, les progrès dans le domaine de l'Assemblée nationale commenceront-ils à ralentir et rien ne les remplacera?
Par conséquent, il est beaucoup plus facile de penser à l'avenir du ministère de la Défense dans son ensemble que spécifiquement à l'Assemblée nationale. Une partie du problème est que nous comprenons très mal l'Assemblée nationale. Pourquoi NS est-il si bon pour compiler des informations? Comment évitent-ils si bien la reconversion, compte tenu du grand nombre d'options? Pourquoi la descente de gradient stochastique fonctionne-t-elle si bien? Dans quelle mesure NS fonctionnera-t-il lors de la mise à l'échelle des ensembles de données? Par exemple, si nous élargissons 10 fois la base d'ImageNet, les performances du NS s'amélioreront-elles plus ou moins que l'efficacité des autres technologies MO? Toutes ces questions sont simples et fondamentales. Et jusqu'à présent, nous avons une très mauvaise compréhension des réponses à ces questions. À cet égard, il est difficile de dire quel rôle l'Assemblée nationale jouera dans l'avenir de la région de Moscou.
Je ferai une prédiction: je pense que GO n'ira nulle part. La capacité d'étudier les hiérarchies de concepts, de construire différentes couches d'abstractions est apparemment fondamentale pour la connaissance du monde. Cela ne signifie pas que les réseaux GO de demain ne seront pas radicalement différents de ceux d'aujourd'hui. Nous pouvons rencontrer des changements majeurs dans leurs composants, architectures ou algorithmes d'apprentissage. Ces changements peuvent s'avérer assez dramatiques pour que nous cessions de considérer les systèmes résultants comme des réseaux de neurones. Cependant, ils continueront de s'engager dans la protection civile.
NS et GO vont-ils bientĂ´t conduire Ă l'apparition de l'intelligence artificielle?
Dans ce livre, nous nous sommes concentrés sur l'utilisation de NS pour résoudre des problèmes spécifiques, par exemple, la classification d'images. Développons nos requêtes: qu'en est-il des ordinateurs à usage général? L'Assemblée nationale et la société civile peuvent-elles nous aider à résoudre le problème de la création d'une IA à usage général? Et si oui, compte tenu de la rapidité des progrès dans le domaine de la protection civile, verrons-nous l'émergence de l'IA dans un avenir proche?
Une réponse détaillée à une telle question nécessiterait un livre séparé. Au lieu de cela, permettez-moi de vous proposer une observation basée sur
la loi de Conway :
Les organisations qui conçoivent des systèmes se limitent à une conception qui copie la structure de communication de cette organisation.
C'est-à -dire, par exemple, que la loi de Conway stipule que la configuration du Boeing 747 reflétera la structure élargie de Boeing et de ses sous-traitants au moment où le modèle 747 a été développé. Ou un autre exemple simple et concret: considérons une entreprise développant des logiciels complexes. Si le panneau de commande du logiciel doit être connecté à l'algorithme MO, le concepteur du panneau doit communiquer avec l'expert MO de l'entreprise. La loi de Conway officialise simplement cette observation.
Pour la première fois quand ils ont entendu la loi de Conway, beaucoup de gens disent: "N'est-ce pas une preuve banale?" Ou "Est-ce le cas?" Je commencerai par une remarque sur son infidélité. Réfléchissons: comment la comptabilité de Boeing se reflète-t-elle dans le modèle 747? Et le service de nettoyage? Un personnel nourricier? La réponse est que ces parties de l'organisation n'apparaissent très probablement nulle part ailleurs dans le schéma 747. Par conséquent, vous devez comprendre que la loi de Conway ne s'applique qu'aux parties de l'organisation directement impliquées dans la conception et l'ingénierie.
Qu'en est-il de la remarque sur la banalité et les preuves? Peut-être en est-il ainsi, mais je ne le pense pas, car les organisations s’efforcent souvent de rejeter la loi de Conway. Les équipes développant de nouveaux produits sont souvent gonflées en raison du nombre excessif d'employés ou, à l'inverse, il leur manque une personne possédant des connaissances critiques. Pensez à tous les produits aux fonctionnalités inutiles et compliquées. Ou pensez à des produits avec des défauts évidents - par exemple, avec une interface utilisateur terrible. Dans les deux classes de programmes, des problèmes surviennent souvent en raison d'un décalage entre l'équipe nécessaire pour sortir un bon produit et l'équipe qui s'est vraiment réunie. La loi de Conway peut être évidente, mais cela ne signifie pas que les gens ne peuvent pas l’ignorer régulièrement.
La loi de Conway est applicable à la conception et à la création de systèmes dans les cas où, dès le début, nous imaginons les éléments constitutifs du produit et comment les fabriquer. Elle ne peut pas être appliquée directement au développement de l'IA, car l'IA n'est pas (encore) une telle tâche: nous ne savons pas en quelles parties elle se compose. Nous ne savons même pas quelles questions de base vous pouvez poser. En d'autres termes, pour l'instant, l'IA est plus un problème de science que d'ingénieurs. Imaginez que vous devez commencer à développer le 747th sans rien savoir des moteurs à réaction ou des principes de l'aérodynamique. Vous ne sauriez pas quels experts engager dans votre organisation. Comme l’a écrit Werner von Braun, "la recherche fondamentale est ce que je fais quand je ne sais pas ce que je fais." Existe-t-il une version de la loi de Conway qui s’applique aux tâches plus liées à la science qu’aux ingénieurs?
Pour trouver la réponse à cette question, rappelons l'histoire de la médecine. Au début, la médecine était le domaine de praticiens, comme
Galen ou
Hippocrate , qui étudiaient tout le corps humain. Mais avec la croissance du volume de nos connaissances, j'ai dû me spécialiser. Nous avons découvert de nombreuses idées profondes - rappeler la théorie microbienne des maladies, ou comprendre le principe du fonctionnement des anticorps, ou le fait que le cœur, les poumons, les veines et les artères forment le système cardiovasculaire. Ces idées profondes ont jeté les bases de disciplines plus étroites, telles que l'épidémiologie, l'immunologie et l'accumulation de zones de chevauchement liées au système cardiovasculaire. C'est ainsi que la structure de nos connaissances a formé la structure sociale de la médecine. Ceci est particulièrement visible dans le cas de l'immunologie: l'idée de l'existence d'un système immunitaire digne d'une étude distincte était très anodine. Nous avons donc tout un domaine de la médecine - avec des spécialistes, des conférences, des prix, etc. - organisé autour de quelque chose qui n'est pas seulement invisible, mais peut-être même pas séparé.
Un tel développement d'événements s'est souvent répété dans de nombreuses disciplines scientifiques établies: non seulement en médecine, mais aussi en physique, mathématiques, chimie et autres. Les régions naissent monolithiques, n'ayant que quelques idées profondes en stock. Les premiers experts sont capables de les couvrir tous. Mais au fil du temps, la solidité change. Nous découvrons beaucoup de nouvelles idées profondes, et il y en a trop pour que quelqu'un puisse vraiment les maîtriser toutes. En conséquence, la structure sociale de la région est en cours de réorganisation et de division, se concentrant autour de ces idées. Au lieu d'un monolithe, nous avons des champs divisés par des champs divisés par des champs - une structure sociale complexe et récursive qui se réfère à elle-même, dont l'organisation reflète les liens entre les idées les plus profondes. C'est ainsi que la structure de nos connaissances forme l'organisation sociale de la science. Cependant, cette forme sociale à son tour limite et aide à déterminer ce que nous pouvons détecter. Ceci est l'analogue scientifique de la loi de Conway.
Mais qu'est-ce que tout cela a Ă voir avec l'apprentissage en profondeur ou l'IA?
Eh bien, depuis les premiers jours du développement de l'IA
, il y a eu un débat sur le fait que tout ira "pas trop compliqué, grâce à notre super-arme", ou "la super-arme ne suffira pas". L'apprentissage en profondeur est le dernier exemple d'une super-arme qui a été utilisée dans les conflits que j'ai vus. Dans les premières versions de ces conflits, la logique était utilisée, ou Prolog, ou des systèmes experts, ou une autre technologie, qui était alors la plus puissante. Le problème avec de tels différends est qu'ils ne vous donnent pas la possibilité de dire exactement à quel point les candidats à la super-arme seront puissants. Bien sûr, nous venons de passer un chapitre entier à examiner les preuves que la défense civile peut résoudre des problèmes extrêmement complexes. Cela semble définitivement très intéressant et prometteur. Mais ce fut le cas avec des systèmes tels que Prolog ou Eurisko, ou avec des systèmes experts. Par conséquent, seul le fait qu'un ensemble d'idées semble prometteur ne signifie rien de spécial. Comment savons-nous que GO est en réalité différent de ces premières idées? Existe-t-il un moyen de mesurer la puissance et la promesse d'un ensemble d'idées? Il découle de la loi de Conway que nous pouvons utiliser la complexité de la structure sociale associée à ces idées comme une mesure grossière et heuristique.
Par conséquent, nous avons deux questions. Premièrement, quelle est la puissance de l'ensemble des idées liées à la société civile selon cette métrique de complexité sociale? Deuxièmement, à quel point une théorie doit-elle être puissante pour créer une IA polyvalente?
Sur la première question: quand on regarde la protection civile aujourd'hui, ce domaine semble intéressant et en développement rapide, mais relativement monolithique. Il a plusieurs idées profondes et plusieurs grandes conférences ont lieu, dont certaines se chevauchent beaucoup. Work at work utilise le même ensemble d'idées: la descente de gradient stochastique (ou son équivalent proche) pour optimiser la fonction de coût. C’est formidable que ces idées soient si réussies. Ce que nous n'observons pas jusqu'à présent, c'est un grand nombre de zones plus petites et bien développées, chacune explorant son propre ensemble d'idées profondes, ce qui ferait avancer la société civile dans de nombreuses directions. Par conséquent, selon la métrique de la complexité sociale, l'apprentissage en profondeur, désolé pour le jeu de mots, alors qu'il reste un domaine de recherche très superficiel. Une personne est encore capable de maîtriser la plupart des idées profondes de ce domaine.
Sur la deuxième question: combien un ensemble complexe et puissant d'idées sera nécessaire pour créer l'IA? Naturellement, la réponse sera: personne ne sait avec certitude. Mais dans la postface du livre, j'ai étudié certaines des preuves existantes à ce sujet. J'ai conclu que, même selon des estimations optimistes, la création de l'IA nécessitera beaucoup, beaucoup d'idées profondes. Selon la loi de Conway, pour atteindre ce point, nous devons voir l'émergence de nombreuses disciplines interdépendantes, avec une structure complexe et inattendue qui reflète la structure de nos idées les plus profondes. Nous n'observons pas encore une structure sociale aussi complexe lorsque nous utilisons la NS et la protection civile. Par conséquent, je crois que nous sommes, au moins, à plusieurs décennies de l'utilisation de GO pour développer l'IA à usage général.
J'ai consacré beaucoup d'efforts à créer un argument spéculatif qui, peut-être, semble assez évident et ne mène pas à une certaine conclusion. Cela décevra sûrement les gens épris de certitude. Je rencontre beaucoup de gens en ligne qui annoncent publiquement leurs opinions très définitives et confiantes sur l'IA, souvent basées sur des arguments fragiles et des preuves inexistantes. Je peux honnêtement dire: je pense qu'il est trop tôt pour juger. Comme dans la vieille blague: si vous demandez à un scientifique combien il nous faut attendre de plus pour toute découverte, et il dit «10 ans» (ou plus), alors en fait il veut dire «je n'en ai aucune idée». Avant l'avènement de l'IA, comme dans le cas de la fusion nucléaire contrôlée et de certaines autres technologies, «10 ans» sont restés pendant plus de 60 ans. D'un autre côté, ce que nous avons définitivement dans le domaine de la protection civile, c'est une technologie efficace, dont nous n'avons pas encore découvert les limites, et de nombreuses tâches fondamentales ouvertes. Et cela ouvre des opportunités créatives incroyables.