Skip to content

Machine learning implementation for the creation of high order methods for stochastic differential equations via modified equations

Notifications You must be signed in to change notification settings

AdrienAngeAndre/ML_Stochastic_Modified_equations

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ML_Stochastic_Modified_equations

Ce code à pour but en partant d'une EDS simple et d'un intégrateur numérique de créer un réseau de neurones pour l'apprentissage d'une EDS modifié, on retouve dans ce dossier plusieurs éléments :

slide_EDS.pdf corresponds aux slides de présentations du travail lors d'une soutenance

Rapport.pdf corresponds au raport illustrant la problématique ainsi que le travail effectué de manière détaillé

Figure contient les figures utilisés dans le rapport et la présentation

Bibliography contient les références bibliographiques du travail

NN_EDO.py contient ma première version du travail dans le cas non stochastique

code contient le code finale pour la version stochastique du travail, avec plus de détails :

code/Field.py contient la définition d'un objet représentant un champs de vecteur ainsi que 2 extensions de cette classe représentant un champs de vecteur modifié par Machine Learning et analytiquement. On y retrouve aussi des fonctions illustrant des champs de vecteurs classiques. Les seuls champs de vecteur implémenter pour l'instant sont les champs de vecteurs utilisés pour l'EDS Linéaire et pour le Pendule Stochastique.

code/Schéma.py contient la définition d'un objet représentant un intégrateur numérique, il prends en paramètre le type d'integrateur ainsi que les 2 champs de vecteurs de l'EDS associé (qui peuvent être les même / qui peuvent êtres modifiés). Les types d'intégrateurs implémentés pour l'instant sont Euler Maruyama / Point Milieu ainsi qu'une version réecrite de EMaruyama pour s'adpater au cas Linéaire. Il contient aussi des fonctions auxiliaires aux Schéma numériques comme un Point Fixe pour MidPoint

code/models.py contient tout ce qui attrait au réseau de neurones cad la défintion des classes de réesaux comme les MLP, la fonction créatrice des modèles en fonctions du problème et les fonctions ayant attrait à l'apprentissage de modèle comme la fonction pour entrainer un lot ou pour calculer la perte.

code/Init.py contient les fonctions d'initialisations des données, on y retrouve les fonctions créants les générateurs de N quadruplets (y0,h,E(y1),V(y1)) servant de données d'entrainement ou de tests. On y retrouve aussi la fonction créant l'optimiser.

code/Plot.py contient les fonctions relatives à l'affichage des metrics importantes de problèmes comme l'évolution de la perte, l'erreur faible...

code/Variables.py est un fichier de commande dans lequel on retrouve les données relatives aux réseaux de neurones comme les hyperparamètres. On y retrouve aussi la definition d'un obejct stockant les variables de notre système numérique comme le type d'intégrateur ou les types des termes de drift ou de diffusions qui servent à intialiser les objets présents dans les autres fichiers. On y retouve aussi des valeurs arbitraires de ces paramètres utilisés dans le fichier NN_EDS.py

code/NN_EDS.py est le fichier principal, il execute un entrainement et plot la Loss en utilisant les paramètres présents dans le fichier Variables

code/Linear.py est un fichier de test, il execute un entrainement et plot la Loss et d'autres metrics comme l'erreur faible en utilisant des paramètres correspondant au test effectué pour le système Linéaire codés en durs dans le fichier

code/Pendule.py est un fichier de test, il execute un entrainement et plot la Loss et d'autres metrics comme l'erreur faible en utilisant des paramètres correspondant au test effectué pour le système Pendule stochastique codés en durs dans le fichier

code/Additif.py est un fichier de test, il execute un entrainement et plot la Loss et d'autres metrics comme l'erreur faible en utilisant des paramètres correspondant au test effectué pour le système Additif codés en durs dans le fichier

About

Machine learning implementation for the creation of high order methods for stochastic differential equations via modified equations

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published