Votre panier est vide.
Dans cet article, je vais expliquer ce que sont les réseaux neuronaux récurrents (RNN), comment ils fonctionnent et ce que vous pouvez faire avec eux. Je montrerai également un très bon exemple de génération de musique utilisant l’intelligence artificielle.
Cependant, avant de discuter les RNN, nous devons expliquer le concept de séquences de données.
Comme son nom l’indique, les séquence de données sont une collection de données dans différents états au fil du temps, de sorte qu’ils puissent former autre chose de plus grand. Voici quelques exemples:
Prenons par exemple toutes les images qui forment le clip vidéo suivant.
Individuellement, elles ne peuvent que nous dire qu’il s’agit de photos d’un mec jouant au golf.
Mais si vous regardez toutes les images dans le bon ordre (de gauche à droite), vous pouvez voir le swing qui se déroule. Il s’agit d’une “séquence” de données qui doivent être analysée dans son ensemble si nous voulons la comprendre et arriver à la conclusion que toutes ces images représentent un “swing”.
Si vous avez lu mon blog, vous devez maintenant être familier avec les réseaux de neurones, si vous ne l’êtes pas, je vous recommande lisez d’abord cet article.
Les réseaux de neurones sont très sympas, mais ils ont un petit problème. Ils ne peuvent prendre qu’une seule entrée de taille fixe et fournir une sortie de taille fixe. En d’autres termes, ils ne peuvent pas analyser des séquences de données.
Si vous prenez l’exemple de la classification des images, le réseau neuronal donnera un vecteur (X) de toutes les valeurs de pixels de ladite image et la sortie (le résultat) sera un vecteur de classification (Y) représentant une prédiction de ce que c’est l’image.
Aussi étonnant qu’il puisse paraître, les professionnels du machine learning qualifient souvent ces modèles de réseaux neuronaux «vanille», puisqu’ils ont une architecture «un à un» et à leurs yeux, ils sont «réguliers» et «sans aucun mystère». ..
Relation vanille
Les réseaux neuronaux récurrents (RNN), quant à eux, sont un type de réseau de neurones artificiels plus intéressants où les sorties dépendent des entrées.
Cela signifie que la prédiction tiendra compte de toutes les informations précédentes.
La fonction de complétion automatique de nos smartphones est un excellent exemple de ce que peut faire un réseau neuronal récurrent.
Chaque fois que vous tapez un mot, le logiciel prend tous les mots que vous avez déjà tapés pour prédire lequel est le plus susceptible de suivre. Donner à un RNN juste le premier mot et le laisser prédire le reste peut être très amusant.
Vous pouvez tester vous-même que si vous modifiez l’un des mots saisis au milieu d’une phrase, votre téléphone proposera des mots différents. C’est ainsi que vous savez que la fonction prend en compte toutes les séquences de données dans l’ordre que vous l’avez fourni et que ce ne sont pas simplement des mots aléatoires.
La fonction d’auto complétion est un exemple de RNN “plusieurs à un”, car le logiciel doit analyser plusieurs mots dans le bon ordre à travers le temps pour venir à une conclusion … Quel sera le prochain mot?
Mais il existe d’autres types d’architectures RNN:
J’espère que l’image ci-dessous vous donne une meilleure compréhension de ces différentes architectures.
La cellule “NN” représente un réseau neuronal que peut être aussi profond que vous le souhaitez, même avec des centaines de couches cachées.
Certains chercheurs représentent souvent les RNN avec un diagramme différent, mais le concept est exactement le même.
Je préfère personnellement le diagramme “déroulé” que j’ai présenté en premier car je pense que c’est plus facile à comprendre.
Former un RNN, c’est comme former un réseau neuronal normal.
Si vous êtes nouveau dans le monde du machine learning et que vous n’avez pas compris l’image ci-dessus ou ce que je viens d’écrire, ne vous inquiétez pas.
La seule chose à comprendre est que vous devez prendre en compte les résultats du NN précédent lors du calcul du résultat du NN actuel et ainsi de suite jusqu’à la fin.
En d’autres termes, le modèle prend en compte toutes les séquences de données précédentes, lorsqu’il est entraîné, mais aussi lorsqu’il fournit des prédictions.
À présent, vous devez comprendre le concept de base des réseaux neuronaux récurrents. Comme vous pouvez le voir, vous pouvez entraîner un modèle avec des mots pour qu’il prédisse les mots suivants ou vous pouvez l’entraîner avec des poèmes de Shakespare pour qu’il génère sa propre poésie.
Mais personnellement, je trouve que l’un des exemples les plus étonnants de RNN est de générer de la musique, une note à la fois.
Si vous êtes nouveau sur mon blog, vous devez comprendre que mes articles sont destinés à un public non technique. Je ne couvrirai donc pas les détails de la mise en œuvre de ce projet, ni fournir le code que j’ai utilisé. Il y a des centaines de tutoriels sur la façon de réaliser ce que j’ai fait, donc si vous êtes intéressé à faire la même chose, vous pouvez simplement le faire sur Google ou me contacter pour plus de détails.
Dans cet article, je ne donnerai qu’une idée générale de ce que j’ai fait.
Voici le résultat final que j’ai mis sur Youtube.
Les images de la vidéo ont également été générées avec de l’IA en utilisant une technique appelée “transfert neuronal” que je couvrirai définitivement dans un article différent.
C’est tout pour le moment. Il y a d’autres concepts intéressants derrière les RNN comme la “mémoire” et les RNN bidirectionnels que je couvrirai également dans d’autres articles. J’espère que vous avez apprécié la lecture de ce sujet. N’hésitez pas à laisser vos commentaires ci-dessous.