Expériences en écriture avec un réseau de neurones

 Expériences en écriture avec un réseau de neurones


Commençons par générer de nouveaux traits en fonction de votre entrée d’écriture

Les réseaux de neurones sont une approche extrêmement réussie de l’apprentissage automatique, mais il est difficile de comprendre pourquoi ils se comportent comme ils le font. Cela a suscité beaucoup d’intérêt et d’efforts pour essayer de les comprendre et de les visualiser, ce qui, selon nous, est jusqu’à présent en train de gratter la surface de ce qui est possible.

Dans cet article, nous essaierons de faire avancer dans cette direction en prenant un modèle génératif de l’écriture2 et le visualiser de plusieurs façons. Le modèle est assez simple (afin de bien fonctionner dans le navigateur), donc la sortie générée produit principalement des lettres et des mots de charabia (bien que des charabia qui ressemblent à une réelle écriture), mais il est toujours utile pour nos objectifs d’exploration des techniques de visualisation.

En fin de compte, nous n’avons pas de réponse ou de visualisation ultime, mais nous avons des idées intéressantes à partager. En fin de compte, nous espérons qu’ils faciliteront le fait de diviser une certaine signification des internes de ces modèles.

En regardant la sortie du modèle

Notre première expérience est la plus évidente: lorsque nous voulons voir à quel point quelqu’un a appris une tâche que nous lui demandons habituellement de le démontrer. Alors, demandons à notre modèle d’écrire quelque chose pour nous et de voir à quel point il se passe bien.

La plupart des marques sont du charabia, mais beaucoup d’entre eux sont étonnamment convaincants. Certains mots réels (ou réels) commencent même à apparaître. Une chose surprenante que vous remarquerez est que le style général de l’écriture est plus ou moins cohérent dans un échantillon. En effet, le type d’architecture utilisé pour ce modèle (LSTM) a un mécanisme pour se souvenir des traits précédents. Il est donc capable de se souvenir de choses comme la bouclle ou le saccadé de l’écriture, ou quelle lettre a précédé la lettre actuelle. (Pour en savoir plus sur les LSTM et comment ils se souviennent, Chris Olah a un bonne amorce (3).)

Même avec cette mémoire, la technique de génération d’échantillons à partir de réseaux de neurones est probabiliste, ce qui signifie que chacun de ces échantillons est l’un des espaces de possibilités beaucoup plus importants. Les voir un à la fois ne se sent pas satisfaisant – comment pouvons-nous déduire beaucoup à partir d’un ou deux échantillons lorsqu’il y a des possibilités presque infinies? Si quelque chose ne va pas, comment savons-nous si c’était parce qu’il y a quelque chose de fondamentalement mal avec notre modèle ou si c’était juste une chance stupide?

À chaque itération, notre modèle aurait pu produire de nombreux chemins. Au lieu d’en choisir un et de jeter le reste, dessinez, disons, 50 d’entre eux. Les traits verts ci-dessous sont des endroits où le modèle aurait viré vers la droite de la course choisie, l’orange est là où elle aurait viré vers la gauche.

Avec cette technique, nous jetons une lumière dans un espace de possibilités plus large. Vous pouvez voir certains domaines où il y avait un consensus général sur ce qu’il faut faire ensuite. D’autres zones avaient plus d’un sentiment «tout peut se produire». D’autres semblent montrer une fourche possible sur la route. Nous pouvons dessiner un «A» ou «G». Quelques étapes plus tard, il est clair que le modèle a convergé sur un «G» cursif.


En plus de visualiser les échantillons générés par le modèle, cette technique peut également être appliquée à des échantillons générés par l’homme. Ci-dessous, nous pouvons voir ce que le modèle aurait fait à chaque point s’il avait pris le relais pour la personne.

Il est évident d’après ces expériences que ce modèle a beaucoup appris sur l’écriture humaine. Quel type de question, pouvons-nous extraire ces connaissances de manière significative, plutôt que simplement l’utiliser aveuglément pour imiter l’écriture manuscrite?

Examiner les internes du modèle

Notre modèle a 500 cellules qui agissent comme une sorte de mémoire qu’il utilisera dans le cadre de son entrée lorsqu’il décide quoi générer. Si nous pouvons voir ce que font ces cellules au fur et à mesure que le modèle progresse, nous pouvons être en mesure d’acquérir une compréhension intuitive de ce que fait le modèle.

Nous commençons par montrer l’activation des cellules au fil du temps. Chaque colonne de la carte thermique ci-dessous représente un segment de ligne de l’écriture. Chaque ligne représente une cellule du modèle et est colorée par ses activations sur cette partie de la course. En inspectant le diagramme, vous pourrez peut-être voir certains modèles dans la façon dont certaines cellules s’activent pour certains types d’accidents vasculaires cérébraux. Vous pouvez modifier la cellule utilisée pour colorer les traits en cliquant sur le diagramme.

Vous avez peut-être pu choisir une ou deux cellules avec des modèles intéressants, mais nous avons des raisons de croire que les cellules fonctionnent en tandem, de sorte que l’activité d’une cellule individuelle peut ne pas être aussi intéressante qu’un groupe de cellules.

Existe-t-il un moyen d’ordonner les cellules pour rendre cette structure plus claire? Nous avons constaté que l’application d’une dimension t-sne (4) Aux activations des cellules au fil du temps, peuvent les organiser, ce qui a rapproché les cellules avec un comportement similaire. Cela rend le diagramme plus facile à lire. Nous utilisons quelques petites astuces pour obtenir les meilleurs résultats.3

Dans cette version, nous pouvons trouver quelques comportements clairs. Par exemple, les cellules 1170 en haut semblent sensible aux directions légèrement différentes et courbures du chemin du stylo – voir en particulier les cellules 25 et 55. D’un autre côté, en bas, les cellules ci-dessous 427 semblent axés sur les ascenseurs de stylo; Par exemple, cellule 494 semble prédire si le stylo est sur le point d’être levé. Au milieu, nous voyons une variété de cellules, y compris une position absolue de suivi. Cellule 136 et ses voisins semblent préoccupés par la position horizontale, tandis que les cellules autour 236 semble préoccupé par la position verticale. Cellule 242 semble suivre la position dans un mot.

Une autre façon d’explorer les activations est de lui donner un échantillon et de voir de manière interactive les activations. Ci-dessous, vous pouvez écrire et voir les activations de toutes les cellules en temps réel.


Conclusion

La réputation de la boîte noire des modèles d’apprentissage automatique est bien méritée, mais nous pensons qu’une partie de cette réputation est née du contexte de programmation dans lequel ils ont été verrouillés. L’expérience d’avoir un modèle facilement inspectable disponible dans le même contexte de programmation que l’environnement de visualisation interactif (ici, JavaScript) s’est avéré très productif pour le prototypage et l’exploration de nouvelles idées pour ce post.

Comme nous sommes en mesure de les déplacer de plus en plus dans le même contexte de programmation que le travail d’interface utilisateur est effectué, nous pensons que nous verrons des modes plus riches d’interactions humaines-AI s’épanouir. Cela pourrait avoir un impact marqué sur les modèles de débogage et de construction, c’est sûr, mais aussi sur la façon dont les modèles sont utilisés. La recherche sur l’apprentissage automatique cherche généralement à imiter et à substituer les humains, et il est de plus en plus capable de le faire. Ce qui semble moins exploré, c’est utiliser l’apprentissage automatique pour augmenter les humains. Ce type d’interaction humaine-machine compliquée est mieux exploré lorsque les capacités complètes du modèle sont disponibles dans le contexte de l’interface utilisateur.



Source link

Related post