Machine Learning 의 기본 구조

Mirrored feed : http://hugman.re.kr/blog/ml_blocks/

이 글에서는 Machine Learning (ML) 의 기본 구조에 대해서 살펴보겠습니다.

ML 을 다루는 대부분의 책들이나 자료는, 보통 빡빡한 수식의 전개로부터 시작하기 때문에 많은 분들이 공부 시작단계에서 부터 좌절을 많이 하게 됩니다.

그러나 ML 도 결국 도구의 하나일 뿐이고, 결국은 사람이 만든 것이기 때문에 그 핵심 아이디어는 매우 단순하고, 누구나 이해하기 쉬운 개념인 경우가 많습니다.

이번 글에서는, ML 의 대표적인 문제이자, 일상생활에서 ML 을 사용할 때 가장 쉽게 접근해볼 수 있는 Supervised Learning 의 기본 구조에 대해서 살펴보도록 하겠습니다.

Supervised Learning 이라는 전문 용어에 집착하시기 보다는, "문제지 방식"의 학습을 기계가 똑같이 하도록 한다 정도로 생각하시면 편합니다.

우리가 보통 개념설명이나, 선생님 말씀을 듣고 나서, 개념을 더 확실하게 배우기 위해서 문제지를 통해 다음과 같은 방식의 학습을 진행하지요.

문제를 나름대로 풀어보고
정답지를 살펴서 틀렸는지 맞았는지 살펴 본 후
틀렸으면 왜 틀렸는지 검토 한 다음
다음에는 맞을 수 있게 개념정리를 다시 수행
기계학습에서도 정확이 위와 같은 문제지 기반 학습 방식을 취합니다.

지금까지 학습한걸 바탕으로 나름대로 풀어보고 => [ Inference 계산 ]
정답과 내가 내놓은 답이 얼마나 다른지 보고 => [ Cost function 계산 ]
틀렸으면 어느 부분이 틀렸는지 검토 한 다음 => [ factor anlaysis ]
다음에 맞을 수 있게 모델 조정 => [ Parameter updates ]

아무리 복잡한 Supervised Learning ML 기법도 위의 틀을 벗어나지 않습니다.

Inference 하는 테크닉, cost function 계산하는 테크닉, 이런 각 항목별로 세분화된 기술이 늘어나게 되서 복잡해 보일 뿐, 본질적으로는 사람이 문제지를 풀어보면서 학습해 나가는 과정과 똑같습니다. 앞으로 소개할 DNN 도 위의 구조를 그대로 따라갑니다.

끝으로, ML 에서 자주 사용되는 몇가지 용어를 정리해드립니다.

batch size : 몇개의 문제를 풀어보고, 내 지식(model) 을 조정할 것인가?
epoch : 문제지를 몇 번 반복해서 풀어볼 것인가?
learning rate : 내 지식을 조정할 때 얼마나 민감( 혹은 과격)하게 지식을 조정할 것인가?

Coin Marketplace

STEEM 0.18
TRX 0.15
JST 0.029
BTC 63057.34
ETH 2546.78
USDT 1.00
SBD 2.64