ML 🐼/딥러닝 🔫

MIM의 Masking 방법들

Dobby98 2024. 7. 21. 17:56

Notion 링크

 

MIM의 Masking 방법들 | Notion

0. 들어가며

bottlenose-oak-2e3.notion.site

 

 

0. 들어가며

최근 MAE 논문과 BEVT , Beit논문을 읽으면서 self-supervised learning 학습의 방법중 Masking modeling을 통한 (정확히 말하자면 Mask Auto Encoder) 표현 학습 방법에 관심이 생겼다.

 

특히, MAE 에서 단순히 랜덤 마스킹을 사용한것에 반에서 Beit에서는 Block wise masking 방법을 활용하는데 이 부분에 대해서 자세히 알고 싶어졌고 추가적 여러 Masking 방법에 대해서 정리하면 좋을 것 같아서 해당 글을 작성하게 되었다.

 

여러 Masking 방법들을 살펴보기 전에 간단하게 왜 Masking을 하는가에 대한 정리가 필요할 것이다.

 

2017년 Attention All You Need 라는 논문이 발표가 된 이후 Transformer 라는 괴물은 NLP 분야에서 이전 모든 구조를 파괴해버리는 성과를 달성하게 된다. 이후 Google에서 2018년에 BERT라는 방법을 발표하게 되었는데 해당 모델은 입력 문장에 특정한 부분을 Masking하고 해당 Masking된 부분을 복원하는 방법을 통해서 표현을 학습하는 방법을 활용하였다.

해당 방법의 장점은 무엇일까? 바로 많은 양의 데이터로 학습이 가능하다는 것이다.

 

우리가 supervised learning(지도학습) 으로 모델을 학습할 때 큰 장벽으로 마주치는 것은 labeling 되어진 데이터셋을 만들어 내는데 많은 양의 시간과 자본이 소모된다는 것이다.

 

하지만 위 Masking modeling 방법을 활용하면 label 이 없는 데이터셋이더라도 단순히 입력 문장을 복원하는 방법으로 모델을 학습할 수 있게 되었다.

따라서 해당 방법의 등장이후 (self-supervised learning 방법론으로 불림) 인터넷 상의 대규모 corpus로 부터 모델 학습이 가능해졌고 이는 이후에 등장하는 LLM (Large language model)의 등장으로 이어졌다.

 

이러한 성공에 영향을 받아서 CV (Computer Vision) 에서도 해당 방법을 적용하려는 시도 들이 있었다. Beit 와 MAE 같은 모델들이 해당 방법들을 CV분야에 적용한 대표적인 모델이라고 할 수 있다.

 

해당 모델들은 주어지는 원본 이미지에서 일부분의 픽셀을 masking 하여 이를 복원하는 방법을 통해서 이미지의 표현을 학습하는 self-supervised 을 활용하였다.

 

이러한 방법들은 Masked Auto Ecoding 모델이라고 한다. NLP와 해당 모델들의 차이점은 Masking 비율이 매우 높다는 것이다.

 

NLP의 경우 Masking Modeling을 통해서 문장의 맥락을 학습하는데 초점을 둔다면 Masked Auto Encoding은 이미지를 복원함으로 표현을 학습하는데 초점을 둔다.

또한 이미지의 경우 정보의 중복성이 문장보다 매우 높기 때문에 낮은 비율로 Masking을 하면 모델이 복원하기 쉬워져 제대로된 성능을 발휘하기 어렵다.

 

그럼이제 다양한 Masking 방법과 장단점에 대해서 살펴보자

 

1. Masking 방법들

1.1 Random Masking

MAE 논문에서 사용되는 방법이다

해당 모델들은 모두 ViT 구조를 활용하기 때문에 입력 이미지를 patch 단위로 나누어준다.

따라서 이미지는 여러 patch로 구성이 되는데 이때, Random Masking 방법은 랜덤적으로 patch를 지우는 방법으로 Masking을 한다.

쉽게 말해서 Augmentation 방법론 중 Cutout과 비슷한 면이 있다.

 

장점 :

  • 구현이 쉽다 → 나눠진 패치중 일부를 지우기만 하면되기 때문이다.
  • 효율성이 좋다 → 높은 양의 비율로 마스킹을 하기 때문에 학습중 메모리가 적게 소모된다.

단점 :

  • 마스킹의 비율이 모델 성능에 영향을 미친다. 논문에서는 75%로 높은 마스킹 비율을 사용한다.
  • 공간적인 정보 손실 문제가 발생할 수 있다. (중요한 부분이 지워질 수 있다)
  • 그러나 해당 단점은 많은 양의 학습으로 상쇄할 수 있다.

1.2 Block Masking (Blockwise Masking)

Beit 논문에서 사용된 방법이다.

 

Beit 모델은 VAE를 활용하여 픽셀을 토큰화한다. 즉, 고차원의 값을 저차원의 값으로 맵핑한다. 따라서 공간적 정보 손실이 발생하면 해당 모델에 치명적일 수 있다. 따라서 이를 랜덤적으로 마스킹할 패치를 선택하는 것이 아니라 이미지를 일정한 사이즈 (16 x 16, 32 x 32 …)으로 나어주고 연속적인 블록을 선택하여 masking 해준다. (비율은 40% 정도)

장점 :

  • 공간 정보 손실을 줄 일 수 있다.

단점 :

  • 랜덤 마스킹 보다 구현이 어렵다
  • 더 적은 마스킹 비율을 사용하기 때문에 학습에 시간이 더 소모될 수 있다.

1.3 Grid Masking

ViT 논문에서 제안되었던 방법 중 하나이다. 사실상 가장 먼저 제안된 방법

주어지는 입력 이미지에 대해서 격자형태로 마스킹을 수행한다.

고정된 간격으로 마스킹 되기 때문에 형태의 규칙이 일정하다

장점 :

  • 마스킹된 영역의 분포가 균일하여 다양한 위치 정보를 학습할 수 있다.
  • 구현이 간단하다

단점 :

  • 일정한 패턴으로 인해서 모델이 쉽게 예측할 수 있기 때문에 모델이 단순해질 수 있다
  • 항상 동일한 패턴이기 때문에 동일한 부분의 정보가 누락될 수 있다.

1.4 Walker Masking

새로운 방법중 하나로, 입력 이미지의 특정부분을 시작으로 이후 마스킹 위치를 점진적으로 이동(상하좌우 등) 연속적인 위치를 마치 걷는 것 처럼 마스킹

장점 :

  • 마스킹 위치가 점진적으로 변하기 때문에 복장한 패턴을 더 잘 학습 할 수 있다.
  • 마스킹된 부분을 이동하면서 다양한 위치의 문맥 정보를 학습할 수 있다.
  • 고정된 패턴이 아니라 동적으로 변화하기 때문에 다양함

단점 :

  • 구현의 복잡성 증가
  • 마스킹 위치가 계속변화 하기 때문에 연산 자원이 추가로 소모

연속된 구역을 masking 한다는 점에서 Beit 의 Block wise maksing과 유사하다

 

1.5 다중 마스킹

위 마스킹을 랜덤적으로 섞어서 사용하는 방법도 존재한다

쉽게 말해서 Augmenatation 기법을 여러개 사용하듯이 마스킹 방법을 하나만 사용하지 않고

다양하게 활용해서 복잡도를 올리는 것이다.