비전 트랜스포머
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
비전 트랜스포머(Vision Transformer, ViT)는 2020년에 소개된 딥 러닝 모델로, 기존의 합성곱 신경망(CNN)을 대체하여 이미지 분류 분야에서 뛰어난 성능을 보였다. 자연어 처리 분야에서 사용되던 트랜스포머 아키텍처를 컴퓨터 비전에 적용한 것으로, 이미지를 패치로 나누어 셀프 어텐션 메커니즘을 통해 이미지 내의 장거리 관계를 파악하는 것이 특징이다. ViT는 이후 마스크된 오토인코더, DINO, Swin Transformer 등 다양한 변형 모델로 발전하며 이미지 분류, 객체 탐지, 이미지 생성 등 다양한 컴퓨터 비전 분야에 활용되고 있다. CNN에 비해 더 많은 데이터를 필요로 하지만, 충분한 데이터로 학습된 ViT는 CNN보다 강건하고, 입력 이미지 왜곡에 더 강력한 성능을 보인다.
더 읽어볼만한 페이지
- 영상 처리 - 컴퓨터 비전
컴퓨터 비전은 디지털 이미지나 비디오로부터 고차원적 이해를 얻는 학제적 연구 분야로, 인간 시각 시스템 자동화 및 인공 시스템 이론 연구를 목표로 하며, 딥러닝 기술 발전으로 다양한 분야에 응용되고 있다. - 영상 처리 - 워터마크
워터마크는 종이 제조 시 두께 차이를 이용해 만들어지는 표식으로, 위조 방지를 위해 지폐나 여권 등에 사용되며 댄디 롤 등의 제작 기법을 통해 만들어지고 컴퓨터 프린터 인쇄 기술로도 활용된다. - 기계 학습 - 비지도 학습
비지도 학습은 레이블이 없는 데이터를 통해 패턴을 발견하고 데이터 구조를 파악하는 것을 목표로 하며, 주성분 분석, 군집 분석, 차원 축소 등의 방법을 사용한다. - 기계 학습 - 지도 학습
지도 학습은 레이블된 데이터를 사용하여 입력 데이터와 출력 레이블 간의 관계를 학습하는 기계 학습 분야로, 예측 모델 생성, 알고리즘 선택, 모델 최적화, 정확도 평가 단계를 거치며, 회귀 및 분류 문제에 적용되고 다양한 확장 기법과 성능 평가 방법을 활용한다.
| 비전 트랜스포머 | |
|---|---|
| 개요 | |
![]() | |
| 유형 | 신경망 모델 |
| 분야 | 컴퓨터 비전 |
| 개발자 | Google Brain |
| 발표일 | 2020년 10월 |
| 참고 문헌 | An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale Scaling Vision Transformers to 22 Billion Parameters |
| 기술적 특징 | |
| 기반 모델 | 트랜스포머 (Transformer) |
| 주요 구성 요소 | 패치 임베딩 (Patch Embedding) 트랜스포머 인코더 (Transformer Encoder) 분류 헤드 (Classification Head) |
| 입력 데이터 | 이미지 |
| 출력 데이터 | 이미지 분류 결과 |
| 학습 방법 | 지도 학습 |
| 활용 분야 | |
| 주요 응용 | 이미지 분류 (Image Classification) 객체 감지 (Object Detection) 의미론적 분할 (Semantic Segmentation) |
| 적용 사례 | 자율 주행 (Autonomous Driving) 의료 영상 분석 (Medical Image Analysis) 위성 이미지 분석 (Satellite Image Analysis) |
| 장점 및 단점 | |
| 장점 | 높은 정확도 (High Accuracy) 병렬 처리 용이 (Easy Parallelization) 전역 문맥 이해 (Global Context Understanding) |
| 단점 | 높은 계산 비용 (High Computational Cost) 큰 데이터셋 요구 (Large Dataset Requirement) 해석 가능성 부족 (Lack of Interpretability) |
| 관련 연구 및 기술 | |
| 주요 연구 동향 | 효율성 개선 (Efficiency Improvement) 작은 데이터셋 학습 (Learning with Small Datasets) 해석 가능성 향상 (Interpretability Enhancement) |
| 관련 기술 | CNN (Convolutional Neural Network) 트랜스포머 (Transformer) Attention Mechanism |
2. 역사
Attention Is All You Need 논문에서 처음 소개된[7] 트랜스포머 모델은 자연어 처리 분야에서 널리 사용되었다. 2019년에는 트랜스포머의 아이디어를 컴퓨터 비전에 적용한 연구가 발표되었다.[8] 이 연구에서는 컴퓨터 비전에 사용되는 표준 합성곱 신경망인 ResNet의 모든 합성곱 커널을 트랜스포머의 셀프 어텐션 메커니즘으로 대체하여 성능 향상을 이루었지만, 비전 트랜스포머는 아니었다.
2020년, 인코더-온리 트랜스포머가 컴퓨터 비전에 적용되면서 비전 트랜스포머(ViT)가 탄생했다. ViT는 이미지 분류 분야에서 최고 수준의 성능을 달성하며 기존 합성곱 신경망(CNN)의 지배력을 넘어섰다.[1]
2. 1. 초기 연구 (2017-2020)
2017년 Attention Is All You Need 논문에서 트랜스포머가 처음 소개되었으며, 주로 자연어 처리 분야에서 널리 사용되었다.[7] 2019년 한 논문에서는[8] 트랜스포머의 아이디어를 컴퓨터 비전에 적용하여, ResNet의 합성곱 커널을 셀프 어텐션 메커니즘으로 대체하여 성능 향상을 이루었다. 그러나 이것은 비전 트랜스포머는 아니었다.2. 2. ViT의 등장과 발전 (2020-현재)
2020년, Attention Is All You Need에서 처음 소개된[7] 인코더-온리 트랜스포머가 컴퓨터 비전에 적용되어 ViT가 탄생했으며, 이미지 분류 분야에서 최고 수준에 도달하여 기존 합성곱 신경망(CNN)의 지배력을 넘어섰다.[1] 2022년에는 마스크된 오토인코더가 ViT를 확장하여 비지도 학습으로 작동하도록 했다.[9][10]이후, 이전 CNN 접근 방식과 ViT 접근 방식 간의 상호 교류가 이루어졌다.
2021년에는 비전 트랜스포머의 몇 가지 중요한 변형이 제안되었다. 이러한 변형은 주로 더 효율적이거나, 더 정확하거나, 특정 도메인에 더 적합하도록 설계되었다. 두 연구는[11][37] CNN을 전처리기로 추가하여 ViT의 효율성과 견고성을 향상시켰다. Swin Transformer는[12] 어텐션 메커니즘의 합성곱과 유사한 슬라이딩 윈도우를 사용하고, 고전적인 컴퓨터 비전의 피라미드 프로세스를 사용하여 COCO와 같은 일부 객체 감지 데이터 세트에서 최고 수준의 결과를 달성했다.
'''마스크된 오토인코더'''는[21] 디노이징 오토인코더와 컨텍스트 인코더에서 영감을 받았다.[22]

두 개의 비전 트랜스포머(ViT)를 종단간(end-to-end)으로 연결하여 구성된다. 첫 번째 ViT("인코더")는 위치 인코딩이 적용된 이미지 패치를 입력받아 각 패치를 나타내는 벡터를 출력한다. 두 번째 ViT("디코더"라고 불리지만, 인코더 전용 트랜스포머이다)는 위치 인코딩이 적용된 벡터를 입력받아 다시 이미지 패치를 출력한다. 학습 과정에서는 인코더와 디코더 ViT가 모두 사용된다. 추론 과정에서는 인코더 ViT만 사용된다.
학습 과정에서 각 이미지는 패치로 분할되고, 위치 임베딩이 추가된다. 이 중 25%의 패치만 선택된다. 인코더 ViT는 선택된 패치를 처리한다. 마스크 토큰은 사용되지 않는다. 그런 다음 마스크 토큰이 다시 추가되고 위치 임베딩이 다시 추가된다. 이들은 디코더 ViT에 의해 처리되어 전체 이미지의 재구성을 출력한다. 손실 함수는 모든 마스크된 패치에 대한 픽셀 공간에서 총 평균 제곱 오차이다(마스크되지 않은 패치에 대해서는 재구성 손실이 계산되지 않음).
유사한 아키텍처는 동시에 출판된 BERT ViT (BEiT)이다.[23]
'''스윈 변환기'''("'''S'''hifted '''win'''dows", 이동된 윈도우)는[12] 표준 CNN에서 영감을 받았다.
- 각 패치마다 하나씩, 전체 토큰 시퀀스에 대해 자체 주의(self-attention)를 수행하는 대신, "이동된 윈도우 기반" 자체 주의를 수행한다. 즉, 사각형 모양의 패치 블록에 대해서만 주의를 수행한다. 하나의 패치 블록은 하나의 컨볼루션의 수용 필드와 유사하다.
- 몇 개의 주의 블록마다 "병합 레이어"가 있는데, 이 레이어는 인접한 2x2 토큰을 단일 토큰으로 병합한다. 이는 풀링과 유사하다(스트라이드 2의 2x2 컨볼루션 커널로). 병합은 연결 후 행렬과의 곱셈을 의미한다.
스윈 변환기 V2에 의해 개선되었으며,[27] 이는 다른 주의 메커니즘에 의해 ViT를 수정한다.[12]
- 각 주의 및 피드포워드 레이어 직후 레이어 정규화("res-post-norm");
- 원래의 점곱 주의를 대체하기 위한 스케일링된 코사인 주의;
- 로그 간격 연속 상대적 위치 바이어스는 서로 다른 윈도우 해상도에서 전이 학습을 가능하게 한다.
'''타임스포머'''는[28] 비디오 이해 작업을 위해 설계되었으며, Inception CNN 아키텍처에서 발견되는 인수 분해된 컨볼루션 커널과 유사한 인수 분해된 셀프 어텐션을 적용했다.[29] 개략적으로 비디오를 프레임으로 나누고 각 프레임을 패치의 정사각형 그리드로 나눈다(ViT와 동일). 각 패치 좌표를 로 표시하며, 이는 가로, 세로 및 시간을 나타낸다.
- 공간 어텐션 레이어는 각 쿼리 패치 가 인 키 및 값 패치 에만 어텐션하는 셀프 어텐션 레이어이다.
- 시간 어텐션 레이어는 의 요구 사항을 갖는다.
타임스포머는 또한 의 요구 사항을 갖는 "높이 어텐션 레이어"와 같은 다른 어텐션 레이어 설계를 고려했다. 그러나 경험적으로 하나의 공간 어텐션 레이어와 하나의 시간 어텐션 레이어를 인터리빙하는 것이 최상의 설계임을 발견했다.
3. ViT의 구조
ViT는 BERT와 유사한 인코더 전용 트랜스포머 구조를 기반으로 한다.[1]
ViT는 이미지 패치 간의 의미적 관계를 파악하기 위해 어텐션 메커니즘을 사용하며, 이는 자연어 처리에서 트랜스포머가 단어 간의 의미적 관계를 통합하는 방식과 유사하다.
ViT는 이미지를 일련의 벡터 표현으로 변환하며, 이를 다운스트림 애플리케이션에 활용하기 위해서는 추가적인 헤드 훈련이 필요하다.
3. 1. 기본 구조
2020년 원본 논문에서 사용된 기본 아키텍처[1]는 다음과 같다. 요약하면, 이는 BERT와 유사한 인코더 전용 트랜스포머이다.입력 이미지는 형식을 가지며, 여기서 는 높이, 너비, 채널(RGB)이다. 그런 다음 형식의 정사각형 패치로 분할된다.
각 패치에 대해, 패치는 선형 연산자를 통과하여 벡터("패치 임베딩")를 얻는다. 패치의 위치는 또한 "위치 인코딩"에 의해 벡터로 변환된다. 두 벡터를 더한 다음 여러 트랜스포머 인코더를 통과시킨다.
ViT의 어텐션 메커니즘은 이미지 패치의 표현 벡터를 반복적으로 변환하여 이미지 내 이미지 패치 간의 점점 더 많은 의미적 관계를 통합한다. 이는 자연어 처리에서 표현 벡터가 트랜스포머를 통과하면서 구문에서 의미론에 이르기까지 단어 간의 점점 더 많은 의미적 관계를 통합하는 방식과 유사하다.
3. 2. 어텐션 메커니즘
ViT의 어텐션 메커니즘은 이미지 패치의 표현 벡터를 반복적으로 변환하여 이미지 내 이미지 패치 간의 의미적 관계를 통합한다.[1] 이는 자연어 처리에서 트랜스포머가 표현 벡터를 통해 구문에서 의미론에 이르기까지 단어 간의 의미적 관계를 통합하는 방식과 유사하다.3. 3. 출력 처리
이미지를 일련의 벡터 표현으로 변환한 후, 다운스트림 애플리케이션에 사용하기 위해 추가 헤드를 훈련해야 한다.예를 들어, 분류에 사용하기 위해 클래스에 대한 확률 분포를 출력하는 얕은 MLP(Multi-Layer Perceptron)를 그 위에 추가할 수 있다. 원본 논문에서는 선형-GeLU-선형-소프트맥스 네트워크를 사용한다.[1]
4. ViT의 변형 모델
ViT는 다양한 목적에 맞게 개선된 여러 변형 모델들이 존재한다. 대표적인 예시로는 다음과 같은 모델들이 있다.
Transformer in Transformer 아키텍처는 각 레이어가 각 이미지 패치 임베딩에 ViT 레이어를 적용하고, 결과 토큰을 임베딩에 다시 더한 다음, 다른 ViT 레이어를 적용하는 방식으로 작동한다.[36]
4. 1. 오리지널 ViT
오리지널 ViT는 이미지 패치로부터 이미지 레이블을 예측하도록 감독 학습된 인코더 전용 트랜스포머이다. BERT의 경우와 마찬가지로 입력 측에 특수 토큰를 사용하며, 해당 출력 벡터는 최종 출력 MLP 헤드의 유일한 입력으로 사용된다. 이 특수 토큰은 이미지 레이블을 예측하는 데 관련된 모든 정보를 하나의 벡터로 압축할 수 있도록 하는 아키텍처적 해킹이다.
이다. 다른 9개의 패치는 선형 레이어로 투영된 후 트랜스포머 인코더에 입력 토큰 1~9로 제공된다.트랜스포머는 자연어 처리 작업에서 처음 적용되었으며, BERT 및 GPT-3와 같은 언어 모델이 이를 입증했다. 반대로 전형적인 이미지 처리 시스템은 합성곱 신경망 (CNN)을 사용한다. 잘 알려진 프로젝트로는 Xception, ResNet, EfficientNet,[13] DenseNet,[14] 및 Inception이 있다.[15]
트랜스포머는 어텐션이라고 하는, 입력 토큰 쌍(텍스트 문자열의 경우 단어) 간의 관계를 측정한다. 비용은 토큰 수에 대해 2차적으로 증가한다. 이미지의 경우 분석의 기본 단위는 픽셀이다. 그러나 일반적인 이미지의 모든 픽셀 쌍에 대한 관계를 계산하는 것은 메모리와 계산 측면에서 과도한 비용이 발생한다. 대신, ViT는 이미지의 다양한 작은 섹션(예: 16x16 픽셀)의 픽셀 간의 관계를 계산하여 비용을 대폭 줄인다. 섹션(위치 임베딩 포함)은 시퀀스로 배열된다. 임베딩은 학습 가능한 벡터이다. 각 섹션은 선형 시퀀스로 정렬되어 임베딩 행렬과 곱해진다. 결과는 위치 임베딩과 함께 트랜스포머에 제공된다.[15]
4. 2. 풀링(Pooling) 기법 개선
비전 트랜스포머(ViT)는 이미지를 처리한 후 여러 임베딩 벡터를 생성하는데, 이들을 단일 클래스 확률 예측으로 변환해야 한다. 기존 ViT는 BERT 언어 모델처럼 더미[CLS] 토큰을 사용했지만, 다른 풀링 기법들이 더 나은 성능을 보였다.'''글로벌 평균 풀링(GAP)'''은
[CLS] 토큰 대신 모든 출력 토큰의 평균을 분류 토큰으로 사용한다.[1]'''멀티헤드 어텐션 풀링(MAP)'''은 멀티헤드 어텐션 블록을 풀링에 적용한다. ViT 레이어의 출력 벡터 목록을 입력으로 받아 학습 가능한 쿼리 벡터와 함께 멀티헤드 어텐션을 계산한다.[16] 이 방식은 '''Set Transformer''' 아키텍처에서 처음 제안되었다.[17]
이후 연구에서 GAP와 MAP가 BERT 방식 풀링보다 성능이 우수함이 밝혀졌다.[16][18] MAP의 변형으로 '''클래스 어텐션'''이 제안되었는데, MAP 적용 후 피드포워드를 거쳐 다시 MAP를 적용하는 방식이다.[19]
'''리-어텐션'''은 딥 ViT 훈련을 위해 멀티헤드 어텐션 모듈을 변경하는 방식이다.[20]
4. 3. 마스크된 오토인코더(Masked Autoencoder)
'''마스크된 오토인코더'''[21]는 디노이징 오토인코더와 컨텍스트 인코더에서 영감을 받았다.[22] 비전 트랜스포머(ViT) 두 개를 종단간(end-to-end)으로 연결하여 구성된다. 첫 번째 ViT("인코더")는 위치 인코딩이 적용된 이미지 패치를 입력받아 각 패치를 나타내는 벡터를 출력한다. 두 번째 ViT("디코더"라고 불리지만, 인코더 전용 트랜스포머이다)는 위치 인코딩이 적용된 벡터를 입력받아 다시 이미지 패치를 출력한다. 학습 과정에서는 인코더와 디코더 ViT가 모두 사용된다. 추론 과정에서는 인코더 ViT만 사용된다.
학습 과정에서 각 이미지는 패치로 분할되고, 위치 임베딩이 추가된다. 이 중 25%의 패치만 선택된다. 인코더 ViT는 선택된 패치를 처리한다. 마스크 토큰은 사용되지 않는다. 그런 다음 마스크 토큰이 다시 추가되고 위치 임베딩이 다시 추가된다. 이들은 디코더 ViT에 의해 처리되어 전체 이미지의 재구성을 출력한다. 손실 함수는 모든 마스크된 패치에 대한 픽셀 공간에서 총 평균 제곱 오차이다(마스크되지 않은 패치에 대해서는 재구성 손실이 계산되지 않음).
유사한 아키텍처는 동시에 출판된 BERT ViT (BEiT)이다.[23]
4. 4. DINO
DINO (self-'''di'''stillation with '''no''' labels, 라벨 없는 자체 증류)는 자기 지도를 통해 ViT를 훈련하는 방법으로, 마스크된 자동 인코더와 유사하다.[44] DINO는 교사-학생 자기 증류의 한 형태이다. DINO에서 학생은 모델 자체이며, 교사는 학생의 과거 상태에 대한 지수 평균이다. 이 방법은 모멘텀 컨트라스트[24] 및 자체 잠재 부트스트랩(BYOL)과 같은 이전 연구와 유사하다.[25]DINO에 사용되는 손실 함수는 교사 네트워크()의 출력과 학생 네트워크()의 출력 사이의 교차 엔트로피 손실이다. 교사 네트워크는 학생 네트워크의 과거 매개변수에 대한 지수적으로 감쇠하는 평균이다: . 네트워크에 대한 입력은 동일한 이미지의 두 가지 다른 크롭으로, 및 로 표시되며, 여기서 는 원래 이미지이다. 손실 함수는 다음과 같이 작성된다. 한 가지 문제는 네트워크가 입력에 관계없이 항상 동일한 값()을 출력하여 "붕괴"될 수 있다는 것이다. 이러한 붕괴를 방지하기 위해 DINO는 다음 두 가지 전략을 사용한다.
- '''선명화''': 교사 네트워크의 출력은 낮은 온도의 소프트맥스 함수를 사용하여 선명하게 한다. 이렇게 하면 교사가 예측에 대해 더 "자신감"을 갖게 되어 학생이 교사의 선명한 출력과 일치하는 더 의미 있는 표현을 학습하도록 한다.
- '''중심화''': 교사 네트워크의 출력은 이전 출력과 평균을 내어 중심화한다. 이렇게 하면 교사가 특정 출력 값에 편향되는 것을 방지하여 학생이 더 다양한 특징 집합을 학습하도록 장려한다.
4. 5. Swin Transformer
'''스윈 변환기'''("'''S'''hifted '''win'''dows", 이동된 윈도우)는[12] 표준 CNN에서 영감을 받았다.- 각 패치마다 하나씩, 전체 토큰 시퀀스에 대해 자체 주의(self-attention)를 수행하는 대신, "이동된 윈도우 기반" 자체 주의를 수행한다. 즉, 사각형 모양의 패치 블록에 대해서만 주의를 수행한다. 하나의 패치 블록은 컨볼루션의 수용 필드와 유사하다.
- 몇 개의 주의 블록마다 "병합 레이어"가 있는데, 이 레이어는 인접한 2x2 토큰을 단일 토큰으로 병합한다. 이는 풀링과 유사하다(스트라이드 2의 2x2 컨볼루션 커널로). 병합은 연결 후 행렬과의 곱셈을 의미한다.
스윈 변환기 V2에 의해 개선되었으며,[27] 이는 다른 주의 메커니즘에 의해 ViT를 수정한다.[12]
- 각 주의 및 피드포워드 레이어 직후 레이어 정규화("res-post-norm")
- 원래의 점곱 주의를 대체하기 위한 스케일링된 코사인 주의
- 로그 간격 연속 상대적 위치 바이어스는 서로 다른 윈도우 해상도에서 전이 학습을 가능하게 한다.
4. 6. ViT-VQGAN
ViT-VQGAN은 두 개의 ViT 인코더와 판별자를 사용한다.[30] 하나는 이미지의 8x8 패치를 각 패치당 하나의 벡터 목록으로 인코딩한다. 이 벡터는 벡터 양자화에서처럼 "코드북"의 이산 집합에서만 나올 수 있다. 다른 하나는 양자화된 벡터를 다시 이미지 패치로 인코딩한다. 훈련 목표는 재구성된 이미지(출력 이미지)가 입력 이미지에 충실하도록 만드는 것이다. 판별자(일반적으로 합성곱 신경망이지만 다른 네트워크도 허용됨)는 이미지가 원본 실제 이미지인지, 아니면 ViT에 의해 재구성된 이미지인지 판별하려고 시도한다.이 아이디어는 본질적으로 벡터 양자화된 변이형 오토인코더(VQVAE)와 생성적 적대 신경망(GAN)과 같다.
ViT-VQGAN이 훈련된 후에는 임의의 이미지를 기호 목록으로 코딩하고, 임의의 기호 목록을 이미지로 코딩하는 데 사용할 수 있다. 기호 목록은 이미지를 자동 회귀적으로 생성하기 위해 표준 자동 회귀 변환기(GPT와 같은)로 훈련하는 데 사용할 수 있다. 또한 캡션-이미지 쌍 목록을 가져와 이미지를 기호 문자열로 변환하고 표준 GPT 스타일 변환기를 훈련할 수 있다. 그러면 테스트 시점에 이미지 캡션을 제공하고 자동 회귀적으로 이미지를 생성할 수 있다. 이것이 구글 파티(Google Parti)의 구조이다.[31]
5. CNN과의 비교
ViT는 CNN과 다른 귀납적 편향을 갖는다. CNN은 동일한 필터 집합을 적용하여 데이터 효율성이 높고 국부적 교란에 덜 민감하다.[38] 반면 ViT는 자체 어텐션을 통해 패치 간 장거리 관계를 쉽게 포착하고, 충분한 데이터로 학습하면 CNN보다 더 나은 성능을 보이며, 입력 이미지 왜곡에도 더 강력하다.[39]
5. 1. 귀납적 편향 차이
일반적으로 비전 트랜스포머(ViT)는 표준 CNN 커널(3x3 ~ 7x7)보다 큰 패치 크기를 사용한다. ViT는 옵티마이저, 하이퍼파라미터, 네트워크 깊이 선택에 더 민감하다. 작은 크기의 중첩된(stride < size) 컨볼루션 필터 층으로 전처리하면 성능과 안정성에 도움이 된다.[37]이러한 다른 동작은 그들이 가진 서로 다른 귀납적 편향에서 비롯되는 것으로 보인다.
CNN은 전체 이미지를 처리하기 위해 동일한 필터 집합을 적용한다. 이를 통해 데이터 효율성이 높아지고 국부적인 교란에 덜 민감해진다.[38] ViT는 자체 어텐션을 적용하여 패치 간의 장거리 관계를 쉽게 포착할 수 있다. 또한 더 많은 데이터를 학습해야 하지만, 충분히 큰 학습 데이터 세트로 학습한 후에는 개선되지 않을 수 있는 CNN에 비해 더 많은 학습 데이터를 처리할 수 있다. ViT는 또한 적대적 패치나 순열과 같은 입력 이미지 왜곡에 더 강력해 보인다.[39]
5. 2. 성능 및 강건성
일반적으로 비전 트랜스포머(ViT)는 표준 CNN 커널(3x3 ~ 7x7)보다 큰 패치 크기를 사용한다. ViT는 옵티마이저, 하이퍼파라미터, 네트워크 깊이 선택에 더 민감하다. 작은 크기의 중첩된(stride < size) 컨볼루션 필터 층으로 전처리하면 성능과 안정성에 도움이 된다.[37]이러한 다른 동작은 그들이 가진 서로 다른 귀납적 편향에서 비롯되는 것으로 보인다.
CNN은 전체 이미지를 처리하기 위해 동일한 필터 집합을 적용하여 데이터 효율성이 높아지고 국부적인 교란에 덜 민감해진다.[38] 반면 ViT는 자체 어텐션을 적용하여 패치 간의 장거리 관계를 쉽게 포착할 수 있다. 또한 ViT는 더 많은 데이터를 학습해야 하지만, 충분히 큰 학습 데이터 세트로 학습하면 CNN보다 더 나은 성능을 보일 수 있으며, 적대적 패치나 순열과 같은 입력 이미지 왜곡에도 더 강력하다.[39]
6. 응용 분야
ViT는 컴퓨터 비전 작업에서 훌륭한 결과를 보이며, 경우에 따라서는 최고 수준의 성능을 보이기도 한다. 이미지 분류, 객체 탐지, 비디오 딥페이크 감지[40], 이미지 분할[41], 이상 탐지, 이미지 합성, 군집 분석, 자율 주행[5][6] 등에 사용되었다.
ViT는 GAN[42]의 백본으로, 그리고 확산 모델 (확산 트랜스포머 또는 DiT)로 이미지 생성에 사용되었다.[43]
DINO[44]는 이미지 군집화와 세포 페인팅 분석과 같이 생물학적 데이터세트의 형태학적 프로파일 탐색에 유용한 표현을 학습하는 데 사용되었다.[45]
참조
[1]
arXiv
An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale
2021-06-03
[2]
Citation
Scaling Vision Transformers to 22 Billion Parameters
2023-02-10
[3]
웹사이트
Scaling vision transformers to 22 billion parameters
http://research.goog[...]
2024-08-07
[4]
문서
"ORBIT: Oak Ridge Base Foundation Model for Earth System Predictability."
https://arxiv.org/ab[...]
[5]
학술지
A Survey on Vision Transformer
https://ieeexplore.i[...]
2023-01-01
[6]
학술지
Transformers in Vision: A Survey
https://doi.org/10.1[...]
2022-09-13
[7]
학술지
Attention is All you Need
https://proceedings.[...]
Curran Associates, Inc.
2017
[8]
학술지
Stand-Alone Self-Attention in Vision Models
https://proceedings.[...]
Curran Associates, Inc.
2019
[9]
학술지
A ConvNet for the 2020s
https://openaccess.t[...]
2022
[10]
학술지
ConvNeXt V2: Co-Designing and Scaling ConvNets With Masked Autoencoders
https://openaccess.t[...]
2023
[11]
arXiv
Visual Transformers: Token-based Image Representation and Processing for Computer Vision
[12]
arXiv
Swin Transformer: Hierarchical Vision Transformer using Shifted Windows
2021-03-25
[13]
학술지
EfficientNetV2: Smaller Models and Faster Training
https://proceedings.[...]
2023-10-31
[14]
arXiv
Densely Connected Convolutional Networks
2018-01-28
[15]
웹사이트
Are Transformers better than CNN's at Image Recognition?
https://towardsdatas[...]
2021-07-11
[16]
서적
2022 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)
IEEE
2022-06
[17]
학술지
Set Transformer: A Framework for Attention-based Permutation-Invariant Neural Networks
https://proceedings.[...]
PMLR
2019-05-24
[18]
Citation
Language-Driven Representation Learning for Robotics
2023-02-24
[19]
학술지
Going Deeper With Image Transformers
https://openaccess.t[...]
2021
[20]
Citation
DeepViT: Towards Deeper Vision Transformer
2021-04-19
[21]
arXiv
Masked Autoencoders Are Scalable Vision Learners
2021
[22]
서적
2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR)
IEEE
2016-06
[23]
학술지
BEiT: BERT Pre-Training of Image Transformers
https://openreview.n[...]
2021-10-06
[24]
학술지
Momentum Contrast for Unsupervised Visual Representation Learning
https://openaccess.t[...]
2020
[25]
학술지
Bootstrap Your Own Latent - A New Approach to Self-Supervised Learning
https://proceedings.[...]
Curran Associates, Inc.
2020
[26]
arXiv
DINOv2: Learning Robust Visual Features without Supervision
2023-04-14
[27]
웹사이트
Swin Transformer V2: Scaling Up Capacity and Resolution
https://openaccess.t[...]
Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition
2022
[28]
arXiv
Is Space-Time Attention All You Need for Video Understanding?
2021-02-09
[29]
학술지
Rethinking the Inception Architecture for Computer Vision
https://www.cv-found[...]
2016
[30]
arXiv
Vector-quantized Image Modeling with Improved VQGAN
2021
[31]
웹사이트
Parti: Pathways Autoregressive Text-to-Image Model
https://sites.resear[...]
2023-11-03
[32]
Citation
Visual Transformers: Token-based Image Representation and Processing for Computer Vision
2020-11-19
[33]
arXiv
CoAtNet: Marrying Convolution and Attention for All Data Sizes
2021-06-09
[34]
arXiv
CvT: Introducing Convolutions to Vision Transformers
2021-03-29
[35]
서적
Computer Vision – ECCV 2022
Springer Nature Switzerland
2022
[36]
학술지
Transformer in Transformer
https://proceedings.[...]
Curran Associates, Inc.
2021
[37]
arXiv
Early Convolutions Help Transformers See Better
2021-06-28
[38]
arXiv
Do Vision Transformers See Like Convolutional Neural Networks?
2021-08-19
[39]
arXiv
Intriguing Properties of Vision Transformers
2021-05-21
[40]
서적
Image Analysis and Processing – ICIAP 2022
[41]
학술지
Segment Anything
https://openaccess.t[...]
2023
[42]
학술지
TransGAN: Two Pure Transformers Can Make One Strong GAN, and That Can Scale Up
https://proceedings.[...]
Curran Associates, Inc.
2021
[43]
arXiv
Scalable Diffusion Models with Transformers
2023-03
[44]
서적
2021 IEEE/CVF International Conference on Computer Vision (ICCV)
IEEE
2021-10
[45]
학술지
Unbiased single-cell morphology with self-supervised vision transformers
http://dx.doi.org/10[...]
2024-02-12
[46]
ArXiv 인용
EfficientNet V2: Smaller Models and Faster Training
2021-06-23
[47]
ArXiv 인용
Densely Connected Convolutional Networks
2018-01-28
[48]
웹인용
Are Transformers better than CNN's at Image Recognition?
https://towardsdatas[...]
2021-07-11
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com
