Paper) Learning to Simulate Complex Physics with Graph Networks (ICML 2020)

2021. 6. 22. 20:21관심있는 주제/GNN

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)이라고 한다. 

 

  • particle-based simulation
  • 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 $s_{\theta}$는 모수화된 함수 근사기($d_{\theta} : X -> Y$)를 사용하여, 동적 정보를 계산하며, 매개변수 $\theta$ 는 몇몇 학습 목적에 최적화될 수 있습니다. Y는 다이나믹 정보를 표현하고 있으며, 이 정보의 의미는 update mechanism에 의해 결정됩니다. 

update mechanism는 $X^{t_k}, d_{\theta}$를 사용하여 다음 상태 $X^{t_{k+1}}$를 예측하기 함수로 보면 볼 수 있습니다. ($\tildaX^{t_{k+1}}=Update(\tildaX^{t_{k}}, d_{\theta})$) 

여기서 Euler integrator라는 간단한 update mechanism을 가정합니다. 그리고 y는 accelerations를 나타냅니다. 

그러나 더 정교한 업데이트 절차도 사용할 수 있습니다. (high-order integrators)

 

3.2. Simulation as Message-Passing on a Graph Our

우리의 학습 가능한 시뮬레이션 접근은 physical system에서 particle-based represenation를 채택했다고 합니다. 

$X= (x_0, x_1,... , x_N)$라고 표현할 수 있으며, 각각의 N의 particles $x_i$는 상태를 표현합니다. 

physical dynamics는 particles 사이에서 상호작용에 의해 근사됩니다. (주변 입지들 간의 에너지나 모멘텀 교환)

입자-입자 상호작용 모델링 방법에 따라 시뮬레이션 방법의 품질과 일반성이 결정됩니다.

방법이 잘 수행되거나 잘 수행되지 않는 시나리오 등 시뮬레이션할 수 있는 효과 및 소재의 유형 우리는 원칙적으로 입자 역학으로 표현될 수 있는 모든 시스템의 역학을 학습할 수 있도록 이러한 상호작용을 학습하는 데 관심이 있습니다.

따라서 서로 다른 $\theta$ 값이 광범위한 입자-입자 상호작용 기능을 포괄할 수 있도록 하는 것이 중요합니다.

 

Particle-based simulation은 그래프에서 message-passing으로 볼 수 있습니다.

노드들은 입자들에 대응되며, 엣지들은 particle 간의 pairwise 한 연관성에 대응됩니다. 

이 프레임워크에서 SPH(SPlisHSPlasH)와 같은 방법을 이해할 수 있습니다. 노드 간에 전달되는 메시지는 밀도 커널을 사용하여 압력을 평가하는 것과 같을 수 있습니다.

입자 기반 시뮬레이터와 그래프 메시지 전달 간의 통신을 활용하여 GN에 기반한 범용 $d_{\theta}$를 정의합니다. 

우리의 $d_{\theta}$에는 세 가지 단계가 있다. 

  1. ENCODERS
  2. PROCESSOR
  3. DECODER

 

ENCODER definition

Encoder : X -> G는 particle-based state 표현으로 임베딩 합니다 

X는 잠재 그래프, $G^0=ENCODER(X)$, $G= V(E, U,\mu)$, $v_i \in V$ , $e_{i, j} = \epsilon^v (x_i)$

노드 임베딩($v_i=\epsilon^v (x_i)$)은 particle states를 학습한 함수입니다. 

방향성이 있는 edge들은 입자들 간의 경로를 생성하기 위해 더해집니다. 

에지 임베딩 ($e_{i, j} = \epsilon^v (r_{i, j})$)는 $r_{i, j}$  해당 입자의 쌍 속성, 즉 위치 간 변위, 스프링 상수 등에 대해 학습된 함수입니다. 그래프 레벨 임베딩(u)은 중력 및 자기장과 같은 전역 속성을 나타낼 수 있습니다(실현 시 입력 노드 기능으로 추가하기만 했습니다

PROCESSOR definition

PROCESSOR : g -> g는 업데이트된 latent graph의 시퀀스를 생성하기 위해서 학습된 message-passing의 M steps에 의하여 노드들 사이의 상호작용을 계산합니다.

$G = (G^1, G^2,..., G^M)$ where $G^{m+1} = GN^{m+1}(G^m)$

$G^M=PROCESSOR(G^0)$처럼 마지막 그래프를 반환합니다. 

Message-passing는 정보를 전파하고 제약 조건을 존중할 수 있게 합니다. 필요한 메시지 전달 단계의 수는 상호작용의 복잡성에 따라 증가할 수 있습니다.

 

DECODER definition

DECODER : g -> Y는 마지막 잠재 그래프로부터 다이내믹 정보를 뽑아냅니다. (y_i = \sigma^v (v_i^M)$

\sigma 학습은 업데이트 절차에 의미적으로 의미 있게 하기 위해 가속과 같은 관련 동적 정보를 Y 표현에 반영하도록 해야 한다고 합니다

 

이 상태에서 다시 아래 그림을 보자면, 초기 잠재 그래프에서 ENCODER를 통해서 노드와 엣지를 임베딩 하여, 초기 그래프를 생성하고,

그다음에 PROCESSOR를 통해서 M 스탭의 시퀀스를 생성하고 나서 마지막으로 나온 $G^M$을 사용합니다. 

그리고 DECODER에서는 잠재 그래프로 다시 만드는 작업을 하는 것 같습니다.

 

 

4. Experimental Methods Code

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

 

4.1. Physical Domains

저자들은 GNS가 세 가지 다양하고 복잡한 물리적 재료, 즉 물이 거의 감쇠되지 않은 유체, 무질서한 성격의 모래, 복잡한 마찰 거동을 가진 입자성 재료, 그리고 점성이 있고 플라스틱으로 변형된 재료인 "goop"을 포함하는 데이터셋에서 시뮬레이션하는 방법을 학습했다고 합니다.

이러한 재료는 매우 다른 동작을 가지며, 대부분의 시뮬레이터에서는 별도의 재료 모델 또는 완전히 다른 시뮬레이션 알고리즘을 구현해야 합니다.

 

본 논문에서는 BOXBATH를 사용했다고 합니다. 

BOXBATH - PBD 엔진 FleX를 사용하여 내부에 떠 있는 물통과 입자를 모두 시뮬레이션합니다.

그리고 또한 WATER-3D도 생성하였고, 저자들은 SPlisHSPlasH(SPH-based fluid simulator) 사용했다고 합니다.

 

시뮬레이터는 매우 광범위한 재료를 시뮬레이션할 수 있고 PBD 및 SPH와 다른 특성을 가지고 있기 때문에 MPM을 선택했습니다. 예를 들어 입자가 시간이 지남에 따라 압축될 수 있습니다.

 

우리의 데이터셋은 일반적으로 1000 train, 100 valid 및 100개의 test 궤적을 포함하며, 각각 300-2000번의 시간 스텝에 대해 시뮬레이션되었습니다 (다양한 재료가 안정적인 평형을 이루도록 평균 지속 시간에 맞춰져 있음). 당사의 모든 데이터셋에 대한 자세한 목록은 보충 자료 B에서 확인할 수 있다고 합니다. 

 

4.2. GNS Implementation Details We

 

Input and output representations. 

각 입자들의 input state vector는 위치와 C의 sequence를 표현한다.

여기서 C는 다음과 같다.

  1. previous velocities
  2. features that capture static material propoerties(water, sand, goop, rigid, boundray particle) $x_i^{t_k} = [ p_i^{t_k} , p_i^{t_{k-C_1}} , p_i^{t_k} , f_i] $
  3. global properties of the system, g 
  4. external forces
  5. global material properties

지도 학습을 위한 예측 타겟은 입자당 평균 가속이라고 한다. 

오로지 $p_I$를 요구한다. 

 

ENCODER details

ENCODER는 connectivity radius (R) 안에서 주변 입자들 간의 엣지를 더하고, 각 입자들에 노드를 할당하는 그래프 구조 $G^0$를 구조화한다. 

connective radius, R은 입자의 국소적 상호작용을 반영하며 동일한 분해능의 모든 시뮬레이션에서 일정하게 유지되게 하였다.

rollout을 생성하기 위해 각 시간 단계에서 그래프의 가장자리는 현재 입자 위치를 반영하기 위해 가장 가까운 인접 알고리즘에 의해 다시 계산되었습니다.

 

ENCODER는 MLP로 edge feature와 node feature를 만들어 낸다. 

 

2가지 변종 ENCODER를 테스트해봤다고 한다. 

  1. absolute variant
  2. the relative encoder variant 

PROCESSOR details.

프로세서는 동일한 구조의 MGN 스택(여기서 M은 하이퍼 파라미터)을 사용하고, MLP는 내부 엣지 및 노드 업데이트 기능으로 사용하며, 공유 또는 공유되지 않은 파라미터(결과 섹션 5.4에서 분석)를 사용합니다.

글로벌 기능이나 글로벌 업데이트(상호 작용 네트워크와 유사)가 없고 입력 및 출력 잠재 노드와 에지 속성 사이에 잔여 연결이 없는 GN을 사용합니다.

 

(입자들 간의 움직임은 굳이 전체적인 모습보다는 근처에 있는 것으로도 충분하기 때문에 글로벌적인 부분을 처리를 안 하는 것인지?)

 

DECODER details

디코드의 학습된 함수 역시 MLP이다.

디코더 후에 미래 위치와 속도는 Euler integrator를 사용하여 업데이트됩니다. 

그래서 $y_i$는 가속 $p_j$와 대응됩니다. 

타겟은 결국 Euler integrator를 이용해서 생성하는 것 같다. 

 

이쪽을 보면서 알게된 점은 일단 지도 학습으로 진행하고, 타겟은 입자당 가속 평균

입자들의 모든 가속 평균을 다 예측할 수 있다니...

현재 위치를 알고, 가속 평균을 알면, 다음 위치를 알 수 있다는 의미인 것 같다.

굳이 해당 위치에서 다음 위치로 가는 위치를 예측하는 것이 아니라 물리적으로 이러한 가속 평균을 주면 그래프나 머 이런 로직 등을 통해서 다음 위치를 다시 그래프로 반환할 수 있다는 것으로 생각된다.

그리고 전체적인 NN아키텍처는 인풋은 GRAPH지만 MLP를 사용한다.

 

 

4.3. Training

Software. 

We implemented our models using TensorFlow 1, Sonnet 1, and the “Graph Nets” library

 

https://towardsdatascience.com/introduction-to-deepminds-graph-nets-b389430476fd 

 

Training noise

복잡하고 혼란스러운 시뮬레이션 시스템을 모델링하려면 모델이 긴 롤아웃에서 오류 누적을 최소화해야 합니다.

우리는 우리의 모델을 ground-truth의 한 단계 데이터에 대해 학습하기 때문에, 이러한 종류의 누적 노이즈로 인해 손상된 입력 데이터로 제시되지 않습니다. 

즉, 모델에 소음 발생 및 이전 예측을 입력으로 제공하여 롤아웃을 생성할 때, 모델 입력이 학습 분포를 벗어난다는 사실로 인해 오류가 더 많이 발생하여 추가 오류가 빠르게 누적될 수 있습니다.

저자는 간단한 접근 방식을 사용하여 잡음이 많은 입력에 대해 모델을 보다 견고하게 만듭니다.

학습에서 우리는 모델의 입력 속도를 random walk noise $N(0, \sigma_v = 0.0003)$으로 손상시킵니다.

그러면 학습 분포는 롤아웃 중에 생성된 분포에 더 가까워진다고 합니다.

 

자세한 내용은 보충 자료 B를 참조하라고 하니.. 봐야 될 것 같다.

사실 이 부분이 왜 저렇게 하면 오류 누적을 최소화할 수 있는지 잘 이해가 안 된다. 잡음으로 주는 효과에 대해서 어느 정도 안정성을 줄 수 있다고는 들었지만, 그렇게 할 수 있는지에 대한 이유가 궁금하다...

 

Normalization.

우리는 훈련 중에 온라인으로 계산된 통계를 이용하여 요소별로 모든 입력 및 표적 벡터를 0 평균 및 단위 분산으로 정규화합니다.

예비 실험에서는 통합 성능이 눈에 띄게 향상되지는 않았지만 정규화가 교육 속도를 높인 것으로 나타났습니다.

 

이것도 좀 신기하다고 생각을 하는 것이 보통은 먼저 표준화를 하고 표준화된 것을 그대로 이용하는데, 이 부분은 그래프에 대해서 표준화된 값을 사용하고 새로운 그래프가 나오면 다시 표준화를 한다는 의미로 된다. 

이것은 의미하는 것이 결국 데이터 자체의 그래프가 바뀌니 새로운 데이터로 여겨지고 다시 데이터에 맞게 전처리를 하는 것으로 생각된다.

 

Loss function and optimization procedures

 

추가된 인풋 속도가 더해진 잡음을 뺸 타겟 가속이 계산된 학습 궤적에서 랜덤으로 state pairs들에서 입자들을 샘플링한다. 그다음에 결국 MSE Loss를 통해서 계산하는 것 같다.

 

여기서는 adam을 사용했고, nominal min-batch size를 사용했다고 한다.

exponential learning rate decay from $10^{−4}$ to $10^{−6}$를 사용했다 

 

모델은 훨씬 더 적은 단계로 학습할 수 있지만, 데이터셋 간의 편차를 줄이고 설정 간 비교를 보다 공정하게 하기 위해 aggressive learing rate를 피했다고 한다. 

 

4.4. Evaluation

 

양적인 결과롤 내기 위해서 particle-wise MSE나 optimal transport(OT) 그리고 Maximum Mean Discrepancy(MMD)를 사용했다고 한다. 

 

5. Result

우리의 주요 연구 결과는 GNS 모델이 다양한 유체, 변형물 및 단단한 고형물의 정확하고 고해상도 장기 시뮬레이션을 학습할 수 있으며, 학습 수준을 넘어 훨씬 더 길고 큰 도전적인 설정으로 일반화할 수 있다는 것입니다. 아래의 섹션 5.5에서는 두 가지 최신 관련 접근법과 GNS 모델을 비교하고, 우리의 접근법이 더 단순하고, 더 일반적으로 적용 가능하며, 더 정확하다는 것을 알게 되었다고 한다.

아키텍처의 견고하게 만들기 위해, 우리는 모든 실험에 걸쳐 단일 모델 하이퍼 파라미터 세트를 교육하는 데 사용했습니다. 당사의 GNS 아키텍처는 relative encoder variant, message-passing의 10단계, PROCESSOR에 공유되지 않은 GN 매개 변수를 사용했습니다. 우리는 교육 중에 입력 상태에 $3 · 10^{-4}$ 척도의 노이즈를 적용했습니다.

 

 

 

While our GNS model was generally robust to architec- tural and hyperparameter settings, we also identified several factors which had more substantial impact:

1. the number of message passing steps,

2. shared vs. unshared PROCESSOR GN parameters,

3. the connectivity radius,

4. the scale of noise added to the inputs during training, 

5. relative vs. absolute ENCODER.

 

6. Conclusion

 

저자들은 물리학의 입자 기반 표현과 그래프에서 학습한 메시지 전달을 기반으로 복잡한 시스템을 시뮬레이션하는 학습을 위한 강력한 기계 학습 프레임워크를 제시했습니다.

저자의 실험 결과에 따르면 단일 GNS 아키텍처는 수천 번의 시간 단계에 걸쳐 수만 개의 입자를 사용하여 유체, 단단한 고체 및 변형 물질의 역학을 서로 상호작용하는 방법을 배울 수 있습니다.

저자는 저자의 모델이 이전의 접근 방식보다 더 단순하고, 더 정확하며, 더 나은 일반화를 가지고 있다는 것을 알게 되었다. 고 주장합니다 

 

여기서는 메시가 없는 입자 방법에 초점을 맞추고 있지만, 유한 요소 방법과 같이 메시를 사용하여 대표되는 데이터에도 GNS 접근법을 적용할 수 있다.

또한 Hamiltonian mechanics(산체스-곤잘레즈 외, 2019) 및 건축적으로 부과된 풍부한 대칭과 같이 보다 강력하고 일반적인 물리적 지식을 우리의 프레임워크에 통합하는 자연스러운 방법이 있다.

기존 시뮬레이터에 비해 이점을 실현하기 위해 향후 작업에서는 GNS 연산을 보다 효율적으로 매개 변수화하고 구현하는 방법을 모색하고 지속적으로 발전하는 병렬 컴퓨팅 하드웨어를 활용해야 한다.

학습된 차별화 가능한 시뮬레이터는 전달 예측에 엄격히 최적화하는 것이 아니라 역방향 목표에도 유용하게 사용될 것입니다.

(역방향이라고 한다면, 이번에는 가속을 예측했다면, 만약 실제로 가속을 안 다했을 때 위치를 알 수 있다는 말인지??)

 

보다 광범위하게, 이 작업은 보다 정교한 생성 모델을 향한 핵심 발전이며 물리적 추론을 위한 더 큰 용량을 가진 현대 AI 툴킷을 제공했다고 합니다.

 


이 논문을 보면 뭔가 지도 학습에서 잘 안 나오는 trajectory, rollout과 같은 개념들이 많이 나오는데, 방법론을 지도 학습을 쓰고 있는 것을 알 수 있다. 그래서 나름 뭔가 딥마인드에서 낸 논문이라 이런 표현으로 쓰는 것인지 하는 생각이 들었고, 뭔가 문제만 보면 강화 학습으로 풀어볼 수도 있을 것 같은데, 딥마인드도 해당 문제를 꼭 강화 학습만으로는 풀지 않아서 이유가 있어서 일 것 같기도 하다.

어떻게 보면 입자의 가속 평균을 맞추는 문제로 전환을 하여, 기존의 있던 방법론과 일치시켜서 비슷한 결과가 나오게 유도한 것도 있을 수 있고, 빠른 학습 속도 같은 경우에도 그러한 이유가 있을 수 있고, 꼭 exploration과 같은 것이 지금 하고자 하는 simulator에는 꼭 필요가 아니라는 생각이 들긴 한다. 

 

 

실제로 여기서 모델이 예측하는 것은 가속도의 평균$\triangle t$이고 이것을 이용해서 update 하는 메커니즘에 대해서 설명하는 것 같다. 

 

 

다른 좋은 내용들이 많이 있는 것 같지만

B.2. Implementation Details 만 보고 마무리하려고 한다.

 

to-be-continued...

보고는 있지만, 과연 내가 이걸 만들 일이 있을까라는...

 

 

 

 

https://arxiv.org/abs/2002.09405

 

Learning to Simulate Complex Physics with Graph Networks

Here we present a machine learning framework and model implementation that can learn to simulate a wide variety of challenging physical domains, involving fluids, rigid solids, and deformable materials interacting with one another. Our framework---which we

arxiv.org

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

 

deepmind/deepmind-research

This repository contains implementations and illustrative code to accompany DeepMind publications - deepmind/deepmind-research

github.com

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

 

728x90

'관심있는 주제 > GNN' 카테고리의 다른 글

GNN) GAT Layer Implementation  (0) 2021.07.03
GNN-자료 정리  (2) 2021.07.03
pytorch) Create Your Own GNN DataSets  (1) 2021.04.13
installation) torch_geometric  (0) 2021.04.13
GNN - Application 및 샘플 코드  (0) 2021.04.13