1.1. 강화 학습 개념

본 장은 강화학습을 처음 접하는 독자들을 위한 내용을 담고 있습니다. 여기에는 강화학습의 기본 개념과 사람이 수행해야 하는 역할에 대한 기초적인 설명이 포함되어 있습니다. 이미 강화학습에 대한 일정 수준의 이해가 있으신 독자 분들께서는 본 장을 건너 뛰어도 무방합니다. 


1.1. 강화 학습 개념

'강화 학습'은 인간의 학습 능력을 따라한 '머신 러닝' 방법입니다. 강화학습에서 학습자를 '에이전트(agent)'라고 부릅나다. 이 '에이전트'는 '환경'과 상호작용을 통해 학습을 합니다. 

에이전트가 환경과 상호작용을 통해 학습하는 방법을 살펴보겠습니다. 에이전트는 자기가 선택할 수 있는 '행동 집합(A)'에서 하나의 '행동(a)'을 선택합니다. 그러면 그 '행동'은 환경에 영향을 미쳐, 환경의 '상태'가 변화됩니다. 그리고 환경은 '변한 상태'를 에이전트에게 알려 주고, 변한 상태가 에이전트에게 도움이 되면 높은 '보상(Reward)'을, 그렇지 않으면 낮은 보상을 줍니다. 이와 같은 하나의 과정을 우리는 '에피소드(episode)'라고 부릅니다. 에피스드가 횟수가 많아질 수록 에이전트는 자신이 선택한 행동 중 어느 것이 가장 높은 보상을 받게 되는 지 알게 될 것입니다. 다시 말해 에이전트는 환경과의 상호작용을 통해 자신의 행동을 강화하는 특징이 있기 때문에 이 학습방법을 '강화 학습'이라고 부릅니다. 

예를 들어, 로봇과 인간의 태권도 경기를 생각해 보겠습니다. 로봇의 두뇌는 에이전트, 즉 강화 학습이 적용된 인공지능이라 가정하겠습니다. 이 에이전트가 상대방을 이기기 위해 자신이 가진 행동 집합에서 '앞차기' 행동을 선택했고, 이 행동으로 인해 상대방이 쓰러졌다면, 환경은 상대방이 쓰러진 상태를 에이전트에게 알려주고, 보상으로 +1점을 줍니다. 이번에는 에이전트가 상대방에게 접근하기 위해 '동'쪽으로 이동하다가 바닥이 미끄러워 넘어졌다고 가정하겠습니다. 그러면 환경은 넘어진 상태를 에이전트에게 전달하고, -1점을 줍니다. 왜냐하면 넘어지는 것이 태권도 경기에서 좋은 것은 아니기 때문입니다. 그러면 다음부터 에이전트는 '앞차기' 행동을 할 것이고, 미끄러운 곳으로 이동하는 행동은 하지 않을 것입니다. 

지금까지 강화 학습의 개념을 살펴보았습니다. 강화학습에서 학습자를 '에이전트'라고 하고, 이 '에이전트'는 '환경'과의 '상호작용'을 통해 '학습'을 합니다. 에이전트는 '누적 보상'이 가장 큰 행동을 선택함으로써 '학습'이 구체화 되고, 이 보상은 상태와 함께 환경에서 제공합니다. 

[문제] 강화학습을 적용할 수 있는 분야를 생각해 보세요.

[문제] 강화학습을 적용하여 '자율 주행 자동차'를 만든다고 가정하겠습니다. 여기서 자동차를 에이전트라고 할 경우, 이 에이전트가 선택할 수 있는 행동을 집합으로 표현해 보세요.

[문제] '자율 주행 자동차'가 행동할 수 있는 환경을 생각해 보세요.

[문제] '자율 주행 자동차'의 보상을 +와 -로 나누어 생각해 보세요.



댓글

이 블로그의 인기 게시물

1.2. 강화학습에서 '사람'의 역할

any(iterable)