ViT(visual transformer)

ZZY·2022년 6월 8일
0

프로젝트

목록 보기
3/3

transformer가 처음 도입된 것은 자연어처리 분야인데 거의 그쪽 바닥을 천지개벽시켰다고 해도 과언이 아닐정도로 엄청난 성능을 보였다고 한다. transformer의 핵심 아이디어는 단어나 문장을 단순히 '장기기억'만 하는 LSTM의 한계를 벗어나 문맥 파악에 핵심이 되는 요소에 '집중'을 하는 것이라고 하며 transformer를 사용한 대표적인 모델 중 하나가 구글에서 개발한 BERT이다.


그러한 '집중'하는 컨셉에 착안하여 나온것이 바로 ViT라고 한다. 위의 사진처럼 이미지를 분류하는 기준에 있어 결정적인 단서에 모델이 조금 더 집중할 수 있게 하면 어떨까 하는 생각에서 출발한 것이다.

ViT의 세부적인 특징을 알아보는 중이다. 참고하려는 자료는 다음과 같다.
ViT에 대한 자세한 설명1
ViT에 대한 자세한 설명2
CNN에 대한 자세한 설명
고려대학교 DMQA 세미나

장점에 대해 설명한 자료는 많아서 단점이 무엇인지부터 파악하고자 한다.
현재까지 파악한 특징은 두 가지이다.

특징1. 태생적으로 이미지 분류에 있어서의 inductive bias를 얻기 힘든 구조이기 때문에 학습 데이터셋이 매우 방대해야 한다.

100만개의 이미지로 구성된 ImageNet으로 학습시켰을 때 ResNet보다 성능이 낮았고
3억개인 JFT-300M으로 사전학습 후 전이학습을 수행했을 때 비로소 SOTA를 달성했다.

특징2. image를 쪼개서 한 줄로 나열시키는 과정에서 인접한 픽셀끼리의 공간적인 정보가 훼손된다고 한다.

특징3.

특징4.

특징5.

특징6.

고찰

예전에 이미지 rgb값에 Z-score Norm을 적용하는 이유 중 하나가 학습데이터의 광원이나 배경의 분포가 편향돼있을 때 일반화 성능이 떨어지는 현상을 방지하기 위한 것이라고 결론내렸었다. 이 중 배경 분포의 편향에 의한 성능저하를 예방할 수 있는 방법 중 하나가 ViT가 아닐까? 객체에만 '집중'해서 배경이 뭐가 됐든 적당히 흘려보게 하는 것이다.

그렇다면 프로젝트에서 ViT를 사용했을 때 별 메리트를 얻지 못한 이유를 다음과 같이 정리할 수 있을 것 같다.

  • ViT의 가장 중요한 전제조건인 방대한 학습데이터 수를 만족하지 못함
  • MVTec데이터셋은 통제된 환경에서 예쁘게 잘 찍혀있는 사진들이라 배경의 편향이 없어서 굳이 객체에 '집중'할 필요가 없음
profile
안녕하세요

0개의 댓글