HuggingFace Deep RL Course - 2. Q-Learning

jihyelee·2023년 2월 21일
0

참고 링크: https://huggingface.co/deep-rl-course/unit2/introduction?fw=pt

policy

  • agent의 의사결정 단계(일종의 brain)를 policy라고 일컬음
  • 어떠한 상태(state)가 주어지면 기대되는 누적 보상(reward)을 최대화하는 방향의 행동(action)을 취하게 함
  • 최적의 policy를 찾는 방법으로는 크게 policy-based methods, value-based methods가 존재

policy-based methods

  • 주어진 상태에서 어떤 행동을 취할지 policy를 직접적으로 학습
  • policy는 neural network
  • value function이 없음
  • policy를 직접 정의하는 것이 아니라 학습을 통해 정의됨

value-based methods

  • 어떤 상태가 더욱 가치있는지를 배우는 value function을 학습하고 해당 value function을 이용해 행동을 선택
    • 상태(state)와 기대값(expected value)를 매핑하는 value function을 학습
  • policy가 학습되지 않기 때문에 미리 직접 function을 지정(specify)해줘야 함
    • e.g. 언제나 최대의 보상을 야기하는 행동을 취하게 하고 싶다면 greedy policy 생성
    • 대개 exploration-exploitation trade-off를 다루는 epsilon-greedy policy 사용
  • value function이 neural network
    • 최적의 value function이 최적의 policy를 얻도록 함

state-value function

  • 각 state에서, 에이전트가 해당 state에서 시작해 policy를 따를 때 얻을 수 있는 기대값(expected return)을 리턴
  • state S_t의 값을 계산

action-value function

  • 각 state-action 쌍에서, 에이전트가 해당 state에서 시작해 행동을 취하고 policy를 따를 때 얻을 수 있는 기대값(expected return)을 리턴
  • state-action 쌍 (S_t, A_t)의 값을 계산 (해당 state에서 행동을 취할 때의 값을 계산)

Bellman Equation

  • 앞서 소개한 state value, state-action value의 계산을 간편하게 도와주는 방법
    • 특정 state에서 시작해 이후의 값을 모두 계산해서 더해주는 방식은 반복적이고 지루

  • Dynamic Programming과 유사하게, 즉각적인 reward인 R_t+1와 다음 state의 discounted value의 합을 이용해 표현

Learning Strategies

  • RL agent는 환경과 상호작용하면서 학습을 진행하는데, 이는 경험과 보상이 주어지면 agent가 value function 혹은 policy를 업데이트할 수 있다는 아이디어와 연관
  • Monte Carlo와 Temporal Difference는 value function, policy function을 학습할 수 있는 두 가지 전략

Monte Carlo

  • 에피소드가 마무리된 이후 value function을 업데이트
    • (state, actions, rewards, next states)의 리스트가 존재할 때 모든 보상을 더해 G_t를 계산하고 이를 기반으로 value function 업데이트
    • 업데이트된 value function을 바탕으로 새로운 게임 진행, 더 많이 실행할수록 에이전트가 더욱 잘 학습

Temporal Difference Learning

  • 각 타임스텝마다 value function 업데이트
    • 전체 reward의 합인 G_t를 알 수 없기 때문에, R_t+1과 다음 상태의 할인값 V(S_t+1)을 더함으로써 G_t를 측정 (=TD target)
    • 더 많은 스텝을 진행할수록 에이전트가 더욱 잘 학습

Q-Learning

Q-learning이란

  • off-policy
  • value-based method
    • 각 상태(state) 혹은 상태-행동(state-action) 쌍의 값(value)을 나타내는 value function 혹은 action-value function을 학습함으로써 최적의 policy를 간접적으로 학습하는 방법
    • Q-learning의 경우 action-value functionQ-function을 학습
  • TD approach (Temporal Difference Learning)
    • 에피소드가 끝날 때가 아니라 각 단계마다 action-value function을 업데이트
  • Q = Quality (value) of that action at that state

value, reward, and Q-table

  • value
    • 어떤 상태, 혹은 상태-행동 쌍의 값(value)이란 해당 상태(혹은 상태-행동 쌍)에서 시작해 policy에 따라 행동함으로써 얻는 기대누적보상(expected cumulative reward)을 의미
  • reward
    • 특정 상태에서 어떠한 행동을 취한 이후 환경으로부터 얻는 feedback
  • Q-table
    • state-action 쌍의 값(value)에 상응하는 셀을 가진 테이블(표)
    • Q-function을 위한 메모리로 생각할 수 있음
    • 최적의 Q-function을 얻는다는 것은 최적의 Q-table을 얻는다는 것과 동일하며, 각 상태에서 어떤 행동을 취하는 것이 최선임을 안다는 것이기 때문에 최적의 policy를 가진다고 볼 수 있음
    • 처음에 Q-table은 임의의 값으로 초기화되어 있기 때문에 환경을 탐색하면서 Q-table을 업데이트함에 따라 최적의 policy에 더욱 가까운 근사값을 얻을 수 있음

Q-learning algorithm

Step 1. Q-table 초기화

  • 각 state-action 쌍에 대해 Q-table 초기화 (일반적으로 0)

Step 2. epsilon-greedy 전략을 이용해 action 선택

  • epsilon-greedy 전략은 exploration/exploitation trade-off를 처리할 수 있는 Policy
    • (epsilon) 확률만큼 exploration (임의의 행동) 수행
    • (1-epsilon) 확률만큼 exploitation (가장 높은 state-action 값을 가지는 행동) 수행
  • 초기에는 epsilon을 높게 설정해 대부분 explore를 수행하고, Q-table이 점차 좋아짐에 따라 epsilon 값을 감소시켜 exploitation의 비중을 늘림

Step 3. action 수행 후 다음 reward와 다음 state 관찰

Step 4. Q(state, action) 업데이트

  • TD learning을 따르기 때문에 각 단계(step)마다 value function을 업데이트
  • 즉각적인 보상(reward) R_t+1과 다음 상태(state)의 최적의 할인값 rV(S_t+1)을 더해 target으로 사용
    • TD target에서 최고의 next-state-action 쌍의 값을 얻기 위해서 greedy policy 사용 (언제나 가장 높은 값을 가지는 state-action을 선택)
  • Q-value를 업데이트한 뒤 epsilon-greedy policy를 사용해 다음 상태에서 행동을 선택

Off-policy, On-policy

  • off-policy
    • 행동(추론)과 업데이트(학습)에 다른 policy를 사용
    • Q-learning의 경우, acting policy인 epsilon-greedy policy와 Q-value를 업데이트하기 위해(updating policy) 최고의 next-state-action 값을 찾을 때 사용되는 greedy policy는 구분됨
  • on-policy
    • 행동과 업데이트에 동일한 policy 사용
profile
Graduate student at Seoul National University, majoring in Artificial Intelligence (NLP). Currently AI Researcher at LG CNS AI Lab

0개의 댓글