brunch

You can make anything
by writing

C.S.Lewis

by 최바람 Sep 05. 2024

귀납적 편향(Inductive Bias)

feat. 방송대 자연언어처리

방송대 통계학과 학생으로 두번째 학기가 곧 시작된다. 강의는 미리 들을 수 있어 8월에 다 들어버리고 말겠다는 다짐을 했었지만 여러 일들이 겹치면서 4과목 15강의씩 총60강이 있는데 4강만 들었다.


그러다 자연언어처리 수업을 듣는데 내가 이해가 가지않던 용어에 대해 너무 명확하게 해결해 주었다. 


제목에 썼듯 귀납적 편향(Inductive Bias)에 관한 내용이었다.


Inductive 자체가 와닿지 않았다. 귀납적이라니... 귀납법만 자꾸 머릿속을 맴돌았다.


회사에서 논문 발표를 하는 세미나를 들어도, 인터넷을 검색해 보아도 이해가 쉽지 않았다.


그러다 방송대 수업에서 자연언어처리 과목 첫번째 강의에서 다시 Inductive Bias를 만나게 되었다.


이토록 명확하게 이해가 줄이야. 내가 문제가 아니었다. 참으로 다행이다. 이해하지 못하는 내가 멍청한가 잠깐 생각했었다. 감사합니다, 교수님.


https://ucampus.knou.ac.kr/ekp/user/main/retrieveUIXMain.do

https://ucampus.knou.ac.kr/ekp/user/main/retrieveUIXMain.do

대개 방송대 강의의 경우 UKNOU 캠퍼스에서 구매해 들을 수 있다. 하지만 해당 강좌는 아직 제작중이라 구매가 불가능하다.





시작은 이러했다.


딥러닝, 머신러닝이 엄청난 인기를 끌고 있다. 그래서 어떤 문제에 대해서도 적용해 보려고 하고 만능키처럼 생각되어지는 경향이 있다.


하지만 머신러닝은 많은 사람들이 생각하듯 만능키가 아니다.


학습하고자 하는 데이터에 따라 잘동작하는 구조의 모델들이 있다. 대표적으로 이미지 분야에서는 CNN, 그리고 자연어 처리 분야에서는 Transformer를 예로 들 수 있다.


그래서 이러한 모델들을 여러 다른 분야에도 확장 적용해 보려는 시도는 계속되어 왔는데 유의미한 결과나 뛰어난 성능을 보여주는 경우를 찾기는 쉽지 않다.



Universal Theorem이라고 있다.


그다지 많지않은 층을 가진 MLP(Multi-Layer Perceptron)를 통해 모든 가능한 연속함수를 표현할 수 있다.


정도의 개념을 가진 Theorem이고 이를 논문으로 증명했다.



그럼 왜 모든 데이터를 MLP로 학습시키지 않는가?


MLP는 Fully-Connected로 층을 쌓았기 때문에 학습시켜야 할 파라미터가 많고 파라미터가 많을수록 학습에 필요한 데이터의 양을 그에 비례해 늘어난다.


데이터가 부족하다면 학습은 충분치 않을 것이며, 파라미터 수에 비해 데이터가 너무 많다면 과적합이 될 것이다.


CNN이나 Transformer의 경우, 동일한 깊이와 너비를 가지는 MLP에 비해 파라미터 수가 적다는 이야기로 이해했다.



CNN이나 Transformer의 구조상 가지게 되는 편향이 있다. 이들의 구조는 어떠한 특징을 가지는 데이터의 특성, 패턴을 더 잘 학습하기 위해 만든 구조이다. 이러한 구조를 만들 때 우리가 학습할 데이터에는 어떠한 가정들이 들어가게 된다. 


가령 선형회귀모델의 경우, 학습할 데이터와 결과 값이 선형일 것이라는 가정이다.


그래서 이러한 가정들이 반영된 모델의 구조 때문에 가정에 위배되는 특성을 가진 학습하고자 하는 데이터의 경우 학습은 오히려 더 어려워질 수 있다.


아무튼 우리가 주어진 데이터에 대해 가진 가정, 추측. 그리고 이를 잘 포착하기 위한 모델의 구조. 그리고 그 구조에 의해 근본적으로 내재된 경향, 특징을 Inductive Bias(=Learning Bias라고도 한다)라고 할 수 있다.



오 좋았다. 머릿속에 떠오르는대로 정리해 보았다.



그리고 또 너무 좋은 부분이 하나 더 있었다.


과연 주어진 데이터를 바탕으로 제대로 된 학습을 시킬 수 있음을 학습전에 미리 알 수 있는가? 라는 질문에 대한 설명이었다.



오! 생각지도 못했다. 당연히 생각해봤어야 하는 문제였는데. 월급루팡이 된 기분이다.



아무튼 위의 질문에 대한 답은 이러했다.


어떤 사람이 주어진 데이터를 보고 올바른 답을 이끌어 낼 수 있다면 머신러닝을 통해 잘 학습할 가능성이 있다고 볼 수 있다. 가령, 사진 속 고양이나 개를 구별하는 일은 누구나 쉽게 해 낼 수 있을 것이다. 그렇다면 그 다음 문제는 이러한 구별을 잘 해 낼 수 있는 모델의 구조를 고안하는 것이다.


학습을 잘 할 수 없을 것이라 예상되는 경우는 주가 예측이다. 주가 예측의 경우는 어떤 전문가에게도 쉽지 않다. 장기예측이 아닌 단기예측의 경우 더욱 그러하다. 이러한 경우, 학습에 주어진 데이터에 올바른 예측을 하기에 충분한 정보가 담겨있지 않다라고 볼 수 있다.


그렇기 때문에 시스템 트레이딩이나 퀀트 투자를 하는 시스템을 만드는 분들은 과거의 주가 지수 정보 뿐만 아니라 그외에 다른 다양한 형태의 데이터(SNS, 유명저널, 큰손의 동향 등등)를 통해 충분한 정보를 확보하고자 하는 것이다.




끝으로 이 글을 쓰며 듣고 있는데 이미 들었던 적 있었던 문장이지만 다시 와닿은 문장을 남기면서 첫번째 공부 글을 마무리 해 보고자 한다.

https://www.youtube.com/@%EB%8F%99%EA%B8%B0%EB%B6%80%EC%97%AC%ED%95%99%EA%B3%BC


"후회하기 싫으면 그렇게 살지말고, 그렇게 살거면 후회하지 마라."


끝.

매거진의 이전글 안녕하세요, 나는 공부하는 사람입니다.
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari