알고리즘·논문: 모델 혁신 – Vision Transformers

ㅁ 모델 혁신

1. Vision Transformers

ㅇ 정의:
– 이미지를 패치 단위로 분할하여 각 패치를 토큰처럼 처리하고, Transformer 구조를 적용해 이미지 분류, 객체 탐지 등에 활용하는 모델.
– 2020년 Google Research에서 제안한 ViT(Vision Transformer)가 대표적.

ㅇ 특징:
– CNN과 달리 합성곱 연산 없이 전역적 문맥 정보를 학습.
– 입력 이미지를 고정 크기 패치로 나누고, 각 패치에 위치 임베딩(Positional Embedding)을 추가.
– 대규모 데이터셋에서 학습 시 성능이 뛰어나지만, 소규모 데이터셋에서는 과적합 가능성이 높음.
– 사전 학습(pre-training) 후 전이 학습(fine-tuning)에 적합.

ㅇ 적합한 경우:
– 이미지 내 전역적 관계 파악이 중요한 경우.
– 대규모 이미지 데이터셋이 확보된 경우.
– CNN 기반 모델의 한계를 극복하고자 할 때.

ㅇ 시험 함정:
– CNN과 달리 국소적 특징 추출이 약하다는 점을 혼동하기 쉬움.
– 소규모 데이터셋에서 CNN보다 항상 성능이 좋다고 오해하는 경우.
– 입력 이미지를 픽셀 단위로 Transformer에 넣는다고 잘못 이해하는 경우 → 실제로는 패치 단위.

ㅇ 시험 대비 “패턴 보기” 예시:
– (O) Vision Transformer는 이미지를 패치로 나누어 Transformer에 입력한다.
– (O) ViT는 대규모 데이터셋에서 사전 학습 후 전이 학습 시 뛰어난 성능을 보인다.
– (X) Vision Transformer는 합성곱 연산을 통해 지역적 특징을 추출한다.
– (X) ViT는 소규모 데이터셋에서도 CNN보다 항상 우수한 성능을 보인다.

ㅁ 추가 학습 내용

Vision Transformer(ViT)의 핵심 구성 요소는 다음과 같다.
1. 패치 분할: 입력 이미지를 일정 크기의 작은 패치로 나누어 각 패치를 토큰처럼 처리한다.
2. 패치 임베딩: 각 패치를 1차원 벡터로 변환하여 임베딩 벡터를 생성한다.
3. 위치 임베딩: 순서 정보가 없는 Transformer 구조에 공간적 위치 정보를 제공하기 위해 각 패치 임베딩에 위치 정보를 더한다.
4. Transformer Encoder 구조: 여러 층의 인코더로 구성되며, 각 층은 Multi-Head Self-Attention(MHSA)와 Feed-Forward Network로 이루어진다.

Multi-Head Self-Attention(MHSA)는 각 패치가 다른 모든 패치와의 관계를 동시에 학습하도록 하여, 이미지 전역의 의존성을 포착한다. 여러 개의 헤드를 사용해 다양한 관점에서 패치 간 상관관계를 학습할 수 있다.

데이터 효율성을 높인 변형 모델로는 DeiT(Data-efficient Image Transformer)가 있다. 이는 지식 증류(Knowledge Distillation)와 데이터 증강 기법을 활용해 적은 데이터로도 성능을 높인다.

Swin Transformer는 계층적 구조와 이동 윈도우 기반의 Self-Attention을 사용하여 연산량을 줄이고, 다양한 해상도의 특징을 효율적으로 추출한다.

ViT의 한계로는 연산량이 많고 대규모 학습 데이터가 필요하다는 점이 있다. 이를 해결하기 위한 방법 중 하나는 Hybrid 모델(CNN+Transformer) 접근법으로, 초기 단계에서 CNN을 사용해 지역적 특징을 추출한 후 Transformer로 전역 의존성을 학습하는 방식이 있다.

답글 남기기

Your email address will not be published. Required fields are marked *.

*
*