이야기박스

인공지능) Reinforcement Learning2 본문

Computer & Data/Artificial Intelligence

인공지능) Reinforcement Learning2

박스님 2017. 12. 10. 18:20
반응형

강화학습의 해결책

1. Dynamic Programmin

: 계산을 통하여


2. Monte Carlo

: 끝까지 진행 --> 가치 함수 업데이트


3. Temporal Difference Learning

: 시간차 ( 한 수 앞의 상황을 보는 것 )




○ DP

- Policy Iteration : 정책 반복, 갱신

- Value Iteration : 값 반복, 갱신




○ Monte Carlo

- 함수 갱신 방법


- 새로운 함수


- 알파 = 학습율 , 오차율

--> 오차율을 두는 이유 : 이 정답이 지금까지 데이터로서는 정답이지만, 그것이 전역적으로 진짜 정답이라는 보장이 없기 때문



- 행동 선택 정책

1) Random Policy

2) Greedy Policy

3) e-Greedy Policy

==> e 값을 통하여 random move 동작

--> random < e : random

--> random >= e : greedy



- 단점

게임 중간에는 학습이 일어나지 않고, 게임 종료 후에 학습이 일어남

--> 게임이 길거나 혹은 끝이 없는 게임의 경우 학습이 안됨



- 요약






○ Temporal Difference Learning

: 게임이 끝날 때 까지 기다리지 않고, 행동 하나 끝날 때마다 업데이트를 한다.

--> TDL에서는 행동 후의 결과가 보다 정확하다고 봄



- Bellman Equation

: 에이전트는 모든 상태, 행동에 대하여 큐함수를 갖음 --> 일종의 기억

==> 벨만 기대 방정식(Bellman Expectation Equation) : 너무 먼 미래보다는 가까운 미래를 기대하는 것



- SARSA

: 미래를 기대하기만 하는 것보다, 실제로 부딪혀보겠다.

==> 현재 큐 함수 <-- 보상 + 감가율 * 다음 큐 함수


--> 현재 큐 함수를 업데이트 하기 위하여 (s, a, r, s', a') 을 이용하기 때문에 SARSA




--> SARSA의 단점

: 다음 행동이 안좋으면 움직이려 하지 않음

--> e의 확률로 탈출할 수도 있지만, 보장은 없음

==> 문제 해결을 위하여 Q-learning 사용


* policy 정책

off-policy : 다음 state와 정책이 다른 것 (Q-learning)

on-plicy : 다음 state와 정책이 같은 것 (SARSA)



- Q-Learning

: 다음 state의 큐 값을 Max 값으로 선택하는 것





○ 인공신경망

--> Deep-SARSA 이용

--> (정답-예측)의 오차를 이용하여 역전파를 통하여 인공신경망 업데이트

--> 탐욕 정책에서 e값을 초기에는 크게 주고 점차 줄여나가는 방법을 사용


반응형