Open joosun7l opened 1 year ago
Image Captioning에서 성능이 좋음 PLM를 Pretrained 하는 방법. (Medical[X-ray]에서 좋음) CrossAttention에서 Image와 text의 정보를 Attention을 함.
Pre-trained language model(PLM)을 적절하게 fine-tune하는 방법에 대해 제시한다. Cross Attention에서 image+text로 attention연산을 하고 self-resurrecting이 activation 역할을 해준다. Feed forward layer만 freeze 해준다고 하는데 작은 dataset에서도 학습 성능이 잘 나온다고 말한다.
Decoder는 GPT2를 사용했고, Text를 query, Image를 key, value로 사용한다.
Pre-train된 모델들의 cross attention방법에 대해 새로운 시각을 제시한 모델이다. Gate를 통한 feature들의 결합이 참신했다. 다만 Gate에 대한 설명과 직접적인 pre-train과정에 대한 자세한 설명이 좀 더 있었으면 좋았을 듯 하다. 추가로 Gate에 관한 논문을 읽어본다면 해당 방법론을 사용해보는데에 더 큰 도움이 될 듯.
Paper
VisualGPT: Data-efficient Adaptation of Pretrained Language Models for Image Captioning
Summary 대규모 데이터셋을 이용한 Pre-trained language model(PLM)을 fine-tune 하는 방식으로 이미지 캡셔닝 task 모델을 만든 논문 입니다. 비교적 작은 데이터 셋으로 학습을 하여도 높은 성능을 낼 수 있다는 장점이 있습니다.
아키텍처를 살펴보면 그림1 그림2
우선 그림1과 같이 이미지를 인풋으로 받는 encoder가 있습니다. 해당 encoder에서는 이미지의 정보를 2048크기의 벡터로 변환 시켜줍니다. 이러한 이미지 정보를 담은 encoder의 output과 PLM의 기존 텍스트 정보가 decoder의 인풋으로 들어갑니다. 이미지, 텍스트 정보를 cross attention하고, Self-Resurrecting Activation Unit (SRAU)에서 cross attention의 결과를 통해 기존의 가중치를 업데이트 하는 과정을 거칩니다. 이러한 과정을 거치면서 디코더에서는 이미지에 대한 캡션을 학습 합니다. loss fucntion은 Cross-Entropy Loss 입니다.
학습 방법 먼저 pre train과정을 거칩니다. PLM 자체가 거대한 데이터 셋을 이용한 pre train 모델이지만 이미지 캡션 테스트에 맞게 Conceptual Captions 와 같은 데이터 셋으로 pre train 해줍니다. 이렇게 pre train된 모델을 가지고 각각의 데이터 셋에 대한 fine tuning으로 모델을 개발하게 됩니다.
Speaker @joosun7l