본문 바로가기
AI · 인공지능/알기쉬운 AI

[알기쉬운 AI - 09] 지도 학습과 비지도 학습이란?

by 두우우부 2019. 12. 7.
반응형

독자 여러분 중에는 지혜로운 선생님께 배우고 싶은 분들도 있고, 독학이 좋은 분들도 계실 겁니다. 머신러닝에도 교사가 있는 경우와 그렇지 않은 경우가 있습니다. 각각 지도 학습과 비지도 학습이라고 하며, 여기서는 이 두 방법론에 대해 이해하고 그 예를 살펴보겠습니다.

 

1. 지도 학습

그런데, 머신러닝에서 "교사"는 누구입니까?

 

인간의 경우는 어떨까요? 아이들은 처음 새를 보았을 때, 부모에게 "이것은 새라는 거야"라고 배우고 그것을 반복하다 보면 새를 "새"로 인식할 수 있습니다. 이때 부모가 교사로서 새라는 "라벨"을 줍니다.

 

기계 학습의 경우도 마찬가지입니다. 예를 들어 이미지 데이터가 수중에 많이 모여 있다고 합시다. 기계는 이것을 읽어 볼 수 있지만 거기에 무엇이 담겨 있는지 알 수 없습니다.

 

그래서 이미지 데이터와 함께 "새", "고양이"등의 "라벨"을 동시에 추가할 수 있습니다. 이렇게 하면 데이터를 축적시켜 학습시킴으로써 결과적으로 이미지 데이터를 로드하는 것만으로 라벨을 판별할 수 있습니다. 이러한 올바른 라벨을 미리 알려주는 알고리즘을 ‘지도 학습(감독 학습)’이라고 합니다.

 

'회귀'문제는 기본적인 지도 학습의 예입니다. 그림을 살펴봅시다. 가로축은 연면적, 세로축이 임대료, 빨간 선이 기계 학습에서 얻은 회귀 직선입니다. 여기서 임대료 외에 "이 면적의 건물 임대료는 얼마다"라는 정보가 동시에 주어지게 됩니다. 이 미리 알고 있는 임대료의 데이터가 라벨에 해당합니다. 이에 따라 임대료를 알 수 없는 건물 면적 정보에서 임대료를 예상할 수 있게 되는 것입니다.

 

즉, 이와 같이 정답을 준 라벨 데이터를 이용하여 학습시키는 알고리즘을 일반적으로 지도 학습(지도 학습)이라고 합니다. 하지만 세상의 많은 데이터들은 이 라벨을 동시에 손에 넣을 수 없는 경우가 대다수입니다. 그럴 때는 어떻게 해야 할까요?

 

 

2. 비지도 학습

지도 학습에서는 라벨이 미리 붙어있는 데이터를 이용하여 학습시키는 알고리즘이라고 설명했습니다.

 

그러나 라벨 데이터의 수집은 많은 비용과 인력을 필요로 합니다. 반면에 라벨 없는 데이터는 쉽게 구할 수 있는 경우가 많습니다.

 

예를 들어, 얼굴 인식에 사용되는 얼굴 이미지 데이터의 경우, 얼굴 이미지만 원한다면 얼마든지 쉽게 모을 것 같습니다만, 여기에 "성별", "나이", "직업"등의 정보도 함께 모으고자 한다면 대단한 노력이 필요합니다. 또는 web 페이지 분류를 할 때 web 페이지 자체는 대량 입수가 가능하지만 거기에 "예능"또는 "스포츠"등 특정 정보가 적혀있는 라벨을 붙이자면 추가로 인력이 필요한 경우가 대부분입니다.

 

이런 상황에서도 머신러닝은 학습하는 것이 가능하며 그것을 '비지도 학습'이라고 합니다. 이는 라벨 데이터가 없기 때문에 올바른 라벨을 예측할 수 없지만, 동일한 특성을 가진 데이터를 구별해내는 것은 가능합니다.

 

지도 학습에서 말했던 이미지 인식의 예를 생각해 보면 라벨이 없는 이미지 데이터의 경우 "새"와 "고양이"라고 확인되지는 않지만 새라고 생각되는 이미지를 모은 ‘그룹 1’과 고양이라고 생각되는 이미지를 모은 ‘그룹 2’로 분류할 수 있습니다.

 

인간이 정답을 알고 있는 경우 분류된 각 그룹의 데이터 특징에서 "이것은 고양이이다."라는 식으로 나중에 그룹에 이름을 붙입니다. 이와 같이, "같은 그룹에 속하는 데이터는 라벨이 같다"라는 가정하에서 데이터를 분류하는 알고리즘을 일반적으로 '클러스터링'이라고 합니다.

 

이 비지도 학습에 의한 클러스터링의 활용 범위는 넓고, 예를 들면 인터넷상의 데이터에서 인물 간의 사회 구조를 예측하는 소셜 네트워크 분류 및 시장 세분화, 혹은 대규모 인력을 구성하고 최적화하는 등에도 이미 응용되고 있습니다. 또한, 인간이 주변 소음 속에서도 특정 인물의 대화를 알아들을 수 있는 현상을 '칵테일파티 효과'라고 합니다만, 이 현상의 기계적 재현에도 응용될 수 있을 것으로 기대하고 있습니다.

 

다음 그림은 비지도 학습을 이용하여 트위터 정보에서 인물 관계를 찾을 수 있는 "멘션 맵(Mentionmapp)" 서비스 이미지입니다.

  3. 기타 학습법

여기까지 지도 학습과 비지도 학습의 2종류를 살펴보고 있지만 이 둘로 분류되지 않는 알고리즘도 당연히 존재합니다. 개발 · 연구에 종사하는 엔지니어가 아니더라도 최소한 2개의 학습은 알아둡시다.

 

반지도 학습

'반지도 학습'은 사용하는 데이터 중 일부만 '라벨'이 붙어 있는 경우에 사용하며, 이른바 '지도 학습'과 '비지도 학습'의 장점을 취한 알고리즘입니다.

 

강화 학습

'강화 학습'이라는 알고리즘은 올바른 라벨을 주지 않는 대신 각 데이터에 대한 "보상"을 제공합니다. 바둑으로 유명한 Google 딥마인드의 AlphaGo가 사용하는 것이 이 강화 학습입니다. 강화 학습은 시행착오를 해 가면서 환경에 적응하는 학습 알고리즘입니다.

 

인간은 목표를 이루기 위해 시행착오를 거치면서 "눈앞에 장애물이 있으면 뛰어넘는 것이 좋다", "새가 낮게 날면 비가 온다"등의 예처럼 자연스럽게 학습을 하게 됩니다. 이런 메커니즘을 기계(컴퓨터)에서 재현하는 것이 강화 학습입니다.

 

정답이 없이 목적에 얼마나 부응했는가에 따라 "보상"을 제공함으로써 행동의 좋고 나쁨을 판단하며 그 보상이 최대가 되는 선택을 취하도록 합니다. 즉, 강화 학습은 "궁극적인 목표는 있지만, 그에 이르는 과정은 정답이 없습니다.(알지 못합니다) 다만 중간 과정을 최적화할 뿐입니다."

 

강화 학습은 원래 포커, 장기, 마작 등 게임 전략에 많이 사용되었지만, 최근에는 로보 텍스 및 자동운전 등 현실 공간에서의 사용도 눈부신 발전을 이뤄내고 있습니다.

 

정리

이번엔 "머신러닝"의 학습방법 분류를 4개 정도 소개했습니다만, 어떻습니까?

 

"지도 학습", "비지도 학습", "반지도 학습", "강화 학습" 이렇게 4개를 우선 알아두시면 OK입니다! 수식의 이해보다 비즈니스 활용을 목표로 하는 분들은 "데이터의 종류 나 목적에 따라 어떤 알고리즘(작동 원리 · 구조)의 차이가 있는지"를 먼저 떠올릴 수 있도록 해둡시다!

보충

복잡하지만, '딥러닝'은 메커니즘이 만들어지는 방법 전체를 의미하며, 이번에 소개한 학습 알고리즘과는 다소 구별됩니다. 활용할 데이터의 종류에 맞게 학습방법을 결정하고 딥러닝의 메커니즘을 활용한다면 매우 효율적인 계산이 가능한 경우가 많습니다.
반응형