1장 강화학습 개요

MostlyFor·2023년 1월 29일
0

강화학습

목록 보기
3/12

강화학습의 목적

에이전트가 환경을 탐색하면서 얻는 보상들의 합을 최대화하는 "최적의 행동양식, 또는 정책"을 학습하는 것

(강화학습은 환경에 대한 정확한 지식이 없어도 시행착오를 통해 학습할 수 있다. 이건 어떻게 보면 완전 탐색과 비슷하다고 생각이 든다. 그리고 그만큼 시간이 많이 걸리는 게 단점이라는 것 또한 비슷하다.)

강화학습을 적용할 수 있는 문제

강화학습은 순차적으로 결정을 내려야 하는 문제에 적용된다.
MDP (Markov Deicision Process) 를 통해 순차적으로 결정을 내려야 하는 문제를 수학적으로 정의할 수 있다.

용어

1. 상태 State

행동을 하는 주체, 에이전트와 함께 변하는 현재의 상태를 표현하는 개념
이때, 상태는 에이전트가 다음 행동을 결정하기에 충분한 정보를 제공해야 한다.
예를 들어, 탁구를 치는 에이전트라면 탁구공의 위치, 속도, 가속도 등의 정보가 있어야 다음에 스윙을 어떻게 할지 알 수 있다. 이때 탁구공의 위치, 속도, 가속도 등의 정보가 상태가 된다. 그리고 스윙은 다음에 나올 행동이다.

2. 행동 action

에이전트가 어떠한 상태에서 취할 수 있는 행동
에이전트가 상태를 기반으로 행동을 하면 환경은 에이전트에게 보상 혹은 처벌을 하고 다음 상태를 알려준다.

3. 보상 reward

에이전트가 학습할 수 있는 유일한 정보. 지도학습의 정답 레이블 같은 느낌
에이전트는 보상을 통해 이전 행동이 좋은 행동인지 아닌지 알 수 있다.
강화학습의 목표는 시간에 따라 얻는 보상들의 합을 최대로 하는 정책을 찾는 것이다.

4. 정책 policy

어떤 상태가 주어졌을 때 에이전트가 어떤 행동을 해야 하는지 정해놓은 함수
순차적 행동 결정 문제를 풀었다는 건 최적 정책(optimal policy)을 얻었다는 것

방대한 상태를 가진 문제에서의 강화학습

앞에서 강화학습은 최적의 정책을 찾는 것이고, 정책이란 상태를 기반으로 다음에 할 행동을 결정하는 것이라고 했다. 다음이 뜻하는 것은 모든 상태에 대해 다음 행동이 학습되어야 한다는 것이다. 바둑에서 가능한 경우의 수는 1036010^{360}으로 엄청난 계산이 필요하다. 이게 계산으로 가능하다 치더라도 실제 로봇은 바둑처럼 turn이 있어서 이산적인 상태를 가지는게 아닌 연속적인 상태를 가지기 때문에 실제로 모든 상태에 대해 학습한다는 건 불가능하다.

따라서 이러한 문제를 해결하기 위해서는 알파고와 같이 수많은 상태에 대한 정보를 함수와 같은 형태로 근사하는 인공신경망을 사용해야 한다.

0개의 댓글