본문 바로가기
Machine Learning

ML #1 : 머신러닝의 역사와 종류, 용어 정리하기! (AI, 딥러닝, 한계)

by 무적물리 2020. 4. 1.

머신러닝 역사

머신러닝이라는 용어는 1959년에 아서 사무엘 (Arthur Samuel)의 논문에서 최초로 아래와 같이 정의되었습니다. 이후에 머신러닝에 대한 수많은 연구가 진행되었고 발전에 발전을 거듭하다가 침체기에 빠지고 21세기에 와서야 빛을 발한 기술입니다.


머신러닝이란, 명시적으로 프로그램을 작성하지 않고 컴퓨터에 학습할 수 있는 능력을 부여하기 위한 연구 분야



머신러닝은 최근에 주목을 받게 되었습니다. 물론, 이전의 역사가 주목받기 시작한 역사보다 훨씬 깁니다. Neural Net이 처음 만들어졌고, XOR 논리를 해결하기 위해 다층 신경망이 개발되었고 딥러닝 모델이 만들어졌지만 컴퓨팅 파워와 테크닉의 부재로 딥러닝 모델을 학습 시키지 못해서 인공지능의 겨울이 찾아왔다가 Weight와 Bias의 초기 세팅하는 방법이 개발되면서 다시 인공지능의 침체기가 풀렸습니다. 자세한 역사는 다음 기회에 공유하겠습니다. 머신러닝의 최근 역사를 보면 아래와 같습니다.


2006년, 인공지능의 겨울이라 불리는 인공지능 연구의 침체기를 지나 2006년 토론토 대학의 제프리 교수가 딥 러닝의 정확도를 개선하는 논문을 발표하였습니다.

2012년, 개선된 기법을 사용하여 이미지 오류 인식 오류율을 10% 이상 줄이면서 다시 주목을 받게 되었습니다. 당시 다른 팀들은 소수점 이하의 오류율을 줄이기 위해 경쟁하고 있었습니다.



머신러닝 용어

최근 인공지능, 머신러닝, 딥러닝의 관심도가 증가하면서 이 세가지를 구분 없이 무분별하게 사용하고 있습니다. 정확하게 말하자면 인공지능 안에 머신러닝이 포함되며, 머신러닝 안에 딥러닝이 포함되는 것입니다. 딥러닝은 머신러닝의 한 종류라는 말입니다.



인공지능이란, 인간의 학습능력과 추론능력, 지각능력, 자연언어의 이해능력 등을 컴퓨터 프로그램으로 실현한 기술입니다.

머신러닝이란, 경험적 데이터를 기반으로 학습하고 예측하고 스스로 성능을 향상시키는 시스템과 이를 위한 알고리즘을 고안하고 구축하는 연구 분야입니다.

딥러닝이란, 머신러닝의 한 분야로 데이터를 컴퓨터가 처리 가능한 형태인 벡터나 그래프 등으로 표현하고 이를 학습하는 모델을 구축하는 연구입니다.


머신러닝 이란

머신러닝은 데이터를 통해서 모델을 만들어 내는 방법입니다. 사람이 데이터를 분석해서 모델을 만드는 것이 아니라 다양한 머신러닝 알고리즘을 통해 기계가 스스로 모델을 찾도록 하는 것입니다. 마치 사람에게 학습을 시키면서 나름대로의 논리를 만들어내고 학습을 하는 것도 비슷한 이치입니다. 

머신러닝의 실제 예제는 스팸 메일을 구분해 내는 모델, 사진에서 강아지를 구분해 내는 모델, 알파고와 같이 바둑에서 이기는 방법을 구분해 내는 모델이 있습니다. 스팸 메일을 구분해 내기 위해서는 스팸 메일이라는 데이터가 필요하며, 바둑을 이기기 위해서는 바둑 기보가 필요합니다. 따라서, 머신러닝에서는 데이터가 매우 중요합니다.



머신러닝 한계

하지만, 머신러닝은 만능이 아닙니다. 논리적으로 설명이 가능한 것은 머신러닝을 사용하지 않고 사람이 직접 모델을 만드는 것이 더 정확합니다. 예를 들면 물리 법칙을 계산하는 프로그램을 들 수 있습니다. 반대로, 논리적으로 설명하기 어려운 분야에 머신러닝을 적용하면 사람이 직접 모델을 만드는 것보다 좋은 결과를 얻을 수 있습니다. 예를 들면, 영상 처리나 음성 인식 등이 있습니다.


- 인간이 유리 : 물리 법칙과 같은 이론 배경 모델

- 머신러닝이 유리 : 논리적으로 설명하기 어려운 분야


머신러닝 종류

머신러닝의 종류에는 크게 세가지가 있습니다. 학습하는 방법에 따라 구분을 하고 있는데, 지도학습, 자율학습, 강화학습 입니다. 자율학습은 비지도학습이라고 말하기도 합니다.


- 지도학습 : 데이터, 결과값 포함

- 자율학습 : 데이터, 결과값 미포함

- 강화학습 : 입력, 출력, 출력에 대한 점수 포함


지도학습이란, 데이터에서 하나의 함수를 유추해 내기 위한 방법입니다. 문제의 종류에 따라 회귀나 분류로 나누어지며, 입력 데이터에 결과 값이 포함되어 있습니다. 사진에서 강아지와 고양이 사진을 입력하고 학습을 시켜 사진에서 고양이와 강아지를 구분해 내는 모델을 만들 수 있습니다.


자율학습은 비지도학습이라고도 불리는 학습 방법입니다. 데이터가 어떻게 구성되어 있는지 알아내는 방법으로 입력 데이터에 결과 값이 포함되어 있지 않습니다. 따라서, 자율학습의 대표적 기술은 군집화라고 불리는 Clustering이 있습니다. 적용 사례로 사진 분류와 고객 분류를 들 수 있습니다. 


강화학습이란, 어떤 환경에서 보상을 최대로 하는 행동을 선택하는 방법입니다. 입력에 대한 출력과 점수를 통해 학습하게 되는데, 게임에서 주로 사용되는 학습 방법입니다. 게임을 하면서 기계가 하는 행동에 대해 보상을 함으로써 잘 했을 때 보상을 줌으로써 컴퓨터가 최대의 보상을 받도록 학습된 행동을 합니다.


댓글