Robotics
Paper list
DeepMimic: Example-Guided Deep Reinforcement Learning of Physics-Based Character Skills
reference 움직임들을 이용해 강화학습 덧붙여 자연스러운 동작 + reference 동작과 goal(task)가 주어질 때 주어진 goal을 해결하는 것이 목표
- training with a multi-clip reward based on a max operator
- training a policy to perform multiple diverse skills that can be triggered by the user
- sequencing multiple sigle-clip policies by using their value functions to evaluate the feasibility of transitions.
Approaches
- Kinetic Models
- 많은 데이터 있을때 효과적
- latent representation 위해 gaussian process, autoencoer 사용
- 문제가 복잡하면 잘 동작하지 않음.
- Physics-based Models
- 사람의 직관에 의존
- GAIL (paper link TBA)
- (TBA)
- RL
- 학습된 모습이 사람이 보기에 자연스럽지 못함
- (TBA)
- Motion Imitation
- (TBA)
reference 움직임은 목표 동작의 연속 {ˆqt} 로 표현
control policy는 π(at|st,gt) 로 표현
at는 관절들의 토크들 계산에 이용됨 -> PD(proportional-derivative) 컨트롤러의 target angle
뉴럴넷 사용하였고 PPO알고리즘으로 학습 {ˆqt} (reference motion)은 kinetic information을 제공함
State S
각 연결부위의 위치, 각도(quaternions)
Linear & angular 속도
Phase variable ϕ
Phase variable ϕ∈[0,1]
: ϕ=0는 움직임의 시작, ϕ=1은 끝을 나타낸다. 매 사이클마다 0로 초기화 한다.
Model
Action network: fully-connected (input -> 1024 -> 512 -> output)
Value network: fully-connected (1024 -> 512 -> 1)
vision-based task같은 경우에 주어지는 heightmap H 는 convolutional 통과시킴 (H -> 8x8 -> 4x4 -> 4x4 -> 64 -> concatenation)
Reward
rt=wIrIt+wGrGtwI: imitation weight
rIt: imitation reward
wG: goal weight
rGt: goal reward
rIt=wprpt+wvrvt+weret+wcrctwp: 0.65
rpt: pose reward -> 관절 방향 차이(quaternion)
wv: 0.1
rvt: velocity reward -> 관절 속도 차이(quaternion)
we: 0.15
ret: end-effector reward -> 왼발 오른발 왼손 오른손 위치차이(meter)
wc: 0.1
rct: penalize center of mass
rpt=exp[−2(∑j‖ { r }_{ t }^{ v }=exp\left[ -0.1\left( \sum _{ j }^{ }{ \left\| { \hat { \dot { q } } }_{ t }^{ j }- { \dot { q } }_{ t }^{ j } \right\| ^{ 2 } } \right) \right] { r }_{ t }^{ e }=exp\left[ -40\left( \sum _{ e }^{ }{ \left\| { \hat { p } }_{ t }^{ e }-{ p }_{ t }^{ e } \right\| ^{ 2 } } \right) \right] e\in[왼발, 오른발, 왼손, 오른손] { r }_{ t }^{ c }=exp\left[ -10\left( \left\| { \hat { p } }_{ t }^{ c }-{ p }_{ t }^{ c } \right\| ^{ 2 } \right) \right]\circleddash: quaternion differences
\left\| x \right\|: scalar rotation
PPO using the clipped surrogate objective
policy network \pi_\theta(a \mid s,g),
value function V_\psi(s,g)
episodic
initial state s_0 is sampled uniformly from reference motion (-> RSI: Reference State Initialization)
episode의 termination은 time limit이나 특정한 조건 만족되면 끝나도록 (-> ET: Early Termination) 해주었음. Early Termination을 통해 트레이닝에 중요한 것만 학습에 이용할 수 있다.
Multi-Skill Integration
- 하나의 reference clip 뿐만 아니라 여러개 동시에 고려
- 사용자가 reference clip 선택하게 할 수 있음(one-hot vector로 제공)
- 각 reference clip 학습을 따로 하는것이 아니라 한번에
Multi-Clip Reward
r_t^I = \underset { j=1,\cdots ,k }{ max } r_t^j (k 개의 motion)
한 개의 policy에 다 학습시키는 방법도 있지만 따로따로 학습시키고 적절한 policy를 선택하는 것도 생각해볼 수 있다. 이 경우에 value function이 일종의 estimator 역할을 한다.
\pi (a|s)=\sum _{ i=1 }^{ k }{ p^{ i }(s)\pi ^{ i }(a|s) } ,\quad p^{ i }(s)=\frac { exp[V^{ i }(s)/\tau] }{ \sum _{ j=1 }^{ k }{ exp[V^{ j }(s)/\tau] } } (\tau: Temperature Parameter)
각 task와 goal마다 reward 세팅이 조금씩 다름(페이퍼 참고)