https://re-code-cord.tistory.com/entry/Inductive-Bias%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%BC%EA%B9%8C
머신러닝에서 Bias는 무슨 의미일까?
Inductive Bias라는 용어에서, Bias라는 용어는 무엇을 의미할까?
딥러닝을 공부하다 보면, Bias과 Variance를 한 번쯤은 들어봤을 것이다. Bias는 타겟과 예측값이 얼마나 멀리 떨어져 있는가, 그리고 Variance는 예측값들이 얼마나 퍼져있는가를 의미한다. 따라서 Bias가 높은 경우 데이터로부터 타겟과의 연관성을 잘 찾아내지 못하는 과소적합(Underfitting) 문제가 발생하고, Variance가 높은 경우에는 데이터의 사소한 노이즈나 랜덤한 부분까지 민감하게 고려하는 과적합(Overfitting) 문제가 발생한다.
여기서, Bias를 학습 알고리즘의 잘못된 가정에 의하여 발생하는 오차라고도 하는데, 잘못된 가정에 의하여 데이터에서 중요한 부분을 놓치고 있다는 의미로 볼 수 있다. 우리가 사용하는 ML/DL은 아직 특정 상황에 맞춰 개발된 경우가 대부분이다. 그렇다면 그 특정 상황에 잘 맞는 일반적인 가정이 있다면 성능을 높일 수 있지 않을까? 이러한 목적을 위한 개념이 바로 Inductive Bias라고 생각한다.
Inductive Bias란?
일반적으로 모델이 갖는 일반화의 오류(Generalization Problem)는 불안정하다는 것(Brittle)과 겉으로만 그럴싸 해 보이는 것(Spurious)이 있다. 모델이 주어진 데이터에 대해서 잘 일반화한 것인지, 혹은 주어진 데이터에만 잘 맞게 된 것인지 모르기 때문에 발생하는 문제이다. 이러한 문제를 해결하기 위한 것이 바로 Inductive Bias이다. Inductive Bias란, 주어지지 않은 입력의 출력을 예측하는 것이다. 즉, 일반화의 성능을 높이기 위해서 만약의 상황에 대한 추가적인 가정(Additional Assumptions)이라고 보면 된다.
Models are Brittle : 아무리 같은 의미의 데이터라도 조금만 바뀌면 모델이 망가진다.
Models are Spurious : 데이터의 진정한 의미를 파악하지 못하고 결과(Artifacts)와 편향(Bias)을 암기한다.
모델이 학습하는 과정에서 학습 데이터이외의 데이터들까지도 정확한 출력에 가까워지도록 추측하기 위해서는 추가적인 가정이 필수적이다. 그래서 성공적으로 학습하여 일반화가 잘 된 모델은 어떠한 Inductive Bias의 유형을 갖게 되는데, 이것들이 바로 일반화하기 위해 만들어진 가정이라고 볼 수 있다.
다시 말해서, Inductive Bias는 보지 못한 데이터에 대해서도 귀납적 추론이 가능하도록 하는 알고리즘이 가지고 있는 가정의 집합이라고 할 수 있다.
출처: https://re-code-cord.tistory.com/entry/Inductive-Bias란-무엇일까 [re-code-cord:티스토리]
'Artificial Intelligence' 카테고리의 다른 글
GAN(Generative adversarial network) 이란? (0) | 2023.01.07 |
---|---|
Top 10 Performance Tuning Practices for Pytorch (0) | 2022.09.21 |
ImageNet Dataset 압축해제 및 처리 방법 (0) | 2022.08.10 |
ZeRO-2 & DeepSpeed: Shattering barriers of deep learning speed & scale (0) | 2022.07.29 |
NVIDIA DGX-2 개요 (0) | 2022.07.27 |