본문 바로가기

Deep Learning

AI 개요 - Machine Learning

첫번째 글로 기본 개념부터 잡고 가려고 한다. 딥러닝으로 넘어가기 전, 딥러닝을 포괄하는 AI, 머신러닝을 먼저 설명해야할 듯 싶어서 우선 AI 개요와 머신러닝에 대한 설명을 먼저 간단히 하려고 한다. 머신러닝은 자체 카테고리를 통해 다시 정리할 예정이다.

 

AI는 인간의 사고방식을 모사하여 지능형 컴퓨터 시스템을 설계하는 방법이다(The A.I. Handbook, A.Barr, E. A. Feigenbaum, 1981). AI의 개념안에 머신러닝, 딥러닝이 있으며, 딥러닝은 그 중 가장 작은 개념으로 설명하는 사람이 많다. 

 

AI - ML - DL

설명은 너무 간단하지만, 사실 인간의 지능을 흉내내는 컴퓨터 시스템을 만드는 것은 상당히 어렵다. 강아지의 사진을 보고 강아지라는 것을 인식하는 것은 사람에게 너무 쉬운일이지만 컴퓨터에게 인식시키는 것은 어려운 일이다. 사실, 사람이 강아지를 보고 강아지라고 인식하는 과정을 설명해보라고 한다면 제대로 설명하는 사람도 얼마 없을 것이다. 

 

다리 네개, 털 ...?

기존의 프로그램이라면 강아지는 다리가 네개이고 멍멍소리를 내고... 이런 규칙을 지정해준 후 해당 규칙에 맞는다면 그 동물을 강아지라고 판단할 것이다. 

 

하지만 머신러닝은 기존의 프로그램과는 다르게 규칙을 지정해주고 강아지를 찾는게 아니다. 머신러닝은 강아지의 사진을 보여주고 강아지가 어떻게 생겼는지 알려주고 강아지의 규칙을 찾아내는 것이다. 이를 위해서는 수많은 강아지의 사진이 필요하고 이것을 data-driven, 데이터 기반 방법이라고 말한다. 

 

머신러닝은 크게 supervised/unsupervised/reinforcement 세가지로 나눈다. 

supervised learning은 input data와 target 정답이 있는 것으로 classfication(분류), regression(회귀)에 주로 사용된다.

unsupervised learnin은 input data만 있고 target 정답이 없는 것으로 labeling이 되어있지 않는 경우이다. 주로 label이 없는 데이터의 clustering(분류), compression(압축)에 사용된다. 

reinforcement learning은 trial and error 방식으로 자세한 내용은 나중에 따로 글을 쓰도록 할 예정이다.

 

Machin learning train-test (출처: http://adilmoujahid.com/posts/2016/06/introduction-deep-learning-python-caffe/)

 

머신러닝은 기본적으로 training과 test 과정으로 나누어지며, input data를 모델에 넣어 정답과 비교하며 loss를 낮추는 방식으로 학습을 진행한다. 이후 test 과정에서 학습하지 않은 데이터를 학습된 모델에 넣고 정답을 판별하는 과정을 거치게 된다. 

 

이런 방식으로 머신러닝은 classfication(분류), regression(회귀), clustering(군집화), anomaly detection(이상 탐지) 등의 문제를 해결한다. 

 

오늘은 머신러닝에 대해서 간단히 설명하였고, 다음 글에는 머신러닝과 딥러닝의 차이점과 함께 딥러닝에 대한 설명을 적어봐야겠다.

'Deep Learning' 카테고리의 다른 글

AI - Deep Learning (2)  (0) 2022.03.31
AI 개요 - Deep Learning (1)  (0) 2022.03.24