AI 모델 개발: DNN 및 최신 모델 – Vision Transformer
ㅁ DNN 및 최신 모델
ㅇ 정의:
– Vision Transformer(ViT)는 이미지 분류 등 시각 인식 작업에 Transformer 구조를 적용한 모델로, 이미지를 패치 단위로 나누어 순차 데이터처럼 처리한다.
ㅇ 특징:
– CNN 대신 self-attention 메커니즘을 활용하여 전역 문맥 정보를 효율적으로 학습.
– 이미지 입력을 동일 크기의 패치로 분할 후, 각 패치를 벡터로 변환하여 시퀀스로 처리.
– 사전 학습(pre-training) 후 전이 학습(fine-tuning)에 강점.
ㅇ 적합한 경우:
– 대규모 이미지 데이터셋이 확보된 경우.
– 이미지 내 장거리 의존성을 학습해야 하는 경우.
– 다양한 시각 작업(분류, 검출, 세그멘테이션)에 확장 적용이 필요한 경우.
ㅇ 시험 함정:
– CNN과 달리 지역적 특성을 자동으로 학습하지 않으므로, 소규모 데이터셋에서는 성능이 떨어질 수 있음.
– 패치 크기와 모델 크기에 따라 연산량이 급증.
– Transformer의 원래 목적이 NLP였다는 점을 혼동하여 이미지 처리에 비효율적이라고 단정짓는 오류.
ㅇ 시험 대비 “패턴 보기” 예시:
– O: “Vision Transformer는 이미지를 패치로 나누어 Transformer 인코더로 처리한다.”
– O: “ViT는 전역 문맥 정보 학습에 유리하다.”
– X: “ViT는 합성곱 연산을 기반으로 한다.”
– X: “ViT는 소규모 데이터셋에서 CNN보다 항상 우수하다.”
ㅁ 추가 학습 내용
Vision Transformer(ViT) 학습 시 고려 요소 정리
1. 사전 학습 데이터 규모와 패치 크기 선택
– 대규모 사전 학습 데이터셋은 ViT의 성능 향상에 필수적이며, 데이터가 적을 경우 과적합 위험이 큼
– 패치 크기가 작을수록 세밀한 정보를 학습할 수 있지만 연산량 증가
– 패치 크기가 크면 연산량은 줄지만 세부 정보 손실 가능
2. 하이브리드 구조(CNN + Transformer)
– 초기 단계에서 CNN으로 저수준 특징 추출 후 Transformer로 전역 문맥 학습
– CNN의 지역적 특성과 Transformer의 전역적 특성을 결합하여 성능과 효율성 향상
3. DeiT(Data-efficient Image Transformer)
– 데이터 효율성을 높인 ViT 변형 모델
– Knowledge Distillation 활용하여 작은 데이터셋에서도 높은 성능 달성
– CNN Teacher 모델과의 지식 증류로 일반화 성능 개선
4. Position Embedding의 역할과 한계
– Transformer는 순서 정보가 없으므로 위치 정보를 추가해야 함
– 절대 위치 임베딩과 상대 위치 임베딩 방식 존재
– 입력 크기 변화나 해상도 변화에 취약한 한계가 있음
5. Multi-head Self-Attention 계산 복잡도 최적화
– 입력 토큰 수에 대해 O(N²) 복잡도를 가짐
– 연산량 감소를 위해 Sparse Attention, Low-rank Approximation, Window-based Attention 등의 기법 활용
6. Fine-tuning 시 Layer-wise Learning Rate Decay
– 하위 레이어는 사전 학습된 특징 보존을 위해 작은 학습률 적용
– 상위 레이어는 새로운 데이터셋에 맞추기 위해 큰 학습률 적용
– 학습 안정성과 성능 향상에 도움
7. ViT 한계 극복 모델 비교
– Swin Transformer: 윈도우 기반 지역 Self-Attention으로 연산 효율성 향상, 계층적 구조로 다양한 해상도 처리 가능
– ConvNeXt: CNN 구조를 현대적으로 재설계하여 Transformer 수준의 성능 달성, CNN의 효율성과 해석 가능성 유지