CNN과 Transformer의 다른점

이시우·2022년 11월 16일
0

Vision+Transformer

목록 보기
1/1

기존 CNN 방식과 transformer방식의 차이는 무엇일까?

CNN은 input image의 공간정보를 유지한 채 학습을 합니다. 그리고 image 전체의 정보를 압축하기 위해 여러 개의 layer를 통과시킵니다. 그리고 transformer는 하나의 layer로 전체 Image 정보 압축합니다.

⇒ 멀리 떨어져있는 정보를 통합하기 위해서 여러 레이어를 통과해야하지만, transformer의 self attention 하나의 레이어만 거쳐도 멀리 떨어져있는 정보들을 통합시킬 수 있습니다.

image (112x150x3)를 python에서 다루려면 (112x150x3) tensor를 다룬다. tensor를 ANN에 적용하려면 tensor를 vector형태로 flatten해줘야한다. 왜냐하면 ANN은 tensor를 input으로 받지않는다.

Inductive bias

새로운 데이터에 대해 좋은 성능을 내기 위해 모델에 사전적으로 주어지는 가정

  • Transformer (⇒ inductive bias가 작고, model의 자유도가 높다)

1차원 벡터로 만든 후 self attention(2차원의 지역적인 정보 유지가 어렵다)

  • weight는 input에 따라 유동적으로 변함
  • CNN 2차원의 지역적인 특성 유지를 하며 학습 후 weight 고정한다.

CNN


  • conv filter를 사용한다. ⇒ 지역정보 유지 가능
  • 학습 후 고정된 weight를 사용한다.

Transformer


  • embedding에 의해 vector 변환 후 self attention 사용한다. ⇒ 지역정보 유지 어렵다. 그래서 CNN에 비해 inductive bias가 약하다
  • 학습 후에도 input vector에 따라 weight 달라진다.
  • 하지만 예측은 잘하는데 dataset이 커야한다.

Self Attention의 경우 단순히 encoder와 decoder 사이의 상관관계를 넘어 데이터 내의 상관관계를 바탕으로 특징을 추출하게 된다. 이러한 기술을 바탕으로 Computer Vision에서 자주 사용되는 CNN에 비해 Transformer는 멀리 떨어진 두 정보를 쉽게 얻어낼 수 있다는 점이 장점이다. 더불어 Inductive bias(새로운 데이터에 대해 좋은 성능을 내기 위해 모델에 사전적으로 주어지는 가정) 관점에서 CNN은 지역적인 정보를 중요하게 생각하고 Transformer는 지역적인 정보를 상대적으로 덜 중요하게 여기면서 모델의 자유도를 높이게 된다.

Transformer in Computer vision

논문의 변천사 확인하기

  • Non-local nerual network(Wang et al., 2018)
  • Stand-alone self attention in vision model(Ramachandran et al., 2019)
  • Vision Transformer(Dosovitskiy et al.,2020)
  • Data efficient image Transformer(Touvron et al.,2020)
    → 학습 데이터가 충분하지 않을 경우 CNN 모델보다 성능이 감소 할 수 있다. 이를 해결하기 위해 Facebook에서 Data efficient image Transformer를 공개하였고 knowledge distillation과 data argumentation을 활용하여 기존 Transformer의 한계를 일부 해결하였다.
  • TransGAN(Jiang et al.,2021)
    ...더 많은 논문들이 있다. 최근의 VL task에 관심이 생기면서 관련된 논문을 읽고있었는데, OSCAR 논문도 재밌게 읽었다.
profile
가까운 듯 먼 AI를 이해하는 과정

0개의 댓글