본문 바로가기
AIML 분야/Video Classification & Detection

적당히 살펴본 Spatiotemporal Fusion in 3D CNNs: A Probabilistic View

by 포숑은 맛있어 2020. 12. 14.
반응형

이번 CVPR 논문 중에서 구경해볼 논문.

역시 읽는 동시에 작성하는 글이라 의식의 흐름대로 메모하였다.

 

논문이 꽤 어려워보여서 내가 빠르게 이해할 수 있을진 모르겠다. 아마 대충 볼지도...?

=> 읽다보니까 내가 궁금한 것들을 제공하는 논문은 아니라서 대략 읽고 스킵했다.

 

읽다가 그만 둔 이유

  • 확률적으로 temporal/spatial한 중요도를 잘 분석했을거라 생각했는데, 그냥 NAS논문이랑 비슷하다.
    다시말해, 역시 아키텍쳐를 어떻게 구성하느냐에 대한 논문이라는 것이다. 현재 관심있는건 spatial/temporal 정보를 요즘 논문들이 어떻게 처리하느냐이다
  • Related work에 NAS는 없지만 droppath 자체가 NAS에서 언급이 몇번 되었던 논문.

 

요약

  • 2D/1D로 temporal/spatial 나눈 CNN, 3DCNN 연산으로 이루어진 모든 네트워크를 일반화. 이게 template network.
  • 그리고 학습 도중에 DropPath를 사용하여 특정 네트워크가 만들어지는 형태.
    모든 커넥션이 probability가 되는 것이다. (최종적으로는 0/1로 선택할 것임)

  • 따라서, NAS와 굉장히 유사하다. 다른점은 architecture parameter라는 게 따로 학습되는게 아니라는 점

  • optimization problem을 어떻게 푸냐면, posterior를 직접 구하기 어렵기 때문에 이를 maximize하는 것을 KLD를 최소화하도록 수식을 바꿔서 풀었다. 이게 DropPath를 적용하여 풀 수 있다고 한다.

  • 그러므로 최종적으로 얻어진 네트워크는 당연히 매번 학습, 데이터셋마다 다른 것이다.

 

 

 

Abstract.

- 지금까지의 연구는 ad-hoc design 모델을 사용하고, 실험 결과에 기반하여 결과를 지었다.

- 이 연구에서는 spatiotemporal fusion strategies를 probability space에 convert한다!

 

와. 이 논문은 진짜로 모르는 분야다. 따라서, Related Work부터 읽도록 한다.

 

Related Works

SpatioTemporal Fusion이라는게 여러 task에서 다들 하려고 했는데, 이 논문은 action recognition을 다룬다.

그 중에서도 fusion in single 3DCNN을 골라서 설명한다. (two-stream X)

기존 action recognition의 temporal/spatial 나눠가지고 디자인한 그런 네트워크들이 언급된다. R(2+1)D 이런 것!

음, 그러면 이런 논문 디자인들을 일반화해서 어떤 표현으로 바꾼다음에 확률같은걸 구하겠다는건가...? method를 보자.

 

Introduction

기존에 많은 논문들이 fusion을 어떻게 하는게 좋다, 어떤 역할을 가진다는 분석을 했지만, 몇가지 combination에서 해본 후 empirical하게 결론을 낸 것이다.

따라서, 이 논문에서는 optimization problem으로 만들어서 모든 fusion 기법들을 확률적으로 분석하려고 하는 것 같음. Dropout을 사용함.

 

Method

 

우선, 네트워크를 triplet 표현으로 일반화시켜 나타낼 수 있다.

총 L개의 layer가 있다고 하자.

네트워크 표현하기.

3.1 Probability Space

앞에서 썼던 M={(l,v,u)}_L은 probability space에 들어가있으며 random event이다.

W_M은 M의 kernel weight. (뭔 뜻이여)

아래와 같은 정의를 통해, 이제 training 과정에서 pair에 대해 평가할 수 있다고 한다. 계속 읽어보면 무슨말인지 알지 않을까?

Definition.

 

3.2 Embedding via Variational DropPath

DropPath라는 논문을 기반으로 v-DropPath라는걸 여기서 제안한다고 한다.

1번 수식에서 바로 posterior를 추정하는건 어렵다. variational bayesian method으로 approximate 해야지!

뭐 그럼 KLD minimize 해가지고 추정하겠지.

 

아하. 템플릿 네트워크가 있고, 샘플된 네트워크들은 전부 0/1로 표현할 수 있겠다. 그러면 기본에 있는 fusion 네트워크들 웬만한건 이걸로 표현할 수 있을 것 같다.

이런 느낌으로다가.

 

3.3. Spatiotemporal Fusion

Network level, layer level 각각으로 할 수 있다고 설명하는 것 같다.

 

 

NAS가 생각난다. ProxylessNAS 가 생각난다.

어쨌거나 이걸 gradient based로 각 0/1로 표현된 그 아이들을 학습한다는 뜻 같은데, 어떻게 학습되는걸까? NAS와 차이점은 뭐지?

 

요약하자면, Template Network를 v-DropPath를 통해서 학습한다는거다.

 

 

Experiment.

 

이 논문은 비교 실험을 뭔가 많이한 것 같다. 웬만한 것들 다 인용 되어있음.

 

 

각 레이어마다 뭐가 골라졌는지 알 수 있다.

 

반응형

댓글