-
Audio-Visual Instance Discrimination with Cross-Modal Agreement논문 Review/Video Representations learning 2022. 3. 22. 21:48
이번에 정리할 논문은 예전부터 보려고 했던 논문인데
self-supervised learning approach를 Audio-visual representations의 학습에 적용한 논문이다.
되게 간단하면서도 좋은 성능을 보이고 FAIR에서 나오고 CVPR 2021에 accepted 된 논문이라 자세히 살펴볼 생각이다.
1. Introdcution
파도 소리를 상상해보라고 하면서 하나의 소리가 여러 풍경을 이어주는 bridge 역할을 한다고 얘기한다.
논문의 저자들은 자유롭게 발생하는 Audio의 특성을 활용해서 self-supervised 방식으로 Video representation을 학습합니다. 일반적인 기술은 Video와 Audio의 입력 쌍이 correct 인지 아닌지의 여부를 예측해야 하는 task를 setup 하는 것이다. 여기서 correct 한 pair은 동기화된 비디오 및 오디오이며, 동기화되지 않은 오디오 또는 다른 비디오의 오디오를 사용하여 incorrect pair을 구성할 수 있다. 그러나 한 번에 single pair을 사용하는 task를 데이터 배포 전반에 대해 reason 하는 중요한 기회를 놓친다.
논문에서는 cross-modal represenetation을 학습하기 위한 contrastive learning framework를 제안한다. self-supervised 방식을 사용한다.
Video와 Audio instance를 함께 그룹화해서 cross-modal similarity metric을 학습하는 AVID task를 setup하기 위해 최근 advanace contrastive learning을 활용한다. 논문의 저자들은 cross-modal discrimination 즉 어떤 audio가 video와 일치하는지 예측하는 것이 같은 video에서 어떤 video clips이 나올지 예측하는 within-modal discrimination task보다 더 강력하다는 걸 보여준다. 논문에서는 AVID의 중요한 한계를 추가로 identify하고 개선하는 방법을 2가지를 제안하는데
1) reason about multiple instance
2) optimize for visual similarity rather than just cross-modal similarity
이렇게 두가지다.
Cross-Modal Agreement(CMA)를 사용하여 video 및 aduio 공간에서 similarity가 높은 video를 group 합니다. CMA가 관련 있는 video를 semantically 하게 identify 할 수 있고 관련 비디오 간의 visual similarity를 최적화하면 학습된 visual representations이 크게 항상 된다고 합니다. CMA가 AVID보다 action recognition task에서 성능이 잘 나오는 걸 확인할 수 있다. (Kinetics, UFC-101, HMDB-51)
2. Releated work
Self-supervised learning에 대한 설명을 합니다. 그 중에 새로운 연구 분야라고 visual data의 구조나 domain-specific 특성을 사용해서 알고리즘적으로 pretext tasks를 정의합니다. pretext task는 일반적으로 그 자체로는 유용하지 않으며 semantic representation을 학습하기 위한 proxy로 사용된다. 이미지의 spatial 한 구조나 video의 temporal 정보, self 또는 naturally 이용 가능한 supervision sources를 사용한다. 이 논문에서는 video 그리고 audio alignment에서 자연스럽게 사용할 수 있는 signal을 활용하는 unsupervised learning 기술을 제안합니다.
Representation Learning using Audio
Audio를 사용하는 장점에 대해 얘기합니다. visual data만 사용 하는 것보다 multiple modalitis를 self-supervised learning에 사용할 수 있고 예시 논문을 들며 이와 같이 audio 정보를 같이 사용하면 powerful representation을 학습하는데 도움이 될 것이라고 얘기합니다. Audio self-supervision은 sound source localization and separation, lip-speech synchronization visual representation learning and audio spatialization에 유용하게 사용되는 점을 보여줍니다.
Audio-Visual Correspondence (AVC)
audio-video cross-modal learning의 standard한 task이다. binary classification 문제를 해결하기 위해 visual, audio input을 align 한 task이다. 하지만 대부분의 방법이 오직 single video나 audio를 learning을 위해 사용했다. 이러면 문제가 모델은 여러 sample에 대한 distribution을 implicitly 하게 reason 해야 한다. 그래서 논문에서는 다수의 samples와 동시에 contrastive loss를 사용한다.
Contrastive Learning
cross modal discrimination의 한계 얘기하고 그것보다 더 좋은 방식 제안해서 그건 관련 video 그룹을 identifies하고 video 간의 similarity를 최적화할 수 있다는 위랑 똑같은 얘기를 합니다.
그리고 최근에 읽었던 논문에 대한 얘기를 하는데 visual and audio feature space에서 independently로 cluster을 찾기 위해 alternating optimization을 사용하고 cross-modal feature를 improve 하는 논문이랑 비교를 합니다.
이 논문에서 사용하는 CMA method는 alternating optimization을 사용하지 않고 단지 cross-modal similarity보다는 visual similarity를 직접적으로 improve하기 위해 visual과 audio representation사이에 agreements를 이용합니다.
또 최근에 언급했던 co-training 논문도 positive set을 확장하기 위해 optical flow랑 RGB로 나오는 co-occurring modalities를 사용했는데 이 방식은 두 modalities의 agreement을 기반으로 하는 mining positive 대신 oppositie modality에만 의존한다. 이 내용은 아마 RGB가 안좋으면 optical flow만 보고 정한다 -> 두 modalities의 agreement가 아닌 다른 modality만 본다 이렇게 이해했습니다. 그래서 더 좋지 않다. 여기서 내가 본 논문 2개를 언급하는데 이게 다 이어져있구나....
3. Audio-Visual Instance Discrimination
Instance discrimination and contrative learning의 최근 발전을 바탕으로 unconstrained video and audio에서 self-supervised 방식으로 visual representation을 학습한다.
3.1. Gogal and Intuition
AVID의 목표는 training instance로부터 visual and audio representations(vi,ai)를 학습하는 것이다.
이전 연구는 instance 사이의 discriminative objective가 instance 사이의 similarities을 포착하는 semantic representations을 학습한다는 것을 보여준다.
1. Self-AVID
- 같은 modality 안에서 instance discrimination을 요구한다. 이전의 두 modalities를 독립적으로 적용하는 task와 비슷하다.
2. Cross-AVID
- Cross-AVID는 cross-modal discrimination을 위해 optimize된다. 즉 visual representation vi는 audio memory를 식별하기 위해 필요하다.
3. Joint-AVID
- Self-AVID랑 Cross-AVID랑 합친 것이다.
이러한 variant의 이점은 정확히 모르고 저자들도 실험을 통해 경험적 연구로 결과를 판단한 것 같다.
데이터셋 N에서 sample si를 뽑습니다. 하나가 video의 clip이라고 볼 수 있고 Video 파트를 Si(v) 이고 Audio파트는 Si(a)이다. 사용하는 audo video 합쳐진 instance s를 사용하고 contrastive learning을 사용하니까 기본적인 similarity를 조절하는 approach는 같다. 각각 embedding 을 위한 네트워크로 fv와 fa를 정의하는데 이는 뒤에서 얘기합니다.
그래서 feature embedding이 output이 되는 거고 여기서 특징이 Slow moving represenation이라는걸 관리를 하는데 이는 exponential moving average를 사용한다. n개의 sample에 대해서 각각 해당되는 memory feature를 두고 계속해서 업데이트를 하면서 학습할때 fv에서 embedding해서 나온 feature와 video, audio 각각의 memroy feature를 target으로 삼고 학습을 진행합니다. 이 두개가 similar 하면 simliarty를 높게 해주고 이런 방식으로 contrastive learning을 한다.
3가지 옵션으로 실험을 진행합니다.
3.2. AVID training procedure
AVID는 기본적으로 NCE(noise contrastive estimation)을 사용합니다. 식에서 - 가 표시 되는 부분은 memory bank에서 관리되는 moving average입니다. 구현 상으로는 index를 통해서 같은 건지 아닌지를 관리하고
x는 f에서 뽑아진 feature인데 이게 si에 속하는지 안속하는지는 위 식 처럼 사용합니다. cosine similarity를 사용하고
분모에는 x라는 feature가 모든 memory bank랑 비교해서 exponential cosine similarity를 구해서 다 더한게 분모로 들어가고 분자에는 그 타겟으로 해당되는 memory bank에 xi랑 exponential cosine similarity를 구해서 이걸 probability를 봅니다.
AVID 에서 training 하는 건 given feature가 각 bank 별로 하나씩 비교해서 거기에 속하는 지 안속하는지를 비교하는 multiple binary classification problem이라고 볼 수 있고 거기에 해당되는 거에 대한 similarity를 높여주고 D=1을 해주고 아닌건 D=0으로 해주고 negative는 많으니까 summation을 해줍니다.
다음 식이 AVID의 NCE loss를 의미합니다.
위 식은 AVID option이 3가지였는데 그거에 대한 각각의 NCE loss를 의미합니다.
Self-AVID는 video feature를 video memories bank에 있는 target이랑 비교하고 Audio도 다음과 같고
Cross-AVID는 여기서 Video feature를 Audio memories bank에 있는 target이랑 비교하고 Audio도 반대로 해줍니다.
Joint-Avid는 이 두개를 합친 내용입니다.
3.3. Analyzing AVID
Pre-training Dataset
AudioSet: 1.8M video focusing on audio events, 632 audio classes in 10s segments of Youtube videos.
Randomly sample 100k video를 하고 input video(1s), audio(2s)를 사용한다.
Video and audio Models.
fv : small version of R(2+1)D with 9 layers R(2+1)D 네트워크는 Resnet이랑 비슷한데 temporal 정보 까지 같이 처리하기 위해서 3D conv 전에 spaitial 이랑 temporal 처리하는 부분을 decomposed하고 시리얼하게 연결해주는 형태로 대체한 그런 모델의 구조를 small version으로 사용합니다.
fa : 9-layer 2D ConvNet with BatchNorm
Audio는 log spectrogram을 input으로 사용해서 2D 형태라 이 형태를 처리하는 네트워크로 되어 있습니다.
raondomly sample within 0.5s of the video, volume/temporal jittering을 해주어 100 time-steop이랑 129 frequency bands가 되게 해주는데 이 부분은 코드를 체크해보아야겠다.
이 두가지가 feature embedding 역할을 하고 output을 max-pooling하고 128-dim으로 MLP을 이용해 projected를 해주고 normalized 해줍니다.
Downstream Tasks
Visual Featuers : Kinetics dataset, linear probing on fixed fv
Audio Features : ESC-50 dataset, linear probing on fixed fa
위 실험에 대한 결과입니다. block 별로 linear probing 해서 학습을 해본 결과입니다. 가장 마지막이 best이고
여기 논문에서 분석하는게 있는데
Self-AVID 방식은 embedding 한 feature와 memory bank에 있는 feature인데 이게 같은 instance에서의 비디오 샘플링한거죠. 하나는 moving average한거고 하나는 fv 네트워크 통과한 값이고 이걸 easier pretext task라고 표현하고 이 때문에 학습 효과가 적을 수 밖에 없다고 해석합니다. 그리고 Cross-AVID가 Joint-AVID 보다 좋은 점이 Joint-AVID에 Self-AVID가 들어가서 이런 결과가 나온다고 얘기합니다.
4. Beyond Instance Discrimination: Cross-Modal Agreement
Limitations in AVID frame work
1, Limited to instances
Instance에 대해서만 contrastive learning을 한다는 문제입니다. 같은 Instance가 아니어도, 즉 다른 Instance여도 유사한 Video Clip이 있을 수 있는데 semantically related instances라고 표현합니다. 근데 이 부분이 positive로 고려가 안됩니다. 이거는 AVID 뿐만 아니라 기존의 Visual만 사용하는 Contrastive learning의 문제점입니다.
2. False negatvie sampling
1번과 연관지어 비슷한 얘기입니다. Positive의 문제가 있고 마찬가지로 semantically related to si가 있는데 이걸 negatvie로 본다는 건 False negative sampling이라고 합니다. Contrastive learning은 많은 negative를 요구합니다.
이럴 수록 False negatvie sampling을 악화시킨다고 합니다. 이게 representation learning의 goal이랑 모순이 된다. similar하게 학습하는데 문제가 있으니까.. 이런식으로까지 얘기합니다.
3. No within-modality calibration
Cross-AVID는 directly로 visual similarity를 optimize한게 아니다. 이 부분이 성능에 hurt 할 수 있다고 하는데 좋은 visual representations는 visual feature similarities를 반영해야만 한다고 얘기합니다.
4.1. Relating instances through agreements.
CMA는 prior work인 multi-view learning으로부터의 insights를 기반으로 합니다. hypothesize는 두개의 sample이 visual and audio feature space에서 둘다 유사한 부분이 오직 one feature space에서 samples이 agree 하다는 점 보다 더 semantically related하지 않을까 입니다. 그래서 이 instance를 positive sample로 learning representations을 합니다.
4.2. CMA Learning Objective
si랑 sj에 대한 Agreement score를 다음과 같이 정의합니다.
각각의 Visual feature의 cosine similarity와 Audio feature cosine similarity의 min 값을 정의합니다.
둘중의 하나라도 similar하지 않으면 이 score가 낮게 나옵니다. 위 그림의 파란색 영역을 저 score로 필터링 합니다.
Positive set과 Negatvie Set은 다음과 같습니다.
TopK개를 취해서 positive set을 취하는데 실험에서는 32개 정도 진행합니다. Negatvie는 그 나머지로 Positive와 겹치는 건 없습니다. training 때 Kn개의 negatvie instances를 뽑습니다. 이게 N'이라고 표현하고 positive sample도 Kp개를 sampling 해서 사용합니다. Video feature와 Audio feature 각각이 instance 의외에 다른 instace 까지 포함 된 여러개의 Memory bank에 해당되는 Memory feature와 NCE loss를 진행합니다. Positive instance Pi 개수만큼 진행합니다.
이 과정으로 Self-AVID에서는 같은 instance 에서만 positive 를 정의해서 성능이 제약이 있었는데 여기서는 같은 instance가 아니래도 similarity가 높으면 positive로 보니까 성공적으로 calibrates를 할 수 있다고 합니다.
Final Objective는 다음과 같습니다.
4.3. Analyzing CMA
Cross-AVID로 200 epoch을 돌려서 initialized를 해놓습니다. Fine-tuining 형식으로 Lwmpd를 추가해서 200 epoch을 추가로 돌립니다. 왼쪽은 키네틱이고 오른쪽은 ESC입니다. 람다를 조절해서 학습을 하니까 CMA가 AVID보다 성능이 좋게 나옵니다. Video는 1일때 Sound는 3일때 성능이 좋게 나옵니다.
Related 된 instance를 벗어나서 Gropu으로 positive instance로 하는게 within-modal similarity가 더 좋게 나온다 라고 intuition으로 얘기합니다.
Analyze the embedding space defined by memory bank:
랜덤하게 두개의 sample을 뽑아서 inner-product 했을 때 average가 zero가 되야 한다. (왜? 다 uniform 하게 뽑았기 때문에 여러번 반복하게 되면 feature가 hypersphere 상에 존재하도록 nomarlized 되어서 이론적으로 avaerage가 0이 되어야 한다..)
근데 Cross-AVID만 하면 inner-product 가 0.23이 나온다. hypersphere 반지름이 1이라 이건 bias가 크다고 합니다...?
이러한 점이 collapsed representation이 된다는 걸 의미하고 CMA는 yields an average dot-product between random memories of zero가 나온다.
5. Cross-AVID and CMA at scale
4가지 경우로 실험을 합니다. Video랑 Audio의 similarity를 가지고 실험을 진행하는데 Audio similarity만 가지고 한건 특히 performance hurt가 심합니다. 이런 이유는 비디오에서 visual 정보가 audio 정보보다 더 많은 information을 가지고 있다는 걸 확인할 수 있다.
그림에서 왼쪽에 있는게 referenece인데 왼쪽은 video similarity, 오른쪽은 audio similarity입니다. VIsual similarity가 높은데 audio는 낮은 부분이 negatvie로 빠지는데 이게 중요하다고 합니다.
그래서 더 Biggner network로 Cross-AVID와 CMA를 실험을 합니다.
fv : 18-layer R(2+1)D network
fa : 9-layer (2D) CNN with batchNorm
input이다 log spectrogram size를 다 키워줍니다.
1단계로 Cross-AVID로 학습하고 , Fine-tuning 해서 CMA를 합니다.
Evaluate는 비디오는 action recognition으로 하고 오디오는 sound classifiaction으로 합니다.
Cross-AVID vs AVID+CMA
Clip-level prediction은 single 8-frame clip으로 prediction을 얻고 videl-level은 전체 비디오에서 균일하게 샘플링된 10개 clip에서 clip-level prediction을 averaging 해서 계산합니다.
기존 SOTA와 비교인데 기존 SOTA 모델들이 linear prob이 아니고 fine-tuning이라 fine-tuning을 해줍니다.
UCF나 HMDB dataset으로, input size가 제 각각이라 좀 문제가 있다고 합니다. 그래서 최대한 비교하기 위해 8이랑 32 이렇게 두개를 진행합니다. 성능이 SOTA가 나오는 걸 확인할 수 있고 XDC랑 비교한 모델과의 차이가 pre-train때 input size가 조금 다른 부분이 있다고 합니다. fine-tuning이 linear probing보다 성능 향상이 좀 낮다고 합니다. 이 부분이 visual feature가 훼손이 되어서 그렇다고 얘기합니다.
Sound recognition 관련 내용입니다. 성능이 잘 나옵니다.
6. Discussion
'논문 Review > Video Representations learning' 카테고리의 다른 글
개인 연구 아이디어 정리 (0) 2022.12.19 Active Contrastive Learning Of Audio-Visual Representation (0) 2022.05.26 Representation Learning 필요한 개념 정리 (0) 2022.05.18 Enhancing Audio-Visual Association with Self-Supervised Curriculum Learning (0) 2022.05.04 CVPR 2021 Video Representation Learning 정리 (0) 2022.04.07