Prédiction des séries temporelles en deep learning - Partie2
- Descrição
- Currículo
- FAQ
- Revisões
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.
-
1Le modèle DSTP-RNNVídeo Aula
-
2Chargement des données et création des datasetsVídeo Aula
-
3Création de l'encodeur à deux phasesVídeo Aula
-
4Création du décodeur et du modèle globalVídeo Aula
-
5Prédictions single-stepVídeo Aula
-
6Comparaisons des modèles DA-RNN et DSTPVídeo Aula
-
7Prédiction multi-stepVídeo Aula
-
8Le modèle DSTPII-RNNVídeo Aula
-
9Prédictions avec le modèle DSTPII en single-stepVídeo Aula
-
10Prédictions avec le modèle DSTPII en multi-stepVídeo Aula
-
11Améliorer les réseaux récurrents avec les Recurrent Highway Networks (RHN)Vídeo Aula
-
12Structure des RHNVídeo Aula
-
13Codage d'un réseau RHNVídeo Aula
-
14Le dropout variationnelVídeo Aula
-
15Codage du dropout variationnel dans la structure RHNVídeo Aula
-
16Tests sur les RHNVídeo Aula
-
17Le modèle HRHNVídeo Aula
-
18Codage du réseau de convolution de l'encodeurVídeo Aula
-
19Ajout de l'encodeur RHNVídeo Aula
-
20Codage du décodeur HRHNVídeo Aula
-
21Prédictions single-step avec le modèle HRHNVídeo Aula
-
22Prédictions multi-step avec le modèle HRHNVídeo Aula
-
23Les correcteurs PID (Proportionnel Integral Dérivé)Vídeo Aula
-
24Structure du modèle à base de correcteur PIDVídeo Aula
-
25Mise en place du prédicteur autoregressif VAR avec le modèle HRHN MultistepVídeo Aula
-
26Mise en place du correcteur PID avec le modèle HRHN MultistepVídeo Aula
-
27Mise en place de la structure globale HRHN-VAR-PIDVídeo Aula
-
28Prédictions avec le modèle HRHN-VAR-PIDVídeo Aula
-
29Prédictions avec le modèle DSTPII-VAR-PIDVídeo Aula
-
30Petite introduction à RaytuneVídeo Aula
-
31Création du modèle DSTP et définition des hyperparamètres de RaytuneVídeo Aula
-
32Définition des callbacks de KerasVídeo Aula
-
33Définition de la fonction d'entrainement de RaytuneVídeo Aula
-
34Synchronisation des enregistrements avec Google DriveVídeo Aula
-
35Lancement de l'optimisation Bayesienne et suivi avec TensorboardVídeo Aula
-
36Optimisation du modèle HRHN sous RaytuneVídeo Aula
-
37Résultats d'optimisation du modèle DSTPVídeo Aula
-
38Résultats d'optimisation du modèle HRHNVídeo Aula
-
39IntroductionVídeo Aula
-
40Arbres de décision - ClassificationVídeo Aula
-
41Arbres de décision - RégressionVídeo Aula
-
42Construction automatique des arbres en régressionVídeo Aula
-
43Construction automatique des arbres en classificationVídeo Aula
-
44Bootsrap aggregating (bagging) en régressionVídeo Aula
-
45Bootsrap aggregating (bagging) en classificationVídeo Aula
-
46Retour sur les hypothèses du baggingVídeo Aula
-
47Méthode des forets aléatoiresVídeo Aula
-
48Importance des variablesVídeo Aula
-
49ObjectifVídeo Aula
-
50Etude des corrélations entre les variables exogènesVídeo Aula
-
51Choix du nombre d'arbresVídeo Aula
-
52Sélection des variables par importance de GiniVídeo Aula
-
53Sélection des variables par importance des permutationsVídeo Aula
-
54Sélection des variables avec la méthode RFE (Recursive Feature Elimination)Vídeo Aula
-
55Sélection des variables avec l'algorithme VSURFVídeo Aula
-
56Analyse des résultats obtenus avec VSURFVídeo Aula
-
57Utiliser VSURF sur un serveur dédié Google CloudVídeo Aula
-
58Prédictions avec le modèle DSTP en utilisant les résultats de prédiction deVídeo Aula
-
59Prédictions avec le modèle DSTP en utilisant les résultats d'interprétationVídeo Aula
-
60Prédictions avec l'algorithme de random forestVídeo Aula
-
61Petite introduction à RaytuneVídeo Aula
-
62Création du modèle DSTP et définition des hyperparamètres de RaytuneVídeo Aula
-
63Définition des callbacks de KerasVídeo Aula
-
64Définition de la fonction d'entrainement de RaytuneVídeo Aula
-
65Synchronisation des enregistrements avec Google DriveVídeo Aula
-
66Lancement de l'optimisation Bayesienne et suivi avec TensorboardVídeo Aula
-
67Optimisation du modèle HRHN sous RaytuneVídeo Aula
-
68Résultats d'optimisation du modèle DSTPVídeo Aula
-
69Résultats d'optimisation du modèle HRHNVídeo Aula
-
70Modèle STAMVídeo Aula
-
71Codage de la couche de création des motifs spatiauxVídeo Aula
-
72Codage de la couche de création des motifs temporelsVídeo Aula
-
73Codage des encodeurs spatiaux et temporelsVídeo Aula
-
74Codage des décodeurs spatiaux et temporelsVídeo Aula
-
75Création de la couche STAMVídeo Aula
-
76Prédictions en single stepVídeo Aula
-
77Prédictions en multi-stepVídeo Aula
-
78Extraction de l'importance des variablesVídeo Aula
