ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 04장. 강화학습 기초 3: 그리드월드와 큐러닝 // 미완
    Machine Learning/파이썬과 케라스로 배우는 강화학습 2020. 12. 13. 14:10

    - 강화학습과 다이내믹 프로그래밍의 차이는 강화학습은 환경의 모델을 몰라도 환경과의 상호작용을 통해 퇴적 정책을 학습한다는 것.

     

    - 예측 : 에이전트는 환경과의 상호작용을 통해 주어진 정책에 대한 가치함수를 학습하는 것.

        몬테카를로 예측, 시간차 예측

     

    - 제어 : 가치함수를 토대로 정책을 끊임없이 발전시켜 나가서 최적 정책을 학습하려는 것.

        시간차 제어 - 살사, 오프폴리시 제어 - 큐러닝

     

     

    1. 강화학습과 정책 평가 1: 몬테카를로 예측

        1.1 사람의 학습 방법과 강화학습의 학습 방법

     - 강화학습은 환경의 모델 없이 환경이라는 시스템의 입력과 출력 사이의 관계를 학습.

     

    ㄱ. 일단 해보고

    ㄴ. 자신을 평가하며

    ㄷ. 평가한 대로 자신을 업데이트

    ㄹ. 반복

     

        1.2 강화학습의 예측과 제어

    - 다이내믹 프로그래밍은 항상 정확한 모든 정보를 근거로 판단. 실제 세상은 정확하지는 않지만 적당한 추론을 통해 학습을 해내가는 것이 더 효율적.

     

    - 정책 이터레이션 : 정책 평가 -> 강화학습 : 예측.

    - 강화학습은 "일단 해보는" 방법으로 참 가치함수의 값을 예측.

     

        1.3 몬테카를로 근사의 예시

            1.1 종이 위의 원 넓이

            : 종이에 점을 무작위로 계속 뿌리고. 전체 뿌린 점들 중에 원 안에 들어가 있는 점들의 비율을 구하면 이미 알고있는 종이 전체 넓이를 통해 원의 넓이를 추정할 수 있음.

            1.2 장점

            : 정확히 구하는 방정식을 몰라도 원래의 값을 추정 가능. 

     

        1.4 샘플링과 몬테카를로 예측

    $$ v_{\pi}(s)=\sum_{a \in A}\pi(a|s)(r_{(s,a)}+\gamma\sum_{s' \in S}P_{ss'}^{a}v_{\pi}(s')) \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \\ \scriptsize{계산\;가능한\;형태의\;벨만\;기대\;방정식} \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad$$

            - 환경의 모델인 상태변환 확률과 보상 함수를 알아야함.

            $$ v_{\pi}(s) \sim \frac{N(s)}{1}\sum_{i=1}^{N(s)}G_{i}(s) \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad\\ \scriptsize{반환값의\;평균으로\;가치함수를\;추정.} \quad N(s):상태s를\;방문한\;횟수 \quad \quad \quad \quad \quad \quad \quad \quad \quad\quad \quad \quad \quad \quad \quad $$

    \begin{align}V_{n+1} &= \frac{1}{n}\sum_{i=1}^{n}G_{i} = \frac{1}{n}(G_{n}+\sum_{i=1}^{n-1}G_{i})
    \\ &= \frac{1}{n}(G_{n}+(n-1)\frac{1}{n-1}\sum_{i=1}^{n-1}G_{i})  
    \\ &= \frac{1}{n}(G_{n}+(n-1)V_{n}) \quad \quad *V_{n} : \scriptsize{처음\;시도부터\;직전\;시도까지의\;반환값으로\;구한\;가치함수}    
    \\ &= V_{n}+\frac{1}{n}(G_{n}-V_{n}) \end{align}

    1. 강화학습과 정책 평가 2: 시간차 예측

        - 몬테카를로 예측의 단점 : 가치함수를 업데이트하기 위해서 에피소드가 끝나야함. 에피소드의 끝이 없거나 에피소드의 길이가 긴 경우에는 몬테카를로 예측은 적합하지 않음.

        - 시간차 예측(Temporal-Difference Prediction) : 타임스템마다 가치함수를 업데이트. 실시간. -> 온라인 학습?

    $$ V(S_{t}) \leftarrow V(S_{t}) + \alpha(R_{t+1} + \gamma V(S_{t+1}) - V(S_{t})) \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \\ \scriptsize{시간차\;예측에서\;가치함수의\;업데이트} \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad  \quad  $$

        - 시간차 에러 : R_{t+1} + \gamma (V(S_{t+1}) - V(S_{t}))

        - 몬테카를로 예측보다 초기 가치함수 값에 따라 예측 정확도가 많이 달리짐.

     

    2. 강화학습 알고리즘 1: 살사

        - GPI(Generalized Policy Iteration) : 정책 평가를 할 때 참 가치함수를 구할 때까지 계산하지 않고, 정책 평가와 정책 발전을 한 번씩 번갈아 가며 진행.

        - 시간차 제어 : 시간차 예측 + 탐욕 정책

        - 큐함수를 보고 탐욕 정책을 한다면 환경의 모델을 몰라도 됨.

        $$ \pi(s) = argmax_{a \in A}Q(s,a) \\ Q(S_{t}, A_{t}) \leftarrow Q(S_{t}, A_{t}) + \alpha(R_{t+1} + \gamma Q(S_{t+1}, A_{t+1}) - Q(S_{t}, A_{t})) \\ [S_{t}, \; A_{t}, \; R_{t+1}, \; S_{t+1}, \; A_{t+1}] $$

        - 이미 충분히 많은 경험을 한 에이전트의 경우에는 (일반) 탐욕 정책이 좋은 선택이지만, 초기 에이전트에게는 잘못된 학습으로 가게될 가능성이 큼. 큐함수가 잘못된 값에 수렴해서 에이전트가 잘못된 정책을 학습하게됨 -> 충분히 다양한 경험 필요 -> ε-탐욕 정책

        - ε-탐욕 정책 : ε만큼의 확률로 탐욕적이지 않는 행동을 선택

            - 단점 : 최적 큐함수를 찾았다하더라도 ε확률로 계속 탐험을 함 -> 학습을 진행함에 따라 ε값을 감소 필요

    강화학습 알고리즘 2: 큐러닝

        - 살사의 한계 : 살사는 온폴리시 시간차 제어(On-Policy Temporal-Difference Control). -> 초기에 탐험이 ε-탐욕 정책에 큰 영향을 끼쳐서 충분히 다양한 탐험을 하지 못해서 최적 정책을 학습하지 못함. -> 오프폴리시 시간차 제어(= 큐러닝(Q-Learing) 사용.

        - 행동하는 정책과 학습하는 정책을 따로 분리.

     










    댓글

Designed by Tistory.