논문 : https://arxiv.org/pdf/2305.05665.pdf
Key Point
pair가 존재하지 않는 데이터를 이미지를 통해 정렬하여 (I,M1), (I,M2)에 대해 (M1,M2)가 정렬되어 각각의 모달리티와 이미지를 정렬하는 것이 서로 다른 모달리티도 정렬되는 현상을 발견
제안 방법론
본 논문의 모델 IMAGEBIND는 6가지 각 modalities를 하나의 representation space에서 표현하는 것이 목표이다.
이러한 시도는 CLIP이 가장 유명한 연구 중 하나인데, 원래는 이미지와 텍스트는 각기 다른 space에 존재하기 때문에 서로 관계를 측정할 수가 없었다.
하지만, CLIP에서 해당 데이터들을, 즉 이미지와 텍스트를 Joint Embedding Space에 보내 유사도를 학습시키는 task를 가능하게끔 했다.
ImageBind 논문은 이러한 CLIP을 본받아 무려 6가지나 되는 modalities를 모으는 시도를 했다.
그렇다면, 특정 대상에 대해서 6가지 모달리티에 대한 데이터를 가져야 하나?
아니다.
그 이유는 Image-(Pair)을 통해 한 공간에 맵핑되는 Representation Space, 즉 공통된 embedding space를 구성하여 학습하기 때문이다. 이때 논문에서는 각 다른 모달리티의 임베딩을 이미지 임베딩을 통해 정렬한다고 설명한다.
또한, 동시에 한 공간에서 세개 이상의 모달리티를 joint한 것일까?
아니다.
CLIP과 비슷하게 한번에 두 개의 모달리티만 joint embedding space에 학습을 시키는 것이다.
하지만, 결국에는 전체적으로 보면 이미지와 다른 모달리티들을 모두 joint embedding space에 학습을 시키니까 최종적으로 6개의 모달리티가 같은 공간에 있게 되기 때문에 cross-modal task가 가능하게 되는 것이다.
Binding modalities with images & InfoNCE Loss
ImageBind는 이미지로 모달리티를 바인딩한다. 이때 (I,M)에서 I는 이미지 M은 다른 모달리티를 나타낸다.
이때 M은 이미지와 연결되는 Audio, Depth, Thermal, IMU등을 이미지와 함께 Pair로 사용하게 된다.
각 서로 다른 모달리티는 우선 임베딩 차원으로 보내는데 각각 모달리티마다의 크기가 다른 ViT인코더가 존재하게 된다.
이후 기존의 CLIP과 다르게 InfoNCE Loss를 사용한다.
i=i일 경우 같은 q,k는 일종의 positive pair(유사한 관계)이며, i !=j일 경우 negatives pair이다.
즉 음의 log이므로 postive pair의 내적값이 1에 가까워질 수록 LI,M은 0에 가까워져 Loss가 0에 점차 수렴하게 된다.
이때 τ는 스칼라값이며 softmax의 분포를 조절하는 값이다.
실제로 Loss는 배치내의 유사한 샘플에 대하여 처리하도록 LI,M+LM,I 연산을 수행한다.
결과적으로 (I,M1) 과 (I,M2)으로 훈련을 진행하여도 (M1,M2)이 작동하는것을 관찰한다고 논문에서 주장한다.
이로써 Image-text, Image-Audio로 훈련을 시켜도 Text-Autio가 가능하게끔 된다.
왜 그럴까? 그 이유는 다음과 같다 :
간단히 말하자면, 공통된 이미지 임베딩 공간을 사용해서이다.
예를 들어, image-text를 먼저 joint embedding space에 보낸 후 유사 관계를 학습 시킨다.
그 후, image-audio를 joint embedding space에 보낸 후 학습을 시킨다.
이때, 공통된 joint embedding space를 사용함으로 해당 임베딩 공간에는 text와 audio에 대한 정보가 있기 때문에 audio-text에 대한 task가 가능해지는 것이다.
즉, 훈련할 시 실제 Image를 입력받는 ViT와 Text Encoder는 가중치를 동결시키기 때문에 해당 과정들이 가능해지는 것이다.
아래와 같은 예시 이미지가 동작한다.
Implementation Details
우선적으로 모든 Encoder는 Transformer(ViT) 기반의 아키텍처를 가져온다.
이때 각각의 모달리티마다의 다른 ViT를 사용하며 이미지와 동영상의 경우는 동일한 ViT를 사용한다. 하지만 동영상의 경우 ViT의 projection layer부분을 임시적으로 확장 시켜 사용한다.
ViT에 대한 구조는 아래 링크를 참고하면 좋을 거 같다. (쉽게 설명해줌)
https://mishuni.tistory.com/137
[AI/ViT] Vision Transformer(ViT), 그림으로 쉽게 이해하기
서론AI/ML 의 Natural Language Processing (NLP) 분야에서 각광받고 있는 Transformer 구조를 Language 가 아닌 Vision 영역에 적용한 Vision Transformer(ViT) 라는 구조가 2021 년도 ICLR 라는 학회에 발표[1] 되었다. 그 이
mishuni.tistory.com
- 동영상의 경우 2frame을 샘플링한다. 이때 동영상은 이미지와 오디오로 나누어진다.
- 오디오는 16kHz로 샘플하며 128 mel-spectrogram로 변환시켜 사용하게 된다.
- 추가적으로 열화상 이미지와 Depth이미지의 경우 one-channel이미지로 사용하게 된다. 이때 Depth는 disparity map으로 변환하여 사용한다.
- IMU는 가속도와 자이로스코프로 구성되어 IMU 신호를 X,Y,Z축에 걸쳐 추출하며 추가적인 후처리후에 사용한다.
- Text의 경우 CLIP과 동일하게 사용된다.
추후 모든 모달리티별 ViT 위에 Loss로 보낼 차원을 계산하는 Linear Layer를 추가한다.
또한 모든 모달리티는 사전 학습된 가중치를 사용하게 되는데, Image와 Text 인코더의 경우 사전 훈련된 CLIP 또는 OpenCLIP의 가중치를 사용하게 된다.
실험 및 결과
Emergent zero-shot classification
각 아이콘은 이미지, 동영상, Depth, Audio, Thermal, IMU 순이다.
위 그림에서 파란색으로 색칠된 부분은 pair가 없는 데이터 쌍으로 학습을 시켰을 때이다.
ImageBind는 (이미지, 텍스트) (이미지, 오디오)만을 학습하고도 (오디오, 텍스트) zero-shot task를 수행할 수 있다. 저자들은 이러한 task를 emergent zero-shot task라 명명했다.
이때 특이사항으로 Emergent zero-shot의 경우 대부분 SOTA를 달성하였다.
Few-shot classification
Few-shot의 경우 CLIP과 유사하게 선형 레이어를 부착후 Few-Shot을 진행하게 되는데 ImageBind가 self-supervised로 학습된 AudioMAE보다 높은 성능을 나타낸다. 심지어 논문에서는 일반화가 잘되는 4-shot에서도 보다 높은 성능을 나타낸다는 점을 강조하였다.
MultiMAE의 경우 image,depth,segmentaion mask로 훈련되었지만 모든 구간에서 이보다 훨씬 높은 성능을 달성하였다.
Object detection with audio queries && Audio Diffusion
해당 논문에서는 embedding vector 간의 산술 연산 가능하다고 했다.
즉, 이 말은..
- text based detector를 audio based로 업그레이드 가능
- Detic의 모델의 경우 CLIP-based의 Detection model인데 이때 CLIP의 'class' embeddings를 ImageBind의 audio embeddings로 교체하면 소리로도 Detection이 된다.
- text based diffusion model을 audio based로 업그레이드 가능
- 추가적으로 DALLE-2같은 경우 prompt embeddigs을 audio embeddings로 교체할 경우 Diffsion을 Audio로 만들어 낼수도 있다고 한다.
IMAGEBIND to evaluate pretrained vision model
supervised DeiT 모델과 self-supervised DINO 모델을 이미지 인코더로 가져갔을 때, DINO 모델이 보다 emergent zero-shot classification이 잘되었다는 것을 확인할 수 있다. 이는 ImageNET의 순수 비전 성능과 상관없이 완전히 다른 특성을 관찰한다고 주장한다. 논문에서는 이러한 점을 multimodal applications에서 비전 모델의 성능을 측정하는데 좋은 도구가 될수 있다고 주장한다.
Conclusion
Pair가 없는 데이터에 대하여 이미지 인코더를 통해 정렬시켜 Emergent zero-shot classification을 가능하게 하였다. 각각의 모달리티에 대해 필요한 pair 데이터를 확보하지 않아도 같은 Representation Space로 보낼 수 있게 되었다.
아래는 논문 읽다가 생긴 의문점들, 그리고 그에 대한 나의 생각을 정리해보았다.
결국은 동시에 한 공간에서 세개 이상의 모달리티를 joint한 것은 아닌 건가..?→ 한번에 두 개의 모달리티만 joint embedding space에 학습을 시키는 건 맞는데, 결국에는 전체적으로 보면 이미지와 다른 모달리티들을 모두 joint embedding space에 학습을 시키니까 최종적으로 6개의 모달리티가 같은 공간에 있게 됨
→ image-audio랑 image-text를 joint embedding space에 각각 보낸 다음, Loss가 최소가 되게끔 각각 학습시키면 결국에는 audio-text 관련 task를 수행
논문에서 image-audio & image-text를 각각 학습시키면, 결국에는 audio-text task를 수행할 수 있다고 했는데, 이게 구체적으로 왜 그런지..?
→ 그러니까 image-text를 먼저 joint embedding space에 보내서 유사해지도록 학습을 시키고 나서, 그 후 image-audio를 joint embedding space에 보낸 후 학습을 시키면, 어차피 공통된 joint embedding space를 사용하니까 해당 임베딩 공간에는 text와 audio에 대한 정보가 있기 때문에 audio-text에 대한 task가 가능해짐
→ 공통된 이미지 임베딩 공간을 사용해서 그렇다!
'📜 Paper > Multi-Modal' 카테고리의 다른 글
Self-Supervised MultiModal Versatile Networks (2) | 2024.02.28 |
---|---|
CLIP : Learning Transferable Visual Models From Natural Language Supervision (0) | 2024.02.08 |