[논문 리뷰 스터디] DeepMimic: Example-Guided Deep Reinforcement Learning of Physics-Based Character Skills
이 논문은 2018년에 OpenAI에서 물리 기반 강화학습을 연구하여 낸 논문이며, 실제로 저자인 Xue bin peng은 이 분야의 저명한 연구자로 AMP, ASE와 같은 영향력 있는 후속 논문을 냈습니다. 그 중 AMP는 Nvidia가 최근에 낸 Isaac이라는 시뮬레이터를 공개할 때 같이 예시로 공개된 모델이기도 합니다.
사람의 움직임을 익히도록 NN을 학습하는 방법은 예전부터 많았습니다. 이 방법은 몸의 무게중심의 위치, 이동거리 등의 보상을 주어 학습을 진행하는데, 이 reward가 사람의 직관에 따른다는 단점이 있습니다. 또한, 학습이 잘 진행되지 않아 우스꽝스러운 모습을 연출하기도 했습니다.
DeepMimic은 Motion Capture Data(MoCap)를 통해 사람의 움직입에 따르도록 학습시키는 방법을 채택하고 있습니다. 이 학습의 결과로 얻는 network는 가상환경 속에서 사람의 Dynamics를 얻는 것입니다.
Dynamic를 얻는 것에는 수식 기반 algorithm과 MoCap 기반 algorithm이 있는데, 둘 다 사용하면 행위에 비해 많은 Joints를 지닌 인간의 행동을 재현하기에는 힘이 들고, 수식 기반 algorithm을 사용하면 model별로 각각 계산을 진행해야하고, MoCap기반 algorithm을 사용하면 매번 해당 모션을 취득해야만 했습니다. 결국 다시 말하자면 “Walk”라는 행동의 본질이라는 것은 매우 복잡한 것입니다. 이를 Neural Network를 도입하여 해결하려는 것입니다.
DeepMimic의 Contribution은 크게 3가지로 볼 수 있습니다.
DeepMimic은 여러가지 RL methods를 사용할 수 있는데, LSTM + DDPG + PPO를 대표적으로 사용하였습니다.
Reinforcement Learning에는 Env와 Action으로부터 reward를 얻는 Value-based training과 Env로부터 action을 연결하는 network를 학습하는 Policy-based training이 존재하는데 전자의 방식은 reward가 중심이 되어 학습이 진행되므로 Action이 급작스럽게 바뀔 수 있으므로 사람의 움직임을 학습하는데 적합하지 않습니다. 이에 Policy-based methods 중에 가장 유명한 PPO를 사용하는 것입니다.
States는 각 link의 상대적인 위치, 회전, 선형 및 각속도를 포함하는 로컬 좌표계에서 계산되고, 시간에 따라 변화하는 목표 자세를 반영하기 위해 위상 변수가 포함됩니다.
Actions는 policy를 통해서 결정됩니다. Policy는 현재 상태를 입력을 받고 적절한 행동을 출력하는 함수입니다.
LSTM + DDPG
LSTM : Sequence data를 처리하는데 효과적이며 캐릭터의 움직임을 제어하기 위해 사용됩니다. 현재 상태와 목표 자세를 입력 받아 다음 행동을 출력합니다.
DDPG : 연속적인 행동 공간에서 Policy를 학습하는데 사용됩니다. 현재 상태를 입력으로 받아 연속적인 행동 공간에서 적절한 행동을 선택합니다.
Total reward
The imitation objective
Pose reward : joint orientation quarternions difference
Velocity reward : local joint angular velocities difference
End-effecter reward : character’s hands와 reference motion의 포지션 사이 difference
Center-of-mass reward : penalizes deviations in the character’s center-of-mass
Training할 때는 episode가 finite horizon입니다.
Early Termination은 이미 존재했지만, 종종 performance에 영향을 미쳤다고 평가되지는 않았습니다. 이 연구에서는 특정 links가 땅에 닿으면 episode가 끝나도록 설정됩니다.
Advatages
ET가 없으면 초기 단계에서 data가 넘어짐이나 좋지 않은 데이터로 지배될 가능성이 높습니다.
참고문헌
댓글 영역