- 2021년 3월 23일 오후 1:56
- 조회수: 6417
REFERENCES
INFORMATION
- 2021년 3월 26일
- 오후 1시 ~
- 온라인 비디오 시청 (YouTube)
TOPIC
On-Line Video
OVERVIEW
NLP 분야에서 Transformer가 큰 성공을 거두면서 Computer Vision 분야에도 많은 영향을 미치게 되었다. 지금까지의 연구들은 Transformer의 핵심인 Self Attention을 CNN에 적용하는 연구가 주를 이루었다면 최근에는 Transformer 구조 자체를 Computer Vision 분야에 적용한 연구들이 활발하게 수행되고 있다. 이번 세미나에서는 Transformer를 이미지 분류 문제에 적용한 Vision Transformer(ViT)와 이를 개선한 Data-efficient image Transformer(DeiT)에 대해 소개하고자 한다.
참고문헌 :
1. A. Dosovitskiy, L. Beyer, A. Kolesnikov, D. Weissenborn, X. Zhai, T. Unterthiner, M. Dehghani, M. Minderer, G. Heigold, S. Gelly, J. Uszkoreit, and N. Houlsby, "An image is worth 16x16 words: Transformers for image recognition at scale," arXiv preprint arXiv:2010.11929, 2020.
2. H. Touvron, M. Cord, M. Douze, F. Massa, A. Sablayrolles, and H. J´egou, “Training data-efficient image transformers & distillation through attention,” arXiv preprint arXiv:2012.12877, 2020.
3. S. Khan, M. Naseer, M. Hayat, S. W. Zamir, F. S. Khan, and M. Shah, "Transformers in vision: A survey," arXiv preprint arXiv:2101.01169, 2021.
발표자 후기
이번 세미나는 "Transformer in Computer Vision"이라는 주제로 진행했다. 최근 Transformer를 활용한 연구들이 Computer Vision 분야에서 활발하게 연구되고 있는 만큼 이번 세미나를 통해 관련 논문들을 공부하고 다른 연구원들과 해당 내용을 공유하고 싶어 이번 세미나를 준비하게 되었다. 먼저 소개한 Vision Transformer는 CNN을 사용하지 않고 Transformer만을 활용해도 Computer Vision task를 잘 수행할 수 있다는 것을 보여준 의미 있는 연구이다. 하지만 Vision Transformer는 많은 양의 데이터가 필요하다는 단점을 가지고 있고 DeiT에서는 이를 극복하기 위해 knowledge distillation과 data augmentation을 활용하여 더욱 적은 양의 데이터로도 Transformer 계열의 모델을 학습시킬 수 있다는 것을 보여주었다. Transformer를 Computer Vision에 적용하는 연구들은 아직 초기 단계인 만큼 향후 다양한 연구들에 활용이 가능하리라 생각된다. 이번 세미나가 연구원분들의 향후 연구에 조금이나마 도움이 되었으면 한다.
청취자 후기
오늘 세미나는 "Transformer in Computer Vision"을 주제로 진행되었다.
Natural Language Processing 분야에서 Transformer 등장 후 기존 LSTM 등의 방법론보다 유용한 점이 많아 다양한 이름으로 발전되고 있다. 이에 Computer Vision 분야에서도 Transformer의 핵심 기술인 self attention을 어떻게 적용할지 연구를 하다가 Transformer 모델 자체를 활용해보는 쪽으로 연구가 진행이 되고 있다.
Transformer는 기존의 RNN, LSTM 등과 다르게 Attension만을 활용해 문장을 구축한다. 이때 Self Attention이 핵심 아이디어이다. 이를 이해하기 위해 Seq2seq부터 이해를 하면 좋은데, 문장을 입력으로 받아 문장을 출력하는 모델이다. 이러한 Seq2seq를 활용하여 encoding 과정에서 각 단어의 유사도를 어느 정도 계산하여 연관성 있는 정보를 decoder가 특정 시점 단어를 출력하게 되는 과정을 Attention이라고 한다. Self Attention의 경우 단순히 encoder와 decoder 사이의 상관관계를 넘어 데이터 내의 상관관계를 바탕으로 특징을 추출하게 된다. 이러한 기술을 바탕으로 Computer Vision에서 자주 사용되는 CNN에 비해 Transformer는 멀리 떨어진 두 정보를 쉽게 얻어낼 수 있다는 점이 장점이다. 더불어 Inductive bias(새로운 데이터에 대해 좋은 성능을 내기 위해 모델에 사전적으로 주어지는 가정) 관점에서 CNN은 지역적인 정보를 중요하게 생각하고 Transformer는 지역적인 정보를 상대적으로 덜 중요하게 여기면서 모델의 자유도를 높이게 된다.
Vision Transformer 논문에서는 CNN 구조 없이 Transformer를 Image data에 적용하였는데, image input을 각 단어를 넣는 것처럼 진행하게 된다. 이때, 다양한 Transformer의 기술을 활용하여 Classification 등에 적용을 하여 정확도가 높거나 효율적인 모델을 구축하게 되었다. 하지만 학습 데이터가 충분하지 않을 경우 CNN 모델보다 성능이 감소 할 수 있다. 이를 해결하기 위해 Facebook에서 Data efficient image Transformer를 공개하였고 knowledge distillation과 data argumentation을 활용하여 기존 Transformer의 한계를 일부 해결하였다.
세미나를 통해 Transformer의 개념부터 Computer Vision에 적용되는 최신 논문까지 자세하게 알 수 있어서 좋았고, CNN 보다 뛰어난 성능을 보여주기도 하여서 놀랐다. 뿐만 아니라 앞으로의 연구들이 기대되었다.
좋은 내용을 위해 고생해준 한샘이에게 감사의 말을 전하고 싶다.
Transformer는 self attention과 positional encoding이라는 좋은 아이디어를 통해 NLP 분야에서 기본 모델인 RNN을 뛰어넘고 새로운 NLP분야의 표준으로 자리를 잡았다. 그리고 이 Transformer를 NPL뿐만 아닌 다른 분야에서 사용하기 위한 많은 연구들이 진행되었다.
Vision Transformer(ViT) 역시 이러한 연구들 중 하나이며 Transformer를 Computer Vision(CV)에 적용한다. 큰 이미지를 16*16 패치로 잘라서 각 패치들을 하나의 시퀀스로 생각한다. 그동안의 연구에서 Transformer를 CV에 활용하는 연구는 있었지만 Transformer의 self attention을 지역적으로 사용했을 뿐 모델 전체를 CNN없이 Transformer로만 구성하여 최신 CNN 모델들과 비슷하거나 더 좋을 성능을 낸 것은 ViT가 처음이고 이 것이 이 연구의 큰 의미라고 생각한다.
하지만 ViT에도 단점이 있는데 이미지의 2차원적인 정보를 유지하지 못한다는 것이다. 그렇기에 흔히 bias라고 하는 inductive bias를 학습하는 것이 어렵고 저자들도 많은 데이터가 필요하다고 말한다. 이 부분을 읽으면서 ViT를 실제로 사용하긴 힘들 것 같다고 생각했는데 이번 세미나에서는 Knowledge Distillation과 Data Augmentation으로 이 문제를 극복한 Data efficient image Transformer 또한 소개해 주었다.
세미나를 보면서 Google과 facebook의 경쟁도 재미있었고 ViT의 단점을 보완한 후속 연구를 소개해 주어 새로운 사실을 알게 되었다. 좋은 세미나를 준비한 한샘이에게 감사를 표하며 세미나 후기를 마친다.
작년 가을 쯤, 페이스북의 Tensorflow KR 페이지에서 ViT 에 대해 처음 접해보았다. Computer Vision 분야에서도 이제 CNN을 쓰지않고 Transformer 구조를 적용한 내용이었고, 해당 논문에 대해 용원이형과 몇 마디 나눴던 기억이 있다. ViT에 대해 흥미가 생겨 논문을 읽어보려 했으나 잊고 지나갔었는데, 오늘 세미나를 통해 ViT와 DeiT에 대해 이해할 수 있게 되었다.
이번 세미나를 통해 ViT에 대해 궁금했던 점이 전반적으로 대부분 해결되었다. 원래 Transformer는 RNN을 쓰지않고 Attention 만을 가지고 더욱 더 빠르고 효율적으로 NLP 분야의 태스크를 해결하기 위해 제안되었다. Transformer를 Vision 분야에 쓴다는 말은 쉬워보이지만, NLP 데이터와 CV 데이터는 근본적으로 구조가 다르기에 변형이 필요하다. 다음은 내가 이번 세미나를 들으며 궁금했던 점과 세미나로부터 해당 답변을 얻은 것을 정리한것 이다.
Q1. NLP에서 Transformer는 토큰으로 이루어진 문장을 Input으로 받는데, 그렇다면 이미지 데이터는 어떻게 처리할까?
A) 사진을 패치로 나누어 처리한다. 각각의 패치는 문장에서 토큰과 같으며, 전체 이미지는 하나의 시퀀스와 동치 된다.
Q2. Transformer에서는 Sequence data의 순서를 고려하기 위해 Time Positional Encoding 을 적용한다. 그렇다면 ViT에서는 이는 무엇으로 대체되는가? 이미지의 local information 을 어떻게 전달할까?
A) 패치 순서에 대한 Positional embedding 이 적용된다. 또한 BERT에서 제안 된 CLS Token 이 들어가는 것이 Base Transformer와의 차이점이다.
Q3. CNN은 학습 후 weight가 고정되지만, 지역적인 특성을 잘 반영한다고 알려져있다.(대신 전역적인 특성을 한번에 보기 어렵다.) Transformer는 이와 정반대의 특징을 가지고 있다.(1차원 벡터라 지역 정보가 유지 될 수 없지만, weight가 유동적, 전역적인 정보를 Self-Attention으로 해결하고, 자유도 또한 높다). 그렇다면 ViT는 CNN의 단점을 극복한만큼 CNN SOTA Model을 뛰어넘는 성능을 보였는가?
A)학습데이터 크기가 작을 경우는 기존 CNN 모델들이 더 좋지만, 학습데이터의 크기가 매우 큰 경우 SOTA CNN Model을 능가하였다.
+ 학습 데이터가 적은 경우에도 성능을 내기 위해 제안 된것이 DeiT이다. 이는 ViT에서 활용되지않은 Data Augmentation을 적극활용하고, Knowledge Distillation 을 통해 효율적으로 학습을 진행하였다.
Transformer 는 등장이후 BERT, GPT, ELMO 등에 활용되며 큰 파장을 일으켰다. 이러한 'Transformer 가 CNN을 대체 할 수 있을까' 에 대한 궁금증을 해소해주었고, 최근 연구 동향을 잘 파악한 세미나였다. 세미나를 준비하느라 고생하신 한샘이형께 감사의 말씀을 드린다.
이번 세미나는 'Transformer in Computer Vision'이라는 주제로 진행되었다. Transformer는 2017년 새롭게 등장한 모델로서 기존의 seq2seq의 구조인 encoder-decoder를 따르면서도, Attention만으로 구현한 모델로 RNN보다 우수한 성능을 보였다. 따라서 Transformer는 NLP task에서는 현재 표준이 되었지만, computer vision task에서는 NLP에 비해 아직 제한적이다. 이전까지는 Computer vision task에서 attention은 CNN과 함께 적용되거나 전체 구조를 유지하면서 CNN의 특성 요소를 대체하는데 사용되는 연구가 많이 진행되었다. 하지만 최근에는 CNN을 사용하지 않고 Transformer 자체를 이용하여 computer vision task를 수행하려는 연구가 많이 진행되고 있다. 본 세미나에서는 후자에 대한 연구에 대해 중점적으로 다루었다. Transformer의 핵심 아이디어 중 하나인 Self attention은 입력 데이터로부터 query, key, value 값이 모두 계산된 후 attention과 동일한 과정이 진행됨으로써 데이터 내의 상관관계를 바탕으로 특징을 추출한다. 이를 바탕으로 본 세미나에서는 Transformer를 활용하여 image classification을 task로 가진 여러 실험들을 소개하며, 이로 얻어진 Transformer의 여러 특징들을 짚어주었다. 대표적 특징으로는 학습데이터가 충분하지 않을 경우, inductive bias가 CNN 모델보다 적은 모델이기 때문에 해당 부분까지 학습해야 하여 결과적으로 CNN 모델보다 성능이 감소한다는 점이 있다. 이를 극복하기 위해 등장한 Data efficient image Transformer는 knowledge distillation과 data augmentation을 통해 일부 문제를 해결하였다.
Transformer에 관한 대략적인 개념만 알고 있었는데, 이번 세미나를 통해 관련 분야에 대해 구체적으로 공부해볼 수 있어 좋은 기회였다. Transformer의 시초부터 최신 연구 흐름까지 폭넓으면서도 구체적인 세미나를 준비해주신 조한샘 연구원께 감사의 말씀을 전하고 싶다.
오늘 세미나는 한샘이가 Transformer를 vision task에 활용한 논문 ViT, DeiT를 소개해주었다. 연구실 연구원들 중에 transformer에 대해서 잘 모르는 청자와 잘 알고있는 청자가 섞여있어 세미나 진행할 때 기본적인 내용을 어느정도 포함해야할 지 고민이 많았을 것 같은대 군더더기 없이 seq2seq과 attention, self-attention을 설명해주어서 잘 모르는 신입생들에게도 큰 도움이 되었을 것 같다. CNN의 Convolution filter는 이미지가 인접한 픽셀간 강한 상관관계를 가진다는 특징을 살려 inductive bias가 적절하게 만들어짐으로써 이미지의 특징을 효과적으로 추출했을 뿐만 아니라 효율적으로 파라미터를 사용했다. 하지만 오히려 그 부분을 단점으로 지적하여 transformer에서는 inductive bias를 적게두어 모델의 자유도를 높임으로써 이미지의 특징을 추출한다는 설명이 이번 세미나에서 제일 인상깊었다. 물론 convolution filter에서 inductive bias로 인해 효율적으로 학습했던 특징들을 transformer는 데이터를 학습하여 직접 잡아내야하기 때문에 많은 데이터가 필요하다는 단점이 자연스레 따라온 것 같다. 요즘 연구를 하면서 무조건적인 장점, 무조건적인 단점이 없다는 것을 많이 느끼고 있다. 내가 연구하고 있는 알고리즘의 장점을 실험적으로 어떻게 더 효과적으로 드러내고 단점은 어떻게 보완될 수 있다고 방향을 제시하면 좋을지 고민하는 것이 필요하다는 것을 다시한번 세미나를 통해 느꼈다. DeiT 연구에서는 학습 데이터가 많이 필요했던 ViT의 단점을 knowledge distillation과 data augmentation을 사용해 해결했다. CNN모델의 한 종류인 REG net을 teacher모델로 사용하여 inductive bias를 학습하기위해 데이터가 많이 필요했던 단점을 해결했다고는 하지만 결과 표에서 해당 아이디어로 얻은 성능 향상보다 data augmentation으로 얻은 성능 향상이 더 눈에 띄어 그 부분은 아쉬움이 드는 연구라고 생각이 든다. 다양한 논문을 읽고 열심히 연구하는 한샘이에게 후배지만 많은 자극을 받는다고 말해주고 싶고 나중에는 같이 좋은 연구도 하고 싶다. 화이팅~!!
이번 세미나는 Transformer in Computer vision에 대한 주제로 진행되었다. 최근 NLP 분야에서 가장 활용이 많은 Transformer를 image 분석에서 어떻게 응용되는지에 대해 연구 history와 함께 알기 쉽게 설명 되었다.
seq2seq와 함께 설명된 기존 attention 메커니즘의 경우 encoder와 decoder간의 dot product를 통해 weight값으로 특징을 추출해나갔다고 하면, Transformer는 self attention이 가장 중요한 핵심 개념이 되었는데, self attention은 입력데이터만으로 query key value를 모두 추출해 나가는 점에서 차이가 있었다.
computer vision에서의 Transformer는 1-d vector로 self attention을 통해 한번에 멀리 떨어진 픽셀과도 상관관계를 계산하여 output을 내는 부분이 CNN과는 달랐는데, 하나의 image를 단어로 구성된 문장처럼 각각의 순서대로의 이미지로 분할해서 Linear Projection으로 embadding했다. image에서의 위치를 문장내 단어의 순서를 연상시키는 점을 이용한것이 인상깊었다. 이렇게 진행되는 ViT는 CNN 못지않은 성능을 냈는데, ResNet보다는 sample수에 따라 성능에 좀더 큰폭으로 변했다. 이는 ViT는 inductive bias가 적은 모델, 즉 image에서 pixel은 지역정보를 가진다는 가정을 하고 분석하는 것보다, 그러한 지역적인 정보 없이 전체로 분석하기 때문에 좋은 성능을 위해서는 더 많은 sample을 필요하다고 이해됐다. 성능 결과에 따른 논리적인 원인 확인을 찾아가는 과정과, 이런 부분을 개선하고자 Distillation token을 추가하는 DeiT 추가 announce하는 등 여러가지 idea가 동반되어 조금씩 개선시키는 것이 굉장히 흥미로웠다.
마지막까지 듣고 나니 이해하기 힘들 수 있는 attention과 Transformer 모델이 앞서 설명된 부분을 통해서 퍼즐들이 맞춰지는 것처럼 알기 쉽게 배웠다는 생각이 들었다. 깔끔하게 정리해주신 조한샘 연구원께 감사의 말씀을 전한다.
이번 세미나는 Transformer in Computer Vision에 대해 진행되었다. Transformer는 NLP를 위한 모델이라고 생각해왔었기 때문에 이미지 데이터에 어떻게 적용되는지 주제부터 흥미롭게 느껴졌다. vision task에서는 주로 CNN이 사용되지만 이번 세미나에서는 CNN이 아닌 Transformer를 사용하여 vision task를 수행한 연구들이 소개되었다. Transformer는 기존 RNN, CNN과는 다르게 Attention만을 활용한 모델로 Self Attention을 핵심 아이디어로 사용한다. Attention은 Query, Key, Value가 encoder와 decoder에서 나누어져 계산되기 때문에 encoder와 decoder 사이의 상관관계를 바탕으로 특징이 추출되고 Self Attention은 입력 데이터로부터 Query, Key, Value가 계산되기 때문에 데이터 내 상관관계로부터 특징이 추출된다. Transformer와 CNN을 비교했을 때 Transformer는 하나의 layer로 전체적인 정보를 통합할 수 있지만 2차원의 지역적인 특성이 유지되지 않는다. Vision Transformer(ViT)의 Base Model에 대한 구조가 자세하게 설명되었는데 이 모델에서 새롭게 등장하는 개념으로 Classification token과 Position embedding이 있다. 이 두 가지는 학습을 통해 결정되는 파라미터로 encoder의 역할을 수행한다. ViT의 encoder에서는 Layer Normalization의 위치가 바뀌어 기존과 다르게 Multi-Head Attention 전에 수행되며 ViT는 inductive bias까지 학습이 필요하기 때문에 높은 성능을 위해서 CNN보다 더 많은 양의 데이터를 필요로 한다는 한계점이 있다. 이러한 문제를 해결하기 위해 Knowledge Distillation & Data Augmentation을 활용한 모델로 Data efficient image Transformer(DeiT)가 등장하였다. DeiT의 구조는 ViT와 동일하지만 Teacher Model로 RegNet을 사용하여 많은 데이터가 필요한 ViT의 한계점이 개선되었다. 이해하기에 쉽지 않은 내용이었지만 각 단계에서 등장하는 개념들이 자세하게 설명되어서 좋았던 것 같다. 대량의 데이터가 필요한 ViT에 Knowledge Distillation을 적용하여 한계점을 해결하였다는 부분이 인상 깊었다. 단순하게 방법론의 개념을 이해하는 수준을 넘어서 각 방법론의 장점을 잘 파악하고, 특정 모델의 문제점을 해결하고자 할 때 잘 적용할 수 있도록 해야겠다.
이번 세미나는 Transformer in Computer Vision을 주제로 하여 진행되었다. Transformer는 지난 이영재 연구원의 세미나에서도 다뤄지긴 했었는데, 이번에는 Computer vision 분야에 응용되는 내용 중심으로 소개가 되었다. Transformer는 Attention is all you need라는 논문에서 제안된 모델이다. Transformer 등장 이전에는 NLP 분야에서 RNN계열 모델이 기본적으로 쓰이고 있었는데, Transformer 등장 이후에는 이제 RNN계열이 아닌 Transformer 중심으로 연구가 진행되고 있다. NLP 분야에서 이렇게 획기적인 변화를 일으킨 Transformer를 Computer vision 분야에도 적용하는 연구가 진행되고 있는데, 기존의 CNN에 Transformer의 Self-attention을 부분적으로 적용하는 연구가 진행되다가 최근에는CNN 대신 Transformer 자체를 사용하는 연구가 진행되고 있다. Transformer의 핵심 아이디어는 Self Attention인데, 이 Self Attention을 설명하기 위해 Attention 개념이 처음 등장한 Seq2seq 모델부터 설명을 해주었다. Seq2seq에서의 Attention은 encoder와 decoder 사이의 상관관계를 바탕으로 특징을 추출한다면, Self attention은 데이터 내의 상관관계를 바탕으로 특징을 추출한다고 할 수 있다. 이러한 Self attention을 사용하는 Transformer와 CNN을 비교해보면, CNN은 이미지의 한쪽 끝에서 다른 한쪽 끝까지의 정보를 담기 위해 몇 개의 layer를 통과해야 하지만, Transformer는 하나의 layer로 전체 이미지 정보를 통합할 수 있다는 장점이 있다. Transformer를 이미지 분류 문제에 적용한 연구로 두 개의 모델이 소개되었다. 첫번째는 Vision Transformer(ViT)이다. ViT는 이미지를 특정 크기의 patch로 분할하는데, 마치 NLP에서 한 문장을 단어 단위로 나누는 것과 유사한 개념이라고 할 수 있다. 이미지를 Patch단위로 나눈 후 Linear projection을 통해 Embedding이 되면 Classification token과 함께 Positional embedding에 더해져 Transformer의 encoder로 입력되게 된다. Encoder 부분은 원래의 Transformer에서와 달리 Layer normalization을 먼저 적용하게 되어 Normalization→Multi-head attention→Normalization→MLP 순으로 적용하고 최종 출력값이 나오게 된다. 이러한 ViT는 학습데이터가 충분한 경우 CNN보다 성능이 뛰어나지만 충분하지 않은 경우 CNN보다 성능이 감소하게 된다. 이러한 한계를 극복하기 위한 모델로 Data efficient image Transformer(DeiT)가 소개 되었다. DeiT는 기존 ViT에 Knowledge distillation과 Data augmentation을 이용하였고, ViT와 동일한 구조에 Distillation token을 추가하였다. 이번 세미나를 통해 Transformer 모델이 NLP분야를 넘어 Computer vision 분야에서도 많은 연구가 되고 있다는 것을 알게 되었다. 마지막에 소개해준 Survey 논문에서 Transformer가 이미지 분류 외에도 Object detection이나 Segmentation에서도 활용되는 연구가 있는지 한번 참고를 해봐야겠다. 첫 세미나 준비하느라 수고가 많았을 조한샘 연구원에게 감사의 말을 전한다.
오늘 세미나는 transformer in computer vision을 주제로 진행되었다. NLP분야에서는 RNN이 오랜 기간 동안 기본 모델로써 활용되어 왔다. 이후 transformer의 등장으로 성능이 향상되었고 이를 활용한 BERT등의 다양한 알고리즘이 등장하게 되었다. 더 나아가 Transformer를 vision 분야에 적용해보고자 하는 연구가 활발하다. Transformer는 attention만을 활용한 모델로 self-attention이 핵심 아이디어이다. Attention은 encoder와 decoder의 상관관계를 바탕으로 특징을 추출하는 방식이다. Transformer는 하나의 레이어로 전체 이미지 정보 통합이 가능하지만, CNN은 이미지 전체의 정보를 통합하기 위해서 여러 개의 레이어를 사용해야한다는 점에서 차이가 있다. Transformer 구조를 활용하여 이미지 분류 task를 수행한 Vision Transformer(ViT)는 SOTA의 CNN기반 모델과 유사한 성능을 냈고, classification token과 position embedding 개념을 사용한다. 이후 inductive bias까지 학습이 필요하므로 CNN에 비해 더 많은 데이터가 필요하다는 ViT의 한계를 해소하기 위해 Knowledge Distillation & Data Augmentation를 활용한 Data efficient image transformer(DeiT)가 등장하였다.
최근 computer vision 분야에서 transformer를 활용한 연구들이 활발하게 이루어지는 것을 알게 되었는데, 이번 세미나를 통해 연구 동향을 잘 파악할 수 있어서 매우 유익했다. 꼼꼼히 세미나를 준비해주신 한샘오빠에게 감사의 말씀을 전한다.
오늘 세미나는 "Transformer in Computer Vision"을 주제로 진행되었다. Transformer는 최근 NLP분야에서 RNN보다도 우수한 성능으로 활용이 많이 되고 있는 모델이다. 이러한 Transformer가 NLP뿐만 아니라 Computer Vision의 분야에서도 사용되기 위한 연구가 진행되고 있는데, 세미나에서는 이러한 연구들이 소개되었다. Transformer는 Attention만을 활용하여 구축된 모델이다. 그 중에서도 Self Attention이 Transformer의 핵심 아이디어이다. 기존의 attention의 경우에는 encoder와 decoder 사이의 상관관계를 바탕으로 특징이 추출되지만, Self Attention의 경우에는 데이터내의 상관관계로부터 특징이 추출된다. Self Attention을 핵심으로 하는 Transformer와 CNN의 차이를 살펴보게 되면, Transformer는 하나의 layer를 활용하여 전체 이미지에 대한 정보 통합이 가능한 반면에 CNN은 여러개의 layer를 통과하며 이미지 전체의 정보를 통합한다는 차이가 존재한다. Transformer가 Vision 분야에서 활용된 VIT와 DeiT에 대해서 소개되었는데, VIT에서는 classification token과 Position embedding의 개념을 도입하여서 학습을 통해 결정하며 이를 Encoder로 입력하게 된다. 하지만, 이러한 VIT에서는 inductive bias또한 학습해야 하기에 다량의 data가 필요하며, 충분치 않을 경우 CNN모델보다도 성능이 감소하는 문제가 있었다. 이러한 VIT의 한계를 극복하기 위해서 Knowledge Distillation & Data Augmentation을 활용한 DeiT가 등장하게 되었다. 세미나를 통해서 Transformer에 대해 기본적인 개념부터 이가 활용된 다양한 연구 방향들에 대해서 알아볼 수 있었던 세미나였다. 좋은 내용으로 세미나를 준비해준 한샘이에게 감사의 말을 전한다.
금일 세미나는 한샘이가 진행해주었다. Transformer 모델을 컴퓨터 비전에 적용한 연구의 사례와 의의를 소개해주었다. NLP 분야의 SOTA 모델들을 구축하는데 크게 기여했던 Trnasformer 모델이 컴퓨터 비전에는 어떤 영향을 끼쳤을 지 궁금한 점들을 세미나에서 해결할 수 있었다. 친절한 한샘이는 트랜스포머 in Computer vision을 소개하기 전에 Seq2seq, attention, self-attention, Transformer 순으로 금일 세미나를 이해하는데 필요한 핵심 요소를 리마인드 시켜주었다. 유익하였다. 리마인드 후 Transformer를 컴퓨터 비전에 적용한 논문 두 개를 소개해주었다.
첫번째는 ViT(Vision Transformer)로 이미지 분류 태스크를 트랜스포머만으로 시도한 최초의 논문이였다. Self-Attention과 PE만으로 Convolution 연산과 비슷한 효과를 낼 수 있게 한 플로우가 가장 흥미로운 점이였으며, 21페이지에 있는 Self-attention 과정을 도식화한 그림이 이해에 많은 도움이 되었다. 두번째 논문은 지식 증류와 데이터 증강 기법을 통해 첫번째 논문의 단점을 개선시킨 결과를 보고하였다. 트랜스포머 모델의 성능이 학습 데이터의 양에 크게 의존한다는 점을 보완하였으며, 모델 이름이 DeiT(Data efficient image Transformer)인 것이 이름을 야무지게 잘 지었다고 생각하였다.
ViT(Vision Transformer)는 Sequential 데이터에 주로 접목되던 Transformer를 몇가지 직관적인 트릭으로 Vision쪽으로 사용 범위를 넓힐 수 있음을 보여주었다. Transformer는 세미나에서 설명했듯이 모든 토큰 간 Fully connected graph의 형태로 데이터 분포를 추정하게 되는데, 이러한 특징 때문에 단방향 그래프인 기존 CNN, RNN보다 Inductive Bias가 적은 축에 속한다. 이는 학습에 독이 될 수도, 약이 될 수도 있는 부분이라 최소한의 학습 방향성을 위해 Classification token과 Patch embedding 등의 트릭을 사용하여 Vision Transformer의 input으로 넣어주는 것이 기존 NLP쪽 Transformer와 차이점이다. Output에서는 특이하게 Classification token의 마지막 embedding값을 input image의 대표 임베딩이라고 정의해서 사용하는데 이 부분은 그게 된다는게 상당히 신기했다. 기존 CNN구조보다는 실용성이 다소 떨어지는 결과가 나왔지만, 데이터가 충분히 있고, inductive bias를 무엇으로 해야될지 모르는 상황에서는 Transformer 구조를 차용하는 것 또한 좋은 선택일 듯 싶다. Attention을 한눈에 attend 할 수 있는 세미나를 보여준 한샘이에게 감사의 말을 전한다.
금일 세미나는 한샘이가 ‘Transformer in Computer Vision’이라는 주제로 attention mechanism의 배경에서부터 transformer의 개략적인 구조, 더 나아가 computer vision에 적용하기 위한 advanced model Vision Transformer (ViT)를 소개해주었다. 처음 seq2seq, attention mechanism, self-attention을 공부할 때 이해하기 어려웠던 부분을 한샘이가 명료하게 설명해주는 부분이 인상깊었다. 처음 접했을 때 찾아본 보조자료들보다도 잘 정리되어 있어서 많은 연구원들이 앞으로도 많이 꺼내 볼 좋은 reference가 될 것 같다. ViT는 transformer구조를 이미지에 적합하도록 변형하여 최종적으로 분류와 같은 downstream task를 수행하는 것을 목표로 한다.
CNN구조가 인접한 pixel의 상관관계를 반영하여 feature extraction을 수행한다는 점에서 이미지에 적합한 inductive bias를 지닌다고 알려져 있는데, ViT는 이러한 가정이 모델의 자유도를 낮춘다고 지적하며, 전체적인 이미지 position사이의 관계를 반영하도록 inductive bias를 구성하였다. 그럼에도 불구하고, patch화했다는 점에서는 이미지에서 주변부 정보를 반영한다는 것은 유지했다고 할 수 있겠다. 더불어 BERT에서 사용되는 classification token, position embedding을 활용하여 class정보와 patch의 위치정보를 유지하면서 embedding을 수행하였다. 이 과정에서 Transformer에서 추가된 개선점은 후속인 구들에서 꾸준히 제기된 layer normalization위치가 변경되었으며, multi-head attention구조는 동일하게 적용되었다. ViT는 학습에 필요한 parameter가 CNN대비 규모가 크므로 많은 양의 데이터를 필요로 한다는 한계점이 있다. 따라서, 후속연구로 knowledge distillation, data augmentation을 활용해 데이터 효용성을 구한 DeiT가 제안되었다. DeiT는 knowledge distillation구조를 크게 변경하지 않으며, teacher model로 RegNet을 활용해 데이터 이슈를 완화하였다. 끝으로 transformer vision task에서의 survey문헌을 소개하며 세미나를 마쳤다. 금일 세미나는 짧은 시간동안 transformer에 대한 이해와 모델 작동방식을 간단히 설명해주었다. ViT논문을 읽었던 적이 있는데 이렇게 간단히 설명하기 위해서 많은 고민이 필요했을 거라고 생각한다. 좋은 자료를 구성해준 한샘이에게 감사한 마음을 전하며 세미나 후기를 마친다.
이번 세미나는 "Transformer in Computer Vision"의 주제로 진행되었다. Transformer 모델의 경우 지역적인 정보가 더 중요한 CNN에 비하여 inductive bias가 더 낮고, 모델의 자유도가 더 높아 데이터로부터 더 많은 정보를 얻을 수 있다는 장점을 갖고 있다. 이러한 장점을 기반으로 Transformer모델을 computer vision 분야에 적용시킨 모델이 Vision Transformer(ViT)이다. 이는 Transformer의 구조를 활용하여 image classification을 수행한 방법론으로, 한 이미지를 여러 개의 patch로 잘라낸 후에 classification token과 position embedding을 함께 활용하면서 최종 classification 결과를 얻게 된다. 이미지를 Transformer 모델의 인풋으로 활용할 수 있도록 적절한 방법들을 함께 활용하여 인풋 방식과 모델의 구조를 적절하게 구성한 것이 흥미롭게 다가왔다. 하지만 ViT 모델의 경우 학습데이터가 충분하지 않을때에는 좋은 성능을 보이지 못한다는 단점을 갖고 있어, 이를 보완한 Data efficient image Transformer (DeiT) 모델이 등장하여 Knowledge Distillation, Data Augmentation을 활용한 방법론이 제안되었으며, 기존 ViT 모델보다 더 좋은 성능을 보이고 있다. 짧은 세미나 시간을 통하여 Transformer 모델의 기초적인 내용부터 이를 computer vision 분야에 활용한 ViT, DeiT 모델들까지도 모두 알아볼 수 있었다. 이번 세미나를 통하여 알아본 모델들이 이후에는 어떻게 더 발전하고 활용될지 더욱 궁금해진다.