Actualité L’utilisation de l’apprentissage machine dans la simulation de la mécanique des fluides

Pour approfondir le sujet

NTT Corp. a développé un moteur de recommandation de livres pour enfants

NTT Corp. a annoncé avoir développé un système IA conçu pour proposer aux enfants le meilleur livre d'images en fonction de leurs préférences et...

Replay : Conférence de Laurence Devillers, Les enjeux éthiques de l’intelligence artificielle à AI for Tomorrow

Du 21 mai au 12 juillet 2020 se tient le cycle de webinars d'AI for Tomorrow. À cette occasion, Laurence Devillers (Professeur d'intelligence artificielle...

La Chine utilisera l’IA pour développer des systèmes d’aide à la décision pour ses sous-marins nucléaires

La Chine se lance dans le développement de systèmes d'intelligence artificielle pour ses sous-marins nucléaires. Renforcer leurs capacités de raisonnement devrait pouvoir donner aux commandants...

“Deep learning dans la vraie vie” – Conférence de Yoann Benoit et Sandra Pietrowska au XebiCon’17

XebiCon'17 - "Deep learning dans la vraie vie" Par Yoann Benoit, Data Scientist & Sandra Pietrowska, Data Scientist, chez Xebia. Le deep learning est la...

L’utilisation de l’apprentissage machine dans la simulation de la mécanique des fluides

La mécanique des fluides (forme liquide ou gazeuse) est un domaine largement étudié en physique. Dans ce domaine, l’équation de Navier-Stokes est la plus importante car elle sert à décrire le mouvement des fluides. Ainsi, une seule équation permet aussi bien de simuler un écoulement d’eau d’un robinet que calculer la trajectoire de l’air. D’autres équations sont également importantes (notamment celle d’Euler) mais nous allons nous focaliser sur Navier-Stokes par cohérence avec l’expérience proposée.

Navier-Stokes, un problème complexe :

Si l’équation de Navier-Stokes modélise le comportement des fluides, sa résolution n’est pas des plus simples. Cela vient du fait qu’elle est non linéaire, suivant les milieux d’observations, les turbulences (exemple: passage d’un avion lors d’un calcul de trajectoire d’un courant d’air) rendent les calculs quasi-impossibles.

Les simulations des mouvements des fluides :

Pour pallier à cette difficulté, les scientifiques ont choisi de prendre des approximations de résolutions de cette équation. Il en existe plusieurs, suivant les contraintes posées en besoin de fiabilité ou de temps de calcul. Cela ne permet pas d’avoir une modélisation qui reflète exactement la réalité, mais en reste assez proche pour que les solutions soient exploitables, notamment pour faire des simulations.

Les simulations utilisent donc la génération de millions de particules sur lesquelles elles appliquent des approximations de Navier-Stokes pour calculer le mouvement de chacune des particules.

Et l’apprentissage machine dans tout ça ?

Il peut intervenir sur plusieurs applications, tel que la prédiction de mouvement, l’augmentation du réalisme des simulations, etc… Pour cet article, nous allons nous focaliser sur un point en particulier, la prédiction de mouvement.

Quelle utilité me diriez-vous, puisque l’on sait déjà simuler de tels mouvements ?

Nous avons vu que les simulations étaient confrontées à deux problèmes majeurs, la précision et le temps de calcul. Pour cet article nous allons voir comment l’apprentissage machine peut aider à réduire le temps de calcul.

La grande question est : Quelles données faut-il passer à mon modèle pour qu’il puisse apprendre les préceptes de la mécanique des fluides, et ainsi, prédire plus ou moins correctement les mouvements des fluides.

Précédemment nous avons vu que les simulations génèrent des millions de « particules » possédant chacune une position et une vélocité (vitesse + direction) par rapport à un contexte. Cela nous donne un vecteur modélisant l’état d’une particule dans un milieu.

Grace aux données des simulations, nous avons pour chaque particule, un vecteur assez riche en information modélisant les données essentielles pour chaque instant de la simulation et permettant de prédire l’état de la particule à la prochaine étape.

Le but va donc être, de passer en entrée du modèle un vecteur pour une particule à un instant t, et le modèle devra prédire en sortie le vecteur pour l’instant t+1.

L’expérience proposée est la suivante :

  1. On génère plusieurs simulations via l’algorithme de résolution « PBF ». On récupère un échantillon (4%) des particules sur 12 images de chaque simulation, soit 100 millions d’exemples.
  2. On choisit un modèle de type foret de régression, avec 20 de profondeur maximale.
  3. On pré-entraine ce modèle, 4 jours sur un cluster de 10 ordinateurs.
  4. On le teste avec les données en entrée t et les données en sortie qui doivent correspondre au t+1 de la simulation utilisant « PBF ».
  5. On récupère maintenant toutes les particules de 300 images sur toutes les simulations, soit 60 milliards d’exemples.
  6. On ré-entraine le modèle, 8h sur le même cluster d’ordinateurs.
  7. Le modèle est maintenant prêt à prédire les mouvements des particules.

Les résultats :

resultats_1

Bien que les résultats ne soient pas extrêmement fidèles à la référence, l’œil humain adhère toujours à la cohérence de la simulation. Par contre, le temps de calcul nécessaire à considérablement diminué !

Temps d’exécution :

Méthode
 
Simulation PBF
 
Forêt de régression
CPU
 
70.2 s
 
2.2 s
GPU
 
5.25 s
 
24.08 ms

Quelques millisecondes pour générer une étape de la simulation, cela permet de faire des simulations en temps réel ! Et c’est en cela que l’apprentissage machine devient extrêmement intéressant.

Les limites :

Plusieurs limites sont notables dans ce procédé. Premièrement, la nécessité d’avoir déjà un outil permettant de générer une simulation.

Un temps d’entrainement relativement long pour l’apprentissage.

Mais surtout, mathématiquement parlant, une simulation se base sur une approximation de Navier-Stokes, et le modèle fait une approximation de cette simulation. Nous avons donc une approximation d’approximation, ce qui nous éloigne assez de la réalité du phénomène.

Synthèse :

resultats_2

Type de problème : Régression, apprentissage supervisé.

Modèle utilisé : Foret de régression, 20 de profondeur maximale.

Entrainement : 1) 100 millions d’exemples, 4 jours sur un cluster de 10 ordinateurs. 2) 60 milliards d’exemples, 8h sur le même cluster.

Test : Comparaison aux données renvoyées par la simulation.

Résultat : Relativement éloigné de la valeur de référence, mais temps de calcul extrêmement réduit. Le résultat reste tout de même exploitable.

Conclusion :

Le modèle a appris les bases de la mécanique des fluides, assez fidèlement pour qu’une simulation semble réaliste pour l’œil humain. La principale utilité est la réduction du temps d’exécution (de plusieurs secondes à quelques millisecondes) qui permet de faire de la simulation en temps réel et/ou de faire des simulations sur de bien plus grandes échelles.

 

Ressources :

L’ubor Ladicky & al 2015

Transcription : comment Bertin IT accompagne Crédit Agricole CIB pour renforcer la conformité de ses salles de marché

Des solutions de traitement automatique du langage sont actuellement utilisées dans de nombreux secteurs dont le trading. C'est notamment le cas de MediaSpeech® de...

Appel à contributions pour la CAID (Conference on Artificial Intelligence for Defense) qui se tiendra à Rennes

Dans le cadre de la cinquième European Cyber Week et de la 26e conférence C&ESAR, se tiendra la deuxième conférence CAID (Conference on Artificial...

Recherche médicale : Owkin clôture sa série A avec un total de 70 millions de dollars levés

La start-up Owkin a annoncé clôturer sa série A avec un total de 70 millions de dollars levés. Cette levée de fond se conclut...

Nouvelle-Aquitaine : SATT Aquitaine Science Transfert lance chrysa-link, son incubateur deep-tech

La SATT Aquitaine Science Transfert a officiellement lancé chrysa-link, son incubateur deep tech. En activité depuis l'an dernier, il est opéré par Bpifrance et...