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

Pour approfondir le sujet

Sur le même thème :

NVIDIA GTC : NVIDIA s’apprête à mettre la France à l’honneur cette année

NVIDIA GTC, une conférence globale dédiée à l'avancée de l'intelligence artificielle et de l’informatique accélérée, se tiendra du 18 au 21 mars, marquant une...

Le Monde signe un partenariat pluriannuel avec OpenAI et se dote d’une charte sur l’IA

On savait OpenAI en tractations avec plusieurs médias pour entraîner ses LLM sur leurs publications. En France, c'est avec le journal Le Monde que...

Retour sur Copilot for Finance, l’assistant d’IA lancé en preview par Microsoft

Après avoir lancé Copilot Pro, un abonnement premium pour les particuliers permettant de créer un assistant d'IA personnalisé, Microsoft a récemment annoncé la préversion...

Etude de BpiFrance Le Lab : l’utilisation des IA génératives par les dirigeants de PME-TPE est encore très limitée

Bpifrance Le Lab a publié ce 14 mars une étude sur les usages que font les dirigeants des IA Génératives au sein des TPE...

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 :
CO2 Calculator par Axionable

L’impact carbone de la publicité est aujourd'hui colossal et s’entend depuis la production des produits vendus jusqu’à leur utilisation, en passant pa...

 

Contributeur expert

Thibault Neveu

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

Partager l'article

NVIDIA GTC : NVIDIA s’apprête à mettre la France à l’honneur cette année

NVIDIA GTC, une conférence globale dédiée à l'avancée de l'intelligence artificielle et de l’informatique accélérée, se tiendra du 18 au 21 mars, marquant une...

Le Monde signe un partenariat pluriannuel avec OpenAI et se dote d’une charte sur l’IA

On savait OpenAI en tractations avec plusieurs médias pour entraîner ses LLM sur leurs publications. En France, c'est avec le journal Le Monde que...

Retour sur Copilot for Finance, l’assistant d’IA lancé en preview par Microsoft

Après avoir lancé Copilot Pro, un abonnement premium pour les particuliers permettant de créer un assistant d'IA personnalisé, Microsoft a récemment annoncé la préversion...

Etude de BpiFrance Le Lab : l’utilisation des IA génératives par les dirigeants de PME-TPE est encore très limitée

Bpifrance Le Lab a publié ce 14 mars une étude sur les usages que font les dirigeants des IA Génératives au sein des TPE...