강화학습에 대한 기초를 다시 한 번 간결하게 정리해보는데에 도움을 줄 수있는 글입니다.
강화학습은 특정 목적을 달성하기 위해,
순차적인 의사결정 문제를 푸는 방법을 배우는 도구입니다
반복된 시도와 오류를 통해, 행동에 대한 보상 (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)
'IT > AI , 로봇' 카테고리의 다른 글
chatgpt o1-mini vs 4o (0) | 2024.09.19 |
---|---|
[RL] 강화학습 쉽게 이해하기 - II (0) | 2023.12.31 |
[음성] 음성학적 후방문자란? (Phonetic posteriorgrams) (0) | 2023.12.14 |
python 입력시 자꾸 microsoft store 가 뜨는 문제. (0) | 2023.07.19 |
[언어] 언어 AI 기본 (0) | 2023.05.19 |