본문 바로가기
AI & CS 지식/인공지능 Q&A

[AI Q&A] Inductive Bias란 무엇일까?

by rahites 2024. 8. 13.

Inductive Bias, 처음 CNN을 공부할 때는 알지 못했지만 여러 기술 면접과 논문을 접하다보니 자연스럽게 알게된 용어이다. 처음 기술 면접에 들어갔을 때 "Inductive Bias를 아는가?"라는 질문에 답하지 못했던 당혹감을 잊지 않으며 이번 Q&A를 작성해보려 한다.


Inductive Bias가 무엇인지 알기 위해, 우선 단어를 하나하나 분석해보자.

 

Inductive, 우리말로 하면 귀납이다. 우리가 중고등학교에서 배웠던 것처럼 귀납이라는 단어의 뜻은 특정 관찰이나 경험으로부터 일반적인 결론을 이끌어내는 방식을 의미한다. 이를 딥러닝에 빗대어 보았을 때,  인간이 삶을 살아가면서 얻는 관찰이나 경험을 모델이 몇번의 학습으로부터 일반적인 규칙이나 패턴을 알아내는 것으로 이해할 수 있다.

👉 딥러닝이 학습을 통해 패턴인식을 하는 과정을 Inductive라고 표현한 것이구나!

 

그렇다면 여기서 드는 궁금증이 있다. 왜 다음을 Inference라는 단어 대신 Bias라는 단어를 사용하였을까?

 

머신러닝, 딥러닝을 공부하다보면 Bias는 쉽게 접할 수 있는 단어이다. 우리말로 하면 편향이며 단어가 주는 뉘앙스는 살짝 부정적이다.  하지만 여기서 Bias는 부정적인 의미가 아닌 특정 방향이나 관점으로 기울어진 경향을 의미한다. 그리고 이를 똑같이 딥러닝에 빗대어 본다면 모델이 특정 방식으로 추론하려는 경향으로 이해할 수 있다.

 

여기까지 들으면 "모델이 한쪽으로 치우쳐져 학습되면 성능이 안좋은 것이 아닌가요?"라는 질문을 할 수 있다.

 

하지만 AGI가 아닌 이상 현존하는 딥러닝 모델들은 아직 특정 Task에 한정되어 돌아가고 있고 해당 Task에서만 좋은 성능을 내면 되기에 이미지면 이미지, 텍스트면 텍스트를 잘 분석할 수 있는 방식으로 추론이 이루어지게끔 모델을 디자인하는 것이 장려되는 것이다.

 

결국 위에서 말한 Inductive와 Bias를 합친 Inductive Bias모델이 학습 데이터로부터 일반적인 패턴을 추론할 때(Inductive) 특정한 방식으로 추론하려는 경향(Bias)을 의미한다.

 

쉽게 생각하면 딥러닝 모델에 주입하는 일종의 가정이라고 생각할 수 있다.

 

예를 들어 CNN 모델의 경우 "이미지를 분석하는데에는 이미지 속 지역적인 특성을 분석하는 것이 중요해"라는 가정이 들어가있고, RNN 모델의 경우 "연속되는 Sequence 데이터에서 시간적인 의존성이 중요해"라는 가정을 가지고 있다. 이러한 가정은 모델을 디자인 하는데 있어 중요하게 고려되며 모델이 좋은 성능을 내는데에 중요한 역할을 한다.

 

실제로 Transformer가 등장한 이후 Vision Task에 적용된 초창기 ViT가 CNN 모델의 성능을 넘지 못한 이유를 Transformer는 단순 Patch를 연달아 모델에 넣어 이미지의 지역적인 특징을 잘 분석하지 못하기 때문(Inductive Bias가 부족!)이라고 분석한 연구도 존재한다.

실제로 NLP 모델로 처음 등장한 Transformer였기에 Vision Task에 대해서는 부족한 Inductive Bias를 보였다.

 

최근 떠오르고 있는 Diffusion 모델의 경우 일반적으로 노이즈를 추가하고 제거하는 방법을 반복하며 학습이 이루어지기 때문에 데이터 구조에 특별한 가정을 추가하지 않는다. 따라서 DDPM같은 모델은 낮은 Inductive bias를 가지고 있다고 볼 수 있는데, 추후 등장한 Stable Diffusion의 경우에는 U-Net 구조를 사용하여 Encoder-Decoder와 함께 이미지 특징 패턴을 파악할 수 있는 모델 설계를 하였기 때문에 상대적으로 더 강한 Inductive bias를 가질 수 있었다.

 

물론 이는 이론적인 이야기이다. 추후 모델이 발전하고 연구가 거듭될 수록 "Inductive Bias가 있어야 모델 성능이 좋아진다는 것은 말도 안된다"는 연구가 나올 수도 있다고 생각한다. 그럼에도 아직까지는 해결하려는 Task에 대해 우리가 상식적으로 생각하는 분석 방법에 맞게 모델을 설계하는 것이 좋은 성능으로 이어진다는 것이 정론이다. Inductive Bias... 눈으로 볼 수 없고 정량적으로 평가할 수 없는 부분이기에, 마땅한 연구 내용이 없다면 이 내용을 가지고 검증해보는 것은 어떨까?

 

 

Inductive Bias에 대해 한번쯤 읽어보면 좋은 글들

https://www.linkedin.com/pulse/inductive-bias-good-necessary-ai-david-rimshnick-2qmpe/

 

Inductive Bias: The good, and, necessary, bias for AI

When we think of the word "bias", we typically - for good reason - associate it with negative connotations. Both in general and in machine learning, one definition of bias refers to an unfair prejudice in judgement which is a failing we try to avoid (e.

www.linkedin.com

https://www.geeksforgeeks.org/what-is-inductive-bias-in-machine-learning/

 

What is Inductive Bias in Machine Learning? - GeeksforGeeks

A Computer Science portal for geeks. It contains well written, well thought and well explained computer science and programming articles, quizzes and practice/competitive programming/company interview Questions.

www.geeksforgeeks.org

작성한 글은 제가 공부해온 내용을 바탕으로 추론한 개인적인 생각이 들어가 있습니다. 잘못 된 점이 있다면 언제든 수정하여 알려주시면 감사하겠습니다.

댓글