[Paper] Phydnet 리뷰

2021. 9. 5. 16:16논문리뷰

반응형

시계열 이미지 데이터를 위해 읽었던 신기한 논문.

 

논문과 졸업과제로 한동안 리뷰 올리기를 쉬었다. 이번에 읽은 논문은 Phydnet과 Phycell을 제안한 것으로, unsupervised video prediction을 위한 방법이다.

이미지 관련 시계열 데이터를 다루는 데에 실제로 쓸 수 있을 것 같다. 또한 편미분방정식을 다층 CNN구조로 구할 수 있다는 이론을 토대로 알고리즘을 구현한 것으로 보인다.

이에 관한 논문은 이후에 읽어볼 예정이다.





Disentangling Physical Dynamics from Unknown Factors for Unsupervised Video Prediction

(https://arxiv.org/abs/2003.01460)

 

 

본 논문이 제안한 것은 two-branch architecture로, unknown complementary information으로 편미분방정식을 풀었다. 전체적인 구조를 간단히 보자면 다음과 같이 정리할 수 있다.

 

전반적인 알고리즘 구조

 

전반적인 모델의 구조는 seq2seq로 이루어져 있다. 논문에서는 latent space(잠재 공간)을 H로 정의했고, 여기서 physical dynamics(왼쪽 branch에서 다룰 것)와 residual factor(오른쪽 branch이 다룰 것)가 선형적으로 분리될 수 있다고 가정한다. H_p는 모델의 왼쪽인 physical dynamics를, H_r은 모델의 오른쪽인 residual information을 추출하는 역할을 한다. 왼쪽 모델에서 논문은 PhyCell이라는 새로운 recurrent physical cell을 고안했다.

 

 

 

 

1. PhyCell - Physical dynamics

먼저 왼쪽 모델을 살펴보자. PhyCell은 모델 파라미터 수를 억제하기 위해 physical constraint를 이용하고, 학습을 정규화하며 일반화를 향상한다. 식은 다음과 같은데, h(t, x)의 미분 값이 physical predictorcorrection term의 합으로 정의됨을 볼 수 있다. physical predictor는 잠재적 역학을 모델링한 것이고, correction은 잠재 상태와 input의 상호작용을 모델링한 것이다.

phycell 설명 수식 1
phycell 설명 수식 2 - physical predictor
phycell 설명 수식 3 - correction

 

오일러공식 dh(t)/dt = h(t+1) - h(t)을 이용해 위 공식을 이산화 할 수 있는데, 이를 정리하면 다음과 같은 식을 도출할 수 있다.

 

이산화 이후 phycell 수식

 

여기서 E(u_t)는 입력에 대한 encoding 값, ~h(t+1)은 h(t)에 physical predictor(Conv를 이용해 도출한 h(t)의 편미분값)을 더한 것이다. 이 부분이 진짜 신기한데, 관련 논문도 읽어봐야겠다.

 

 

 

K_t는 칼만 gain인데, 이것도 신기하게 CNN으로 뽑는다. 공식은 아래와 같다. 논문에서 모델이 prediction만 할 경우 K ==0으로 둬서 physical predictor에만 의존하게 한다고 한다.

kalman gain 수식

 

 

전체적인 phycell 그림은 아래와 같다. assimilation(동화) 부분이 식(7)의 correction이라 보면 된다.

phycell

 

 

 

 

2. Residual factor

오른쪽 branch는 ConvLSTM으로 이미지의 위치를 학습한다고 생각하면 되는데, 비교적 덜 중요한 정보로 학습한다고 해서 fine-grained라고 한다. 왼쪽 phycell은 논문에서 coarse라고 언급했는데, 주요 부분이라고 생각하면 될 듯하다.

 

학습에 필요한 objective function은 다음과 같은데, loss 함수를 설명한 듯하다. L_image는 L2 loss를 사용했고, L_moment는 필터 미분을 통해 구했다. momment matrix 부분은 논문 supplementary 1.2에 있는데, 완벽하게는 이해하지 못했다.

objective function loss

 

 

 

 

 

3. 마무리

저자의 원본 코드를 보면 encoding decoding 과정은 DCGAN을 통해 했다. 아래는 Phycell에 대한 저자 코드를 정리한 것이다. K를 구할 때 논문에는 tanh를 사용한다 되어있는데 코드엔 sigmoid로 구현되어 있었다. 또한 해당 코드에 loss function을 MSELoss를 쓴 걸 알 수 있다.

 

저자 코드 링크는 다음과 같다.

(https://github.com/vincent-leguen/PhyDNet)

 

 

 


본 논문에서는 PDE dynamics를 modeling 하기 위한 recurrent physical cell을 도입하였고, prediction과 correction을 분리했다. 논문에서는 phycell을 1개만 썼는데, stacked RNN처럼 몇 개 더 쌓아서 실험하는 것도 좋을 듯하다.



728x90
반응형