[Paper] Deep Deterministic Policy Gradient 알고리즘을 응용한자전거의 자율 주행 제어
Deep Deterministic Policy Gradient(DDPG)의 활용 사례를 탐구하기 위해 해당 논문을 읽고 사용된 개념 및 결과를 분석하였다.
해당 논문은 DDPG 알고리즘을 이용하여 자전거 자율주행 제어한다.
1. Background
- Reinforce Learning (RL)
강화 학습(Reinforcement learning)은 기계 학습의 한 영역이다. 행동심리학에서 영감을 받았으며, 어떤 환경 안에서 정의된 에이전트가 현재의 상태를 인식하여, 선택 가능한 행동들 중 보상을 최대화하는 행동 혹은 행동 순서를 선택하는 방법이다.
[위키: 강화 학습]
강화학습은 인공지능의 학습 방법인 지도학습, 비지도학습, 강화학습 중 한 분류이다. 학습의 목표를 달성하기 위해 수많은 시행착오를 진행하면서 경험을 통해 학습을 한다. 학습하는 과정에서 한 시점의 각 행동에 대한 결과로 보상을 주고 보상을 최대화하는 행동을 선택한다. 이러한 강화학습에서 사용되는 용어는 아래와 같다.
- 에이전트(Agent) : 학습 대상
- 행동(Action) : Agent가 취하는 행동
- 환경(Environment) : Agent가 Action을 취하는 환경
- 보상(Reward) : Agent가 한 번 학습했을 때 주어지는 값
- 정책(Policy) : 궁극적으로 학습을 통해 구하려는 것으로 특정 상황에서의 action 혹은 action의 확률을 정의합니다.
- Exploitation : 학습을 한 결과를 바탕으로 탐색을 하는 방법
- Exploration : 새로운 학습을 위해 학습이 제시한 가이드라인 밖을 벗어난 방법으로 탐색을 하는 방법
[ref: [HUFS RL] 강화학습 : Reinforcement Learning Introduction]
위의 용어로 강화학습을 정의하면, Agent가 Environment와 상호작용하며 학습을 진행하고 이때 Agent는 Environment가 제공하는 Reward를 통해 가치를 판단하고 그 결과로 Policy를 결정한다. 이것을 도식화하면 아래 fig 1과 같다.
이러한 강화학습은 순차적으로 행동을 결정을 내려하는 문제에 적용할 수 있다. 순차적으로 행동을 결정하는 문제를 정의하기 위해 마르코프 결정 과정(MDP)을 사용한다. 이는 아래에서 설명하겠다.
- Markov Decision Process (MDP)
MDP를 설명하기 위해 확률적 과정(Stochastic Process, SP), 마르코프 과정(Markov Process, MP), 마르코프 보상 과정(Markov Reward Process) 순서로 설명을 하겠다. 먼저 전체적인 개념을 시각화 하면 아래 그림과 같다.
불확실한 상황 하에서 의사결정을 하려면 확률에 기초하여 분석을 해야한다. 어떤 사건이 발생할 확률 값이 시간에 따라 변화해 가는 과정을 확률적 과정(Stochastic Process)한다. 이때 시간이 지남에 따라 확률값을 전달하는 것을 전이라고한다.
이러한 확률적 과정(SP) 중에서 마르코프 가정(Markov Property
한 가지 특별한 경우가 마르코프 과정(Markov Process)이다. 마르코프 가정은 "현재는 모든 과거를 온전히 표현한다" 즉, "과거를 기억하지 않는다"라는 가정이다. 현재 상황에 도달하기 까지 어떤 상태를 거쳐 왔던지, 현재 상태에 도달했다면 동일한 상태로 본다는 의미이다. 따라서 미래를 고려할 때 현재 상태만을 고려하게 된다.
마르코프 보상 과정(Markov Reward Process)는 MP에 reward 개념이 추가된 것이다. 각 확률적 과정에서 각 상태 전이에 Reward를 부여하여 상태 전이의 좋고 나쁨을 가릴 수 있다.
마지막으로 마르코프 결정 과정(Markov Decision Process)는 MRP에서 action 개념이 추가된 것이다. MRP의 상태 전이는 확률에 따라서 진행 되고 그에 따른 Reward를 받는다. 따라서 MRP의 상태 전이는 선택권이 없이 그저 정해진 확률에 따라 진행되지만, MDP의 상태 전이는 그 과정에서 action이라는 선택지가 주어지고 action을 선택 후, 정해진 확률에 따라 진행한다.
MDP는 상태(state), 행동(action), 보상함수(reward function), 상태변환 확률(stochastic transition), 감가율(depreciation rate), 정책(policy)로 구성된다.
결론적으로 강화학습은 해결해야되는 순차적인 행동 결정 문제를 정의하기 위해 문제를 MDP로 전환하고 어떤 policy가 더 좋은 policy인지 결정하기 위해 가치 함수(value function)를 반복적으로 계산하며, 최적의 가치 함수(optimal value function)과 최적의 정책(optimal policy)를 찾는다.
일반적으로 강화학습에서는 가치 함수를 구하기 위해 벨만 방적식(Bellman Equation)을 활용한다. 가치 함수를 정의하면 아래와 같고 아래 수식을 통해 현재 상태에서 policy를 따라 갔을 때 예상되는 reward의 합을 구한다. 이는 상태에 대한 가치로 다음 상태로 가기 위한 행동을 선택하여 상태를 이동시킨다.
위에서 언급한 가치 함수는 상태의 가치를 판단한다. 하지만 이때 다음 상태에 대한 정보, 상태 변환 확률 또한 고려해야한다. 따라서 상태에 대한 가치 뿐만 아니라 행동에 대한 가치 함수를 구할 수 있어야한다. 따라서 각 행동의 가치를 직접적으로 나타내는 Q 함수(행동 가치 함수)를 사용한다. Q 함수의 정의는 아래와 같다. 이러한 Q 함수를 이용하면 어떤 행동을 할지 판단하면 되기 때문에 상태들의 가치를 판단하고 어떤 행동을 했을 때 특정 다음 상태로 가게 될 확률을 고려하지 않는다. 즉, Q함수는 특정 상태 s에서 특정 행동 a를 취했을 때 받을 반환값에 대한 기댓값으로 특정 행동 a를 했을 때 얼마나 좋을 것인지에 대한 값을 얻을 수 있다.
더 좋은 정책을 찾는 과정을 반복하면 결국 최적의 정책을 찾을 수가 있다. 최적 정책은 최적 가치함수를 받게 하는 정책이며 이때 가치함수 사 이의 관계식은 다음과 같이 정의할 수 있다. 이에 대한 자세한 내용은 참고자료 [3]에서 확인할 수 있다.
- Actor-Critic (A2C)
Actor-Critic은 Actor 네트워크와 Critic 네트워크 두 개의 네트워크를 사용하여 Actor는 action이 주어졌을 때 action을 결정하고 Critic은 state의 가치를 평가한다.

학습을 에피소드 마다만 학습하는 경우 에피소드가 길어지면 상태 (s,a)에 대한 반환값의 변화가 커지기 때문에 분산이 커지게 된다. 이 경우 학습이 느려지는 단점이 있다. 따라서 parameter를 하나 더 사용하여 Q 함수를 근사한다. 이러한 알고리즘을 Actor-Critic 알고리즘이라고 한다.
Actor는 policy를 근사하는 θ를 업데이트하고 Critic은 action value function을 근사하는 w를 업데이트한다.
행동을 선택하는 인공신경망이 액터가 되며 큐 함수를 근사하며 행동에 대한 판단을 하는 인 공신경망은 크리틱이 된다. 액터와 크리틱의 업데 이트 식은 다음과 같이 표현된다
- Deep Deterministic Policy Gradient (DDPG)
Deep Deterministic Policy Gradient 알고리즘을 응용한 자전거의 자율 주행 제어
DDPG(Deep Deterministic Policy Gradient)알고리즘은 인공신경망과 강화학습을 사용하여 학습하는 알고리즘이다. 최근많은 연구가 이루어지고 있는 강화학습과 관련된 연구 중에서도 DDPG 알고리즘은 오프
www.kci.go.kr
참고자료
[Ch. 3] 마르코프 결정 과정(MDP, Markov Decision Process) + Markov Reward Process(MRP), Markov Process(MP)
이전 장에서는 확률과정(Stochastic process)과 Markov property에 대해 설명하였습니다. 이번 장에서는 ...
blog.naver.com
[2] https://eehoeskrap.tistory.com/154
[Deep Learning] 5. 마코프 의사결정 과정 (Markov decision process, MDP)
출처 1 : http://rfriend.tistory.com/184 출처 2 : http://secom.hanbat.ac.kr/or/chapter1/right04.html 출처 3 : https://brunch.co.kr/@kakao-it/73 먼저 마코프 의사결정 과정을 살펴보기에 앞서, 이 개념..
eehoeskrap.tistory.com
[강화학습 이론] 벨만 기대 방정식과 벨만 최적 방정식
책: wikibook.co.kr/rlrev/ 파이썬과 케라스로 배우는 강화학습 (개정판): 내 손으로 직접 구현하는 게임 인공지능 강화학습의 기초부터 최근 알고리즘까지 친절하게 설명합니다! ‘알파고’로부터 받
dana-study-log.tistory.com