데이터 꿈나무

[Model Study] VIT(Visual Transformer) 모델 본문

Activity/Intern

[Model Study] VIT(Visual Transformer) 모델

ye_ju 2023. 9. 29. 15:07

💡 VIT (Visual Transformer) 모델이란?

  • Transformer 아키텍쳐를 활용하는 컴퓨터 비전 모델.
  • 이미지 인식 및 처리 작업에서 높은 성능을 발휘하는 딥러닝 모델로, 자연어 처리(NLP) 분야에서 성공을 거둔 Transformer 구조를 컴퓨터 비전 분야에 적용한 모델이다.
  • 기존의 Convolutional Neural Networks(CNNs) 대신 Transformer 구조를 사용함으로써, 전역적인 이미지 정보를 적절하게 포착하고 처리할 수 있다.
  • 이미지를 작은 패치로 나누고(Image patch), 이 패치들을 Sequence로 변환하여 이미지를 처리하고 분류하는 방식

 

📌 선정 이유

  1. 논문 "An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale"에서 처음으로 소개되었다. (2020년, 21365회 인용)
  2. 2020년 부터 2021년까지 컴퓨터 비전 분야에서 SOTA모델로 주목 받았다.
  3. 특히 이미지 분류 및 다른 컴퓨터 비전 작업에서 좋은 성능을 보였다.
  4. EfficientNet에도 견줄 수 있는 성능을 기록하였다.

📌 작동 방식

  1. 이미지 패치 나누기 : 입력 이미지를 격자 형태로 나눈다. (각 셀을 “패치”라고 부른다) 예를 들어, 64x64픽셀의 이미지를 16x16픽셀 크기의 패치로 이미지를 나눌 수 있다.
  2. 패치 임베딩 : 각 패치는 임베딩 레이어를 통해 고차원의 벡터로 변환된다. 모델의 입력으로 사용
  3. Positional Encoding 추가 : 패치의 상대적인 위치(순서)정보를 추가하기 위해 위치 인코딩(Positional Encoding)을 사용
  4. Transformer Encoder 사용 : 패치 임베딩과 위치 인코딩이 결합된 데이터가 Transformer Encoder의 입력으로 사용된다. 이 Encoder는 시퀀스 데이터를 처리하고 상대적인 패치 간의 관계를 학습한다.
  5. Classification Head 추가 : Transformer Encoder의 출력은 분류 헤드(Classification Head)로 전달된다. 이 헤드는 모델이 이미지를 분류하는 데 사용되고, 소프트맥스 함수를 사용하여 클래스별 확률을 계산한다.

*이미지를 시퀀스로 변환한다는 것은 이미지의 각 패치를 순서대로 나열하여 각 패치에 대한 정보를 모델이 처리할 수 있도록 하는 것.

*각 패치는 모델에 입력되고, 이러한 입력 패치 간의 상대적인 위치 정보를 포함하는 인코딩을 추가함으로써 모델은 이미지의 전체적인 구조와 관계를 학습할 수 있다.

 

다만, 여기에서는 문장 생성처럼 순차적 생성 과정이 필요한 것은 아니기에 기존 decoder 구조는 활용하지 않고 인코딩 결과에 MLP layer를 달아 최종 분류 결과를 출력하는 식으로 설계한다.

 

📌 장점

  1. 이미지를 작은 패치로 나누기 때문에 입력 이미지의 크기에 상대적으로 덜 민감하다.
  2. Transformer 아키텍쳐의 성능을 이미지 처리 작업에 확장할 수 있는 가능성을 보여준다.
  3. 이미지 크기에 상관없이 동작하며, 다양한 해상도의 이미지를 처리할 수 있다.

📌 단점

  1. VIT 모델은 Transformer 아키텍처를 사용하므로, 대규모 이미지에 대해 많은 계산 및 메모리 리소스가 필요하다
  2. 대규모 데이터 셋에서 훈련되어야 한다. → 만약 데이터 수가 부족하다면 어려울 거 같다.
  3. 많은 양의 데이터가 없으면 일반화가 제대로 이루어지지 않으나, 방대한 양의 데이터를 가지고 있다면 CNN에 비해 좋은 성능을 확인할 수 있다. (전체 구조가 더 간단함)
  4. VIT의 대규모 버전은 모델 크기가 크고 많은 파라미터를 가질 수 있다. 즉, 모델을 배포하고 실행하는 데 제한적인 환경에서 어려움을 줄 수 있다.

 

 

[참고] https://www.thedatahunt.com/trend-insight/vision-transformer

Comments