Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Physics Forests
Des simulations physiques de qualité uniquement par de l'apprentissage automatique

Le , par dourouc05

55PARTAGES

9  0 
L'apprentissage automatique (souvent désigné par son sobriquet marketing "intelligence artificielle" nourrit bon nombre de "révolutions" dans tous les domaines de l'informatique. Un axe cependant peu développé est son utilisation pour réduire les temps de calcul : certains ont eu l'idée de remplacer des algorithmes assez coûteux en temps par des approximations par apprentissage. Des chercheurs québécois ont, par exemple, utilisé cette approche pour des algorithmes d'optimisation ; des Suisses se sont emparés de la simulation physique. Bien évidemment, personne ne promet de remplacer des algorithmes éprouvés par de l'apprentissage en réduisant uniquement les temps de calcul : les solutions alors obtenues sont souvent de moins bonne qualité. Dans le cas des simulations physiques, cependant, on arrive à garder une précision suffisante pour que les animations soient réalistes dans des jeux.

C'est à cela que sert Physics Forests, une suite d'effets physiques implémentés par de l'apprentissage automatique. L'entraînement se fait sur d'autres simulations, effectuées à une assez haute précision. En 2017, sur une carte graphique NVIDIA GTX 1080 (le haut de gamme, donc), l'équipe zurichoise arrivait à simuler une dizaine de millions de particules en temps réel dans le contexte d'une simulation de fluides plus, semble-t-il, que NVIDIA FleX, par exemple).


L'approche suivie est ici fondamentalement différente des autres solveurs : bien que l'élément fondamental soit la particule (partagé par certains moteurs physiques comme FleX — on parle de simulation PBF, le déplacement de ces particules ne suit pas les équations de la physique (Navier-Stokes, pour des fluides, par exemple), mais le résultat d'une boîte noire (le modèle d'apprentissage). Cette dernière effectue une régression sur le résultat qu'une simulation traditionnelle obtiendrait dans ces conditions. Les prédictions que l'on obtient alors sont assez proches des résultats des simulations d'origine : on peut même qualifier ce moteur physique de plus stable, vu que les prédictions ne s'écartent pas vraiment de la plage de valeurs en entrée, une particule n'aura pas une accélération très grande dans certains cas pathologiques — une propriété désirée, mais pas forcément facile à obtenir. Le principal point d'intérêt est que la prédiction est plus facile à effectuer qu'une étape de simulation de Navier-Stokes : on peut gagner un facteur cent à mille en temps de calcul !

Contrairement à bon nombre d'applications d'"intelligence artificielle", Physics Forests n'utilise pas de réseaux neuronaux, même si ceux-ci seraient particulièrement adaptés aux calculs sur processeur graphique surtout avec des cartes NVIDIA Turing).
Plutôt, le projet se focalise sur des forêts d'arbres de régression (d'où son nom), des modèles nettement moins coûteux à entraîner et souvent tout aussi performants pour des tâches courantes. Toutes les contraintes d'une simulation physique ne sont pas explicitement implémentées : ainsi, même si l'eau n'est pas compressible (si on met de l'eau dans un piston, peu importe la force que l'on applique, on n'arrivera pas à faire diminuer le volume d'eau), Physics Forests… ignore le problème. C'est une des caractéristiques qui permet d'augmenter sa stabilité, même dans le cas où l'utilisateur impose des interactions très dynamiques, au risque d'obtenir une solution assez écartée de la solution "physique".

Les développements actuels portent sur une variété d'autres effets physiques souvent coûteux en temps de calcul : corps rigides, fracturation, destruction, avec l'objectif d'améliorer d'un facteur similaire les temps de calcul. Aussi, en vue de la commercialisation de la technologie, des extensions pour les moteurs de jeu et des outils d'animation sont en cours de développement.

Source : Physics Forests: Using Machine Learning for Real-time Fluid Simulation.

Voir aussi : les vidéos réalisées par l'équipe.
Site officiel.

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de Matthieu Vergne
Expert éminent https://www.developpez.com
Le 07/04/2019 à 15:00
Citation Envoyé par dourouc05 Voir le message
L'apprentissage automatique (souvent désigné par son sobriquet marketing "intelligence artificielle"
Ne mélangeons pas tout. L'IA est un domaine qui existe depuis des décennies, l'apprentissage automatique étant un sous-domaine de l'IA qui a vu le jour plus tard et est aujourd'hui particulièrement en vogue. Avant de parler d'apprentissage automatique, l'IA c'était les systèmes experts, ce qu'on appelle aujourd'hui les GOFAI (Good Old Fashioned AI). L'IA aujourd'hui, c'est certes pour beaucoup de l'apprentissage automatique, mais pas que. Les systèmes experts existent encore, notamment en médecine. On a aussi les techniques de recommandation, lourdement utilisés sur les sites de e-commerce, la synthèse vocale, qu'on connait depuis avant l'apprentissage automatique, les algorithmes de recherche, etc.

Il est vrai qu'aujourd'hui, quand on parle d'IA, on parle la plupart du temps d'une technique d'apprentissage automatique, justement car c'est la tendance du moment. Mais ça n'est pas le "sobriquet marketing" de cet unique sous-domaine.

Pour revenir au sujet, il était temps que ce genre d'application (apprentissage au lieu de résolution classique) soient appliqués. Pour des applications non critiques, comme les jeux, le gain est évident : a contrario d'une formule à résoudre, qu'il est difficile de modifier sans avoir des effets significatifs sur les comportements observés, on peut facilement et arbitrairement réduire la complexité du modèle tant que le niveau de qualité reste acceptable, en profitant des gains offerts par ladite réduction. Vivement que cela soit aussi appliqué à l'IA des PNJ par exemple. Cela ouvrirait énormément les possibilités de gameplay.
2  1