Prédiction des séries temporelles en deep learning - Partie2

Modèles avancés tirés de la recherche scientifique sous Keras/Tensorflow, Random Forest, optimisation d'hyperparamètres

Ratings: 4.83 / 5.00




Description

Pour aller encore plus loin que dans ma formation "Prédiction des séries temporelles en deep learning - Partie1" où vous avez travaillé sur le modèle DA-RNN, vous allez découvrir dans cette formation de nouveaux modèles plus complexes (DSTP-RNN, HRHN, STAM, Wavenet).

Ils sont issus de la recherche scientifique de ces dernières années et sont dédiés à la prédiction des séries temporelles avec le deep learning sous Python. Nous utiliserons les librairies telles que Tensorflow, Keras, Pandas, Numpy, Scikit learn pour les coder et nous les optimiserons avec la librairie Raytune.

Les travaux sont accessibles et exploitables en ligne grâce à l'utilisation des carnets Jupyter avec Google Colab. Aucune installation de logiciel spécifique sur son ordinateur n'est requise car tout le travail se fait en ligne.

A chaque étape d'apprentissage de ce cours, de nouveaux concepts sont introduits. Des explications claires permettent de bien les comprendre à travers 9 thèmes d'étude :

  • Le modèle DSTP-RNN est un modèle de type Seq2Seq multivarié, évolution majeure du modèle DA-RNN

  • Le modèle HRHN utilise des réseaux récurrents spécifiques de type RHN (Recurrent Highway Network) et des couches de convolutions 1D.

  • La méthode de compensation des erreurs à base de correcteur PID (Proportionnel Intégral Dérivé)

  • La librairie Raytune permet d'optimiser les hyperparamètres des modèles. Elle propose par exemple des algorithmes d'optimisation Bayesiens et différents planificateurs.

  • La méthode des forets aléatoires (Random Forest) est un algorithme puissant du deep learning pour faire de la régression et de la classification.

  • L'algorithme Random Forest permet également de sélectionner les variables les plus importantes contenues dans une série multivariée.

  • Utiliser la librairie VSURF sous R, spécifiquement conçu pour l'identification de l'importance des variables, sur un serveur dédié Google Cloud.

  • Le modèle STAM a la particularité d'être causal et évolutif, ce qui permet un meilleur suivi de l'importance des variables des séries multivariées.

  • Le modèle Wavenet de Google, qui est dédié à la génération de signaux audio, est également très utilisé dans la prédiction de séries temporelles.

Les activités en Python expliquent clairement comment les exploiter. D'une durée totale de plus de 9h, ce cours vous permettra d'être à l'aise dans l'utilisation avancée de Keras et Tensorflow pour coder vos propres couches et modèles, à partir de classes héritées. Les thèmes d'étude s'appuient sur des documents issus de la recherche scientifique et proposent des concepts importants qui ont été développés ces dernières années.

=== Prérequis ===

Ce cours fait suite à la première partie de ma formation sur l'utilisation de modèles avancés dédiés à la prédiction des séries temporelles (Prédiction des séries temporelles en deep learning - Partie1).

Si vous avez déjà une expérience en Deep Learning, vous découvrirez certainement de nouveaux thèmes d'étude qui vous permettront d'élargir vos compétences.

== Aide en ligne ===

Quelque soit votre niveau, je suis disponible pour vous aider dans votre progression. Vous pourrez éventuellement rencontrer des difficultés en Mathématiques ou en programmation car il est bien évident que vous avez tous un bagage différent en fonction de votre parcours (études ou professionnel).

Dans ce sens, il ne faudra surtout pas hésiter à me poser vos questions et je m'engage à y répondre dans un délai raisonnable. Votre motivation est essentielle pour réussir cette formation.


=== Thèmes étudiés dans la formation ===

#1. Le modèle DSTP-RNN est un modèle de type Seq2Seq multivarié, évolution majeure du modèle DA-RNN

L'inconvénient majeur du modèle DA-RNN est qu'il utilise des informations actuelles des séries exogènes pour réaliser ses prédictions. Le modèle DSTP-RNN est un modèle à attention spatio-temporelle qui améliore grandement l'architecture du modèle DA-RNN pour palier ce problème et augmenter ses performances.


#2. Le modèle HRHN utilise des réseaux récurrents spécifiques de type RHN (Recurrent Highway Network) et des couches de convolutions 1D.

Pour augmenter les performances des réseaux neuronaux, on empile plusieurs couches afin de créer des réseaux profonds. Mais des problèmes de convergence lors de l'entrainement apparaissent. C'est la raison pour laquelle l'architecture Highway Network a été crée.

Le réseau HRHN va plus loin en intégrant l'architecture Highway Network aux réseaux récurrents : ce sont les réseaux RHN (Recurrent Highway Networks).

Le modèle HRHN est un modèle qui utilise ces nouveaux réseaux récurrents. De plus, il utilise des couches de convolutions CNN 1D pour l'attention spatiale.


#3. La méthode de compensation des erreurs à base de correcteur PID (Proportionnel Intégral Dérivé)

Le régulateur PID, appelé aussi correcteur PID (proportionnel, intégral, dérivé) est un système de contrôle permettant d’améliorer les performances d'un asservissement, c'est-à-dire un système ou procédé en boucle fermée. C’est le régulateur le plus utilisé dans l’industrie où ses qualités de correction s'appliquent à de multiples grandeurs physiques.

Après avoir étudié en quoi ce type de correcteur se démarque de ses versions plus allégées, nous le mettrons en place dans les modèles DSTP-RNN et HRHN. Nous verrons qu'il permet d'augmenter les performances de nos modèles.


#4. La librairie Raytune permet d'optimiser les hyperparamètres des modèles.

L'optimisation des hyperparamètres est une opération essentielle dans l'élaboration d'un modèle car elle permet d'augmenter la précision des prédictions. Malheureusement, c'est un travail qui devient impossible à réaliser manuellement lorsque la complexité des modèles augmente. L'optimisation par Grid Search, souvent considérée comme une première approche, n'est pas non plus applicable dans ces cas car trop chronophage.

La librairie Raytune propose des algorithmes d'optimisation beaucoup plus performants qu'un simple Grid Search, tels que Hyperband, ASHA, PBT. Elle permet également d'intégrer des algorithmes externes tels qu'HyperOpt et l'optimisation Bayesienne.

Nous mettrons en œuvre cet outil afin d'optimiser les hyperparamètres de nos modèles et nous utiliserons Tensorboard pour suivre leurs évolutions. Nous verrons également comment synchroniser les données avec Google Drive.


#5. La méthode des forêts aléatoires (Random Forest).

L’algorithme des « forêts aléatoires » a été proposé par Leo Breiman et Adèle Cutler en 2001. Dans sa formule la plus classique, il effectue un apprentissage en parallèle sur de multiples arbres de décision construits aléatoirement et entraînés sur des sous-ensembles de données différents.

C’est un algorithme particulièrement performant pour les problématiques de prédiction. En particulier vous pouvez les utiliser quand vous avez un nombre de variables exogènes important.

Après avoir étudié le fonctionnement de cet algorithme, vous serez capable de le paramétrer en fonction de vos besoins.


#6. L'algorithme Random Forest pour sélectionner les variables les plus importantes contenues dans une série multivariée.

Lorsque les données à traiter sont trop nombreuses (par exemple si on s'intéresse à la recherche de gènes impliqués dans certaines maladies), les temps de calculs sont beaucoup trop long et il est nécessaire de trier les variables à utiliser par ordre d'importance pour réduire leur nombre.

De par sa structure, l'algorithme Random Forest est souvent utilisé pour sélectionner les variables les plus importantes. Nous utiliserons plusieurs techniques pour réaliser cette opération, comme la méthode RFE (Recursive Feature Selection)


#7. Utiliser l'algorithme VSURF sous R, spécifiquement conçu pour l'identification de l'importance des variables, sur un serveur dédié Google Cloud.

VSURF est une librairie sous R dédiée à la sélection de variables à l'aide de forêts aléatoires. Cet algorithme fournit deux sous-ensembles de variables associé a deux objectifs de sélection de variables pour des problèmes de régression et de classification. Le premier est un sous-ensemble de variables importantes pour l'interprétation. Le second est un sous-ensemble parcimonieux a l'aide duquel on peut faire de bonnes prédictions.

La stratégie générale est basée sur un classement préliminaire des variables donné par l'indice d'importance des forêts aléatoires, puis utilise un algorithme d'introductions ascendantes de variables pas a pas. Les deux sous-ensembles peuvent être obtenus automatiquement en gardant le comportement par défaut du package, mais peuvent également être réglés en jouant sur plusieurs paramètres.

Nous verrons comment mettre en place un serveur dédié Google Cloud avec R-Studio afin d'utiliser cette librairie pour effectuer des calculs en parallèles sur des ordinateurs puissants.


#8. Le modèle STAM : Un modèle causal et évolutif

Le modèle STAM est un des derniers modèles à base d'attention spatio-temporelle qui date de 2020. Il a la particularité d'être causal et évolutif.

Nous coderons ce modèle et nous verrons que ses spécificités permettent d'obtenir des informations fiables afin de sélectionner les variables.


#9. Le modèle Wavenet de Google.

WaveNet est un réseau neuronal profond pour générer de l'audio brut. Il a été créé par des chercheurs de la société d'intelligence artificielle basée à Londres DeepMind.

Plusieurs recherches scientifiques se sont intéressées à l'utilisation de ce modèle dans le domaine de la prédiction des séries temporelles avec des résultats très concluants.

Après avoir étudié le fonctionnement du modèle Wavenet dans sa version originale, nous verrons les adaptations qui sont proposées pour l'utiliser dans la prédiction des séries temporelles. Nous coderons ensuite son architecture afin de réaliser des prédictions sur nos séries.

What You Will Learn!

  • Comprendre et coder des modèles de prédiction avancés de séries temporelles issus de la recherche scientifique de ces dernières années sous Keras / Tensorflow
  • Comprendre et utiliser la méthode des forêts aléatoires (Random Forest) pour les prédictions et pour sélectionner les variables exogènes les plus importantes
  • Optimiser les hyperparamètres des modèles avec la librairie Raytune, utiliser ses algorithmes de recherche Bayesiens ainsi que ses algorithmes de planification
  • Utiliser l'algorithme VSURF afin d'extraire les variables les plus importantes d'une série exogène avec R
  • Utiliser un serveur dédié sous Google Cloud pour mettre en place l'application R-Studio permettant d'exécuter des programmes R
  • Utiliser un algorithme de compensation des erreurs à base de correcteur PID (Proportionnel Intégral Dérivé)

Who Should Attend!

  • Etudiants ou professionnels souhaitant approfondir leurs connaissances dans le domaine de la prédiction des séries temporelles à l'aide du deep learning.