오늘은 Actor-Critic Method의 구조와 TD Actor-Critic의 장점에 대해 배워볼 예정이다.


Deep Q-Network (DQN) : Value function 을 근사한다.
Policy Gradient (REINFORCE) : policy 를 근사한다.
Actor-Critic (A3C) : Value function과 policy를 근사한다.
DQN과 REINFORCE에 대한 추가적인 내용은 아래 글에서 확인 가능하다.
📃DQN: https://velog.io/@tina1975/Deep-Reinforcement-Learning-17강-DQN-1
📃REINFORCE: https://velog.io/@tina1975/Deep-Reinforcement-Learning-22강-REINFORCE
Actor-Critic Method는 value function과 policy 2가지 값을 근사한다.
따라서 2가지 Network로 구성되어 있다.
Critic Network : Value function 추정한다.
Actor Network : Policy 를 추정한다.
REINFORCE 모델은 value function을 따로 출력한 후 value function을 업데이트 함으로써 모든 를 동시에 업데이트하는 효과를 가진다.
파라미터를 업데이트 할 때 baseline을 빼줌으로써 sample data의 variance 역시 감소시킨다.
Baseline을 빼주더라도 Bias가 발생하지 않는다.
하지만 여전히 return 의 variance가 크다는 한계가 존재한다.
또한 REINFORCE 모델을 업데이트하기 위해서는 하나의 episode를 종료 후 return 를 구하기 때문에, online 학습이 불가능하다.

REINFORCE 모델의 한계를 극복하기 위해 Temporal Difference Actor-Critic에서는 return 대신 temporal difference를 target으로 사용하여 업데이트를 진행한다.
Temporal difference를 사용하기 때문에 하나의 episode가 아니라 다음 state에 대한 정보까지만을 활용한다.
그 결과 Online 학습이 가능해진다.
또한 Return 를 사용하지 않기 때문에 variance를 줄여 학습 속도를 높일 수 있다.

해당 자료에 대한 추가적인 내용은 아래 글에서 확인 가능하다.
📃링크: https://velog.io/@tina1975/Deep-Reinforcement-Learning-13강-Temporal-Difference-Learning-1

Actor Network만 사용할 경우 policy gradient method와 유사하다.
policy gradient method는 모델이 어떤 action을 취할 지 결정하는 policy 를 학습하는 모델이다.
Actor-critic에서는 Critic Network를 통해 를 출력한다.
이 값을 통해 policy gradient를 업데이트할 때 도움을 준다.



REINFORCE 모델은 Return 를 사용하기 때문에 variance가 크다.
이를 해결하기 위해 Baseline으로 를 빼줌으로써 variance를 줄인다. 이때 는 action과 관계가 없어 expectation 값에 영향을 주지 않는다.
TD Actor-Critic (5번째 모델)에서는 Return 대신 즉 1-step return을 사용한다. 이때 하기 때문에 expectation 값이 유지된다.
이므로 Q-value Actor-Critic 역시 expectation을 만족한다.
마지막으로 Advantage Actor-Critic은 Q-value Actor-Critic에서 baseline을 추가한 모델이다. 따라서 Expectation의 변화가 없다.



- Critic-Actor Method에는 Critic Network와 Action Network가 존재한다.
- Critic Network는 학습의 크기를 조정하는 value function을 추정한다.
- Actor Network는 학습의 방향을 결정하는 policy를 학습한다.
- TD Actor-Critic 모델이 가장 구현하기 쉽다.
- TD Actor-Critic의 pseudo code를 살펴보았다.