What is inductive bias?

2022.01.21 13:39 10,241 조회

💬Introduction

논문 리뷰를 하고자 논문을 읽다가 정확히 무슨 개념인지 몰라서 찾아본 Inductive Bias입니다. 정확한 개념이 명시되어 있는 것 같지 않고 제 스스로 정리를 해보고 싶은 개념이라 정리해보았습니다. 다른 생각을 가지고 계시거나 잘못된 부분이 있다면 피드백주시면 감사하겠습니다.

본 포스팅은 데이콘 서포터즈 "데이크루" 1기 활동의 일환입니다.  

 

📋요약

Inductive Bias란 학습 시에는 만나보지 않았던 상황에 대하여 정확한 예측을 하기 위해 사용하는 추가적인 가정을 의미합니다.

데이터의 특성에 맞게 적절한 Inductive Bias를 가지는 모델을 사용해야 높은 성능을 기록할 수 있고 CNN의 경우 Locality(근접 픽셀끼리 종속성), Transitional Invariance(사물 위치가 바뀌어도 동일 사물 인식)등의 특성을 가지기 때문에 이미지 데이터에 적합한 모델이 되는 것입니다.

 

📚MAIN

Inductive Bias

일반적으로 모델이 갖는 문제는 두가지가 있는데 brittle, spurious한 것입니다. Brittle 하다는 것은 입력 데이터가 조금만 바뀌더라도 결과가 달라지는 것입니다. Spurious하다는 것은 겉으로만 그럴싸한, 데이터를 학습하는 것이 아닌 결과를 학습하는 것을 말합니다. (이해는 안 하고 답만 외우는 것 같은 느낌)

이런 문제를 해결하고자 Inductive Bias를 이용하게 된 것입니다. Wikipedia에서 내린 정의는 ‘학습 시에는 만나보지 않았던 상황에 대해 정확한 예측을 하기 위해 사용하는 추가적인 가정을 의미한다.‘ 입니다.

머신러닝에서는 target을 예측하기 위해 학습할 수 있는 알고리즘, 모델 구축을 목표로 하고 이를 위해 제한된 데이터가 주어지게 됩니다. 학습 데이터를 넘어 다른 데이터에 대해서도 일반화할 수 있는 능력을 가진 모델에는 Inductive Bias가 존재하고 이것이 모델을 일반화하기 위한 가정이라고 합니다. 말로는 이해가 안 가니 예시를 들어보겠습니다.

만약 입력 데이터에 대칭성이 존재하면 이를 이용하라는 것입니다. 대칭성과 관련된 가장 좋은 예시는 CNN이죠. 기본적인 CNN의 경우, 아래 그림과 같이 Translation Invariance한 특징을 가집니다. 이러한 invariance를 가지는 것은 우리가 특정 Inductive Bias에 집중하여 CNN 구조를 만들었기 때문인 것입니다.

출처 : https://ruder.io/emnlp-2018-highlights/

잘 학습된 모델이라면 위치는 각각 다르지만 같은 그림으로 인식해 결과를 출력할 것입니다.


Relational Inductive Biases on FCN & CNN

Inductive Bias는 크게 Relational Inductive Bias와 Non-relational Inductive Bias 두개로 나뉜다고 합니다. 이 때 Relational Inductive Bias는 말 그대로 Inductive Bias 중 관계(입력 값과 출력 값 관의 관계)에 초점을 맞춘 것을 의미합니다. 해당 글에서는 Relational Inductive Bias만을 소개합니다.