[강화학습] Q-learning: 강화 학습의 기초 알고리즘

하는·2024년 3월 31일
0

ML

목록 보기
7/7

Q-learning의 특징

  • 모델-프리(model-free) 알고리즘: 환경에 대한 사전 지식 없이도 최적 정책을 학습할 수 있다.
  • 이산적인 상태와 행동 공간에 적합: 연속적인 상태나 행동 공간을 가진 문제에는 적용이 어려울 수 있다.

Model-Free Learning

  • Environment에 대해 모르며 Action에 따른 Next Stage와 Next Reward를 수동적으로 받음
  • Environment를 모르니까 탐험(exploration)을 통한 Trial and Error로 Policy Function을 점차 학습시켜야 함
  • 이런 과정을 통해 Expected sum of future reward를 최대로 하는 Policy Function을 구하고자 함.

Model-Based Learning

  • Environment에 대해 알고 있음. Action에 따른 Environment의 변화를 아는 상태
  • 어떤 stage에서 어떤 Action이 최고의 Reward를 주는지 알 수 있음
  • Environment에 대해 알고 있으므로 Exploration이 필요 없음
    Q-learning은 강화 학습의 기초 알고리즘으로, 다양한 분야에서 활용되고 있다. 이 알고리즘을 이해함으로써 강화 학습의 기본 개념을 파악하고, 더 복잡한 알고리즘으로 나아갈 수 있는 발판을 마련할 수 있다.

에이전트가 환경과 상호 작용하며 최적의 행동 정책을 학습하는 방법이다. Q-value라는 개념을 사용하여 각 상태에서 취할 수 있는 행동의 가치를 평가한다.

  • Q: Quality (현재 상태에서 취한 행동의 보상에 대한 quality)

Q-Learning의 목표

유한한 마르코프 결정 과정(FMDP)에서 Agent가 특정 상황에서 특정 행동을 하라는 최적의 Policy를 배우는 것으로, 현재 상태로부터 시작하여 모든 연속적인 단계들을 거쳤을 때 전체 보상의 예측값을 극대화시킨다.

Q-learning의 동작 과정

  1. 초기화: Q-table을 모든 상태-행동 쌍에 대해 0으로 초기화
  2. 상태 관찰: 에이전트는 현재 상태를 관찰
  3. 행동 선택: 에이전트는 현재 상태에서 엡실론-그리디(epsilon-greedy) 정책을 사용하여 행동을 선택
  4. 행동 수행 및 보상 관찰: 에이전트는 선택한 행동을 수행하고, 환경으로부터 보상과 다음 상태를 관찰
  5. Q-table 업데이트: 에이전트는 관찰된 보상과 다음 상태를 바탕으로 현재 상태-행동 쌍의 Q-value를 업데이트
  6. 종료 조건 확인: 에피소드가 종료되었는지 확인. 종료되지 않았다면 2단계부터 다시 반복
  7. 학습 완료 후 최적 정책 도출: 충분한 에피소드를 반복한 후, 학습된 Q-table을 사용하여 최적의 행동 정책을 도출

Q-value 업데이트 수식

Q-learning에서 Q-value는 다음 수식을 사용하여 업데이트된다:

Q(s,a)Q(s,a)+α[r+γmaxaQ(s,a)Q(s,a)]Q(s, a) \leftarrow Q(s, a) + \alpha \left[r + \gamma \max_{a'} Q(s', a') - Q(s, a)\right]

  • Q(s, a): 현재 상태 s에서 행동 a를 취했을 때의 Q-value
  • α (learning rate): 학습률, 새로운 정보를 얼마나 빠르게 반영할 것인지 결정
  • r: 현재 상태에서 행동을 취한 후 받은 즉각적인 보상
  • γ (discount factor): 할인 요인, 미래 보상의 중요도를 조절
  • max(Q(s', a')): 다음 상태 s'에서 가능한 모든 행동 a' 중 최대 Q-value
도움을 받은 글: https://mangkyu.tistory.com/61
profile
천천히 꾸준히 취미처럼 냐미😋

0개의 댓글