딥러닝을 공부하다 보면 inductive bias라는 단어가 많이 나오곤 한다.
이게 뭐길래 자주 쓰이는지, 또 어떠한 의미를 갖는지 이번 포스팅을 통해 알아보자.
1. Bias variance tradeoff of various network structure
모델에 예측에 대한 bias와 variance는 아래 그림과 같다.
- Bias는 학습 데이터 교체했을 때 모델의 정확도 어느 정도 차이 나는지
- Variance는 특정 데이터에 모델이 얼마나 민감하게 반응하는지
일반적으로 bias와 variance는 trade-off 관계를 갖는다.
따라서 오른쪽 위, 왼쪽 아래의 경우가 일반적이다.
이러한 관계를 바탕으로 다중의 inductive bias를 갖는 모델을 설계하는 것은 모델의 sample efficiency를 증진하는 경향이 있다.
즉 적은 데이터로도 비교적 좋은 결과를 낼 수 있다는 의미이다.
그러나 동시에 모델을 가정으로 규제하기 때문에 표현력을 저하시킨다는 문제가 있다.
이를 잘 알 수 있는 대목이 아래의 그림과 같다.
왼쪽은 linear regression 모델로 매우 강한 bias(선형 관계를 가질 것이다라는 가정)으로 표현력이 부족하여 high bias의 특징을 보인다.
반면 오른쪽은 더 높은 차수의 모델로 표현력은 어느 정도 있지만 high variance 한 특징을 보인다.
이처럼 일반적으로 bias와 variance는 trade-off 관계이다.
따라서 데이터가 풍부하게 많지 않은 경우를 제외하고 일반적으로 데이터가 적은 경우에도 모델이 올바른 가정을 통해 적절한 bias, variance를 갖도록 하여 일반성을 갖추는 것이 중요하다. 이때 올바른 가정의 역할을 하는 것이 inductive bias이다.
2. Inductive bias란?
Inductive bias를 직역하면 귀납적 편향이라는 뜻으로, 효과적인 machine learning 알고리즘을 설계하기 위해 고려되는 경험적인 가정, 편향을 의미한다. 학습 시에는 만나보지 않았던 상황에 대하여 정확한 예측을 하기 위해 사용하는 추가적인 가정을 의미한다고 볼 수 있다.
학습 시에 만나보지 않았던 상황이 어떠한 문제를 야기하는 것이길래 이를 위해 추가적인 가정을 하는 걸까?
즉, 어떠한 문제를 inductive bias가 해결하고자 할까?
우리는 머신러닝, 딥러닝 모델이 데이터를 학습하여 일반화 성능을 높이는 것에 관심이 있다.
데이터에 의해 학습이 이뤄지므로 이에 대한 한계는 분명히 생기기 마련이다.
그때 머신러닝, 딥러닝 모델이 갖는 일반적인 문제는 다음과 같다.
1. Models are brittle: 모델은 불안정하다.
2. Models are spurious: 모델은 그럴싸해 보인다.
모델이 불안정하다는 것은 input에 따라 모델의 결과가 달라짐을 의미한다. 가령 같은 의미의 데이터라도(ex 같은 고양이) 조금만 변형이 생기면(다른 각도의 사진) 모델의 결과도 달라진다는 것을 뜻한다.
모델이 그럴싸 해 보인다는 것은 모델이 데이터의 진정한 의미를 파악하는 것이 아닌 artifact, bias(결과와 편향)을 외워버리는 것을 의미한다.
이러한 문제는 결국 모델의 일반화 성능을 떨어뜨릴 것이며, 우리가 원하는 예측 결과를 반환하지 않음을 뜻한다.
따라서 우리는 inductive bias를 통해 모델이 보지 못한 데이터에 대해서도 정확한 출력(원하는 출력)에 근사하도록 어떠한 가정을 더해주는 것이다.
3. Inductive bias의 예시
그렇다면 어떤 것들이 Inductive bias에 속하는지 그 예시에 대해 알아보자.
- Translation invariance: 물체의 입력 내 시/공간 상 절대적 위치가 함수 출력에 영향을 미치지 않음
- Translation equivariance: 물체의 입력 내 시/공간 상 절대적 위치가 함수 출력에 영향을 미침
- Minimum cross-validation error: 다중의 가설이 존재할 때 교차 검증 오차가 가장 낮은 가설을 선택해야 함
- Maximum margin: 두 클래스 사이에 경계를 그릴 때 경계 너비를 최대화해야 함
- Minimum description length: 복잡한 현상을 설명하는 가설은 짧고 명료할수록 좋음
- Minimum features: 유용하다는 근거가 없는 feature의 경우 제거하는 것이 좋음
- Low density separation: 분류 모델의 decision boundary는 feature의 밀도가 낮은 곳에 위치해야 함
- Smoothness assumption: 두 데이터가 입력 공간 상에서 가까운 위치에 위치한다면 출력 공간 상에서도 가까워야 함
- Cluster assumption: feature space 내의 데이터 셋에 대해 같은 cluster 내 존재하는 데이터는 같은 클래스를 공유할 확률이 높음
- Ridge regularization: 모델 Param이 gaussian prior에서 추출됨
- Lasso regularization: 모델 Param이 Laplace prior에서 추출됨
이러한 가정이 어떠한 머신러닝, 딥러닝 알고리즘에 적용되어 일반화의 성능을 끌어올리는 데 기여하는 것이다.
아래의 그림은 딥러닝 구조별 inductive bias 구조이다.
서로 다른 구조는 서로 다른 inductive bias에 기반한다는 것이다. 이에 따른 특징도 다 다르다.
4. Inductive bias in CNN
다양한 네트워크 중 이번 포스팅에서는 CNN에서 어떠한 inductive bias가 적용되었는지 알아보자.
이미지 데이터에는 다음과 같은 Inductive bias가 있다.
- Locality: 입력의 시공간 상에서 가까운 위치에 위치한 데이터끼리 보다 높은 상관관계를 갖는다는 가정.
- Translation invariance / Translation equivariance: 물체의 입력 내 시/공간 상 절대적 위치가 함수 출력에 영향을 미치지 않음 / 미침
translation invariance의 예시로 그림 1의 왼쪽 그림을 보면, 이미지 상의 어떤 위치에 있던 같은 석상이라고 인식하는 것(특징을 뽑아내는 것)을 의미한다.
translation equivariance의 예시로 그림1의 오른쪽 그림을 보면, 이미지 상의 그림은 모두 눈, 코, 입, 귀로 이뤄진 이미지이다. 하지만 왼쪽은 상대적 위치가 고려되지 않은(중구난방의) 얼굴 형태이고, 오른쪽은 우리가 인식할 수 있는 상대적인 위치가 고려된(정상적인) 얼굴 형태이다. 따라서 상대적 위치에 따라 얼굴인지 아닌지 인식하는 것을 의미한다.
즉, 이미지 데이터를 활용한 task는 물체의 절대적 위치는 고려하지 않으면서, 상대적 위치는 고려해야 하는 것이 중요하다는 것이다.
이러한 inductive bias를 고려한 CNN의 구조적 특징은 무엇일까?
1. Local connectivity & Parameter sharing
이미지에서 가까운 픽셀 값이 서로 높은 상관관계를 가진다는 inductive bias를 활용하고자, CNN의 filter를 통해 일정 receptive field의 상관관계를 모델링한다.
뿐만 아니라 각 local 영역에서 filter 간 parameter를 공유하여 feature를 추출하므로 translation invariance의 가정을 활용하였다.
2. Convolution layer & pooling layer
convolution layer는 local 한 feature를 추출하는 filter가 여러 depth로 구성되어 있기에 각각의 filter는 translation equivariance 한 가정을 잘 활용할 수 있게 한다.
반면 pooling layer는 일정 단위로 feature를 pooling 하므로 translation invariance 한 특성을 포착하게 한다.
(일정 영역에서 위치가 어디든 대표되는 값으로 대체되기 때문에 )
이러한 CNN의 특징으로 이미지 데이터에 대한 inductive bias를 효과적으로 활용하고 높은 효율성을 가질 수 있게 되었다.
마찬가지로 위의 table1 그림에서 알 수 있듯이 RNN, GNN도 고유한 inductive bias를 활용한다.
reference
[1] inductive bias 개념 정리, https://blog.kubwa.co.kr/inductive-bias-4af72375b2d1
[2] inductive bias in CNN, https://www.youtube.com/watch?v=2VCRoO_d5Go
'인공지능 > ML-DL 기초' 카테고리의 다른 글
Cross-Entropy란? (2) | 2024.10.02 |
---|---|
모델의 평가 방식: Evaluation Metric (0) | 2024.03.13 |
Regularization(모델의 규제, 정칙화)에 대한 이해 (3) | 2023.12.23 |
활성화 함수에 대한 이해 (3) | 2023.12.01 |
데이터 전처리 기법 : 결측치 / 중복 / 이상치 데이터 (3) | 2023.10.18 |