Utilisation d'un réseau de neurones

Exercez-vous sur un réseau de neurones dans votre navigateur.
Ne vous inquiétez pas, vous ne pouvez pas l'endommager. Promis !

Périodes

Données

Quel ensemble de données voulez-vous utiliser ?

Caractéristiques

Quelles propriétés voulez-vous inclure ?

Cliquez n'importe où pour apporter votre modification.
Pondération/Biais de 0,2 .
Voici le résultat pour un neurone. Passez la souris dessus pour l'agrandir.
Les résultats sont mélangés avec des pondérations variables, illustrées par l'épaisseur des lignes.

Couches cachées

Résultat

Perte de test
Perte d'apprentissage
Les couleurs illustrent les valeurs des données, des neurones et des pondérations.

Qu'est-ce qu'un réseau de neurones ?

Un réseau de neurones repose sur une technique visant à bâtir un programme informatique qui apprend à partir de données, comme le fait plus ou moins le cerveau humain. Dans un premier temps, un groupe de "neurones" logiciels sont créés et connectés, ce qui leur permet d'échanger des messages. Ensuite, le réseau est invité à résoudre un problème, ce qu'il tente de faire encore et encore, en renforçant chaque fois les connexions jusqu'à ce qu'il y parvienne et évince celles qui conduisent au problème. Pour une présentation plus détaillée des réseaux de neurones, le module Neural Networks and Deep Learning (en anglais) de Michael Nielsen constitue un bon point de départ. Pour une présentation plus technique, consultez la page Deep Learning de Ian Goodfellow, Yoshua Bengio et Aaron Courville.

Intéressant… Puis-je le réutiliser ?

N'hésitez pas ! Nous l'avons mis à disposition de la communauté sur GitHub afin de rendre les réseaux de neurones plus accessibles et d'en faciliter l'apprentissage. Vous êtes libre de l'utiliser à condition de respecter notre licence Apache. Si vous avez des suggestions à nous soumettre pour ajouter des éléments ou apporter des modifications, faites-le nous savoir.

Nous avons également fourni quelques commandes ci-après pour vous permettre d'adapter votre environnement à un sujet ou à une leçon spécifique. Il vous suffit de choisir les caractéristiques que vous voulez rendre visibles ci-dessous, puis d'enregistrer ce lien ou d'actualiser la page.

Que signifient toutes les couleurs ?

L'orange et le bleu sont utilisés tout au long de la visualisation de manière légèrement différente, mais en général, l'orange illustre des valeurs négatives, et le bleu, des valeurs positives.

Chaque point de données (représenté par un petit cercle) est initialement orange ou bleu, ce qui correspond respectivement à un point positif ou négatif.

Dans les couches cachées, la couleur des lignes dépend des pondérations des connexions entre les neurones. Le bleu signale une pondération positive, ce qui signifie que le réseau utilise le résultat de ce neurone tel qu'il est donné. En revanche, une ligne orange indique que le réseau attribue une pondération négative.

Dans la couche de sortie, les points sont orange ou bleus selon leurs valeurs initiales. La couleur d'arrière-plan illustre la prévision du réseau pour une zone particulière. La fiabilité de cette prévision dépend de l'intensité de la couleur.

Quelle bibliothèque utilisez-vous ?

Nous avons écrit une petite bibliothèque de réseaux de neurones qui répond aux exigences de cette visualisation pédagogique. Pour les applications réelles, consultez la bibliothèque TensorFlow.

Crédits

Ce contenu a été créé par Daniel Smilkov et Shan Carter. Il vient en prolongement de différents travaux, en particulier la démo convnet.js d'Andrej Karpathy et les articles de Chris Olah sur les réseaux de neurones. Nous tenons à remercier également D. Sculley pour son aide concernant l'idée initiale, mais aussi Fernanda Viégas, Martin Wattenberg, ainsi que le reste des équipes Big Picture et Google Brain pour leurs commentaires et leurs conseils.