Hugging Face Q-러닝 소개
Q-러닝은 오프-정책, 가치 기반 강화 학습(RL) 방법으로, 시계열 차이(TD) 접근 방식을 사용하여 행동-가치 함수를 학습합니다. 이는 에이전트가 특정 상태에서 수행된 특정 행동의 품질을 기억하는 Q-테이블을 반복적으로 업데이트함으로써 환경에 대한 최적 정책을 학습하도록 합니다.
Q-함수와 Q-테이블 이해하기
Q-함수는 특정 상태에 존재하고 특정 행동을 취했을 때의 가치를 결정하는 행동-가치 함수입니다. 여기서 “Q”는 “Quality”(품질)의 약자입니다.
내부적으로 Q-함수는 Q-테이블에 의존합니다. Q-테이블은 각 셀이 상태-행동 쌍의 값을 나타내는 행렬입니다. 에이전트는 이 테이블을 요령서처럼 사용합니다: 상태와 행동이 주어지면 Q-함수가 Q-테이블을 검색하여 해당 Q-값을 출력합니다.
Training progresses as follows:
- 초기화: Q-테이블은 일반적으로 0으로 초기화되며, 이는 에이전트가 환경에 대한 지식이 없음을 의미합니다.
- 탐색: 에이전트가 환경과 상호작용함에 따라 상태-행동 값에 대한 더 나은 근사값으로 Q-테이블을 업데이트합니다.
- 최적화: Q-테이블이 최적화되면 에이전트는 모든 가능한 상태에 대해 최적의 행동을 알기 때문에 최적 정책을 갖게 됩니다.
Q-러닝 알고리즘
Q-러닝은 에피소드가 끝날 때까지 기다리는 대신 각 단계마다 행동-가치 함수를 업데이트하는 구조화된 프로세스를 따릅니다.
행동 선택: 입실론-탐욕 전략
탐색-활용 트레이드오프를 관리하기 위해 Q-러닝은 입실론-탐욕 전략을 사용합니다:
- 탐색: 확률 $\epsilon$ 로 에이전트는 새로운 상태-행동 쌍을 발견하기 위해 무작위 행동을 선택합니다.
- 활용: 확률 $1 - \epsilon$ 로 에이전트는 Q-테이블에서 가장 높은 상태-행동 값을 가진 행동을 선택합니다.
학습이 진행됨에 따라 $\epsilon$ 값은 점진적으로 감소(감쇠)되어 에이전트의 행동이 무작위 탐색에서 학습된 지식의 활용으로 전환됩니다.
업데이트 메커니즘
행동 $A_t$를 수행하고 보상 $R_{t+1}$와 다음 상태 $S_{t+1}$를 받은 후, 에이전트는 TD 목표를 사용하여 $Q(S_t, A_t)$ 값을 업데이트합니다. TD 목표는 즉시 보상에 다음 상태에서 가능한 최상의 상태-행동 쌍의 할인된 값을 더한(부트스트래핑) 형태입니다.
오프-정책 vs. 온-정책 학습
Q-러닝은 행동과 업데이트에 서로 다른 정책을 사용하기 때문에 오프-정책 알고리즘으로 분류됩니다:
- 행동 정책: 에이전트가 실제 환경에서 수행하는 행동을 선택하기 위해 입실론-탐욕 정책이 사용됩니다.
- 업데이트 정책: TD 목표를 계산하고 Q-값을 업데이트하기 위해 탐욕 정책(항상 가장 높은 값을 가진 행동을 선택함)이 사용됩니다.
반대로, 온-정책 알고리즘(예: Sarsa)은 행동과 업데이트 모두에 동일한 정책(예: 입실론-탐욕)을 사용합니다.
실용적인 적용 및 예시
Q-러닝을 시연하기 위해 Hugging Face는 쥐가 독을 피하면서 치즈에 도달해야 하는 미로 예제를 사용합니다. 에이전트의 학습은 보상 함수에 의해 구동됩니다:
- +10: 큰 치즈 더미에 도달 (목표).
- +1: 작은 치즈에 도달.
- 0: 치즈가 없는 상태로 이동.
- -10: 독에 닿음 (종료 상태/죽음).
높은 초기 $\epsilon$ 때문에 무작위 행동을 취하고 보상에 따라 Q-테이블을 업데이트하는 반복적인 단계를 거치면서, 에이전트는 결국 최적 경로(예: 오른쪽, 오른쪽, 아래)를 학습합니다.
학습 환경
실제 구현을 위해 가이드는 두 가지 주요 환경을 제안합니다:
- Frozen Lake v1: 미끄럽지 않은 버전으로, 에이전트는 시작 상태(S)에서 목표 상태(G)로 이동하면서 구멍(H)을 피해야 합니다.
- Autonomous Taxi: 에이전트가 도시를 탐색하여 승객을 지점 A에서 지점 B로 운송하는 방법을 학습해야 하는 환경입니다.