본문 바로가기
개념공부/강화학습(Reinforcement Learning)

강화학습 8 <Continuous Action Space에 적용가능한 DDPG>

by Zach Choi 2022. 1. 10.
728x90
반응형

최근에 공부한 강화학습 방법은 DQN와 Actor-Critic이 었다. 이 두 방법은 각각 Q함수와 정책 경사를 선택한 방법이다. 그리고 이 두 방법 이후 제시된 방법은 DDPG이다. DDPG는 Deep Deterministic Policy Gradient의 약자이다. 이 방법은 두개의 특징을 가지고 있다.

 

1. Continuous Action Space (real-value) 에 적용 가능하다.

2. Deterministic Policy를 사용한다.

 

지금까지 적용한 강화학습 예제는 그리드월드와 같이 Action이 Discrete한 경우였다. 그런데 실제로 Action은 실수단위의 Continuous할 수 있다. 이 경우 Q함수나 Value Function을 학습시킬 수가 없다. Dimension이 거의 무한에 가깝기 때문이다. 그래서 제안되는 방법은 행동을 이산화 하는 것이다. x Resolution을 가지도록 Action을 나누는 것인데, 이 경우 인공신경망이 최적으로 수렴되지 못한다고 한다. 그리고 Continuous Action 상태에서는 Q- learning과 같이 Max Q 값을 구할 수 가 없다. 이 또한 Dimension이 무한하기 때문이다. 그래서 Continuous Action space를 가진 문제에서는 Policy gradient를 사용한다. 

 

또 DDPG 에서는 Deterministic Policy를 사용한다. 지금까지는 Stochastic Policy를 사용했는데, 이 방법에서 인공신경망 (=정책)은 Action 별 확률을 출력한다. 그런데 Deterministc Policy에서는 단 하나의 Action만 출력한다. 어떻게 보면 가장 확률이 높은 Action을 출력하고 나머지 Action의 확률은 0으로 설정하는 것과 동일하다. Deterministic Policy를 사용했을 때 장점은 Q함수 계산 시 정책에 의한 영향은 무시되고, 환경에 의한 (R, A) 영향만 고려되는 것이라고 한다. (이것이 왜 장점인지는 모르겠다. 유추하기론, 아직 학습이 완료되지 않은 정책이 Q함수 추정에 영향을 주게되는 것을 방지할 수 있어서가 아닐까 싶다.)

 

기존 Q함수 계산 수식

 

Deterministic Q 함수 계산 수식

 

Deterministic Policy의 또 다른 단점은 state 별 Action이 한개다 보니 Exploration을 할 수 없다는 것이다. 그래서 인공신경망에서 출력된 Action 값에 Noise Term을 추가해준다. Noise에는 가우시안 Noise를 쓸수도 있고 Ornstein-Uhlenbeck 방식을 사용하기도 한다.

 

 

 

DDPG 방식은 논문에서 제안된 방식으로 이런저런 트릭이 포함되어 있다. 그보다 여기서 배워야 할것은 Continuous Action Space인 MDP는 Policy Gradient를 적용해야 한다는 것이다. 그리도 Deterministic Policy 방식이 있는데, 이는 Q함수 계산 시 (Actor- Critic 방법을 적용한다고 가정하면) 정책의 영향 없이 계산할 수 있다는 장점이 있지만 Exploration을 할 수 없다는 단점이 있다. 이를 보완하기 위해 Noise Term을 추가해준다.

728x90
반응형