"시즌 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/

+ Recent posts