Les réseaux de neurones très profonds expliqués en 40 secondes

Actualités de de l'Intelligence Artificielle - Machine Learning - Objets connectés

Les réseaux de neurones très profonds expliqués en 40 secondes


Dernière mise à jour le 15 avril 2022

Par Vincent Granville, Ph.D., auteur sur MLtechniques.com

Article sponsorisé

Réseaux de neurones très profonds (VDNN) illustrés par une animation de données : une vidéo de 40 secondes, présentant l’apprentissage supervisé, les couches, les neurones, la classification floue et les filtres de convolution.

On dit qu’une image vaut mille mots. Ici, à la place, j’utilise une vidéo pour illustrer le concept de réseaux de neurones très profonds (VDNN).

J’utilise un problème de classification supervisée pour expliquer le fonctionnement d’un VDNN. La classification supervisée est l’un des principaux algorithmes de l’apprentissage supervisé. L’ensemble d’entraînement comporte quatre groupes, chacun étant affecté d’une couleur différente. Le type de DNN décrit ici est un réseau de neurones à convolution (CNN) : il s’appuie sur des techniques de filtrage. Le filtre est appelé, dans la littérature, opérateur de convolution, d’où le nom de CNN.

But

Le but est de classer tout point de données nouveau ou futur en dehors de l’ensemble d’apprentissage. En pratique, l’ensemble d’apprentissage n’est pas utilisé pour construire le classificateur, mais un sous-ensemble appelé ensemble de test, pour vérifier les performances par rapport à l’ensemble de contrôle et affiner les paramètres. L’ensemble de contrôle se compose des points de consigne d’apprentissage qui ne se trouvent pas dans l’ensemble de test. Ce type de conception est appelé validation croisée.

Le classificateur, illustré dans la vidéo, classe finalement tout nouveau point en dehors de l’ensemble d’apprentissage, instantanément. De plus, cet article illustre également les concepts de classification fractale (ou floue) et d’apprentissage automatique effectués en GPU (unité de traitement graphique).

La description

La méthodologie se compose de trois étapes.

Étape 1: Transformer l’ensemble de test dans un format adapté comme entrée pour le DNN. Cela peut impliquer une remise à l’échelle ou une certaine cartographie (souvent, une cartographie logistique) appliquée aux données d’origine. Dans notre cas, les données bivariées ont été regroupées et transformées en emplacements de pixels pour s’adapter aux images vidéo. La première image de la vidéo représente l’ensemble de test, après le mappage initial.

Étape 2: La transition entre une image et la suivante, jusqu’à ce qu’il ne reste plus de pixels non classés (noirs), est la suivante. Vous appliquez un filtre local à chaque pixel, pour lui attribuer sa couleur (le groupe auquel il est attribué), en utilisant un vote majoritaire parmi les pixels voisins. Dans cet exemple, le filtre est non linéaire. Il est similaire à un filtre passe-haut ou à un filtre d’amélioration d’image généralement utilisé dans le traitement du signal. Les filtres linéaires sont connus sous le nom de filtres de moyenne ou de flou et ne sont d’aucune utilité ici. Chaque image de la vidéo représente une couche du DNN. C’est ce qu’on appelle un réseau de neurones très profond, car il implique un grand nombre de couches (des centaines, dans cet exemple).

Étape 3: La trame obtenue une fois qu’il ne reste plus de pixels noirs (au milieu de la vidéo), est la sortie du DNN. Pour classer tout point futur, calculez son emplacement en pixels sur l’image à l’aide du mappage de l’étape 1 et trouvez la couleur à laquelle il est attribué.

L’illustration ci-dessous est une image Gif, et a été obtenue en convertissant ma vidéo MP4 au format Gif. J’ai utilisé le convertisseur en ligne EZGif pour le produire. La vidéo originale peut être visionnée sur YouTube, ici. Chaque pixel est appelé un neurone dans la terminologie DNN et (tout comme dans le cerveau humain) n’interagit qu’avec les neurones voisins dans une couche donnée. D’où le nom de réseau de neurones.

Apprentissage automatique GPU

Étant donné que tout l’appareil d’apprentissage automatique est exécuté sur des images à l’aide de techniques de filtrage standard (une fois que l’ensemble de données d’origine est converti en image), il est facile d’exécuter l’algorithme dans la mémoire vidéo. En d’autres termes, le faire dans le GPU – l’unité de traitement graphique. Je le mentionne pour expliquer et illustrer ce que signifie l’apprentissage automatique par GPU, pour les personnes peu familières avec cette technologie.

Classification floue ou fractale

Une fois qu’il ne reste plus de pixels noirs (non classés), le classificateur a accompli sa tâche. Cependant, dans ma vidéo, j’ai ajouté des images supplémentaires pour illustrer le concept de classification fractale. La frontière entre les grappes est quelque peu poreuse ou floue. Un point proche de la frontière peut être attribué à l’un quelconque des deux ou trois groupes adjacents à la frontière. Les cadres supplémentaires (appelés couches dans la terminologie DNN) montrent la bordure changeante au fil du temps. Il vous permet de calculer la probabilité qu’un point à côté de la frontière appartienne à un groupe ou à un autre, en regardant ses affectations de classe changeantes au fil du temps. Je vais décrire cela plus en détail, dans un prochain article.

Conclusion

Dans cet article, j’ai expliqué en termes simples les concepts de réseau de neurones profonds (DNN), de réseau de neurones convolutifs (CNN), de filtre de convolution, de couches et de neurones d’un réseau de neurones, d’apprentissage automatique GPU et de classification floue.

L’illustration vidéo utilise un nombre inhabituellement élevé de couches (images vidéo), chaque neurone (pixel) étant connecté à très peu d’autres neurones à proximité – les pixels voisins. Ainsi, l’utilisation du terme réseau neuronal très profond ou VDNN. Dans mon exemple, j’utilise une seule connexion par neurone. Cela conduit à un classificateur assez granulaire et offre quelques avantages. En pratique cependant, les DNN traditionnels utilisent beaucoup moins de couches, mais les neurones sont connectés à des dizaines ou des centaines d’autres neurones. En d’autres termes, le filtre local utilise une fenêtre beaucoup plus grande.

La méthodologie est décrite en détail dans mon nouveau livre, disponible ici. Pour ne pas manquer les prochaines mises à jour, inscrivez-vous à notre newsletter, ici. Dans un prochain article, je montrerai une application à l’apprentissage non supervisé, avec un filtre de post-traitement jouant le rôle de la cartographie sigmoïde dans un DNN. Ce matériel est déjà disponible dans mon nouveau livre.