컴퓨터공학/Transformer

Vision Transformer

airoot 2024. 10. 19. 21:10

Vision Transformer(ViT)는 기존의 합성곱 신경망(CNN)과는 다른 방식으로 이미지를 처리하는 혁신적인 딥러닝 모델이다. ViT는 이미지 인식, 분류, 객체 탐지 등에서 매우 우수한 성능을 보여주고 있으며, 자연어 처리에서 도입된 Transformer 모델의 개념을 시각적 데이터 처리에 적용한 것이 특징이다.

ViT의 핵심 개념

  1. 패치 분할(Patch Embedding): ViT는 이미지를 고정 크기의 패치로 나누어 각각을 작은 시퀀스로 처리한다. 예를 들어, 224x224 크기의 이미지를 16x16 크기의 패치로 나누면, 이 이미지가 14x14개의 패치로 변환된다. 이 패치들은 각각 Transformer 모델에 입력되는 시퀀스 역할을 한다.
  2. 위치 인코딩(Position Encoding): Transformer는 순차적 정보의 위치를 인식하는 데 강점이 있다. 하지만 이미지의 패치는 순서에 의존하지 않으므로, ViT는 각 패치의 위치 정보를 위치 인코딩으로 추가하여 입력한다. 이로 인해 모델이 이미지 내 패치 간의 공간적 관계를 이해할 수 있다​.
  3. Transformer 인코더: 각 패치가 입력되면, ViT는 Transformer의 셀프 어텐션(Self-Attention) 메커니즘을 사용하여 패치들 간의 관계를 학습한다. 이 과정에서 패치들 사이의 긴밀한 의존성이나 중요한 특징들을 포착하여 보다 정밀한 예측이 가능하다.
  4. 출력 및 분류: 최종적으로 모든 패치의 정보를 통합한 후, 이미지를 전체적으로 이해하여 예측을 수행한다. 이때 분류 헤드(classification head)를 통해 이미지가 어떤 클래스에 속하는지 분류할 수 있다.

ViT의 장점

  • CNN 대비 장점: CNN은 지역적 정보를 기반으로 이미지를 처리하는 반면, ViT는 이미지의 전체적인 정보에 집중할 수 있어, 더 긴 범위의 의존 관계를 잘 처리한다. 이로 인해 ViT는 이미지의 다양한 부분에서 패턴을 더 잘 파악할 수 있다.
  • 대규모 데이터에 최적화: ViT는 대규모 데이터셋에서 훈련되었을 때 최고의 성능을 발휘한다. 이는 자원이 풍부한 환경에서 특히 유리하며, ImageNet과 같은 대형 데이터셋에서 놀라운 성능을 보여주고 있다​.

ViT의 한계

  • 소규모 데이터셋에서의 성능 저하: ViT는 CNN보다 훨씬 많은 데이터를 필요로 합니다. 적은 데이터로는 과적합(overfitting) 문제가 발생할 수 있어, CNN에 비해 소규모 데이터셋에서는 성능이 떨어질 수 있습니다​.

활용 분야

  • 이미지 분류: ViT는 대규모 이미지 데이터셋에서 높은 정확도를 자랑하며, 특히 고해상도 이미지를 처리할 때 강점을 보인다.
  • 객체 탐지 및 세그멘테이션: 패치 기반 학습 덕분에, 다양한 물체가 등장하는 복잡한 장면에서도 뛰어난 객체 탐지 성능을 발휘한다​.

ViT는 시각적 인식 문제에 있어 새로운 가능성을 열어준 모델로, 특히 대규모 데이터와 계산 자원을 사용할 수 있는 환경에서 매우 강력한 성능을 자랑한다.

 

arxiv 2010.11929

 

'컴퓨터공학 > Transformer' 카테고리의 다른 글

Transformer 이해하기  (0) 2024.08.21
Switch Transformer  (0) 2024.08.18
BERT(Bidirectional Encoder Representations from Transformers)  (0) 2024.08.18
GPT(Generative pre-trained transformer)  (0) 2024.08.18
Attention is All You Need  (0) 2024.08.18