벨만 방정식 (Bellman Equation)
정의
현재 상태의 가치 함수와 다음 상태의 가치 함수 사이의 관계를 나타낸 식
가치함수에 대한 벨만 방정식
Vπ(St)=Eπ[Rt+1+γVπ(st+1)∣St=s]
큐 함수에 대한 벨만 방정식
Qπ(s,a)=Eπ[Rt+1+γQπ(St+1,At+1)∣St=s,At=a]
벨만 방정식과 MDP
가치함수로부터 기댓값을 계산하려면 앞으로 받을 모든 보상에 대해 고려해야 한다.
벨만 방정식을 이용하면 t+1 시간의 가치함수만 알고 있다면 현재 t 시간의 가치함수를 구할 수 있다.
가치함수를 다르게 써보면 다음과 같다.
vπ(s)=a∈A∑π(a∣s)qπ(s,a)
qπ(s,a)=Rsa+γs′∈S∑Pss′avπ(s′)
가치함수는 정책에 의존하기 때문에 정책을 뜻하는 π를 붙여주어야 한다.
상태 s일 때의 가치함수 vπ(s)는 에이전트가 취할 수 있는 모든 행동 집합 A에 대해 그 행동 a를 취할 확률 π(a∣s)에 상태 s일 때 행동 a의 가치를 나타내는 큐 함수 qπ(s,a)를 곱해주어야 한다.
상태 s에서 행동 a를 취했을 때의 가치를 나타내는 큐 함수 qπ(s,a)를 구하기 위해서는, 그때의 보상 Rsa에 감가율 γ, 행동 a를 취했을 때 나타날 수 있는 모든 상태 s′∈S에 대한 상태 변환 확률 Pss′a, 그때의 가치함수 vπ(s′)이 필요하다.
즉, 벨만 방정식을 구하기 위해서는 보상 Rsa와 상태 변환 확률 Pss′a을 미리 알고 있어야만 한다.
이러한 보상함수와 상태변환확률, 감가율은 MDP(Markov Decision Process)의 5가지 구성요소 중 하나로, MDP에서 모델이라고 부를 수 있다.
벨만 최적 방정식
강화학습의 목적
최적의 의사 결정을 하여 보상을 최대화 하는 것.
현재 정책에 대한 최적의 가치 함수를 찾아야 한다.
최적의 가치함수란 모든 가능한 정책 중 제일 높은 가치를 반환하는 가치 함수
v∗(s)=πmaxvπ(s)=amaxE[Rt+1+γvπ(St+1)∣St=s,At=a]
q∗(s,a)=πmaxqπ(s,a)=E[Rt+1+γa′maxq∗(St+1,a′)∣St=s,At=a]
탐험과 이용 (Exploration & Exploitation)
에이전트가 최적 정책을 찾기 위해서는 여러 상황에서 다양한 행동을 하며 많은 경험을 해보아야 한다.
탐험
에이전트가 다양한 경험을 할 수 있도록 에이전트의 행동을 결정하는 기법
Random exploration : 같은 확률로 에이전트가 취할 수 있는 행동 중 하나를 임의로 선택하는 기법
하지만 에이전트가 모든 경험을 다 해보려면 너무 많은 시간이 필요하다
어느정도는 에이전트가 학습된 대로 행동하는 것도 필요.
이용
학습된 결과에 에이전트의 행동을 결정하는 기법
Greedy method : 주어진 상태에서 에이전트가 가장 큰 가치를 얻을 수 있을 것으로 기대되는 행동만을 취하는 것.
ε-greedy
최적 정책을 찾기 위해서 탐험과 이용이 적절한 밸런스를 맞춰서 수행되어져야 함
이를 위해 제안된 기법이 ε-greedy 방법.
학습 초기에는 탐색을 수행할 확률을 높게 설정하고, 학습이 진행될수록 이용을 수행하는 확률을 늘리는 방법.
ε : Random exploration을 수행할 확률
일반적으로 ε의 값을 1부터 시작하여 조금씩 감소하여 고정값으로 (일번적으론 0.1) 수렴하는 방법을 택함.