안녕하세요 오랜만에 글을 쓰게 되었습니다.
요즘 대학원 진학 후 이것저것 하다 보니 시간이 빨리 가네요..
오늘 다룰 주제는 제가 최근에 공부하고 있는 Transformer에서 나온 용어에 대해서 짚어보고 넘어가 보려고 합니다.
요즘 Learning 분야에서는 Transformer를 도입해보는 연구가 많이 진행되고 있는데요.
Vit와 같은 Transformer를 Vision에서 도입한 논문에서 주로 이런 말이 언급됩니다.
"Transformers lack some of the inductive biases inherent to CNNs"
(from paper An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale [Alexey Dosovitskiy] )
그럼 여기서 Inductive biase는 뭘까요? (하단에 참조한 자료들을 참고하였습니다.)
"위키피디아"와 박민호 님의 Blog에서는 이런 말을 합니다.
기계학습에서의 inductive bias는, 학습 모델이 지금까지 만나보지 못했던 상황에서 정확한 예측을 하기 위해 사용하는 추가적인 가정을 의미합니다.
(The inductive bias (also known as learning bias) of a learning algorithm is the set of assumptions that the learner uses to predict outputs of given inputs that it has not encountered.)
음 머신러닝이 생소하신 분들은 다소 어려우실 수 있습니다.
쉽게 설명드리자면 추가적인 가정(우리가 풀려는 문제에 대한 정보를 모델에 적용) 을 적용한다 생각하시면 됩니다.
CS229 5장에서 GDA(생성 모델)과 Logistic regression(판별 모델)에 대해서 비교하는 내용이 있습니다.(이진 분류 문제)
앤드류 응 교수님은 이 둘을 비교할 때 GDA는 Data가 Gaussian Distribution(Exponetial Family)를 따를 것이다. 라는 추가적인 Stronger Assumption이 맞다면 Weaker Assumption인 Logistic regression보다 모델이 문제를 더 잘 풀 것이다.
반면 Assumption이 틀린 경우(데이터가 푸아송 분포이거나)에는 Logistic보다 동작을 잘 못할 것이다.
위 그림처럼 이진 분류를 할 때 GDA는 추가적인 Assumption을 통해 Logistic이 되기에 충분 조건이지만
Logistic이 GDA가 되기에는 필요조건이다.
정리해서 말하자면 [Assumption <-> Robust]
Assumption 이 강해질 때, 그 가정이 맞으면 적은 Dataset으로도 탁월한 성능을 줄 수 있다
다만 가정이 틀릴때는 성능이 더 떨어진다
Assumption 이 약해질 때, 가정의 실수가 일어날 일이 줄어들어 견고한 특성을 지닌다.
그렇다면 Transformer는 왜 Inductive bias(가정)이 CNN보다 약한가?
이 내용은 Stack overflow에 있는 자료를 참고하였는데요
이런 Table이 있습니다.
여기서 Conv 같은 경우 Locality에 대한 가정이 있는데요 우리가 Convolution을 처리하는 과정을 보면 Local(지역적인) 영역에서 Spatial한 정보를 잘 뽑아내는걸 알 수 있습니다. 이러한 모델 설계자체가 가정이들어간 거죠
"Vision Task는 지역적으로 정보를 얻을게 많다!"
RNN을 또 예로 들어볼까요? RNN 또한 추가적인 가정이 들어간 모델입니다. 시계열적 나열에서 가까운 애들한테 더 많은 영향을 주거나 받을 수 있게 되어있죠.
그래서 CNN이나 RNN은 한계를 지닙니다.
예를 들어 CNN은 Global한 영역에 대한 처리가 어렵기 때문에 Deformable 등의 연구로 Receptive field를 넓히려고 연구를 했죠, RNN또한 긴 문장에 대해서 it과 같이 앞문장에 특정 주어를 지칭하는 문제에서 어려웠습니다.
(둘 다 지역적인 부분에 가정을 두다 보니 전체적인 큰 영역에서는 취약한 모습을 보임)
그렇지만 Transformer는 Positional Embedding이나 Self-Attention 메커니즘을 통해 모든 정보는 활용하지만 추가적인 가정(inductive bias)이 부족하다는 것입니다. 그래서 Robust하게 동작할 수 있지만 많은 양의 데이터가 필요하다는 것입니다.
저도 배우고 있는 입장에서 이렇게 한번 정리해 봤는데 틀린 부분이 있다면 알려주시면 감사합니다.
다음에 더 좋은 자료로 찾아뵙겠습니다 !!!!!!!!
Reference
- Wikipedia
- Stack overflow
stackoverflow.com/questions/35655267/what-is-inductive-bias-in-machine-learning
- 박민호 님의 Blog
'딥러닝' 카테고리의 다른 글
딥러닝 내용 정리 2편 (1) | 2020.02.25 |
---|---|
딥러닝 내용 정리 1편 (1) | 2020.02.23 |