ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 강화학습 : SARSA
    전공/반도체 2023. 4. 6. 21:07

    SARSA : State-Action-Reward-State-Action

    현재 상태-현재 상태에서 취한 행동-그에 따른 보상-그 다음 상태-그 다음 상태에서 취한 행동

     

    대표적인 on policy 강화학습 알고리즘, Q-function을 추정하여 에이전트가 최적의 행동을 선택할 수 있도록 하는 방법

    * Q-function : Action value function을 의미, 특정 상태에서 특정 행동을 하였을 때 최종적으로 얻을 수 있다고 기대되는 보상

    (즉, 과거의 경험을 통해서 특정 상태에서의 특정 행동을 했을 때, 최종적으로 얻게될 보상의 예측값)

     

    * on policy : 에이전트의 policy에 따라서 Q-function을 업데이트하는 것 (= 실제 가봤던 곳만 고려하여 Q-function 업데이트)

     

    Q-function 업데이트 방법의 구분

    Q-fucntion을 업데이트하는 방법의 큰 분류

    여기서 SARSA는 Q-function을 업데이트 하기 위해서 Temporal Difference/on policy 방법을 사용한다.

     

    Q-function 업데이트 수식

     

    $Q(s_t, a_t) ← (1 - \alpha) Q(s_t, a_t) + \alpha [R_{t+1} + \gamma Q(s_{t+1}, a_{t+1})]$

     

    $\alpha$ : 학습율(learning rate)를 의미하며 0과 1 사이의 값을 가짐, 새로운 Q 값과 과거의 Q 값을 얼마나 반영할 지 정하는 파라미터

    예를 들어 $\alpha$가 0.1이면, 다음 상태의 Q 값을 오직 10%만 반영하고, 이전에 저장되어 있던 Q 값을 90% 반영하여 Q 값을 업데이트한다. 이 경우는 새롭게 예상하는 Q 값보다 과거에 얻어놨던 Q 값이 더 크게 작용하므로, Q 값의 빠른 업데이트가 어려울 것이다.

     

    $\gamma$ : 감쇠율(disconunt factor)를 의미하며 0과 1사이의 값을 가짐, 먼 미래의 보상을 현실적으로 보정해주는 계수

    예를 들어 $\gamma$가 0.9이고 선택된 행동에 따른 다음 상태에서 예상되는 보상이 10인 경우, 현재 상태에서의 예상 보상은 9가 된다.

    (좀 더 와닿게 설명하면 10년뒤에 받을 10억과 1년 뒤에 받을 10억의 가치에 대해서 비교해보면 된다. 받는 금액은 같지만, 받을 때까지 소요되는 기간은 다르므로, 이것을 반영해주는 파라미터라고 해석하면 된다.)

     

    $Q(s_{t+1}, a_{t+1})$ : $a_{t+1}$ 이라는 행동을 취해서 $s_{t+1}$ 이라는 상태로 이동하였을 때, 기대되는 보상

     

    $R_{t+1}$ : $s_{t+1}$ 상태에서 얻을 수 있는 실제 보상

     

     

     

    '전공 > 반도체' 카테고리의 다른 글

    Flash Memory 소자의 동작 원리  (0) 2021.04.03

    댓글

Designed by Tistory.