강화학습 중 Q-Learning 부분을 공부했다.
사용되는 개념은 다음과 같다
벨만 방정식에는 상태 가치 함수 V(s)와 행동 가치 함수 Q(s, a)가 있다.
또 상태 가치 함수 중에는 기대방정식과 최적방정식이 있다고 한다.
처음 배워볼 벨만 방정식은
V(s) = maxa(R(s, a) + γV(s')) 이다.
이는 벨만 방정식 함수 중 상태 가치 함수이고,
최적 방정식이다.
V(s) = maxa(R(s, a) + γV(s'))
V(s) : 상태 s에서 출발하여 최적의 행동을 선택했을 때 얻을 수 있는 최대 기대 보상
maxa : 상태 s에서 가능한 모든 행동 a 중 가장 큰 보상을 주는 행동 선택, V(s')는 정해져 있으므로, 사실상
R(s, a) 중에 최적 값을 고른다.
R(s, a) : 상태 s에서 행동 a를 취했을 때 즉시 받는 보상
γ(감마) : 할인계수(Discount Factor) 미래(다음 상태)의 보상을 현재 값으로 할인해주는 역할
V(s') : 다음 상태 s'에서의 최대 기대 보상
이걸 사용하는 이유는 에이전트가 최적의 행동을 하도록 유도하기 위해서라고 이해하고 넘어갔다.
할인계수의 역할은 상태 흐름속에서 최적 보상에 더 가까운 곳을 알게 하는 것으로 이해했다.
관련해서는 리처드 벨만의 'The Theory of Dynamic Programming(1954)' 이라는 논문을 찾아보면 된다고 한다.