Tutoriels intelligence artificielle Formation TensorFlow : Coder un réseau de neurones récurrent

Pour approfondir le sujet

Sur le même thème :

Après les Etats-Unis, Meta fait le choix de tester son chatbot en Inde et certains pays d’Afrique

En septembre 2023, Meta annonçait le lancement bêta de Meta AI, un assistant IA, aux Etats-Unis. Le chatbot est actuellement en phase de test...

Les géants de la tech, portés par la GenAI : Google franchit de nouveau la barre des 2 billions de dollars

Les GAFAM ou GAMAM (Google, Apple, Facebook (Meta), Amazon, Microsoft) portés par l'essor de l'IA générative, connaissent une croissance importante de leur capitalisation boursière...

Retour sur les principales innovations d’Adobe en matière d’IA générative

Le sommet Adobe Firefly 2023 avait surtout été marqué par la présentation de Firefly, une famille de modèles d’IA générative, qui a d'ailleurs été...

xAI annonce la prochaine disponibilité de Grok 1,5 Vision

La semaine dernière a été, comme pour une grande partie de celles qui l'ont précédée, rythmée par les annonces autour de la GenAI et...

Formation TensorFlow : Coder un réseau de neurones récurrent

Dans cette nouvelle vidéo de formation à TensorFlow 2.0, nous allons coder notre premier réseau de neurones récurrent. Ce cours s’appuie sur deux vidéos précédentes : Comprendre les réseaux de neurones récurrents, comprendre les réseaux LSTM.

Accéder au Notebook (code source) de ce cours

 

Retourner au sommaire de la formation à TensorFlow

 

 

Transcription de cette vidéo

On a vu dans les dernières vidéos comment on pouvait générer des batchs, on a donc une méthode pour générer des batchs, on a vu l’importance du one hot encoding, on a vu à quoi ressemblait notre dataset, maintenant on va voir comment créer notre réseau de neurones récurrent. L’important pour pouvoir suivre cette vidéo, c’est vraiment que vous ayez une compréhension des vidéos que j’ai faites sur les réseaux de neurones récurrents pour comprendre comment ça fonctionne. On va direcctement partir sur la création de notre modèle. Le modèle qu’on va créer, ça va être celui-ci. C’est un peu différent des modèles que j’ai montré précédemment, ou l’on avait directement les cellules LSTM et les outputs. Je vais stacker les cellules LSTM (les mettre les unes sur les autres). Sachant que les cellules du même étage sont les mêmes, si ce n’est que les états sont différents puisque nous sommes à des instants différents de la séquence. Mais les cellules des deux étages sont différentes. Cela nous permet d’augmenter le nombre de features qui vont pouvoir être détectées par notre réseau et les combinaisons possibles qui vont être effectuées pour pouvoir générer des lettres et du texte. C’est la seule nuance, mais on va voir que dans l’implémentation, l’ajout de ce layer ne va pas beaucoup faire varier l’implémentation du réseau. Si ce n’est qu’on a un état initial par cellule LSTM. Nous allons définir dans tf_inputs les entrées de notre réseau, en utilisant tf.keras.Input. (Nous utilisons la valeur None pour ne pas avoir à déterminer de valeur fixe dès à présent). En revanche, on spécifie une taille de batch dès à présent : 64. Cette fois, nous ne ferons pas de subclassing, contrairement aux dernières vidéos. Nous définirons directement nos layers. Je définis mon premier one hot layer (défini dans la vidéo précédente). On instantie le layer en lui passant l’input. Mais ce dernier n’est pas encore rempli. Nous voyons que le code fonctionne directement, mais qu’on obtient un tensor qui n’a pas encore de valeur. Il est ensuite très facile de définir nos layers de cellules LSTM grâce à tf.keras.layers.LSTM . On définit la taille des états de notre cellule ( 128 valeurs dans l’exemple) , ainsi que les paramètres return_sequences (qui permet de récupérer toute la séquence d’un seul coup si on le met à True, ou de ne récupérer que le dernier élément de la séquence si on le met à False). Nous avons également le paramètre stateful qui permet de ne pas retourner à l’état initial à chaque appel. Nous passons one_hot en paramètre de notre premier layer. Nous définissons ensuite notre deuxième layer de manière identique, en passant cette fois notre premier layer en paramètre du précédent. Nous ajoutons ensuite un dense layer caché avec activation relu et nous lui passons en entrée la sortie du 2ème layer LSTM. Nous déclarons ensuite notre layer de sortie, qui est également de type Dense, en utilisant la méthode d’activation softmax et en passant en entrée notre layer caché. Il ne nous reste plus qu’à créer notre modèle avec tf.keras.Model en définissant les paramètres inputs à tf_inputs et outputs à outputs.

Nous voyons ensuite comment réinitialiser les cellules de notre modèle RNN. Nous verrons prochainement comment entrainer ce modèle.


1ère Marketplace de l'IA et de la transformation numérique vous recommande :
Plateforme d'évaluation éthique ADEL par GOODALGO

Goodalgo met à votre disposition sa solution d’audit éthique adel, pour évaluer vos projets numériques & d’ia. la plateforme adel est une solution hé...

 

Contributeur expert

Thibault Neveu

Thibault Neveu est un chercheur en intelligence artificielle. Il a été membre de la section rec

Partager l'article

Après les Etats-Unis, Meta fait le choix de tester son chatbot en Inde et certains pays d’Afrique

En septembre 2023, Meta annonçait le lancement bêta de Meta AI, un assistant IA, aux Etats-Unis. Le chatbot est actuellement en phase de test...

Les géants de la tech, portés par la GenAI : Google franchit de nouveau la barre des 2 billions de dollars

Les GAFAM ou GAMAM (Google, Apple, Facebook (Meta), Amazon, Microsoft) portés par l'essor de l'IA générative, connaissent une croissance importante de leur capitalisation boursière...

Retour sur les principales innovations d’Adobe en matière d’IA générative

Le sommet Adobe Firefly 2023 avait surtout été marqué par la présentation de Firefly, une famille de modèles d’IA générative, qui a d'ailleurs été...

xAI annonce la prochaine disponibilité de Grok 1,5 Vision

La semaine dernière a été, comme pour une grande partie de celles qui l'ont précédée, rythmée par les annonces autour de la GenAI et...