Notas de tesis: aprenda a simular física compleja utilizando simuladores gráficos de redes

Archivo original

Aquí proporcionamos un marco general para simulaciones de aprendizaje y la implementación de un modelo único que se puede utilizar en una variedad de dominios físicos desafiantes, incluidos fluidos, sólidos rígidos y materiales deformables. Rendimiento de última generación. Nuestro marco, al que llamamos Graph Network Simulator (GNS), representa el estado de un sistema físico utilizando partículas, que se representan como nodos en un gráfico y calcula la dinámica aprendiendo el paso de mensajes. Nuestros resultados muestran que nuestro modelo puede escalar desde predecir un solo paso de tiempo que contiene miles de estados de partículas durante el entrenamiento hasta diferentes condiciones iniciales, miles de pasos de tiempo y agregar al menos un orden de magnitud más de partículas durante las pruebas. Nuestro modelo es robusto a la selección de hiperparámetros en varias métricas de evaluación: el principal determinante del rendimiento a largo plazo es la cantidad de pasos de paso de mensajes, lo que reduce la acumulación de errores al corromper los datos de entrenamiento con ruido. Nuestro marco GNS es el simulador de física de aprendizaje general más preciso hasta la fecha y promete resolver una variedad de problemas complejos directos e inversos.

Los simuladores realistas de física compleja son invaluables para muchas disciplinas de ciencia e ingeniería, pero crear y usar simuladores tradicionales puede ser prohibitivamente costoso. Construir un simulador puede llevar años de trabajo de ingeniería, lo que a menudo requiere el sacrificio de la versatilidad en aras de la precisión dentro de un rango limitado de configuraciones. Los simuladores de alta calidad requieren grandes cantidades de recursos informáticos y está prohibido ampliarlos. Incluso los mejores son a menudo inexactos debido a la falta de comprensión de la física y los parámetros subyacentes o a la dificultad para aproximarlos. Una alternativa atractiva a los simuladores tradicionales es utilizar el aprendizaje automático para entrenar simuladores directamente a partir de datos de observación, pero para espacios de estado grandes y dinámicas complejas, los métodos de aprendizaje estándar de un extremo a otro son difíciles de superar.

Aquí proponemos un marco general para aprender simulaciones a partir de datos: el "Simulador gráfico de red" (GNS). Nuestro marco impone un sesgo inductivo, donde los estados físicos ricos se representan mediante gráficos de partículas que interactúan y las dinámicas complejas se aproximan mediante transmisiones de mensajes aprendidos entre nodos.

Implementamos el marco GNS en un marco de aprendizaje profundo y descubrimos que puede aprender a simular con precisión una variedad de sistemas físicos donde interactúan fluidos, sólidos rígidos y materiales deformables. Nuestro modelo también se adapta bien a sistemas más grandes y plazos más largos que aquel en el que fue entrenado. Si bien los métodos de simulación de aprendizaje anteriores se centran en gran medida en tareas específicas, descubrimos que un único modelo GNS funciona bien en docenas de experimentos y, en general, es robusto a la selección de hiperparámetros. Nuestro análisis muestra que el rendimiento está determinado por factores clave: su capacidad para dar cuenta de interacciones de largo alcance, sesgos de atribución espacialmente invariantes y procedimientos de entrenamiento que reducen la acumulación de errores en trayectorias de simulación a largo plazo.

Simulación universal que se puede aprender

Asumimos que el estado del mundo en el tiempo t y la trayectoria del estado se pueden obtener aplicando dinámica física en k pasos de tiempo. Un simulador, S: X → X, simula la dinámica mapeando estados previos a estados causales futuros. Denotamos la trayectoria "desplegada" simulada como: , que se calcula de forma iterativa. El simulador calcula información dinámica que refleja cómo cambia el estado actual y la utiliza para actualizar el estado actual al estado futuro previsto. Un ejemplo son los solucionadores de ecuaciones diferenciales numéricas: estas ecuaciones calculan información dinámica, es decir, derivadas del tiempo, y el integrador es el mecanismo de actualización.

Un simulador que se puede aprender utiliza un aproximador de función paramétrica () para calcular información dinámica y sus parámetros se pueden optimizar para algunos objetivos de entrenamiento. Representa información dinámica cuya semántica está determinada por el mecanismo de actualización. Puede pensar en el mecanismo de actualización como una función que se toma y utiliza para predecir el siguiente estado, es decir. Aquí, asumimos un mecanismo de actualización simple (un integrador de Euler), y y representa la aceleración. Sin embargo, también se pueden utilizar actualizadores más complejos que se llaman varias veces, como los integradores de orden superior.

Mensaje transmitido en el diagrama de simulación

El método de simulación que podemos aprender es adoptar una representación del sistema físico basada en partículas, es decir, cada xi de n partículas representa su estado. . La dinámica física se aproxima mediante interacciones entre partículas, como el intercambio de energía y momento entre partículas. La forma en que se modelan las interacciones entre partículas determina la calidad y generalidad del método de simulación, por ejemplo, los tipos de efectos y materiales que se pueden simular, y en qué casos el método funciona mejor o peor. Estamos interesados ​​en aprender sobre estas interacciones.

En principio, debería permitirnos comprender que la dinámica de cualquier sistema puede expresarse como dinámica de partículas. Por lo tanto, es muy importante que diferentes valores hagan que la función de interacción entre partículas abarque un amplio rango.

La simulación basada en partículas se puede considerar como una transmisión de mensajes gráficos. Los nodos corresponden a partículas, los bordes corresponden a las relaciones de emparejamiento entre partículas y las interacciones se calculan en base a esto. Podemos entender métodos como SPH en este marco: los mensajes pasados ​​entre nodos pueden corresponder al uso de núcleos de densidad para evaluar la presión.

Definimos la generalidad basada en GN utilizando la correspondencia entre simuladores basados ​​en partículas y la transmisión de mensajes en gráficos. Nuestro trabajo se divide en tres pasos: codificador, procesador y decodificador.

Definición de codificador. Codificador: la representación del estado basada en partículas x está incrustada como una imagen latente, donde). Las incorporaciones de nodos son funciones aprendidas de los estados de las partículas. Agregue bordes dirigidos para crear rutas entre nodos de partículas potencialmente interactuantes. La incrustación de bordes es una función aprendida de las propiedades por pares de las partículas correspondientes ri;J, como el desplazamiento entre sus posiciones, las constantes del resorte, etc. Las incorporaciones a nivel de gráfico pueden representar propiedades globales como la gravedad y los campos magnéticos (aunque en nuestra implementación simplemente las adjuntamos como funciones de nodo de entrada).

Definición de procesador. Procesador: Calcula las interacciones entre nodos a través de m pasos de paso de mensajes de aprendizaje, generando una serie de gráficos latentes actualizados. Devuelve el gráfico final. La mensajería permite que la información se difunda y cumpla con restricciones: la cantidad de pasos de mensajería requeridos puede aumentar con la complejidad de la interacción.

Definición de decodificador. decodificador: nodos de la imagen latente final). El aprendizaje debe hacer que la representación refleje información dinámica relevante, como la aceleración, para que sea semánticamente significativa para el proceso de actualización.

Representación de entradas y salidas. El vector de estado de entrada de cada partícula representa la secuencia de velocidad anterior en esa posición y tiene las características de capturar propiedades estáticas del material (como agua, arena, masa, rigidez, partículas límite). Si corresponde, las propiedades generales g del sistema incluyen fuerzas externas y propiedades generales del material. El objetivo de predicción del aprendizaje supervisado es la aceleración promedio de cada partícula. Tenga en cuenta que en nuestro conjunto de datos solo necesitamos vectores: use diferencias finitas para calcular la suma.

Detalles del codificador. El codificador construye una estructura gráfica G0 asignando un nodo a cada partícula y agregando bordes entre partículas dentro de un "radio de conexión" r, que refleja las interacciones locales de las partículas y se mantiene para todas las simulaciones con la misma resolución constante. Para generar el despliegue, en cada paso de tiempo los bordes del gráfico son recalculados por el algoritmo vecino más cercano para reflejar la posición actual de la partícula.

El codificador implementa la suma como un perceptrón multicapa (MLP), que codifica características de nodo y características de borde en una suma vectorial latente de tamaño 128.

Probamos dos variaciones del codificador para distinguir si utilizan información de posición absoluta o relativa. Para variables absolutas, la entrada es la xi mencionada anteriormente con características globales. La entrada de ri;j en realidad no contiene ninguna información, por lo que se descarta, donde el vector de sesgo fijo se configura para que sea entrenable. Las variantes de codificador relativo están diseñadas para imponer un sesgo de detección constante en la posición espacial absoluta. La información pi de xi debe ignorarse mediante enmascaramiento. Proporciona el desplazamiento de posición relativa, cuya magnitud es . Ambas variantes conectan el atributo global g a cada xi, que luego se pasa a ".

Detalles del procesador. Nuestro procesador utiliza la misma estructura MLP con funciones internas de actualización de nodos y bordes El MGN (donde m es el super parámetro) pila, y los parámetros para disfrutar o no. El GN que utilizamos no tiene funciones globales ni actualizaciones globales (similar a las redes interactivas), y los atributos potenciales de nodo y borde de entrada y salida son Hay una conexión residual entre

Detalles del decodificador. Después del decodificador, el integrador de Euler se utiliza para actualizar la posición y la velocidad futuras, por lo que corresponde a la aceleración y tiene dimensiones 2D o 3D, según el dominio físico. del entrenamiento supervisado es solo la parametrización de estos vectores. Todos los MLP tienen dos capas ocultas (con activación ReLU, seguidas de una capa de salida inactiva, cada capa es de tamaño 128. Todos los MLP (excepto el decodificador de salida) están seguidos de un. LayerNorm(capa. Generalmente encontramos que se mejora la estabilidad del entrenamiento.

Software.

Usamos TensorFlow 1, Sonnet 1 y la biblioteca "GraphNet" para implementar este modelo.

Ruido de entrenamiento. Modelar sistemas de simulación complejos y caóticos requiere un modelo que reduzca la acumulación de errores en implementaciones a largo plazo. Debido a que entrenamos nuestros modelos con datos reales de un solo paso, nunca les suministramos datos de entrada que estén corrompidos por este ruido acumulativo. Esto significa que cuando generamos generalizaciones alimentando el modelo con nuestro propio ruido y tomando predicciones previas como entrada, el hecho de que sus entradas estén fuera de la distribución de entrenamiento puede generar errores mayores, acumulando rápidamente más errores. Usamos un método simple para hacer que el modelo sea más robusto a las entradas ruidosas: durante el entrenamiento, corrompimos las posiciones y velocidades de entrada del modelo con ruido de caminata aleatoria, por lo que la distribución del entrenamiento es más similar a la distribución producida cuando se introduce.

Formalización. Normalizamos los elementos de todos los vectores de entrada y objetivo a media cero y varianza unitaria utilizando estadísticas calculadas en línea durante el entrenamiento. Los experimentos preliminares muestran que la normalización puede acelerar el entrenamiento pero no mejora significativamente el rendimiento de la fusión.

Funciones de pérdida y optimizadores. Tomamos muestras aleatorias de pares de estados de partículas de la trayectoria de entrenamiento, calculamos la aceleración objetivo y calculamos la pérdida L2 en función de la aceleración prevista de cada partícula, es decir, Usamos un tamaño de lote mínimo de 2 y usamos el optimizador Adam para optimizar los parámetros del modelo para esta pérdida. Realizamos como máximo pasos de actualización de gradiente de 20 millones, con tasas de aprendizaje exponenciales que disminuyen de . Aunque los modelos se pueden entrenar con menos pasos, evitamos utilizar tasas de aprendizaje excesivamente altas para reducir las diferencias entre conjuntos de datos y hacer que las comparaciones entre entornos sean más justas.

Durante el proceso de capacitación, evaluamos periódicamente nuestro modelo mediante demostraciones completas en cinco trayectorias de validación sin cambios y registramos los parámetros relevantes del modelo para obtener el mejor MSE de demostración. Dejamos de entrenar cuando observamos una disminución insignificante en MSE. En hardware GPU/TPU, MSE suele tardar unas pocas horas para conjuntos de datos más pequeños y simples. Para conjuntos de datos más grandes y complejos, puede llevar hasta una semana.

Efectos y animaciones del modelo:/these/bb 7 CFD 1d-20a 8-4f 08-8a2b-a 64 DD 04 e 37b 6