[2악장-Minuet]
지도 학습에서는 라벨링이 된 데이터를 학습함으로써 실제 이와 비슷한 결과를 만들어내는 모델을 만드는 것을 목표로 한다. 훈련용 데이터에는 여러 가지의 특성으로 이루어진 입력값과 그 결과들이 짝 지워져 있다. 예를 들어 온라인 머신러닝 경연 사이트인 캐글(Kaggle.com)에서 가장 먼저 만나는 타이타닉 생존자 예측 문제의 training Data를 살펴보면 각종 정보와 함께 Survived라고 하는 결과가 아래 그림처럼 제시가 되어있다. 이처럼 실제 결과가 하나씩 붙어있는 자료를 바탕으로 학습을 하는 방식을 지도 학습이라고 한다.
이러한 지도 학습의 라벨링은 사람에 의해서 입력이 되기도 하고 때로는 기계에 의해 자동화되어 라벨링이 되기도 한다. 사람에 의한 라벨링은 안정적이고 오류율도 낮지만 시간이 많이 걸리고 비싼 단점이 있다. (자동화된 방법은 그 반대의 장단점이 있다.)
때로는 구글과 같은 회사의 경우 사람의 손을 거쳐 매우 영리하게 라벨링을 하기도 한다. 오랜만에 접속한 카페나 계정을 활성화할 때, 혹은 비밀번호 입력을 여러 번 틀리거나 계정을 만들 때 아래 그림과 같이 특정한 고문서 같은 글자들을 띄워주고 글자를 입력하라고 하는 경험을 한 적이 있다. 이는 실제로 카네기멜론 대학교 연구팀이 고문서를 디지털화하는 과정에서 생각해낸 아이디어이다. 고문서를 OCR(문자 인식 프로그램)으로 인식할 경우 색의 바래거나 및 희미해진 글자로 인해 약 30% 정도의 내용이 스캔이 되지 않는다. 이를 위와 같은 리캡차 입력으로 인해 사람으로 입력을 받을 경우 훨씬 정확하게 입력을 받을 수 있다. 이러한 데이터가 많이 쌓일수록 OCR을 활용한 머신러닝의 정교함은 더욱 올라가게 된다.
이러한 지도 학습의 경우 어떠한 것을 예측하느냐 따라 회귀, 분류, 랭킹으로 구분할 수 있다. 추세에 따라 값을 예측하는 데 사용되는 회귀, 어떠한 항목으로 예측하는지를 활용하는 분류, 그리고 순서들을 배열하는데 활용하는 랭킹/추천 알고리즘이 지도 학습의 대표적인 예시이다.
비지도 학습은 1990년대에 개발이 되었는데, 라벨링이 되어있지 않은 수많은 데이터에서 유용한 패턴을 찾거나 유사도에 따라 군집화를 하는 경우에 활용된다. 이는 데이터 하나하나의 값들을 예측하거나 분류하는 지도 학습과는 달리 전체적인 데이터의 성질이나 특성들을 살펴보는데 목적이 있다고 할 수 있다.
이 비지도 학습을 주어진 데이터를 알려지지 않은 일정 특성들로 나누는데 잘 활용한다. 이러한 경우 탐색적 요인 분석(Exploratory Factor Analysis)이라는 방법을 통해서 요인의 구조가 어떠한 것인지 알아보는 방법이 있다. 이러한 요인 분석은 유사 변수를 묶어주는 활동을 할 수 있는 반면, 비지도 학습은 데이터 자체를 묶어준다. 이를 통해서 내재된 변수와의 관계를 확인해볼 수 있다.
예를 들어 카드사가 고객들의 소비패턴에 따라 몇 가지 군집으로 분류를 하려고 한다고 가정을 해보자. 이러한 경우 지도 학습과는 달리 각 소비자가 어떠한 기준으로 나누어져있지 않으며, 눈에 보이지 않는 특성을 발견하여 마케팅이 활용을 하려는 것이 목적이다. 이러한 경우 군집화 알고리즘은 몇 가지의 특성을 통해 비슷한 유사성을 발견하고, 이를 기준으로 군집을 형성해나간다.
이러한 비지도 학습은 구글 포토나 애플 포토와 같은 이미지 처리 앱에도 많이 활용된다. 구글 포토에서는 인물별로 앨범을 만들어주는데, 여기에 이러한 군집화 알고리즘을 사용한다. 실제로 구글이 얼굴을 하나하나 알아보는 것이 아니라, 비슷한 얼굴을 가진 사진을 모을 뿐이다. 그래서 사진에 누군가를 선택해서 그 사람이 나온 사진들을 모아주는 기능들을 구현할 수 있게 된다.
또한 수많은 점들이 있을 때 어떻게 그 점들의 모양의 중심(centroid)을 자동적으로 찾을 수 있을까? 원이라면 중심을 찾기 쉽겠지만 우리 현실에서는 어떠한 분포가 원의 형태로 잘 이루어져있지 않다. 대략 몇 개 정도로 군집화를 하고 그 중심을 찾아보라고 한다면 임의로 3개의 점을 찍은 다음 가까운 점들로부터 거리를 측정한다. 그렇게 조금씩 조금씩 자리를 보정해가면서 거리측정을 계속한다. 이러한 군집의 중심 찾기는 상권 분석이나 위치를 정하는 경우에 많이 활용할 수 있다.
비지도 학습의 대표적인 알고리즘으로는 비슷한 데이터끼리 묶어주는 군집화(Clusturing), 데이터의 분포를 예측하는 밀도 추정, 그리고 특정한 특성을 조합하여 하나의 고차원적인 특성으로 차원을 축소하는 차원 축소 등이 있다.
강화 학습은 어떠한 특정한 목적을 이루기 위해 기계가 행동을 하고, 그 행동에 따른 보상 및 처벌(+면 보상, -면 처벌)이 주어져서 보상을 최대화하도록 하는 학습 방법이다. 이 때문에 자율주행 자동차나 비디오 게임처럼 데이터보다는 실제 생활환경과 연관이 되어있을 때 주로 사용하며, 이 때문에 현실 앞선 2개의 학습보다 진짜 현실 세계의 인공지능처럼 보인다.
이러한 강화 학습은 알파고로 인해 크게 유명해졌다. 알파고가 처음 개발이 되었을 때는 다양한 기보를 제공하여 학습을 할 때는 지도 학습을 했다고 할 수 있다. 그러나 다음 수만 생각하는 것이 아니라 게임을 이기는 쪽으로 보상을 주어서 ‘바둑에서 이기도록’ 만들었다는 점에서 강화 학습을 활용했다.
2014년에는 독일의 로봇 제조업체 쿠카가 제작한 로봇 아길러스(AGILUS)와 독일 탁구 챔피언 티모 볼의 탁구 경기가 열리기도 했다. 쿠카 로봇의 성능을 보여주기 위한 이벤트로 기록이 되었고 실제로 티모 볼이 아슬아슬하게 11-9로 승리했다. 단순히 받아넘기는 수준이 아니라 서비스, 스매싱, 커트, 드라이브 등의 기술을 구사할 수도 있고, 스스로 학습하는 능력도 가지고 있다. 이러한 인공지능은 ‘상대를 이길 수 있는’ 강화 조건을 위해 움직인다. 다양한 뉴스에서 로봇이 인간이나 동물처럼 움직이고, 인공지능 골키퍼가 메시의 페널티킥을 척척 막아내는 장면에서 활용된 모든 학습들이 지도 학습과 강화 학습이 적용된 사례이다.
만약 지도 학습을 할 수 없는 상황이라고 하더라도 현재 가진 정보를 활용해서 다음 행동을 정하거나 아니면 새로운 정보를 얻기 위해 가보지 않은 곳으로 가는 행동을 선택해나간다. 위와 같은 행동에 대해서 보상과 처벌을 통해 지속적인 학습을 하게 된다. 화성 탐사 로봇이나 자율주행 자동차, 탁구 로봇 등과 같이 로봇과 아주 찰떡궁합인 인공지능인 셈이다.
이와 같은 강화 학습은 자율주행차, 로봇 청소기, 게임기, 증권사에서 사용하는 자동 거래 시스템, 자원 관리 시스템 등에서 많이 활용된다.