Paper) Learning to Simulate Complex Physics with Graph Networks...

Paper) Learning to Simulate Complex Physics with Graph Networks...

728x90

deepmind에서 Physics까지 학습하는 논문을 2020년에 냈다 ㄷㄷㄷ

아직 읽어보지는 안았지만, 사실 읽어도 잘 이해 못 할 것 같다. 시간을 두고 확인을 해봐야 할 것 같다.

특히 강화학습에서 이 논문은 참 유용할 것 같다. 왜냐하면 강화 학습을 하기 위해서는 결국 환경이라는 것을 만들어야 하고, 실제 환경과 유사하기 ai가 작동되게 하려면, 에이전트가 실제 환경에서 도는 것처럼 유사한 시뮬레이터를 만들어야 한다.

여기서 가장 장애물로 생각하는 것은 실제 physics를 어떻게 학습해서 ai 모델에게 제공할지가 고민이다.

실제로 physics를 바로 파이썬으로 제공하는 경우는 상관이 없지만, 아마 대부분은 제공하지 않을 텐데, 이것까지 ai로 학습할 수 있다고 하니, 읽어볼 리스트에 넣어 놓고, 확인을 해봐야 할 것 같다.

사실 지금 GNN을 어떠한 데이터로 어떻게 모델을 만들어서 어떤 아웃풋을 내는 것인지 감도 안 온다 ㅠㅠ(하지만 일단 읽어보기로...)

https://www.youtube.com/watch?v=2Bw5f4vYL98&ab;_channel=TwoMinutePapersTwoMinutePapers

논문 내용

저자는 유체, 단단한 고체 및 서로 상호작용하는 변형 가능한 재료가 포함된 다양한 도전적인 물리적 영역을 시뮬레이션하는 방법을 배울 수 있는 기계 학습 프레임워크와 모델 구현을 소개한다고 한다.

저자가 "Graph Network-based Simulator"(GNS)라고 부르는 우리의 프레임워크는 물리적 시스템의 상태를 그래프로 표현하고 학습된 메시지 전달을 통해 동역학을 계산한다고 한다.

연구 결과에 따르면 NAT 모델은 교육 중에 수천 개의 입자가 포함된 단일 단계 예측에서 다양한 초기 조건, 수천 번의 반복 및 테스트 시 최소 몇 배의 입자에 이르기까지 일반화할 수 있다고 한다.

저자는 모델은 다양한 평가 지표에서 하이퍼 파라미터 선택에 강건하다고 한다.

장기 성과에 대한 주요 결정 요인은 메시지 전달 단계의 수였으며, 교육 데이터를 노이즈로 손상시켜 오류 누적을 완화시키는 것이었다. (누적되는데, 어떻게 오류 누적을 완화시킬 수 있는지 궁금하다.)

우리의 GNS 프레임워크는 학습된 물리적 시뮬레이션에서 최첨단 기술을 발전시키며, 광범위한 복잡한 전진 및 역방향 문제를 해결할 수 있는 가능성을 가지고 있다고 한다.

Introduction

저자가 하고자 하는 말은 실제 complex physics는 매우 과학적이고 고도의 엔지니어링이 필요하다.

그러나 전통적인 시뮬레이터는 굉장히 비싸며, 엔지니어의 엄청난 노력이 필요하다.

그리고 정확도를 위해서 일반화에 대한 trade off 관계도 있다.

고품질 시뮬레이터는 상당한 컴퓨팅 리소스를 필요로 하므로 스케일업하기가 어렵습니다.

가장 우수한 기술도 기초 물리학 및 파라미터에 대한 지식이 부족하거나 근사치가 어렵기 때문에 부정확한 경우가 많습니다.

그래서 대안으로 나오는 것이 시뮬레이터를 학습하기 위해서 머신러닝 방법을 관측 데이터를 이용해서 직접적으로 학습시키는 것이지만, 큰 상태 공간과 복잡한 동역학으로 이 문제를 극복하기 위한 end-to-end learning은 어렵다...

간단히 정리하면 다음과 같다.

ASIS

저자는 이러한 문제를 해결하기 위해 Graph Network-based Simulators(GNS)를 제안한다.

우리의 프레임워크는 강력한 유도 바이어스를 부과하며, 여기서 풍부한 물리적 상태는 상호작용하는 입자의 그래프로 표현되며, 복잡한 역학은 노드 간의 학습된 메시지 전달에 의해 근사치라고 한다.

GNS로 하면 단일 딥러닝 아키텍처로 가능하며, physical system에 넓은 범위에서 정확하게 시뮬레이팅 하는 것을 학습시킬 수 있다고 한다. 자기네 방법론이 이전 방법론들 보다는 훨씬 더 많은 것을 커버할 수 있다고 주장함

저자의 분석에 따르면 성능은 소수의 key factor에 의해 결정된다.

즉, long range 상호작용 계산 능력, 공간 불변성에 대한 유도 바이어스 및 긴 시뮬레이션 궤적에 걸친 오류 축적을 완화하는 학습 과정

개인적으로 다 신기하긴 한데, 긴 궤적에서 어떻게 오류 축적을 완화할 수 있는 지가 궁금하다.

저자들은 particle-based simulation이라는 것에 초점을 맞추고 있다.

이 분야는 science나 engineering 쪽에 넓게 사용된다. (computational fluid dynamics, computer graphics. States)

state는 공간의 지역 영역 내에서 질량, 물질, 이동 등을 인코딩하는 입자 집합으로 표현되는데, 역학(Dynamics)은 입자의 지역 환경 내 상호작용을 기반으로 계산된다.

유체 시뮬레이션을 위한 인기 입자 기반 방법 중 하나는 "매끄러운 입자 유체역학"(SPH)이다. (모나한, 1992년)은 각 입자의 주변의 압력과 점도를 평가하고 그에 따라 입자의 속도와 위치를 업데이트한다.

또 다른 방법으로는 position-based simulation(PBD) 아니면 material point method(MPM)이라고 한다.

GN(Graph Network) 같은 경우, 많은 entities 사이에서 상호작용과 연관된 다양한 학습을 효과적으로 할 수 있다.

(“interaction networks”, can learn to simulate rigid body, mass-spring, n-body, and robotic control systems)

non-physical sys- tems, such as multi-agent dynamics algorithm execution

이러한 사례들로 보아 저자의 GNS 프레임워크는 학습 시뮬레이션에 대한 일반적인 접근법이며, 구현이 간편하며, 유체, 강체 및 변형 가능한 재료 시스템에서 더 정확하다고 주장한다.

GNS Model Framework

3.1. General Learnable Simulation

다음과 같은 가정을 한다 $X^t \in x$ 는 시간 t에서의 world의 상태이다.

k time step에 대한 동영학을 적용하면 다음과 같은 상태 경로가 나올 수 있다. $X^{t_{0:k}} = (X^{t_0} , X^{t_1}, X^{t_k})$

simulator, $s X -> X$ 는 인과적으로 파생되는 미래 상태에 선행 상태를 매핑함으로써 역학을 모델링한다.

simulated rooout trajectory를 다음과 같이 명명했다고 한다.

시뮬레이터는 현재 상태가 어떻게 변화하고 있는지를 반영하는 동적 정보를 계산하여 현재 상태를 예측 미래 상태로 업데이트하는 데 사용합니다(그림 2(a) 참조).

예를 들어, 수치 미분 방정식 solver입니다. 방정식은 동적 정보(즉, 시간 유도체)를 계산하며, integrator는 업데이트 메커니즘입니다.

learnable simulator ## todo...

https://arxiv.org/abs/2002.09405

https://github.com/deepmind/deepmind-research/tree/master/learning_to_simulate

https://sites.google.com/view/learning-to-simulate#h.p_tq1Iz7UCO57z

728x90

728x90

from http://data-newbie.tistory.com/754 by ccl(A) rewrite - 2021-06-22 20:26:52