이야기박스
인공지능) Reinforcement Learning2 본문
○ 강화학습의 해결책
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값을 초기에는 크게 주고 점차 줄여나가는 방법을 사용
'Computer & Data > Artificial Intelligence' 카테고리의 다른 글
Python. ChatGPT API를 활용한 간단한 예제 프로그램 (0) | 2023.04.22 |
---|---|
인공지능) Reinforcement Learning (0) | 2017.12.10 |
인공지능) K-means Alg (0) | 2017.12.10 |
인공지능) Convolution Networks (0) | 2017.12.10 |
인공지능) Deep Learning (0) | 2017.12.10 |