On the journey of
[논문읽기] OSCAR : Object-Semantics Aligned Pre-training for Vision-Language Tasks 본문
[논문읽기] OSCAR : Object-Semantics Aligned Pre-training for Vision-Language Tasks
dlrpskdi 2023. 10. 10. 09:26Original Paper ) https://arxiv.org/pdf/2004.06165.pdf
Introduction & Background
: 이전 VLP에 대해
VLP는 self-supervised learning으로 cross-modal representation을 학습한다
기존의 Transformer 기반의 연구들은 제한들이 vision 영역에서 해결되지 못한 부분들이 있다.
- 모호성(ambiguity) : image 내에서 2개의 class/object가 겹쳐있는 경우가 많다. 이 때에 대한 해결성이 조금은 애매하다는 문제가 있다.
- Lack of grounding : image내의 object와 text사이에서 정확하게 명시된 labeling된 어떠한 값이 존재하지 않는다는 의미. 이것은 weakly supervised learning이라고 보면 될 거 같다.
위의 두 문제점을 해결하기 위해서 논문은 노력했고, 관련된 성능을 끌어올리는 성과를 나타냈다.
What is Multimodal embeddings
요즘 해당 VL tasks에서 대부분의 SOTA model은 Transformer 베이스이다. 그리고 image region feature와 text feature를 concat 시킨 후에 self-attention 기법을 사용하는데 이러한 방법을 논문에서는 brute-force 방식을 사용한 학습이라고 한다.
그럼 brute force란 뭘까.
- 단어의 의미를 보면 “무식한 힘”이라고 말할 수 있겠지만, 좀 더 정확하게 표현하면 모든 경우에 대해서 무식하게 탐색, 즉 완전 탐색이라고 한다. 그래서 브루트 포스 알고리즘과 비슷하다고 볼 수 있다. 해당 알고리즘에 장단점이 존재하는데, 그건 아래와 같다.
- ✅ 복잡한 알고리즘없이 빠르게 구현할 수 있다.
- ❎ 메모리 효율면에 있어서 비효율적이라고 판단할 수 있다.
- ❎ 알고리즘 실행 시간이 좀 많이 걸린다
Large-scale의 image-text pair를 사용해서 pre-train된 이후 fine tuning을 진행한다. 그런데 이렇게 진행하면 image region이 over sampled(물체가 겹쳐있는 상태)되거나 noisy(탐지하고 싶은 대상이 아닌 물체가 지나가거나)하거나 모호할 경우에는 학습이 제대로 되지 않는다는 문제점이 있다.
concatenate한 다음에 self-attention을 통해서 각각 모두 결과값을 확인한 후에 가장 dot-product score가 높은 것을 사용한다는 과거 방법에는 문제점이 있다고 주장했다.
object tag를 하지않았을 때 couch, dog에 대한 feature가 정확하게 분리되어있는 결과를 가져오지 못했지만, object tag를 input으로 함께 넣어줬을 때 WE이 확실하게 나눠진 결과를 확인할 수 있었다고 표현했다. b에서는, object tag는 사전 훈련된 언어 모델의 단어 임베딩으로 이미지 영역을 정렬하기 위한 앵커 포인터로 사용한다.
Oscar Pre-training
What is object tag?
본 논문에서는 OSCAR model input으로 object tags들도 넣어주면 더 좋은 결과를 가져오지않을까? 라는 가정을 세웠다. 근거는 image에 검출되는 object는 높은 확률로, pair text에 언급된다. 뭔 소리냐면, 이미지 내에서 중요한 역할을 하는 객체와 text에서 중요하게 존재하는 어떠한 단어들이 존재한다는 의미이다.
MS COCO 데이터셋에서 대해서 확인한 결과
- 검출된 object 1 : 49.7%
- 검출된 object 2 : 22.2%
- 검출된 object 3 : 12.9%
그래서 object tag를 도입하면 명시적인 alignment가 가능해진다.
(그렇게 하면 아까 over sampled된 image region이 어느 정도 해결이 된다고 OSCAR 저자들은 주장한다)
학습 파이프라인
구조를 보니까 BERT와 똑같아 보인다. 단, 차이점이 있다면 object tags가 존재한다는 점이다.
input에 object tags가 들어가서 OSCAR는 기존 VLP 내용과 다르다고 주장다.
- input representation : 단어 시퀀스, 객체 태그, 이미지 영역(regions features)
- 3개의 input을 각각 embedding시킨 후에 Multi-layer Transformer를 사용해서 각각 feature를 만들어주고, loss값을 계산해주면서 pre-train시켜준다.
- pre-train : VLP method Oscar to learn representations that capture channel-invariant (or modality-invariant) factors at the semantic level. Oscar differs from existing VLP in the way that the input image-text pairs are represented and the pre-training objective.
w,q,v
word token, object token을 pre-trained language model(BERT) 통해서 embedding을 시켜준다고 논문은 설명했는데, 사실 명시적으로 ‘pre-trained LM = BERT’라는 말은 존재하지 않았다.
- word token → pre-trained BERT을 통해서 word embedding을 해준다. → w
- object tag → pre-trarined Faster R-CNN을 통해서 object detection을 진행 → pre-trained BERT를 통해서 embedding을 해준다. → q
- region features → pre-trained Faster R-CNN을 통해서 물체 탐지를 진행하고, 각각의 위치와, bounding box 안에 있는 feature space(2048 차원)으로 나타내주고 → text-image feature에 대해 concat을 진행해준다 → linear 변환해줘서 V로 변환해준다.
Loss : 아래와 같다.
Dictionary
L_MTL이란 Mastk-Token-Loss의 줄임말이다. OSCAR에선 object tags와 word tokens를 하나로 묶어서 진행하는데, w,q를 하나로 묶어서 h로 설정해준다.
input에서 mask 해서 진행시켜준 다음에 랜덤하게 15%가 masking된 h를 사용해서 주변의 h, v로 mask token을 예측하는 방식으로 BERT 방식과 비슷한 것을 확인할 수 있다. 여기에서 masking된 주변과 v라는 이미지 feature 사용해서 어디가 마스킹이 되어있는지를 예측하는 Loss이다. 이를 토대로, 기존의 내용과의 차이점은 정리하자면
- input token에 mask시킨 다음에 Transformer에 넣어서 어디가 마스킹된 부분인지 찾아내는 방법에서 v라는 내용을 추가해준 상태
- h는 sequence + tag에 대한 내용이라는 것.
Modality
q는 tag[text, image사이에서 공통된 중요한 단어]를 의미하는데, 이때 tag가 올바르게 사용할 수 있을까? 이런 q 중에서 절반을 다른 q로 변환해주는데 그걸 논문에서는 polluted image로 표현을 해주는데, 예를 들어서 강아지말고 말을 넣어준 결과가 올바른지 올바르지 못한지에 대한 결과를 이진 분류로 해주는 것
데이터셋
Adapting to VL tasks (단, GQA는 성능이 더 떨어졌다.
* Oscar 모델은 650만 쌍으로 구성된 대규모 이미지-텍스트 데이터 세트에서 사전 훈련되었다.
* Oscar는 Visual Question Answering(VQA) , Graph Question Answering(GQA) , Natural Language Visual Reasoning for * Real(NLVR2) , Image-Text 를 포함한 광범위한 시각 및 언어 이해 및 생성 작업에서 미세 조정되고 평가된다.
* 검색 , 텍스트 이미지 검색 , COCO 데이터 세트의 이미지 캡션
Image-text retrieval
Image captioning
image에 language 설명을 생성하는 것으로 seq2seq를 사용해서 OSCAR를 fine-tuning
NoCaps
;Train에서 보지 못한 novel object에 대한 captioning 진행 ) .
VQA
GQA
VQA와 비슷하지만 추론(reasoning)능력에 대한 검정을 중점적으로 test했다고 논문에서는 정리해놨고, 보통 이런 작업들은 2개 이상의 object를 사용해서 추론하는 과정을 의미.
NLVR
image, text pair로 받아서 text가 image에 대한 설명이 맞는 것인지에 대한 분류를 진행하는 task이다.
Experimental Results
t-SNE를 사용해서 COCO test set의 image-text쌍의 학습된 의미 기능 공간을 2D 시각화한 상태이며, 동일한 객체 클래싀 점은 동일한 색상으로 한다. object tag가 있을때 동일한 개체가 형성하는 구역이 줄어들었다. 그리고 (a) OSCAR는 각각 class별로 잘 구별이 되어있다는 점이 좀 중요! Image, text에 대해 보면, 사람, 얼룩말 같은 경우에 (b)는 엄청 말도 안되게 거리가 존재하는데, (a)는 그래도 완벽하게 겹쳐있지는 못하지만 옆에 있는 것처럼 성능이 증가한 모습은 확인할 수 있다.
OSCAR는 6가지의 작업에서 SOTA를 달성했는데, OSCAR based model은 대부분의 작업에서 이전 Large model보다 성능이 더 좋았다. object tag를 사용해서 이미지와 텍스트 간의 의미적인 정렬 학습이 쉬워져서 매개변수 효율성이 매우 높아졌다는 부분도 확인할 수 있었다.
Object tag에 대한 실험
맨위의 제일 성능이 좋은 것은 사람이 ground truth에서 직접 넣어준 다음 tag를 찾은 결과, object detection으로 tag를 찾을 때, tag 자체를 사용하지 않을때 순서대로 성능이 나온 것을 확인할 수 있다.
BERT, Faster R-CNN 모두 사전 학습시킨 것을 가져와서 시켜야하는데, 여기에 object tag를 시켰다는 부분만 추가한 논문이지만 해당 아이디어를 결합해보는 관점에선 좀 더 연구해볼 가치가 있는 듯.
Reference
GQA는 a new dataset for real world reasoning and compositional q&a
c. https://www.youtube.com/watch?v=ZYfTfK1qdEg
주장하는 바로는 VQA의 질문은 너무 짧고, 관계성에 대한 질문이 아니다?
- Each image comes with a scene graph(object, attributes and relations) representing its semantic knowledge
- 100k real-world images based on a cleaned version of visual genome