Transformers lack some of the inductive biases inherent to CNNs, such as translation equivariance and locality, and therefore do not generalize well when trianed on insufficient amounts of data.
Transformer에는 CNN에 고유한 inductive bias가 부족하므로 충분하지 않은 양의 데이터로 학습할 때 일반화가 어렵다고 말한다. Inductive bias을 무엇이라고 이해하면 될까?
Bias
Bias하면 Bias와 Variance의 trade-off 관계가 떠오른다.
Bias : 모델이 데이터에 잘 맞지 않는 정도 (실제값과 예측값이 얼마나 멀리 떨어져 있는지)
Variance : 모델이 데이터의 변화에 얼마나 민감한지에 대한 정도
Bias가 높은 경우→ 모델이 학습 데이터의 특성을 충분히 학습하지 않아 Underfitting
Variance가 높은 경우→ 모델이 데이터의 사소한 노이즈 부분까지 학습하여 Overfitting
이상적인 모델은 Low Bias와 Low Bias를 가지겠지만 Bias와 Variance는 trade-off 성질로 인해 Bias의 희생을 최소로 하면서 Variance를 최대한 낮추도록 해야한다.
Inductive Bias
Bias를 학습 알고리즘의 잘못된 가정에 의해 발생하는 오차라고도 한다. → 잘못된 가정에 의해 데이터의 중요한 부분을 놓치고 있다고 해석할 수 있다.
그렇다면 우리가 풀려는 Task에 맞는 가정이 있다면 성능이 개선되지 않을까? ⇒ Inductive Bias : 모델이 학습하지 않은 데이터에 대해 추론할 때 참고하는 어떠한 가정/편향
ML에서는 ground-truth에 다가가기 위해 모델을 가지고 데이터로 학습시키는 과정이 이루어진다. 그러나 학습데이터 만으로는 전체 데이터를 표현하기에 부족하다. 따라서 모델이 올바른 inductive bias를 보유함으로써 일반화 능력을 갖출 수 있도록 한다.
데이터 도메인의 특성에 따라 주로 사용하는 모델이 다른 이유도 inductive bias를 고려했기 때문이다.
이미지를 다루는 경우 CNN을 많이 사용한다.
Locality : 픽셀 단위로 데이터를 인지하는데 인접한 픽셀끼리는 유사한 값을 갖고 있을 것이다.
Transition Invariance : 동일한 윈도우 간 가중치 공유를 하기 때문에 개체의 위치가 바뀌어도 동일한 개체로 인식할 수 있다.
Fully Connected Layer의 경우 모든 weight가 독립적이며 공유되지 않기 때문에 inductive bias가 매우 약하다.
그러면 Transformer는 어떨까?
Transformer는 Self-Attention을 통해 입력 데이터의 모든 요소간의 관계를 계산하기 때문에 CNN에 비해 Inductive Bias가 부족하다고 볼 수 있다.
→ 따라서 Transformer는 높은 표현력을 지니나 성능 향상을 위해서는 많은 데이터셋이 필요하다.