Machine Learning 의 기본 구조

in artificial-intelligence •  7 years ago 

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 : 내 지식을 조정할 때 얼마나 민감( 혹은 과격)하게 지식을 조정할 것인가?

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

Hi! I am a robot. I just upvoted you! I found similar content that readers might be interested in:
http://www.hugman.re.kr/blog/ml_blocks/