1. 특징(Feature)


 아래 그림을 보자. 뽀족한 귀와 귀여운 조동이와 날개와 다리를 보고 개새 라는 것을 우리는 알 수 있다. 지난 포스트에서 말한 특징(Feature)이라는 것이 바로 이런 것이다. 특징은 그 동안 우리가 경험적으로 학습한 대상들의 부분적인 조각들이며 우리는 특징들을 조합함으로써 대상을 분별한다. 만약 다리와 날개의 특징만 가지고 위의 사진을 보았다면 개새라고 판별할 수 없을 것이다. 즉, 대상의 정확한 판단을 위해서는 적절한 특징을 정의해야 한다. 


개새


 선형회귀(Linear Regression)를 예를 들어 봅시다. 선형회귀를 간단하게 표현하자면 우리나라의 유서깊은 얼중의 하나인 붕당정책과 비슷하다. 선 하나를 가지고 2가지 클래스를 나누는 것이다. 어느 선을 기준으로 이쪽은 아군 저쪽은 적군 인것이다. 

 남고생 10명과 여고생 10명을 구분하기 위한 특징으로 체중과 키를 사용한다면 어느정도 일반화할 수 있을 것이다. 허나 아직 2차성징이 오지 않은 초등학교 저학년들을 대상으로 한다면 아래 그림과 같이 제대로 구분하지 못할것이다. 노란선을 기준으로 아래에 위치한 데이터는 여자(뻘겅색), 위에 위치한 데이터는 남자(퍼렁색)로 구분한다. 기존의 20명으로만 학습된 모델(노랑 선)을 가지고 성별을 모르는 전학생(초록색)의 성별을 판별할 수 있을까? 정답은 여러분의 마음속에



 데이터를 다루는 분야에 자주 언급되는 차원의 저주(Curse of Dimensionality)라는 용어가 있다. 위의 그래프를 예시로 들면 두가지의 특징이 사용되었고 각 특징은 하나의 차원(그래프의 축)을 이루며 직교하는 두 선분의 평면위의 점 하나가 하나의 데이터(학생한명)라고 할 수 있다. 즉, 특징의 개수가 차원의 크기라 할 수 있다. 데이터를 표현하는 차원(Feature)이 많으면 많을수록 대상을 더욱 정밀하게 표현할 수 있고 분류하기가 수월해진다. 하지만 무작정 차원이 크다고 다 좋은것만은 아니다. 차원이 크면 클수록 데이터를 학습하는 것이 복잡해지고 보다 많은 데이터가 필요하다. (차원이 증가될 수록 $2^n$배의 학습데이터가 필요함)

 초딩 20명을 키(x축)와 몸무게(y축)로만 구분하면 선 하나로 구분이 힘들었었다. "여자아이들이 남자아이들보다 머리카락이 길다." 라는 가정 하에 위의 분포에 머리카락 길이(z축)의 Feature만 추가해준다면 더욱 좋은 구분이 가능해질것이다. 3차원에서는 선 방정식 -> 평면방정식 이된다. 3차원 이상의 $n$차원에서는 초평면(Hyperplane)이라 한다.



2. 학습(Learning)은 어떻게 이루어질까요?


1. 지도학습(Supervised Learning)


 지도학습은 학습할 때, 사람이 학습 데이터의 정답(Label)을 알려주고 학습 모델이 학습 데이터가 정답(Label)에 가까워지도록 조정해가며 학습을 진행한다. Supervisor는 사전적으로 감독자 라는 의미로 감독자가 문제의 정답(Label)을 알려주면서 학습을 진행한다는 것이다. 감독자의 역할을 하기 위해 사람이 데이터 하나하나 정답(Label)을 달아줘야 하므로 여간 귀찮은 작업이 아닐 수 없다. 하물며 오버피팅이라는 문제를 피하기 위해 학습 데이터의 양이 어마어마하다. 지도학습은 어떤 데이터가 어떤 Label을 가지는지 분류(Classification)하는 것이 특징이다. 


Slide by Wikipedia


2. 비지도학습(Unsupervised Learning)


 지도학습과는 반대로 감독자가 없는 정답(Label)이 필요 없는 학습법이다. "선생은 필요없어 나 혼자 한다" 이런 느낌 예를들어 지네, 돈벌레, 파리 사진을 비지도학습 시킨다고 해보자. 어떤 사진에 무슨 벌레인지 정답(Label)을 알려주지 않았기 때문에 이 사진이 어떤 벌레인지 컴퓨터가 정의 할 수 없다. 하지만 비슷한 단위로 벌레들을 묶어 군집화(Clustering) 할 수 있다. 다리가 많은 돈벌레와 지네를 한 분류로 묶고, 날개의 유무로 파리를 또 다른 분류로 나누어 놓을 것이다. 




3. 강화학습(Reinforcement Learning)


 주로 게임이나 로봇제어같은 최적의 동작을 찾는데 쓰는 학습 방식이다. 상과 벌이라는 보상(reward)을 주며 상을 최대화하고 벌을 최소화 하도록 하는 학습하는 방식이다. 마치 우리가 어릴적 잘못을 하면 벌을 받고 잘 하면 칭찬받는 것 처럼 많은 시행착오를 경험하고 그에 따른 대처법을 학습하는 것이 강화학습이다. 우리는 지금까지의 행동들에 대해 옳고 그름을 판단 받으며 특정 행동에 대한 옳고 그름을 스스로 결정 할 수 있게 되었다. 이러한 시행착오를 겪으며 경험이 쌓이고, 확실하게 경험했던 것에 대해서는 옳고 그른지 판단 할 수 있으며 실수도 잘 하지 않는다. 하지만 여전히 경험해보지 못한 부분에 대해서는 대처능력이 현저히 떨어지게 된다. 이전 포스트의 알파고 제로가 이에 해당한다.


Slide by DeepMind Technologies Limited



영상강의: https://www.youtube.com/watch?v=TfSLdjDjZCQ&feature=youtu.be

+ Recent posts