컴퓨터 비전에서 비전 트랜스포머(ViT)의 강력한 성능을 알아보세요. 글로벌 이미지 컨텍스트를 캡처하여 CNN보다 뛰어난 성능을 발휘하는 방법을 알아보세요.
비전 트랜스포머(ViT)는 원래 자연어 처리(NLP)를 위해 설계된 트랜스포머 모델을 변형한 신경망 아키텍처의 일종입니다. Google 연구원들이 "이미지가 16x16 단어의 가치가 있다" 논문에서 소개한 ViT는 이미지 패치의 시퀀스에 트랜스포머의 자기 주의 메커니즘을 직접 적용하여 이미지 처리를 시퀀스 모델링 작업으로 취급합니다. 이 접근 방식은 컴퓨터 비전(CV)에서 컨볼루션 신경망(CNN) 이 지배적이었던 방식에서 중요한 변화를 가져왔습니다.
컨볼루션 필터를 사용하여 이미지를 픽셀 단위로 처리하는 대신, ViT는 먼저 입력 이미지를 고정된 크기의 겹치지 않는 패치로 나눕니다. 그런 다음 이러한 패치를 벡터로 평평하게 만들고, 선형으로 임베딩하고, 위치 임베딩으로 증강하여 공간 정보를 유지합니다(NLP에서 단어 위치가 인코딩되는 방식과 유사). 그런 다음 이 벡터 시퀀스는 표준 Transformer 인코더에 공급되며, 이 인코더는 다중 헤드 자체 주의 계층을 사용하여 서로 다른 패치의 중요도를 평가합니다. Transformer 인코더의 최종 출력은 일반적으로 이미지 분류와 같은 작업을 위해 다중 레이어 퍼셉트론과 같은 간단한 분류 헤드로 전달됩니다. 이 아키텍처를 통해 ViT는 이미지 내의 장거리 종속성과 글로벌 컨텍스트를 효과적으로 모델링할 수 있습니다.
비전 트랜스포머는 확장성과 뛰어난 성능으로 인해 최신 딥러닝 분야에서 높은 관심을 받고 있으며, 특히 ImageNet과 같은 대규모 데이터 세트나 더 큰 독점 데이터 세트에 대한 대규모 사전 학습에 적합합니다. 글로벌 컨텍스트를 모델링할 수 있는 능력 덕분에 기본적인 분류를 넘어 다양한 CV 작업에 적합합니다:
ViT는 점점 더 많은 플랫폼에 통합되고 있으며, 다음과 같은 프레임워크를 사용하여 연구 및 배포에 액세스할 수 있도록 Hugging Face Transformers와 같은 라이브러리와 Ultralytics HUB와 같은 플랫폼에 통합되고 있습니다. PyTorch 및 TensorFlow. 또한 다음과 같은 도구를 사용하여 NVIDIA Jetson 또는 Google Edge TPU 같은 디바이스에서 엣지 AI 배포에 최적화할 수 있습니다. TensorRT.
ViT와 CNN은 모두 컴퓨터 비전의 기본 아키텍처이지만( 비전 모델의 역사 참조), 그 접근 방식은 크게 다릅니다:
ViT와 CNN 중 어떤 것을 선택할지는 특정 작업, 사용 가능한 데이터 세트, 계산 리소스에 따라 달라집니다. 일반적으로 많은 양의 학습 데이터를 사용할 수 있고 글로벌 컨텍스트가 가장 중요한 경우 ViT가 탁월합니다. 백본으로 사용되는 것과 같은 CNN은 Ultralytics YOLO 제품군(예 YOLOv8, YOLOv10, YOLO11)은 특히 제한된 디바이스에서 실시간 객체 감지에 매우 효과적이고 효율적입니다. 컨볼루션 기능과 트랜스포머 레이어를 결합한 하이브리드 아키텍처(예: RT-DETR)도 두 접근 방식의 강점을 모두 활용하려는 유망한 방향입니다. 전이 학습과 같은 기법을 사용하여 사전 학습된 모델을 미세 조정하는 것은 ViT 또는 CNN 기반이든 간에 일반적인 관행입니다.