출처 = http://www.yes24.com/Product/Goods/84820068?scode=029
기계학습이란?
- "코드로 명시하지 않은 동작을 데이터를 통해 학습시키는 것", 1959년, 아서 사무엘
- 이와 반대로 코드 = 기능을 명확한 코드로 구현
- 지도학습 + 비지도학습 + 강화학습
지도학습 | 비지도학습 | 강화학습 |
- Feature(답)이 있는 Train Dataset 필요 - 오차를 줄여나가는 데에 목적 - 회귀 or 분류 문제를 해결할 수 있다 |
- Feature(답)이 없는 Train Dataset 필요 - Clustering(군집) 문제를 해결할 수 있다 |
- Train Dataset이 필요없다 - 에이전트가 환경과 상호작용해서 학습 - 당근과 채찍 - 게임같이 명확한 보상이 있는 문제에 활용가능 - ML-Agents가 강화학습에 해당 |
강화학습
- 정의 = "보상을 최대화하는 순차적인 행동을 알아가는 방법"
- MDP = 이러한 강화학습이 필요한 문제를 수학적으로 정의한 것
- MDP의 요소
Agent | Action | Environment | Observation | State | Reward Function |
- 의사결정을 하는 역할 - 게임의 주인공 |
- 에이전트가 할 수 있는 행동 | - 에이전트의 의사결정을 반영 - 에이전트에게 정보 제공 |
- Environment가 제공하는 정보 - 현재 상태의 관측 = Ot |
- Agent 의사 결정의 근거 | - 행동과 상태에 따른 보상 정책 - $$R_{s}^{a} = E[R_{t+1} | S_t = s, A_t = a]$$ |
감가율
- 어느 경로가 효율적인지 판단하기 위해 Reward에 곱함
- 감가율은 주로 $$r$$로 표기한다.
- 수식 => $$R_{t+1} + r R_{t+2} + r^2 R_{t+3} + ... + r^{T-t} R_{T+1}$$
가치함수와 큐함수
- 강화학습의 목적 = 보상을 최대화하는 의사결정 방법 = 현재 상태에서 가장 가치가 높은 상태로 이동 = 기댓값이 높은 곳으로 가야함 = 기대값 계산? = 상태가치함수 + 행동가치함수
가치함수
- $$V_{(s)}=E(G_t|S_t = s)$$
- 즉, $$a^* = argmax_{a\in A}V_{(s')}$$ => 현재 상태에서 취할 수 있는 a 중에서 a*는 V(s)를 최대화하는 행동
큐함수
- 가치함수 = 상태에 대한 가치
- 큐함수 = 현 상태에서 특정 행동에 대한 가치 = 상태 + 행동 -> 행동에 대한 가치
- 가치함수를 다시 써보면 $$v_\pi (s)=\sum \pi (a|s) Q_\pi (s,a)$$
-> $$Q_\pi(S,a)= R_{s}^{a} + r\sum _{s'\in S}P_{ss'}^{a}V_\pi (S')$$
'etc..' 카테고리의 다른 글
[활동 후기] 2020 Google Indie Game Festival 유저심사위원단 (0) | 2020.07.29 |
---|---|
[Physics For Game Developers] 물리학 기초 (0) | 2020.05.14 |
[ML-Agents] Anaconda 설치와 환경 조성 (0) | 2020.05.13 |
[ML-Agents] 강화학습의 개요(2) (0) | 2020.05.11 |