티스토리 뷰
해당 포스팅은 이웅원 연구원님의 깃북 Fundamental of Reinforcement Learning을 기초로 작성되었습니다.
강화학습이란 무엇인가.
강화 학습(Reinforcement learning)은 기계학습이 다루는 문제 중에서 다음과 같이 기술 되는 것을 다룬다. 어떤 환경을 탐색하는 에이전트가 현재의 상태를 인식하여 어떤 행동을 취한다. 그러면 그 에이전트는 환경으로부터 포상을 얻게 된다. 포상은 양수와 음수 둘 다 가능하다. 강화 학습의 알고리즘은 그 에이전트가 앞으로 누적될 포상을 최대화하는 일련의 행동으로 정의되는 정책을 찾는 방법이다.
강화학습은 머신 러닝의 범주 안에 있는 학습 방법 중 하나이다. 예시로 아이가 처음 걸을 때 걷는 방법을 어떻게 행동 할 줄 모르지만, 환경과 상호작용 하면서 걷는 법을 알아가는 것과 같은 학습 방법을 강화학습이라고한다.
강화학습의 특징은 사람이 학습하는 방법, 일상 속에서 행동하는 방법과 상당히 유사하다는 점이다.
또하나의 예로 자전거 타는 법을 배울 때 우리는 구체적으로 타는 방법을 알지 못하고 배운다.
타다 넘어지고 일어서다 보면 어떻게 해서 똑바로 간다는 것을 학습한다.
dynamics를 모르고 학습하는 것이기 때문에 핸들 방향을 바꾼다면 자전거를 탈 수 없게 된다고 한다.
https://www.youtube.com/watch?v=MFzDaBzBlL0
강화학습도 이와 마찬가지로 agent가 아무것도 모르는 상태로 환경 속에 들어가서 경험을 통해서 학습하는 것이다.
정의하자면 정답은 모르지만, 자신이 한 행동에 대한 보상을 알 수 있어서 그로부터 학습하는 것을 말한다.
강화학습의 가장 중요한 두 가지 특징은 다음과 같다.
Trial and Error, Delayed Reward
첫 번째는 환경과 상호작용으로 학습하는 것과 깊은 관련이 있다. 즉 해보지 않고 예측하여 움직이는 것이 아니고 해보면서 자신을 조정해나가는 것이다.
좋은 행동을 했을 경우에 좋은 반응이 환경으로 부터 오게 된다. 이 반응을 보상이라고 한다.
강화학습의 핵심 쟁점중 하나는 "어떻게 상을 더 많이 받을 것이냐"이다.
두 번째는 강화학습이 다루는 문제는 시간이라는 개념이 포함되어있다는 것과 관련 있다. 강화학습은 시간의 순서가 있는 문제를 풀기 때문에 지금 한 행동으로 인한 환경의 반응이 행동 이후에 나타난다. 이럴 경우 환경이 반응할 때 까지 여러 가지 다른 행동들을 시간의 순서대로 했기 때문에 어떤 행동이 좋은 행동이었는지 판단하기 어려운 점이 있다.
우리는 앞으로 에이전트, 상태, 행동, 포상, 정책에 대해서 알아 볼 것이다.
'Reinforcement Learning' 카테고리의 다른 글
1-3 예시 (Breakout) (0) | 2018.10.01 |
---|---|
1-2 강화학습의 역사 (0) | 2018.10.01 |