컴퓨터과학

[논문읽기] Is Space-Time Attention All You Need for Video Understanding?

홈카페주인 2023. 11. 2. 17:44

 

https://github.com/facebookresearch/TimeSformer

 

GitHub - facebookresearch/TimeSformer: The official pytorch implementation of our paper "Is Space-Time Attention All You Need fo

The official pytorch implementation of our paper "Is Space-Time Attention All You Need for Video Understanding?" - GitHub - facebookresearch/TimeSformer: The official pytorch implementati...

github.com

 

1. 개요 및 연구동기

공간과 시간에 대한 self-attention 만을 기반으로 구축된 비디오 분류에 대한 cnn 없는 접근방식을 제안한다. "TimeSformer" 라는 우리의 방법은 일련의 프레임 수준 패치에서 직접 시공간 기능 학습을 활성화하여 표준 Transformer 아키텍처를 비디오에 적용한다. divided attention 가 구려된 디자인 선택 중에서 최고의 비디오 분류 정확도로 이어진다는 것을 제안한다. 근본적으로 새로운 디자인에도 불구하고 TimeSformer 는 Kinetics-400, 600 에서 최첨단 결과를 달성했다. 3D convolution 네트워크에 비해서 훈련속도가 더 빠르고 테스트 효율성을 높인다 (정확도는 약간 떨어지지만).

훨씬 긴 비디오 클립에도 적용가능하다. 코드와 모델은 https://github.com/facebookresearch/TimeSformer.

 

자연어처리 분야는 self-attention 을 기반으로 한 방법의 출현으로 혁명을 일으켰다. 단어 간의 종속성을 포착하는 탁월한 기능과 훈련 확장성으로 인해 Transformer 모델과 같은 self-attention 구조는 기계번역, question answering, 자동회귀단어생성 과 같은 작업에서 좋은 성능을 보였다.

 

비디오 이해는 NLP와 몇 가지 높은 수준의 유사점을 공유한다. 우선 영상과 문장에 모두 순차적이다. 더욱이 단어의 의미는 문장의 다른 단어와 연관시킴으로써만 이해할 수 있는 경우가 많기 때문에 비디오 역시 그렇다고 주장할 수 있다. 따라서 NLP의 장거리 self-attention 은 비디오 모델링에서도 매우 효과적일 것이라고 예상된다. 그러나 비디오 영역에서 2D 또는 3D 합성곱은 여전히 다양한 비디오 작업 전반에 걸친 핵심 연산이다. 기존 연구들은 cnn 계층 위에 self-attention을 적용했지만 독점적인 블록으로 사용하려는 시도는 보고되지 않았다.

 

이 작업에서 우리는 컨볼루션 연산자를 모두 self-attention 으로 대체하여 성능이 뛰어난 컨볼루션 없는 비디오 아키텍처를 구축하는 것에 대한 질문을 제기한다. 우리는 이러한 디자인이 cnn의 몇 가지 본질적인 한계를 극복할 수 있는 잠재력이 있다고 주장한다. 

1. (e.g., local connectivity and translation equivariance) 은 의심할 필요 없이 소규모 훈련세트에 대해서는 유익하지만 데이터 가용성이 충분하고 모든 것을 학습할 수 있는 설정에서는 모델의 표현성을 과도하게 제한할 수 있다. 

둘째, 컨벌루션 커널은 단거리 시공간 정보를 캡처하도록 특별히 설계되었지만 수용 필드를 넘어 확장되는 종속성을 모델링할 수는 없습니다. 깊은 컨볼루션 스택(Simonyan & Zisserman, 2015; Szegedy et al., 2015; Carreira & Zisserman, 2017) 은 자연스럽게 수용 필드를 확장하지만, 이러한 전략은 본질적으로 더 짧은 범위의 종속성을 집계하여 장거리 종속성을 포착하는 데 제한됩니다. 정보. 반대로, self-attention 메커니즘을 적용하면 기존 컨볼루션 필터의 수용 필드를 훨씬 넘어서 모든 시공간 위치에서 기능 활성화를 직접 비교하여 로컬 및 글로벌 장거리 종속성을 모두 캡처할 수 있습니다.

 

마지막으로, GPU 하드웨어 가속의 발전에도 불구하고 심층 CNN을 훈련하는 데는 여전히 비용이 많이 듭니다. 특히 고해상도 및 긴 비디오에 적용할 경우 더욱 그렇습니다. 정지 이미지 영역의 최근 연구(Dosovitskiy et al., 2020; Carion et al., 2020; Zhao et al., 2020) 는 Transformer가 CNN에 비해 더 빠른 훈련과 추론을 즐기므로 더 큰 학습으로 모델을 구성할 수 있음을 보여주었습니다.

 

표준 Transformer에서 self-attention의 한 가지 단점은 모든 토큰 쌍에 대한 유사성 측정을 계산해야 한다는 것입니다. 우리 설정에서는 비디오의 패치 수가 많기 때문에 계산 비용이 많이 듭니다. 이러한 과제를 해결하기 위해 우리는 시공간 볼륨에 대해 몇 가지 확장 가능한 self-attention 디자인을 제안하고 대규모 동작 분류 데이터 세트에 대해 경험적으로 평가합니다. 제안된 방식 중에서 우리는 네트워크의 각 블록 내에서 시간적 주의와 공간적 주의를 별도로 적용하는 "분할 주의" 아키텍처가 최상의 설계임을 발견했습니다. 컨볼루션 기반 비디오 아키텍처의 확립된 패러다임과 비교하여 TimeSformer는 근본적으로 다른 디자인을 따릅니다. 그러나 이 기술은 이 분야의 최신 기술에 필적할 만한 정확도를 달성하며 어떤 경우에는 더 우수합니다. 또한 우리는 우리 모델이 수 분에 걸친 비디오의 장거리 모델링에 사용될 수 있음을 보여줍니다.

 

2. Related Work

표준 Transformer 에서 self-attention 의 한가지 단점은 모든 토큰 쌍에 대한 유사성 측정을 계산해야 한다는 것이다. 

 

2. Related Work

우리의 접근 방식은 CNN과 함께 또는 완전히 대체하여 이미지 분류에 self-attention 을 사용하는 최근 작업의 영향을 받았다. 

 

3. The TimeSformer Model

Input Clip : $X \in \mathcal{R}^{H \times W \times 3 \times F}$ F개의 RGB 프레임이 전재한다. 사이즈는 $H \times W$ 이다. 이는 원래의 비디오에서 샘플링 된 것이다.

 

Decomposition into patches : ViT 를 따라 각 프레임을 N 개의 겹치지 않는 패치들로 나눈다. 각각의 사이즈는 $P \times P$ 이다. flatten 된 패치들은 $x_{(p,t) \in \mathcal{R}^{3P^2}}$ 

 

Linear embedding : $x_{(p,t)}$ 를 linearly 하게 임베딩 벡터로 매핑한다. $z^{(0)}_{(p,t)} \in \mathcal{R}^D$ 는 학습 가능한 positional embedding 을 나타낸다. 이는 각각의 시공간 위치를 인코딩하여 위치 임베딩이다. 

 

Query-Key-Value computation : Transformer 는 $L$ 개의 인코딩 블록으로 이루어져있다. 각각의 블록 $l$ 에는 query/key/value 벡터가 각각의 패치에 대해 계산된다. $z^{(l-1)}_{(p,t)}$ 에 대해 계산된다. 

 

 

LN() : LayerNorm

a = 1,...,A : multiple attention heads 의 index를 나타낸다. A 는 전체 헤드의 갯수를 나타낸다. 

latent dimension for each attention head : $D_h = D / A$

 

Self-attention computation : 

 

 

 

4. Experiments

우리는 네 가지 인기있는 동작인식 데이터 세트인 Kinetics400, Kinetics600, Something-SomethingV2 및 Diving-48. ImageNet1K 또는 ImageNet21K 로 사전훈련된 ViT 를 채택한다. 8*224*224 크기의 클립을 사용한다. 3개의 자르기에 대한 점수를 평균내어 최종 예측을 얻는다.

 

4.1 Analysis of Self-Attention Schemes

 

첫 번째 실험 세트에서는 ImageNet-21에서 사전 훈련된 ViT 에서 시작한다. 표 1에서는 Kinetics-400 및 SomethingSomethind-V2 에 대해 제안된 5가지 attention 방식에 대해 TimeSformer를 사용하여 얻은 결과를 제시한다. 첫째, 공간 전용 attention를 갖춘 TimeSformer 가 K400 에서 좋은 성능을 발휘한다는 점을 주목한다. 

 

또한 분할된 시공간 attention이 K400과  SSv2 모두에서 최고의 정확도를 달성한다는 것을 관찰한다. 이는 합동 시공간 attention 에 비해 분할된 attention이 더 큰 학습용량을 갖기 때문인 것으로 보인다.(표 1 참고)

 

5. Conclusion

이 작업에서는 컨볼루션 기반 비디오 네트워크의 기존 패러다임과 근본적으로 다른 비디오 모델링 접근방식인 TimeSformer 를 소개했다. 우리는 효과적이고 확장가능한 구조를 설계하는 것이 가능하다는 것을 보여주었다. 우리의 방법은 개념적으로 간단하고, 주요 동작인식 벤치마크에서 최고수준의 결과를 달성하고 훈련 및 추론 비용이 낮고, 1분 이상의 클립에서 적용할 수 있다. 따라서 장기적인 비디오 모델링이 가능하다. 

728x90