질문 | 답변 |
---|---|
이 데이터를 표현하는 함수가 뭐지? 잘 모르겠는데, 데이터가 너무 복잡한 걸 | 그럼 인공신경망을 사용해볼까? |
인공신경망은 함수야? | 웅, 인공신경망은 가중치($w$)와 편향($B$)으로 표현되는 함수야 |
그럼 가중치와 편향은 어떻게 알아내? | 데이터를 학습해서 알아내지 |
데이터를 학습하면 뭐가 바뀌는거야? | 가중치와 편향이 데이터에 맞게 바뀌지 |
그럼 인공신경망으로 모든 데이터를 표현할 수 있곘네? | 맞아, 다른 말로 인공신경망은 모든 함수를 표현할 수 있어. |
함수 근사법에서는 가치 함수를 근사하기 위해 $w$로 이루어진 함수 $J(w)$를 만들었다.
이번에는 유사하게 $\theta$로 이루어진 함수 $J(\theta)$로 정책을 평가하기 위한 함수를 정의한다.
이는 미분 가능하고 **정책 목적 함수(Policy Object Function)**라 부른다.
<aside> 💡 $J(\theta)$: 동일한 변수 $\theta$로 이루어진 **정책 함수 $\pi_\theta(s,a)$**를 통해 선택한 행동에서 얻을 수 있는 가치를 계산할 수 있는 함수(어떤 함수든지 OK)
</aside>
가치 신경망 | 정책 신경망 | |
---|---|---|
함수 | $J(w)$ | $J(\theta)$ |
목적 함수 | MSE | 정책이 가지는 가치 |
최적화 | Gradient Descent | Gradient Ascent |
→ $J(\theta)$는 정책의 가치를 의미하기 때문에 최댓값을 찾아야한다. 따라서 경사상승법(Gradient Ascent)을 사용해야 한다.
하나의 타임스텝만 고려하는 One Step MDP를 위한 가치 함수를 만들어보자.
하나의 타임스텝만 고려하기 때문에 식 1이 사라지고 2만 남는다. 그리고 Ons step MDP의 가치 함수를 정책 목적 함수로 사용하면 식 3을 얻는다.
우리의 목적은 정책 목적 함수를 max로 하는 $\theta$를 찾는 것이기 때문에 경사 상승법을 사용해야 한다.
이를 **정책 그래디언트(Policy Gradient)**라 한다.