"시즌 RL - Deep Reinforcement Learning" Wrap-up
학습을 마치며 전반적 강의내용에 대한 정리를 해본다.
Reinforcement의 뜻은(강화학습이지만) "어떻게 하면 좋은선택을 꾸준히 할 수 있을까?"를 목표로 최적화해 나아가는 과정으로 이해된다.
개인적으로 이 강의가 상당히 어렵고 난해하게 느껴졌는데
아마도 Supervised learning의 상식을 가지고 Reinforcement learning분야를 해결해 나아간다는 것이
어떻게 보면 진짜로 잘 될까? 이게 왜 되는거지? 왜 꼭 이렇게 하는거지? 라는 의문이 생겨서 학습을 방해한 것 같다.
몇가지 인상깊은 특징을 나열해보면
- 강의내용은 사실 많은 내용을 함축하고 있는것으로 보인다.
왜 그렇게 접근하는가를 찾으려다 보면 다른 이론을 알아야만 풀리는 것들이 많다.
- Q-table 방식:
다음 Action을 정할때 기대하는 가장 큰값을 찾는 논리에 있어서 최적경로 알고리즘과 유사한 부분이 있다.
하지만, 최적경로 탐색은 path간의 weight이 이미 계산되어 있으나,
RL에서는 탐험을 통해 이 최적경로를 찾아내는 과정 또한 포함되어 있다.
이 때문에 탐험으로 찾아진 Q-table은 절대적인 weight도 아니고 최적이라고 판단하기 어렵다.
- Q-Network 방식:
Q-table 방식과 비교될 수 없는 확실히 다른 것인데 이 점을 빨리 깨닫지 못해서 시간을 허비했다.
- 학습을 위해 일정구간을 저장하고, 그 자료를 샘플링해서, next Q를 더해 학습하는 방법이 DQN의 핵심으로 판단된다.
# Wrap-up
1. Frozen Lake World(OpenAI GYM)
2. Q-function
a. Deterministic: Q-table(Q-learning)
b. Stochastic: Q-Network
diverges due to:
- Correlations between samples
- Non-stationary Target
3. Exploit VS Exploration
a. E-greedy
b. Decay E-greedy
c. Add random noise
4. DQN: Deep Q-Network
a. solutions
1) Go Deep
2) Capture and Replay
- 일정구간을 저장했다가 저장된 구간을 랜덤으로 골라 학습
- Correlations between samples 을 해결
3) Separate networks
- 학습하는 동안 next Q를 구할때는 학습을 반영하지 않는 별도의 DQN(target)을 사용함
- Non-stationary Target 을 해결
b. DQN 2013
c. DQN 2015
Reference:
- http://hunkim.github.io/ml/
'Machine Learning > 모두를 위한 머신러닝_딥러닝' 카테고리의 다른 글
"시즌 1 - 딥러닝의 기본" Wrap-up (0) | 2017.10.08 |
---|