강화학습 입문
DQN에서 강화학습을 통해 학습되는것은 인공 신경망이다. 인공신경망으로 입력이 들어오면 그 상태에서 에이전트가 할 수 있는 행동이 얼마나 좋은지 출력으로 내놓는다. 행동이 얼마나 좋은지가 행동의 가치가 되고 이것을 큐함수 라고 한다.
보상(reward)은 환경이 agent에게 주는것이고 환경에 따라서 같은 행동을 취하더라도 다른 보상을 줄 수도 있다. 이러한 점을 고려하여 보상함수를 기댓값 E로 표현한다.
agent가 상태 s에서 행동 a를 하면 환경은 에이전트가 가게 되는 다음 상태 s와 agent가 받을 보상을 agent에게 알려준다. 환경이 agent에게 알려주는것이 t+1 시점이라 Rt+1이라 한다.
상태변환확률 :
상태의 변화에 확률적인 요인이 있다고 하면, 어떤상태에서 agent가 행동을 취했을때 다른 상태 s'에 도달할 확률이다. 이 값은 보상과 마찬가지로 환경의 일부이다.
감가율 : agent가 항상 현재에 판단을 내리기 때문에 현재에 가까운 보상일수록 더 큰 가치를 가진다. 하지만 현재로부터 일정 시간이 지나서 보상을 받는다면 그것은 감가시켜 현재의 가치로 따져야 한다.
현재시간으로 부터 k만큼 지난후 받을 보상 Rt+k 는 아래와 같이 표현할 수 있다.
정책(policy) : 에이전트가 보상을 얻으려면 행동을 해야 하는데 특정상태가 아닌 모든 상태에 대해 어떤 행동을 해야 할 지 알아야 한다. 이렇게 모든 상태에 대해 에이전트가 어떤 행동을 해야 하는지 정해놓은 것이 정책이다. 상태가 입력으로 들어오면 행동을 출력으로 내보내는 일종의 함수라고 생각할 수 있다. 우리가 강화학습을 통해서 최종적으로 구해야할 답은 최적 정책이다.
시간 t에 s에 agent가 있을 때 가능한 행동 중에서 a를 학 확률을 나타낸다.
가치함수(value function) : 우리는 agent가 학습할 수 있도록 문제를 지금까지 MDP로 정의하였다. 최적 정책을 찾음으로써 문제를 해결할 수 있다. 그러나 agent가 어떻게 최적 정책을 찾을 수 있을까?
특정한 상태에서 앞으로 받을 보상들을 고려해서 선택해야 좋은 선택을 할 수 있다. 그러기 위해 아직 받지 않은 많은 보상들까지 고려해야 한다. 이를 가치함수 라고 한다.