Bias란 ?
- Bias
- 타겟과 예측값이 얼마나 멀리 떨어져 있는지 ?
- Bias⬆ ➡ 데이터로부터 target과의 연관성을 잘 찾아내지 못하는 과소적합 (Underfitting) 문제 발생
- Variance
- 예측값들이 얼마나 멀리 퍼져있는지 ?
- 데이터의 사소한 노이즈나 랜덤한 부분까지 민감하게 고려하는 과적합 (Overfitting) 문제 발생
- Bias를 학습 알고리즘의 잘못된 가정에 의하여 발생하는 오차라고도 하는데
- 잘못된 가정에 의하여 데이터에서 중요한 부분을 놓치고 있다는 의미
💡 우리가 사용하는 ML/DL은 아직 특정 상황에 맞춰 개발된 경우가 대부분이므로, 그 특정 상황에 잘 맞는 일반적인 가정이 있다면 성능을 높일 수 있지 않을까? 하면서 개념이 바로 Inductive Bias
Inductive Bias란 ?
- 일반적으로 모델이 갖는 일반화의 오류(Generalization Problem)
- 불안정하다는 것(Brittle) : 아무리 같은 의미의 데이터라도 조금만 바뀌면 모델이 망가진다.
- 겉으로만 그럴싸 해 보이는 것(Spurious) : 데이터의 진정한 의미를 파악하지 못하고 결과(Artifacts)와 편향(Bias)을 암기한다.
- 모델이 주어진 데이터에 대해서 잘 일반화한 것인지, 혹은 주어진 데이터에만 잘 맞게 된 것인지 모르기 때문에 발생하는 문제
➡ 이러한 문제를 해결하기 위한 것이 바로 Inductive Bias - Inductive Bias란, 주어지지 않은 입력의 출력을 예측하는 것
즉, 일반화의 성능을 높이기 위해서 만약의 상황에 대한 추가적인 가정(Additional Assumptions)
더보기
모델이 학습하는 과정에서 학습 데이터이외의 데이터들까지도 정확한 출력에 가까워지도록 추측하기 위해서는 추가적인 가정이 필수적이다. 그래서 성공적으로 학습하여 일반화가 잘 된 모델은 어떠한 Inductive Bias의 유형을 갖게 되는데, 이것들이 바로 일반화하기 위해 만들어진 가정이라고 볼 수 있다. 다시 말해서, Inductive Bias는 보지 못한 데이터에 대해서도 귀납적 추론이 가능하도록 하는 알고리즘이 가지고 있는 가정의 집합이라고 할 수 있다.
CNN VS Transformer
- Transformer
- NLP분야 뿐만아니라 최근에는 CV에서도 강력한 성능을 보여주며, 주목을 받고 있다.
- 그렇다면, 항상 Transformer를 사용하는 것이 좋을까?
- Positional Embedding과 Self-Attention을 사용해 모든 정보를 활용
- CNN
- 이미지가 지역적으로 얻을 정보가 많다는 것을 가정하고 만들어진 모델
💡 즉, Transformer는 CNN에 비해 Inductive Biases가 부족하다고 볼 수 있다.
➡ 결과적으로 Global한 정보가 필요한 경우에는 Transformer가 좋지만, Inductive Biases가 잘 맞는 이미지가 지역적으로 얻을 정보가 많은 경우에는 CNN이 적합