본문 바로가기

IT/AI , 로봇

[RL] 강화학습 쉽게 이해하기

 

강화학습에 대한 기초를 다시 한 번 간결하게 정리해보는데에 도움을 줄 수있는 글입니다.

 

강화학습은 특정 목적을 달성하기 위해,

순차적인 의사결정 문제를 푸는 방법을 배우는 도구입니다

 

반복된 시도와 오류를 통해, 행동에 대한 보상 (reward) 을 받습니다.

이는 사람이 무엇을 배울때 반복된 경험을 통한 피드백을 받고 배우는 것과 유사합니다

이 학습을 딥러닝의 뉴럴 네트워크를 이용하여 모델링 하는 것이 Deep RL 입니다.

 

 

그러면 이 작업을 수행할 대상들이 있어야겠죠?

에이전트 = model. 습득을 하는 주체

환경 = world. 습득을 할 수 있는 환경

 

Agent 의 목표

목적을 위해 학습하는 에이전트가 하는 일은 ? 

  • 상태 관찰
  • 행동 실행
  • 보상 받기

즉, 주어진 환경에서 행동하는 에이전트가 어떤 액션을 하는 것이 가장 좋은지를 판단하는 정책을 학습하는 것입니다.

 

그러므로 현실 문제를 해결하기 위한 강화학습 설계에는,

목적, 상태, 행동, 보상에 대해서 정의하고 알고리즘 적용을 어떻게 할 것인가에 대한 고민을 해야합니다.

 

(많이 보는 미로 찾기류 문제)

? ? ? +1
? X ? -1
? ? ? ?

 

- environment : 어떻게 환경을 모델링 하느냐에 따라서 결과가 달라진다

 

- reward : 보상정책에 따라서 결과가 달라진다. ex. step reward

 

- 스토캐스틱한 액션을 어떻게 부여 할지? (예전에 포스팅한 결정론적 비결정론적 탐색에 대한 글 참고)

https://ohollama.tistory.com/37

 

[RL] Deterministic and stochastic exploration - 결정론적 탐색과 비결정론적 탐색

In reinforcement learning, striking a balance between exploration and exploitation is crucial. Therefore, it's important to combine deterministic and stochastic exploration methods. Deterministic exploration involves following a set of rules to explore the

ohollama.tistory.com

 

알아두어야 할 몇 가지 개념

이와 같이 RL Agent 의 목표는,

주어진 Trajectories 에서 보상을 최대화 하는 것입니다.

Trajectory (T) = $ s_{0},a_{0},r_{1}, s_{1},a_{1},r_{2},... s_{n-1},a_{n-1},r_{n}, s_{n} $

 

그러면 매 번 미래의 보상의 합을 최대화 하면 될까요?

미래의 보상 (R) = $ r_{t}+r_{t+1}+r_{t+2}...r_{n} $

 

Stochastic 한 환경의 영향으로 미래 불확정성 때문에 현재 보상을 중시해야 한다는 점을 잊지 않아야 합니다.

그래서 아래와 같이 discount factor 감마를 곱합니다.

디스카운트 된 보상 = $ r_{t} + \gamma r + \gamma^{2} r_{t+2}...\gamma^{n-t}r_{n} $

 

또한 액션이 discrete 한지, continuous 한지 생각해보아야 합니다. -> categorical or gaussian policies

이는 게임에서 점프, 좌, 우 처럼 정해진 값인지 혹은 움직이는 물체를 위한 continuous 한 속성값을 준다던지 하는 차이입니다.

 

Value Function 개념

Value Function : 특정 상태에 있을때 기대되는 보상의 합

Action Value Function : 특정 상태 및 그 상태에서의 액션을 알고 있을때 기대되는 보상의 합

Policy = $\pi$

Trajectories = $\tau$

Expected cumulative Reward = $E[R( )] $ 

$V^{\pi}(s) = E_{\tau ~ \pi} [R(\tau)|s_{0} = s]$

$Q^{\pi}(s,a) = E_{\tau ~ \pi} [R(\tau)|s_{0} = s,  a_{0} = a]$

 

RL Problem = $ \pi^{*}$ 찾기

$ \pi^{*} = argmax_{\pi}$ $ E[R(\tau)] $

 

RL 의 종류

  • Model-Based : 바둑판처럼 환경을 미리 알 수 있고 plan을 세울 수 있다.
  • Model-Free : 환경을 접근할 수 없다 ( black box. 대부분의 실세계 문제들 ) 그러므로 경험을 통해서 배워간다. 아래 두 개로 세분할 수 있다.
    • Value function-Based : value function 을 update 해감. (exploration 내제 x but 필요)
    • Policy-Based : $ \pi^{*}$ 를 직접적으로 풀어가며 optimize. (exploration 내제 o)