시력변압기

Vision transformer

ViT(Vision Transformer, ViT)는 영상 인식과 같은 시각 처리 작업을 대상으로 하는 변압기다.[1]

비전 트랜스포머

영상분류를 위한 시각변압기 건축

트랜스포머는 BERT, GPT-3와 같은 언어 모델에서 증명된 바와 같이 자연 언어 처리(NLP) 작업에서 초기 응용을 발견했다. 대조적으로 전형적인 영상 처리 시스템은 경련 신경 네트워크(CNN)를 사용한다.잘 알려진 프로젝트로는 Xception, ResNet, EfficientNet,[2] DensityNet,[3] In셉션 등이 있다.[1]

트랜스포머는 주의라고 불리는 입력 토큰 쌍(텍스트 문자열의 경우 단어) 사이의 관계를 측정한다.비용은 토큰 수에 기하급수적이다.영상의 경우 분석의 기본 단위는 픽셀이다.그러나 일반적인 영상의 모든 픽셀 쌍에 대한 계산 관계는 메모리와 계산 면에서 엄청나게 중요하다.대신 ViT는 대폭 절감된 비용으로 영상의 다양한 작은 섹션(예: 16x16 픽셀)에서 픽셀 간의 관계를 계산한다.(위치 포함) 구간은 순차적으로 배치된다.임베딩은 학습 가능한 벡터다.각 구간은 선형 시퀀스로 배열되고 내장 행렬로 곱한다.그 결과, 위치 임베딩과 함께 변압기에 공급된다.[1]

BERT의 경우와 마찬가지로 분류 작업의 근본적인 역할은 클래스 토큰이 담당한다.다른 모든 것의 영향을 받아 최종 MLP 헤드의 유일한 입력으로 사용되는 특별한 토큰.

이미지 분류를 위한 아키텍처가 가장 일반적이며 다양한 입력 토큰을 변환하기 위해 트랜스포머 인코더만 사용한다.그러나, 전통적인 트랜스포머 아키텍처의 디코더 부분 또한 사용되는 다른 어플리케이션들도 있다.

역사

트랜스포머는 지난 2017년 잘 알려진 논문 '관심이 있으면 된다'[4]에서 처음 소개된 '관심이 있으면 된다'가 자연어 처리 분야에서 널리 보급돼 곧 이 분야에서 가장 널리 사용되고 유망한 건축물이 됐다.

2020년에는 "이미지는 16x16단어의 가치가 있다"[5]라는 논문과 함께 컴퓨터 비전의 작업에 맞게 비전 트랜스포머를 개조했다.이 아이디어는 기본적으로 입력 이미지를 벡터로 변환된 후 일반적인 변압기에서 단어로 보이는 일련의 패치로 분해하는 것이다.

자연 언어 처리 분야에서 트랜스포머의 주의 메커니즘이 분석할 텍스트의 서로 다른 단어 사이의 관계를 포착하려고 시도했다면, 컴퓨터 비전에서 비전 트랜스포머는 대신 이미지의 서로 다른 부분 사이의 관계를 포착하려고 시도한다.

2021년에 순수 변압기 모델은 이미지 분류에 있어서 CNN보다 더 나은 성능과 높은 효율성을 보여주었다.[1]

2021년 6월 한 연구에서는 레스넷에 변압기 백엔드를 추가해 비용을 획기적으로 절감하고 정확도를 높였다.[6][7][8]

같은 해에 비전 트랜스포머의 몇 가지 중요한 변형이 제안되었다.이러한 변형은 주로 더 효율적이고, 더 정확하거나, 특정 영역에 더 잘 적합하도록 의도된다.가장 관련성이 높은 것은 Swin Transformer로,[9] COCO와 같은 일부 물체 감지 데이터셋에서 주의 메커니즘의 일부 수정과 다단계 접근방식을 통해 최첨단 결과를 달성했다.또 다른 흥미로운 변종으로는 비디오 이해 작업을 위해 설계되었으며, 분할된 시공간 주의의 사용을 통해 공간 및 시간 정보를 포착할 수 있는 타임즈전자가 있다.[10][11]

비전 트랜스포머도 연구실을 나와 컴퓨터 비전의 가장 중요한 분야 중 하나인 자율주행을 할 수 있었다.테슬라 엔지니어들은 테슬라 AI데이를[12] 통해 자사의 테슬라 오토파일럿이 멀티카메라 시스템에 트랜스포머를 탑재하고 있다는 사실을 보여줬다.

경동신경망과의 비교

ViT 성능은 최적화 도구, 데이터 집합별 하이퍼 파라미터 및 네트워크 깊이를 포함한 결정에 따라 달라진다.CNN은 최적화하기 훨씬 쉽다.

순수 변압기의 변형은 변압기를 CNN 스템/전단부에 결합하는 것이다.전형적인 ViT 스템은 16x16 경련과 16보행을 사용한다.이와는 대조적으로 3x3 콘볼루션은 Strad 2로 안정성을 높이고 정확성을 향상시킨다.[8]

CNN은 기본 화소 수준에서 피쳐맵으로 번역한다.토큰이저는 형상 지도를 일련의 토큰으로 변환하고, 이 토큰은 일련의 출력 토큰을 생산하기 위해 주의 메커니즘을 적용한다.마지막으로, 프로젝터는 출력 토큰을 피쳐 맵에 다시 연결한다.후자는 이 분석이 잠재적으로 유의미한 픽셀 수준의 세부 정보를 이용할 수 있도록 한다.이를 통해 분석이 필요한 토큰 수를 대폭 줄여 그에 따른 비용을 절감한다.[6]

CNN과 비전트랜스포머의 차이점은 많고 주로 그들의 구조적 차이점에 있다.

실제로 CNN은 비전트랜스포머가 요구하는 데이터 양보다 크지 않은 데이터 양에 기반한 훈련을 통해도 우수한 성과를 거두고 있다.

이러한 다른 행동은 CNN에 이러한 네트워크들이 분석된 이미지의 특수성을 더 빨리 파악하는데 이용될 수 있는 일부 귀납적 편향의 존재에서 유래한 것으로 보인다. 다른 한편으로, 그것이 세계 관계를 파악하는 것을 더 복잡하게 만들더라도 말이다.[13][14]

한편, 비전 트랜스포머는 글로벌하고 광범위한 관계를 포착할 수 있게 하는 이러한 편견으로부터 자유롭지만, 데이터 측면에서는 좀 더 부담스러운 훈련을 받아야 한다.

비전 트랜스포머는 또한 반대파 패치나 순열과 같은 이미지 왜곡을 입력하는데 훨씬 더 강하다는 것을 증명했다.[15]

그러나, 다른 아키텍처보다 한 아키텍처를 선택하는 것이 항상 가장 현명한 선택은 아니며, 훌륭한 결과가 여러 Computer Vision 작업에서 Vision Transformer와 결합하는 하이브리드 아키텍처를 통해 얻어졌다.[16][17][18]

자율학습의 역할

훈련단계에서 데이터가 상당히 필요했기 때문에 이러한 모델을 훈련할 수 있는 대안적 방법을 찾는 것이 필수적이 되었고,[19] 현재 중심적인 역할은 자체 감독하는 방법에 의해 행해지고 있다.이러한 접근법을 사용하면 신경망을 거의 자율적으로 훈련시킬 수 있어, 큰 데이터세트를 구축하거나 정확하게 할당된 라벨을 제공할 필요 없이 특정 문제의 특수성을 추론할 수 있다.거대한 비전 데이터셋을 마음대로 사용할 필요 없이 Vision Transformer를 교육할 수 있는 것이 이 유망한 새로운 아키텍처의 광범위한 보급에 열쇠가 될 수 있다.

적용들

비전 트랜스포머는 뛰어난 결과를 가진 많은 컴퓨터 비전 작업에 사용되어 왔고 어떤 경우에는 심지어 최신 기술까지 사용되어 왔다.

가장 관련성이 높은 적용 영역은 다음과 같다.

구현

많은 비전 트랜스포머와 그것의 변형들이 온라인 오픈 소스로 이용 가능하다.이 아키텍처의 주요 버전은 PyTorch에서[20] 구현되었지만 텐서플로에서도 구현이 가능해졌다.[21]

참고 항목

참조

  1. ^ a b c d Sarkar, Arjun (2021-05-20). "Are Transformers better than CNN's at Image Recognition?". Medium. Retrieved 2021-07-11.
  2. ^ Tan, Mingxing; Le, Quoc V. (23 June 2021). "EfficientNet V2: Smaller Models and Faster Training". arXiv:2104.00298 [cs.CV].
  3. ^ Huang, Gao; Liu, Zhuang; van der Maaten, Laurens; Q. Weinberger, Kilian (28 Jan 2018). "Densely Connected Convolutional Networks". arXiv:1608.06993 [cs.CV].
  4. ^ Vaswani, Ashish; Shazeer, Noam; Parmar, Niki; Uszkoreit, Jakob; Jones, Llion; Gomez, Aidan N.; Kaiser, Lukasz; Polosukhin, Illia (2017-12-05). "Attention Is All You Need". arXiv:1706.03762.
  5. ^ Dosovitskiy, Alexey; Beyer, Lucas; Kolesnikov, Alexander; Weissenborn, Dirk; Zhai, Xiaohua; Unterthiner, Thomas; Dehghani, Mostafa; Minderer, Matthias; Heigold, Georg; Gelly, Sylvain; Uszkoreit, Jakob (2021-06-03). "An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale". arXiv:2010.11929.
  6. ^ a b Synced (2020-06-12). "Facebook and UC Berkeley Boost CV Performance and Lower Compute Cost With Visual Transformers". Medium. Retrieved 2021-07-11.
  7. ^ Wu, Bichen; Xu, Chenfeng; Dai, Xiaoliang; Wan, Alvin; Zhang, Peizhao; Yan, Zhicheng; Masayoshi, Tomizuka; Gonzalez, Joseph; Keutzer, Kurt; Vajda, Peter (2020). "Visual Transformers: Token-based Image Representation and Processing for Computer Vision". arXiv:2006.03677 [cs.CV].
  8. ^ a b Xiao, Tete; Singh, Mannat; Mintun, Eric; Darrell, Trevor; Dollár, Piotr; Girshick, Ross (2021-06-28). "Early Convolutions Help Transformers See Better". arXiv:2106.14881 [cs.CV].
  9. ^ Liu, Ze; Lin, Yutong; Cao, Yue; Hu, Han; Wei, Yixuan; Zhang, Zheng; Lin, Stephen; Guo, Baining (2021-03-25). "Swin Transformer: Hierarchical Vision Transformer using Shifted Windows". arXiv:2103.14030.
  10. ^ Bertasius, Gedas; Wang, Heng; Torresani, Lorenzo (2021-02-09). "Is Space-Time Attention All You Need for Video Understanding?". arXiv:2102.05095.
  11. ^ Coccomini, Davide (2021-03-31). "On Transformers, TimeSformers, and Attention. An exciting revolution from text to videos". Towards Data Science.
  12. ^ 유투브에서의 테슬라 AI 데이
  13. ^ Raghu, Maithra; Unterthiner, Thomas; Kornblith, Simon; Zhang, Chiyuan; Dosovitskiy, Alexey (2021-08-19). "Do Vision Transformers See Like Convolutional Neural Networks?". arXiv:2108.08810.
  14. ^ Coccomini, Davide (2021-07-24). "Vision Transformers or Convolutional Neural Networks? Both!". Towards Data Science.
  15. ^ Naseer, Muzammal; Ranasinghe, Kanchana; Khan, Salman; Hayat, Munawar; Khan, Fahad Shahbaz; Yang, Ming-Hsuan (2021-05-21). "Intriguing Properties of Vision Transformers". arXiv:2105.10497.
  16. ^ Dai, Zihang; Liu, Hanxiao; Le, Quoc V.; Tan, Mingxing (2021-06-09). "CoAtNet: Marrying Convolution and Attention for All Data Sizes". arXiv:2106.04803.
  17. ^ Wu, Haiping; Xiao, Bin; Codella, Noel; Liu, Mengchen; Dai, Xiyang; Yuan, Lu; Zhang, Lei (2021-03-29). "CvT: Introducing Convolutions to Vision Transformers". arXiv:2103.15808.
  18. ^ Coccomini, Davide; Messina, Nicola; Gennaro, Claudio; Falchi, Fabrizio (2021-07-06). "Combining EfficientNet and Vision Transformers for Video Deepfake Detection". arXiv:2107.02612.
  19. ^ Coccomini, Davide (2021-07-24). "Self-Supervised Learning in Vision Transformers". Towards Data Science.
  20. ^ 깃허브의 비트 피토치
  21. ^ Salama, Khalid (2021-01-18). "Image classification with Vision Transformer". keras.io.

외부 링크