논문 읽기/Self-Supervised

[논문 읽기] Space-Time Correspondence as a Contrastive Random Walk(2020)

AI 꿈나무 2021. 8. 27. 00:18
반응형

Space-Time Correspondence as a Contrastive Random Walk

 PDFVideo SSL, Allan A. Jabri, Andrew Owens, Alexei A. Efos, NIPS 2020

 

Summary

Video SSL 논문입니다. affinity matrix에 softmax를 취하여 확률로 바라봄으로써 target frame까지의 path 확률이 최대화 하도록 학습합니다. 확률이 높은 path를 따라 k frame을 전진하고 다시 원래 frame으로 되돌아왔을 때, 원래 위치에 있도록 학습합니다. 비지도 학습이므로 어떤 수도레이블을 가해야할지가 관건인데, cycle consistent loss를 사용하여 forward와 backward 후 원래 위치로 돌아오도록 제약조건을 가하여 학습합니다. 즉, 원래 자기 위치를 레이블로 사용합니다.

 

 

 

 256x256 이미지로부터 7x7grid를 분할하여 overlap된 64x64 image patch를 sample합니다. 총 49개의 image patch가 생성되는데, 각 patch를 node로 간주하고 frame 사이의 유사도 행렬은 edge로 고려합니다. 그러면 그래프 문제로 생각해 볼 수 있습니다.

 

 각 image patch를 encoder(resnet18)로 전달하여 출력한 d차원 embedding 사이의 similarity를 계산합니다. 이 similarity에 softmax를 취하여 similarity를 확률로 바라봅니다. 또한 softmax를 취함으로써 NCELoss로 생각해볼 수 있는데 이는 contrastive learning과 비슷하게 볼 수 있습니다.

 

 

 현재 프레임에서 node와 가장 유사한 다음 프레임에서의 node는 affinity matrix 값이 높을 것입니다.

 

 이렇게 t+k 프레임까지의 affinity matrix를 계산한 후에 다 곱합니다.

 

 

 

 각 affinity matrix는 다음 frame에서 유사도가 가장 높은 image patch를 의미하므로 k개의 affinity matrix를 곱한다면 t부터 k까지의 path(확률)을 계산할 수 있습니다. frame 간격이 작고 객체가 잘 움직이지 않는 비디오에서는 단일 patch에 대하여 높은 확률 값을 갖을 것이고, frame 간격이 크고 어려운 task라면 확률 분포를 얻을 것입니다.

 

 그러면 지금까지 t프레임부터 t+k 프레임까지의 path를 구하는 법을 살펴보았습니다. 어떻게 손실함수를 설정하고 학습을 해야할까요?

 

 펠린드롬 sequence를 사용해서 training을 합니다.

 

 cycle-consistent loss는 forward와 backward가 일치해야 하는데 해당 논문은 forward path와 backward path가 동일하도록 제약조건을 가하여 학습을 진행합니다. 따라서 label은 t frame에서의 query가 됩니다. t에서 t+k frame까지 진행한뒤에 t까지 되돌아오면 원래 위치에 있어야 합니다.

 

 

 추가적인 정규화 Edge Dropout과 jitter를 추가합니다.

 

 

 알고리즘

Experiment

 

 


my github

 

Seonghoon-Yu/Paper_Review_and_Implementation_in_PyTorch

공부 목적으로 논문을 리뷰하고 해당 논문 파이토치 재구현을 합니다. Contribute to Seonghoon-Yu/Paper_Review_and_Implementation_in_PyTorch development by creating an account on GitHub.

github.com

 

반응형