Reinforcement Learning
알파고는 바둑의 기본 규칙과 3,000만 개의 기보를 학습한 후, 스스로 대국하며 훈련하는 강화학습 알고리즘을 사용하여 개발되었습니다. 이 강화학습은 머신러닝 분야 중에서도 인공지능을 가장 잘 대표하는 모델로 알려져 있습니다. 구글 딥마인드 팀은 알파고의 후속작으로 기존 알파고를 압도하는 업그레이드 버전 '알파고 제로'를 개발하였는데요. 실제로 알파고 제로는 알파고 마스터와 대결하여 100전 89승 11패라는 압도적인 성과를 거두었습니다.
알파고 제로가 기존 버전마저 넘어설 수 있었던 이유는 사람이 가진 선입견을 철저히 배제하고 오로지 보상을 최대화할 수 있는 연산결과에 의한 의사결정만을 우선으로 할 수 있었기 때문입니다.
추가로, 기존 알파고 버전은 사람의 기보와 정석으로 공부했다면 알파고 제로는 독학 과정에서 스스로 기존 정석을 깨닫고 독특한 정석까지 개발하는 업그레이드된 인공지능입니다. 여기에는 강화학습 알고리즘이 큰 역할을 했습니다.
지도 학습 (Supervised Learning)
지도 학습은 말 그대로 데이터에 대한 학습 데이터가 주어진 상태에서 컴퓨터를 학습시키는 방법입니다. 컴퓨터가 입력 값과 출력 값이 있는 데이터를 가지고 주어진 입력에 맞는 출력을 찾는 학습 방법으로 대표적으로 분류(Classification), 회귀(Regression) 문제 등이 있습니다.
일례로, 강아지와 고양이 사진을 구분하기 위해서 강아지인지 고양이인지의 여부가 이미 기록되어 있는 사진을 이용하여 지도 학습을 수행하고, 그 학습의 결과는 훈련 데이터에 포함되지 않은 사진을 구분하는 데에 적용하는 방식으로 예측하는 것입니다.
비지도 학습 (Unsupervised Learning)
비지도 학습은 데이터에 대한 학습 데이터가 없는 상태에서 오직 입력 데이터만 이용해서 컴퓨터를 학습시키는 방법입니다. 입력된 데이터를 비슷한 그룹으로 묶어 예측하는 모델을 학습합하난 형태로 이루어지며 비지도 학습은 예측이 목적이라기보다는, 데이터의 구성 또는 특징을 밝히는 목적으로 사용되는 그룹핑 알고리즘입니다.
아래 그림처럼 레이블이 없는 데이터를 가지고, 데이터를 잘 표현하는 특징들을 추출해냅니다. 이렇게 추출된 특징들이 고스란히 지도 학습의 성능을 향상하는 데에 이용됩니다. 비지도 학습은 뉴스 카테고리 분류, DNA 분류 등 많은 분야에 응용되고 있습니다.
강화학습 (Reinforcement Learning)
강화학습은 행동에 대한 보상을 받으면서 학습하여 어떤 환경 안에서 선택 가능한 행동들 중 보상을 최대화하는 행동 또는 행동 순서를 선택하는 방법입니다. 즉, 어떤 환경 안에서 정의된 주체(agent)가 현재의 상태(state)를 관찰하여 선택할 수 있는 행동(action)들 중에서 가장 최대의 보상(reward)을 가져다주는 행동이 무엇인지를 학습하는 것입니다. 강화 학습의 예로는 알파고, 각종 게임 등이 있습니다.
ent Lea
예를 들어, 알파고는 바둑을 두는 방법을 학습하기 위해 먼저 대량의 과거 바둑 기보를 통해 인간 바둑 기사들을 모방 학습합니다. 그다음에 독립적인 자기 자신을 상대로 수 없이 바둑을 두면서 시행착오를 거쳐 경기력을 개선해 나갑니다. 이 시행착오 과정이 강화학습인 것이죠.
이처럼 강화학습은 agent가 환경으로부터 보상을 받음으로써 학습하지만 이는 사람으로부터 학습을 받는 것이 아니라 변화되는 환경으로부터 보상을 받아 학습한다는 점에서 차이를 보입니다. 사람이 지식을 습득하는 방식 중 하나인 시행착오를 겪으며 학습하는 것과 매우 유사한 방식인데요. 즉, 강화학습은 ‘스스로 지혜를 터득하기' 의 컨셉으로 볼 수 있는 것이죠.
강화학습의 동작 순서? 관찰-행동-보상
강화학습은 일반적으로 다음과 같은 순서로 학습을 진행합니다.
1. 정의된 주체가 주어진 환경의 현재 상태를 관찰하여 이를 기반으로 행동을 취합니다.
2. 환경의 상태가 변화하면서 정의된 주체는 보상(reward)을 받게 됩니다.
3. 이 보상을 기반으로 정의된 주체는 더 많은 보상을 얻을 수 있는 방향으로 행동을 학습하게 됩니다.
이용(exploitation)과 탐험(exploration)의 균형
사람도 그렇듯, 컴퓨터가 상황에 가장 적합한 행동을 찾아나가기까지는 수많은 시행착오가 필요합니다. 경험을 통해 학습하는 강화학습에서 최단 시간에 주어진 환경의 모든 상태를 관찰하고, 이를 기반으로 보상을 최대화할 수 있는 행동을 수행하기 위해서는 이용(exploitation)과 탐험(exploration) 사이의 균형을 적절히 맞추어야 합니다.
여기서 이용이란 현재까지의 경험 중, 현 상태에서 가장 최대의 보상을 얻을 수 있는 행동을 수행하는 것을 말합니다. 이러한 다양한 경험을 쌓기 위해서는 새로운 시도가 필요한데 이러한 새로운 시도를 탐험이라고 합니다. 풍부한 경험이 있어야 더 좋은 선택을 할 수 있게 되지만 반대로 경험을 풍부하게 만들기 위해서는 새로운 시도를 해야 하고 이러한 탐험은 위험 부담을 가지게 됩니다. 왜냐하면 탐험을 위해서는 지금 당장 최선이라고 믿어지는 행동을 포기할 수 있어야 되기 때문입니다. 이처럼 이용과 탐험 사이의 적절한 균형을 갖추는 것이 강화학습의 핵심이 됩니다.
즉, 알파고는 이용과 탐험 과정을 반복하면서 시합 중 각 수마다 그 위치에서 가능한 모든 수에 가치 함수를 적용해 이길 가능성의 순위를 매기는 방식인 것이죠.
지도 학습에서는 어떤 도메인의 전문가로부터 적절하게 분류된(labeled) 학습 데이터를 제공받고, 그 학습 데이터를 통해 학습함으로써 새로운 입력에 대해서도 적절한 출력을 보일 것으로 기대하는 원리에서 출발합니다.
반면, 강화학습은 잘 분류된(labeled) 데이터가 아닌 환경과의 상호작용을 통해 얻은 보상(reward)으로부터 학습한다는 점에서 차이가 있습니다. 비지도 학습의 경우, 미분류(unlabled) 데이터의 숨겨진 구조를 찾는 것을 목표로 합니다. 즉, 일련의 규칙을 뽑아내는 것이 목표라면, 강화학습에서는 보상을 최대화하는 것이 목표입니다. 둘 간의 목표가 조금 다르죠.
그리고 위에서 말씀드린 이용과 탐험에 대한 개념 또한 강화학습을 지도학습/비지도학습과 구분 짓는 또 한 가지 차이점이 될 수 있습니다. 결과적으로, 강화학습은 학습 데이터를 통해 올바른 행동을 지시하기보다는 선택 가능한 행동들에 대한 가치를 평가하는 원리라고 보시면 되겠습니다.
또한 강화학습은 수많은 자가학습을 통해 이용과 탐험에 의한 새로운 룰까지 창조해낼 수 있습니다. 즉, 데이터셋 위주로 돌아가는 지도/비지도 학습과는 달리 강화학습의 에이전트는 학습에 필요한 데이터를 능동적으로 취득할 수 있다는 점에서 가장 큰 장점을 보입니다.
마르코프 결정 프로세스 (Markov Decision Process , MDP)
강화학습에서 보상을 최대화할 수 있는 방향으로 행동할 수 있도록 이용과 탐험 사이의 적절한 균형을 맞추는 데 사용되는 의사결정 프로세스는 마르코프 결정 프로세스(Markov Decision Process, MDP)인데요.
MDP에서 행위의 주체(agent)는 어떤 상태(state)를 만나면 행동(action)을 취하게 되며, 각 상태에 맞게 취할 수 있는 행동을 연결해 주는 함수를 정책(policy)이라고 합니다. MDP는 행동을 중심으로 가치 평가가 이루어지며, MDP의 가장 큰 목적은 가장 좋은 의사결정 정책(policy). 즉 행동에 따른 가치(value)의 합이 가장 큰 의사결정 정책을 찾아내는 것입니다.
강화학습의 발전
이처럼 강화학습은 알파고에 적용되어 큰 관심을 끌었지만, 아직까지 실제 비즈니스 현장에서 의미 있게 적용된 사례가 많지는 않습니다. 즉, 기술의 성숙도 측면에서 본다면 기계학습과 딥러닝에 비해 강화학습은 이제 막 시작하는 단계로 볼 수 있습니다. 하지만 알파고를 시작으로 금융이나 의료, 개인화된 서비스, 로보틱스 등도 많은 응용 분야에서 꾸준히 연구되고 있습니다.
강화학습의 원리와 알고리즘을 보면 다루기가 쉽지 않은 기술이라는 점에 대해서는 많은 전문가들도 인정하고 있는 부분입니다. 하지만 이제 막 깊이있는 연구가 시작되는 시기라는 점에서 이 어려움들을 돌파하고 또 하나의 안정적인 이론으로 자리 잡는 순간 우리의 일상생활에도 또 한 번의 큰 변화와 영향을 미치게 될 것 같습니다. 곧 여러 분야에서 제2의 알파고가 또 등장하게 되겠죠?