개념

Q-learning은 강화학습에서 각 상태와 행동의 가치를 Q값으로 학습하는 방법이다. Q(s, a)는 상태 s에서 행동 a를 했을 때 앞으로 기대할 수 있는 누적 보상의 정도를 뜻한다.

업데이트 직관

Q-learning은 미래 전체를 끝까지 계산하지 않고, 한 단계 뒤 상태의 현재 추정값을 이용해 조금씩 Q값을 수정한다. “지금 받은 보상 + 다음 상태에서 얻을 수 있는 최대 미래 가치”를 목표값으로 삼고, 현재 Q값을 그쪽으로 이동시킨다.

는 학습률, 는 할인율, 은 즉시 보상이다.

할인율과 탐험

할인율 γ는 미래 보상을 현재 얼마나 중요하게 볼지를 정한다. 목표에 가까울수록 보상이 덜 할인되고, 멀수록 보상이 약하게 반영된다.

높은 Q값이 있는 행동만 선택하면 새로운 길을 찾지 못할 수 있다. 그래서 가끔은 랜덤 행동을 선택하는 탐험이 필요하다.