본문 바로가기
컴퓨터과학

[논문읽기] BEIT: BERT Pre-Training of Image Transformers

by 홈카페주인 2023. 5. 27.

1. 개요 및 연구동기

Image Transformer 의 Bidirectional Encoder representation 을 나타내는 self-supervised 비전 표현 모델인 BEIT 를 소개한다. 자연어 처리 분야에서 개발된 BERT 에 이어 비전 트랜스포머를 pretrain 하기 위한 마스크 이미지 모델링 작업을 제안한다. 각 이미지는 사전훈련에서 이미지패치 (예: 16*16 픽셀) 와 시각적 토큰 (즉, 이산 토큰)의 두 가지 보기를 가진다. 먼저 원본 이미지를 시각적 토큰으로 "토근화" 한다. 그런 다음 일부 이미지 패치를 임의로 마스크하고 backbone transformer 에 입력했다. pretraining 의 목표는 손상된 이미지 패치를 기반으로 원래의 시각 토큰을 복구하는 것이다. BEiT 를 사전 교육한 후 사전 교육된 인코더에 작업 계층을 추가하여 fine tuning 한다. 이미지 분류 및 분할 작업에서 경쟁력있는 결과를 달성했음을 보여준다. 

 

Transformer 는 컴퓨터 비전에서 유망한 성능을 달성했다. 그러나 경험적인 연구에 의하면 트랜스포머는 convolution 신경망보다 더 많은 훈련 데이터가 필요하다. 데이터가 부족하다는 문제를 해결하기 위해 self-supervised learning 은 유망한 솔루션이다. 비전 트랜스포머의 사전 훈련하기 위해 노이즈 제거 자동 인코딩 아이디어로 전환한다.

 

이미지 데이터에 BERTstyle 사전 훈련을 직접 적용하는 것은 어렵다.

우선, 비전 트랜스포머의 입력 단위, 즉 이미지 패치에 대한 기존 어휘가 없다. 따라서 마스킹된 패치에 대한 후보를 예측하기 위해 단순한 softmax 분류기를 사용할 수 없다. 간단한 대안은 작업을 마스크된 패치의 픽셀을 예측하는 regression 문제로 간주하는 것이다. 우리의 목표는 비전 트랜스포머의 사전 교육을 위해 위의 문제를 극복하는 것이다.

 

이 논문에서는 Image Transformer 의 Bidirectional Encoder representation을 나타내는 self-supervised 비전 표현 모델 BEiT를 소개한다. BERT 에서 영감을 받아 MIM(Masked Image Modeling) 이라는 사전 훈련 작업을 제안한다. 그림 1과 같이 MIM 은 각 이미지에 대해 이미지 패치와 시각적 토큰이라는 두 가지 view를 사용한다. 

 

이미지를 패치 그리드로 분할한다. 또한 이미지를 개별 VAE 의 latent code 로 토큰화한다. 사전 훈련 중에 이미지 패치의 일부를 무작위로 마스크하고 손상된 입력을 Transformer에 입력한다. 모델은 마스킹된 패치의 원시 픽셀 대신 원본 이미지의 시각적 토큰을 복구하는 방법을 학습한다. 

 

self-supervised learning 을 수행한 후 이미지 분류 및 semantic segmentation 에서 사전 훈련된 BEiT 를 fine-tuning 한다. 실험 결과 BEiT 는 초기화된 모델과 강력한 self-supervised learning 방법을 모두 능가한다. 또한 BEiT 가 합리적인 semantic region 을 학습하여 이미지에 포함된 풍부한 supervision signals 를 방출할 수 있음을 보여준다.

 

논문의 기여는 다음과 같다. (논문에서 제시한 내용 그대로)

1. 우리는 VAE 의 관점에서 이론적 설명을 제공한다.

2. 우리는 BEIT를 사전훈련하고 이미지 분류 및 semantic segmentation 과 같은 다운 스트림 작업에 대해 fine tuning  실험을 수행했다.

3. self-supervised BEiT 가 사람의 주석을 사용하지 않고도 의미론적 영역과 객체의 경계를 구별하도록 학습한다는 것을 제시한다.

 

2. Method

2.1 Image Representation

2가지 표현으로 나타낸다. Image representation, Image patch.

2.1.1 Image Patch

이미지 패치는 채널까지 포함해서 $N=HW/P^2$ 의 갯수로 reshape 된다.

이 논문의 실험에서는 224*224 크기의 이미지를 14*14 개의 이미지 패치로 나누었다. 하나의 이미지 패치의 크기는 16 * 16 이 된다

 

2.1.2 Visual Tokens

이미지가 픽셀 데이터로 들어가는 것이 아니라 토큰으로 입력되는 방식이다. 우리는 dVAE의 방식으로 이미지 tokenizer를 학습시켜 사용한다. 하나의 이미지에 대한 이미지 패치의 수와 visual token의 수는 같다는 것을 알아두자.

 

2.2 Backbone Network : Image Transformer

ViT를 사용했다. 이미지 패치를 연속적으로 입력받는다. 패치들은 linearly project 된다. 

 

 

참고자료

https://housekdk.gitbook.io/ml/ml/computer-vision-transformer-based/zero-shot-text-to-image-generation-dall-e

 

Zero-Shot Text-to-Image Generation (DALL-E) - Paper Review - noviceforever

16-bit precision은 반드시 필요한 경우에만 사용하며 gain, bias, embedding, unembedding, gradient, Adam momemt는 32-bit precision을 사용하고 gradient 압축을 수행하지 않음.

housekdk.gitbook.io

 

728x90

댓글