etc..

[ML-Agents] 강화학습의 개요(1)

출처 = http://www.yes24.com/Product/Goods/84820068?scode=029

 

텐서플로와 유니티 ML-Agents로 배우는 강화학습

강화학습 환경을 제작하고 심층강화학습 알고리즘까지 직접 구현한다!알파고 이후 강화학습이 많은 사람들에게 관심을 받기 시작했다. 더불어 직접 시뮬레이션 환경을 제작하여 강화학습을 접

www.yes24.com

기계학습이란?

- "코드로 명시하지 않은 동작을 데이터를 통해 학습시키는 것", 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')$$