[논문리뷰] AMP: Adversarial Motion Priors for Stylized Physics-Based Character Control
Xue Bin Peng, Ze Ma, Pieter Abbeel, Sergey Levine, Angjoo Kanazawa
University of California, Berkeley | Shanghai Jiao Tong University
August 2021
Introduction
물리 시뮬레이션 환경에서 캐릭터가 자연스럽게 움직이도록 만드는 것은 컴퓨터 애니메이션 분야의 핵심 과제입니다. 기존에는 크게 두 가지 접근 방식이 사용되어 왔습니다.
첫 번째는 사람이 직접 "자연스러운 동작"의 조건을 수식으로 정의하는 방법입니다. 대칭성, 안정성, 에너지 최소화와 같은 휴리스틱을 reward function에 반영하는 것인데, 이러한 조건들은 모든 동작에 보편적으로 적용하기 어렵고 동작이 바뀔 때마다 세밀한 튜닝이 필요합니다.
두 번째는 motion tracking 기반의 방법으로, MoCap 데이터를 활용하여 캐릭터가 특정 참조 동작을 프레임 단위로 따라가도록 학습시킵니다. 이 방법은 높은 품질의 동작을 생성할 수 있지만, 매 시간 단계마다 어떤 MoCap 클립을 따라가야 할지 선택해주는 motion planner가 별도로 필요합니다. 다양한 동작이 포함된 대규모 데이터셋을 사용할수록 이 motion planner의 설계가 복잡해지며, motion planner 자체의 성능이 캐릭터의 과제 수행 능력을 제약하게 됩니다.
본 논문에서는 이러한 한계를 해결하는 adversarial motion prior(AMP)를 제안합니다. 캐릭터가 "무엇을 해야 하는지"(task)는 간단한 reward function으로 지정하고, "어떻게 움직여야 하는지"(style)는 MoCap 데이터로부터 adversarial discriminator가 자동으로 학습합니다. 이를 통해 수동적인 모방 목적 함수 설계나 motion planner 없이도, 비정형 MoCap 데이터셋만으로 캐릭터가 다양한 과제를 자연스러운 스타일로 수행할 수 있게 됩니다.

Background
Goal-Conditioned Reinforcement Learning
AMP의 기반이 되는 프레임워크는 goal-conditioned 강화학습입니다. 일반적인 강화학습에서는 에이전트가 고정된 목표를 향해 학습하지만, goal-conditioned 설정에서는 매 에피소드마다 다른 목표 \(g \in \mathcal{G}\)가 주어지므로 하나의 policy로 다양한 목표에 대응할 수 있습니다.
각 시간 단계 \(t\)에서 에이전트는 현재 상태 \(\mathbf{s}_t \in \mathcal{S}\)를 관찰하고, policy \(\pi(\mathbf{a}_t | \mathbf{s}_t, g)\)에 따라 행동 \(\mathbf{a}_t \in \mathcal{A}\)를 선택합니다. 여기서 policy는 neural network로 구현되며, 주어진 상태와 목표에 대해 행동의 확률 분포를 출력하는 함수입니다. 행동의 결과로 새로운 상태 \(\mathbf{s}_{t+1}\)과 보상 \(r_t = r(\mathbf{s}_t, \mathbf{a}_t, \mathbf{s}_{t+1}, g)\)를 받습니다. 에이전트의 목표는 기대 할인 수익 \(J(\pi)\)를 최대화하는 policy를 학습하는 것입니다.
\[J(\pi) = \mathbb{E}_{p(g)} \mathbb{E}_{p(\tau | \pi, g)} \left[ \sum_{t=0}^{T-1} \gamma^t r_t \right]\]
여기서 \(p(\tau | \pi, g) = p(\mathbf{s}_0) \prod_{t=0}^{T-1} p(\mathbf{s}_{t+1} | \mathbf{s}_t, \mathbf{a}_t) \pi(\mathbf{a}_t | \mathbf{s}_t, g)\)는 policy \(\pi\)와 목표 \(g\) 하에서 궤적(trajectory) \(\tau = \{(\mathbf{s}_t, \mathbf{a}_t, r_t)_{t=0}^{T-1}, \mathbf{s}_T\}\)의 우도를 나타냅니다. 궤적은 한 에피소드 동안 에이전트가 경험한 상태, 행동, 보상의 전체 기록입니다. \(T\)는 시간 범위, \(\gamma \in [0, 1)\)는 할인 계수로, 미래 보상을 현재 가치로 환산할 때 사용됩니다.

Generative Adversarial Imitation Learning
Generative adversarial imitation learning(GAIL)은 GAN의 아이디어를 모방 학습에 적용한 방법입니다. 시연 데이터셋 \(\mathcal{M} = \{(\mathbf{s}_i, \mathbf{a}_i)\}\)이 주어지면, behavioral cloning으로 직접 policy를 학습할 수 있지만, 데이터가 적을 때 drift 현상이 발생하기 쉽습니다. 한 번 학습 데이터에서 벗어나면 그 상태에서의 올바른 행동을 모르므로 점점 더 벗어나게 되는 문제입니다. 또한 MoCap 데이터에는 관절의 위치만 기록되어 있을 뿐 해당 동작을 만들어낸 토크(행동) 정보가 포함되어 있지 않기 때문에, behavioral cloning을 직접 적용할 수 없습니다.
GAIL은 discriminator \(D(\mathbf{s}, \mathbf{a})\)를 학습시켜 시연 데이터와 policy가 생성한 데이터를 구별하고, 이 discriminator의 출력을 policy 학습의 보상으로 활용합니다.
\[\arg \min_D -\mathbb{E}_{d_\mathcal{M}(\mathbf{s}, \mathbf{a})} [\log D(\mathbf{s}, \mathbf{a})] - \mathbb{E}_{d_\pi(\mathbf{s}, \mathbf{a})} [\log(1 - D(\mathbf{s}, \mathbf{a}))]\]
\[r_t = -\log(1 - D(\mathbf{s}_t, \mathbf{a}_t))\]
\(d_\mathcal{M}(\mathbf{s}, \mathbf{a})\)와 \(d_\pi(\mathbf{s}, \mathbf{a})\)는 각각 데이터셋과 policy의 상태-행동 분포입니다. 이 학습 과정은 두 분포 사이의 Jensen-Shannon divergence를 최소화하는 것으로 알려져 있습니다. 직관적으로 말하면, 개별 동작을 하나씩 따라하는 것이 아니라 "어떤 동작이 얼마나 자주 나타나는지"라는 전체적인 패턴까지 일치시키는 것입니다.
Adversarial Motion Prior
Reward의 분리: What vs. How
AMP의 핵심 설계는 reward function을 task reward("what")와 style reward("how")로 분리한 것입니다.
\[r(\mathbf{s}_t, \mathbf{a}_t, \mathbf{s}_{t+1}, g) = w^G r^G(\mathbf{s}_t, \mathbf{a}_t, \mathbf{s}_t, g) + w^S r^S(\mathbf{s}_t, \mathbf{s}_{t+1})\]
task reward \(r^G\)는 캐릭터가 달성해야 할 상위 수준의 목표를 정의하며, 비교적 직관적으로 설계할 수 있습니다. style reward \(r^S\)는 동작의 자연스러움을 평가하는데, 이를 사람이 설계하는 것은 극도로 어렵기 때문에 adversarial discriminator가 자동으로 학습합니다. 두 보상은 가중치 \(w^G\)와 \(w^S\)로 결합되며, 모든 실험에서 \(w^G = w^S = 0.5\)로 설정되었습니다. 이 구조에서 policy는 task reward와 style reward를 동시에 높여야 하므로, 목표를 달성하되 자연스럽지 못한 동작이나, 자연스럽지만 목표와 무관한 동작은 모두 걸러지게 됩니다.
style reward \(r^S(\mathbf{s}_t, \mathbf{s}_{t+1})\)에는 목표 \(g\)가 포함되지 않습니다. 따라서 motion prior는 task-agnostic하며, 하나의 motion prior를 여러 과제에 적용할 수 있고, 같은 과제에 다른 motion prior를 적용하면 다른 스타일로 동작을 수행하도록 학습할 수 있습니다.
상태 전이 기반의 Discriminator
원래 GAIL은 시연자의 행동에 대한 접근이 필요하지만, MoCap 데이터에는 행동(토크) 정보가 포함되어 있지 않습니다. 이를 해결하기 위해 discriminator를 상태-행동 쌍 \(D(\mathbf{s}, \mathbf{a})\) 대신 상태 전이 \(D(\mathbf{s}, \mathbf{s}')\)에 대해 학습시킵니다.
\[\arg \min_D -\mathbb{E}_{d_\mathcal{M}(\mathbf{s}, \mathbf{s}')} [\log D(\mathbf{s}, \mathbf{s}')] - \mathbb{E}_{d_\pi(\mathbf{s}, \mathbf{s}')} [\log(1 - D(\mathbf{s}, \mathbf{s}'))]\]
여기서 discriminator의 역할은 policy에게 "이렇게 움직여라"라고 지시하는 것이 아닙니다. 학습 과정에서 policy가 먼저 행동을 선택하고, 물리 엔진이 그 결과로 다음 상태 \(\mathbf{s}_{t+1}\)을 결정한 뒤, discriminator가 \((\mathbf{s}_t, \mathbf{s}_{t+1})\) 쌍을 보고 점수를 매기는 사후 평가 구조입니다.
시연자(사람)와 에이전트(시뮬 캐릭터)의 체형이 다를 수 있어 상태 전이를 완벽히 재현하는 것은 불가능할 수 있지만, 논문에서는 이러한 불일치에도 불구하고 discriminator가 효과적인 학습 신호를 제공한다는 것을 실험적으로 보여줍니다.
Least-Squares Discriminator
표준 GAN의 sigmoid cross-entropy loss는 sigmoid 함수가 포화됨에 따라 vanishing gradient 문제가 발생할 수 있습니다. AMP에서는 least-squares GAN(LSGAN)의 loss를 채택합니다.
\[\arg \min_D \mathbb{E}_{d_\mathcal{M}} \left[ (D(\mathbf{s}, \mathbf{s}') - 1)^2 \right] + \mathbb{E}_{d_\pi} \left[ (D(\mathbf{s}, \mathbf{s}') + 1)^2 \right]\]
Discriminator는 데이터셋 샘플에 대해 \(+1\)을, policy 샘플에 대해 \(-1\)을 예측하도록 학습됩니다. 제곱 오차를 사용하므로 목표값에서 멀수록 gradient가 오히려 커져, sigmoid의 포화 문제를 피할 수 있습니다. Policy 학습용 보상은 다음과 같이 변환됩니다.
\[r^S(\mathbf{s}_t, \mathbf{s}_{t+1}) = \max \left[ 0, \; 1 - 0.25 (D(\mathbf{s}_t, \mathbf{s}_{t+1}) - 1)^2 \right]\]
오프셋, 스케일링, 클리핑을 통해 보상을 \([0, 1]\) 범위로 제한하며, 이는 이전 RL 프레임워크의 일반적인 관례입니다. 보상 범위를 통일하는 것은 value function의 안정적인 학습과, task reward와 style reward 간의 균형 유지에 중요합니다. 이 least-squares objective는 \(d_\mathcal{M}\)과 \(d_\pi\) 사이의 Pearson \(\chi^2\) divergence를 최소화하는 것으로 알려져 있습니다.
Discriminator Observations
상태 전이가 discriminator에 입력되기 전에 관찰 맵 \(\Phi(\mathbf{s}_t)\)을 적용하여 동작의 특성을 결정하는 데 관련된 feature를 추출합니다. 추출되는 feature는 root(골반) 기준의 선속도와 각속도, 각 관절의 local rotation과 velocity, 그리고 end-effector(손, 발)의 3D 위치이며, 모두 캐릭터의 local 좌표계 기준으로 표현됩니다.
local 좌표계를 사용하면 캐릭터가 세계 어느 위치에 있든 같은 동작에 대해 동일한 입력이 생성되므로, discriminator가 위치와 무관하게 동작 자체의 특성만 판단할 수 있습니다. 또한 목표 위치나 장애물 정보 등 과제별 정보를 의도적으로 제외하여, 동일한 motion prior를 여러 과제에 재사용할 수 있도록 합니다.
각 구형 관절의 3D 회전은 normal-tangent 좌표계의 두 3D 벡터를 사용하는 6D encoding으로 표현됩니다. 이 인코딩은 주어진 회전에 대해 smooth하고 유일한 표현을 제공합니다.
Gradient Penalty
GAN에서 discriminator가 실제 데이터 샘플의 manifold 위에서 0이 아닌 gradient를 할당하면, generator가 데이터 manifold에 수렴하지 못하고 오버슈팅하여 진동과 불안정성이 발생할 수 있습니다. 이를 완화하기 위해 데이터셋 샘플에 대해 0이 아닌 gradient를 penalty로 부여합니다.
\[\arg \min_D \mathbb{E}_{d_\mathcal{M}} \left[ (D(\Phi(\mathbf{s}), \Phi(\mathbf{s}')) - 1)^2 \right] + \mathbb{E}_{d_\pi} \left[ (D(\Phi(\mathbf{s}), \Phi(\mathbf{s}')) + 1)^2 \right] + \frac{w^{\text{gp}}}{2} \mathbb{E}_{d_\mathcal{M}} \left[ \left\| \nabla_\phi D(\phi) \big|_{\phi = (\Phi(\mathbf{s}), \Phi(\mathbf{s}'))} \right\|^2 \right]\]
계수는 \(w^{\text{gp}} = 10\)이며, gradient penalty는 전체 상태 \((\mathbf{s}, \mathbf{s}')\)가 아닌 관찰 feature \(\phi = (\Phi(\mathbf{s}), \Phi(\mathbf{s}'))\)에 대해 계산됩니다. Discriminator가 실제로 입력받는 feature 공간에서 smoothness를 보장하는 것이 policy에 안정적인 학습 신호를 제공하기 위함입니다. 실험에서 gradient penalty는 안정적인 학습과 효과적인 성능을 위해 가장 중요한 구성 요소로 나타났습니다.
Model Representation
States and Actions
상태 \(\mathbf{s}_t\)에는 각 link의 root 기준 상대 위치, 6D normal-tangent encoding으로 표현된 회전, 선속도, 각속도가 포함되며, 모두 캐릭터의 local 좌표계로 기록됩니다. 이전 시스템들이 스칼라 phase 변수나 target 포즈를 포함하여 policy를 특정 참조 모션과 동기화한 것과 달리, AMP의 policy는 데이터셋의 특정 모션을 명시적으로 모방하도록 학습되지 않으므로 이러한 동기화 정보가 필요하지 않습니다. 이 phase 변수의 부재가 AMP가 대규모 비정형 데이터셋을 별도의 클립 선택 메커니즘 없이 활용할 수 있는 핵심적인 이유입니다.
각 행동 \(\mathbf{a}_t\)는 캐릭터 관절에 위치한 PD controller의 목표 위치를 지정합니다. 구형 관절의 경우 3D exponential map \(\mathbf{q} \in \mathbb{R}^3\)으로 표현되며, 회전 축 \(\mathbf{v}\)와 회전 각도 \(\theta\)는 다음과 같이 결정됩니다.
\[\mathbf{v} = \frac{\mathbf{q}}{\|\mathbf{q}\|_2}, \quad \theta = \|\mathbf{q}\|_2\]
이 표현은 4D quaternion보다 컴팩트하며, Euler angle의 gimbal lock을 회피합니다. Policy가 목표 각도를 출력하면 PD controller가 현재 각도와의 차이에 비례하는 토크를 계산하여 물리 엔진에 적용합니다.

Network Architecture
각 policy \(\pi\)는 상태 \(\mathbf{s}_t\)와 목표 \(g\)를 행동에 대한 Gaussian 분포 \(\pi(\mathbf{a}_t | \mathbf{s}_t, g) = \mathcal{N}(\mu(\mathbf{s}_t, g), \Sigma)\)로 매핑하는 neural network입니다. 평균 \(\mu(\mathbf{s}_t, g)\)는 입력에 의존하며, 공분산 \(\Sigma\)는 학습 과정에서 고정됩니다. Network는 1024, 512 유닛의 두 개 은닉 레이어(ReLU)와 linear 출력 레이어로 구성됩니다. Value function \(V(\mathbf{s}_t, g)\)와 discriminator \(D(\mathbf{s}_t, \mathbf{s}_{t+1})\)는 유사한 구조의 별도 network입니다.
Training
Policy는 GAIL과 PPO(Proximal Policy Optimization)의 조합으로 학습됩니다. 각 시간 단계 \(t\)에서 에이전트는 환경으로부터 task reward \(r^G_t\)를 받고, motion prior에 style reward \(r^S_t\)를 쿼리하여 결합합니다.
Reference state initialization을 적용하여 캐릭터를 데이터셋의 모든 모션 클립에서 랜덤 샘플링된 상태로 초기화합니다. 이를 통해 항상 같은 초기 자세에서 시작하는 것이 아니라, 다양한 동작의 중간 상태에서도 학습할 기회를 제공합니다. 대부분의 과제에서 발을 제외한 신체 부위가 지면과 접촉하면 에피소드를 조기 종료합니다.
수집된 데이터로 policy와 value function을 업데이트합니다. Value function은 TD(\(\lambda\))로, policy는 GAE(\(\lambda\))로 계산된 advantage를 사용하여 업데이트됩니다. 각 궤적은 replay buffer \(\mathcal{B}\)에도 저장됩니다. Discriminator는 MoCap 데이터셋 \(\mathcal{M}\)에서 \(K\)개의 전이와 replay buffer에서 \(K\)개의 전이를 샘플링하여 업데이트되며, replay buffer는 discriminator가 최근 policy의 궤적에만 과적합되는 것을 방지합니다.
Tasks
34 DoF 휴머노이드, 59 DoF T-Rex, 64 DoF 개를 대상으로 5가지 과제를 수행합니다.
Target Heading 과제에서 캐릭터의 목표는 방향 \(\mathbf{d}^\ast\)로 속도 \(v^\ast \in [1, 5]\) m/s에 맞추어 이동하는 것입니다. Target Location 과제에서는 목표 위치 \(\mathbf{x}^\ast\)로 이동합니다. Dribbling 과제에서는 축구공을 목표 위치까지 드리블하며, 상태에 공의 위치, 방향, 속도 정보가 추가됩니다. Strike 과제에서는 지정된 end-effector로 타겟을 타격해야 하며, 타겟이 다양한 거리에 위치하므로 접근과 타격이라는 서로 다른 최적 행동을 합성해야 합니다. Obstacles 과제에서는 장애물 지형을 통과하며, 상태에 1D 높이 필드가 추가됩니다.
Results
실험 환경
Bullet 물리 엔진(1.2kHz)에서 시뮬레이션되며, policy는 30Hz로 쿼리됩니다. Gradient penalty 계수 \(w^{\text{gp}} = 10\)이며, 과제에 따라 100~300 million 샘플, 16 CPU 코어에서 30~140시간이 소요됩니다. 가장 큰 데이터셋은 8명 배우, 56개 클립, 총 434초입니다.

자동 Skill Composition
Target Heading 과제에서 걷기, 뛰기, 조깅을 포함하는 locomotion 데이터셋으로 학습하면, 목표 속도에 따라 걸음걸이가 자동으로 전환됩니다. 느린 속도(약 1m/s)에서는 걷기, 빠른 속도(약 2.5m/s)에서는 조깅, 더 빠른 속도(약 4.5m/s)에서는 달리기를 채택합니다. 턴 시 banking하거나 방향 변경 전 감속하는 등 인간과 유사한 전략도 나타납니다.
이러한 보행 전환이 motion prior의 산물인지 task objective의 결과인지 확인하기 위해, 걷기 데이터만 또는 뛰기 데이터만으로 학습한 결과, 걷기만으로 학습한 policy는 빠른 속도를 달성하지 못하고, 뛰기만으로 학습한 policy는 느린 속도에 대응하지 못합니다. 이는 policy가 보여주는 행동의 다양성이 대부분 motion prior에 기인함을 나타냅니다.
Strike 과제에서는 걷기 클립과 펀치 클립의 컬렉션으로 motion prior를 학습하였습니다. 데이터셋에는 순전히 걷기만 또는 펀치만의 클립이 포함되어 있으며, 걸어가서 펀치하는 클립은 없습니다. 그럼에도 policy는 타겟이 멀 때 걸어가고, 범위 안에 들어오면 펀치로 전환하는 temporal composition을 자동으로 학습합니다. 이러한 skill의 합성은 motion planner 없이 motion prior로부터 자동으로 나타납니다.
Locomotion + getup 데이터를 추가하면 캐릭터가 넘어진 후 회복하여 과제를 계속 수행할 수 있게 됩니다. 앞으로 넘어질 때 몸을 구르며 빠르게 일어나는 전략이 발견되기도 하는데, 이 특정 행동은 MoCap 데이터에 존재하지 않았지만 데이터셋의 행동을 일반화하여 새로운 상황에 대한 자연스러운 전략을 생성한 것입니다.
Latent Space Model과의 비교
대안적 접근인 latent space model에서는 low-level controller를 motion tracking objective로 사전학습한 뒤, 별도의 high-level controller를 downstream task에 대해 학습합니다. Low-level과 high-level이 별도로 학습되므로, high-level controller가 지정하는 인코딩 분포가 사전학습 중 관찰된 분포와 달라질 수 있으며, 이는 부자연스러운 동작을 초래할 수 있습니다. AMP는 reward function을 통해 모션 스타일을 직접 강제하므로 이러한 아티팩트를 더 잘 완화합니다. Latent space model은 구조화된 탐색으로 downstream task를 더 빠르게 학습하지만, low-level controller의 사전학습에 300 million 샘플이 필요합니다. AMP에서는 이러한 사전학습이 필요하지 않으며, motion prior를 policy와 동시에 학습할 수 있습니다.
Single-Clip Imitation
task reward 없이 style reward만으로 개별 MoCap 클립을 모방하는 실험에서, AMP는 phase 변수를 사용하지 않으므로 모션이 다른 속도로 진행될 수 있습니다. 이를 보정하기 위해 dynamic time warping(DTW)으로 정렬한 후 포즈 오차를 계산합니다.
\[e^{\text{pose}}_t = \frac{1}{N_{\text{joint}}} \sum_{j \in \text{joints}} \left\| (\mathbf{x}^j_t - \mathbf{x}^{\text{root}}_t) - (\hat{\mathbf{x}}^j_t - \hat{\mathbf{x}}^{\text{root}}_t) \right\|_2\]
Tracking 기반 방법은 참조 모션과 동기화되어 일반적으로 더 빠르게 학습하고 낮은 오차를 달성하지만, AMP는 수동 reward engineering이나 동기화 없이 비슷한 수준의 품질을 달성합니다. 다만 Front-Flip과 같은 동작에서는 local optimum에 수렴하여, flip을 수행하는 대신 앞으로 슬금슬금 이동하는 전략을 학습하는 경우가 있습니다. Tracking 기반 방법은 포즈가 참조에서 크게 벗어나면 에피소드를 조기 종료하여 이러한 local optima를 완화할 수 있지만, 참조 모션과 동기화되지 않는 AMP에서는 이 전략을 직접 적용할 수 없습니다. 다만 이러한 동기화의 부재가 바로 AMP가 대규모 비정형 데이터셋을 쉽게 활용할 수 있게 해주는 요인이기도 합니다.
Ablations
Gradient penalty가 가장 중요한 구성 요소입니다. 이 정규화 없이 학습된 모델은 학습 중 큰 성능 변동을 보이며 최종 policy에 시각적 아티팩트가 나타납니다. Discriminator의 속도 feature도 일부 동작에서 중요한데, 속도 feature 없이 학습하면 구르기(rolling) 과제에서 캐릭터가 실제로 구르지 않고 바닥에 고정된 포즈를 유지하는 전략으로 수렴하는 경향이 있습니다. 원리적으로 연속된 포즈를 입력으로 받으면 관절 속도를 어느 정도 추론할 수 있지만, 이것만으로는 일부 동작에 대해 불충분하다는 것이 확인되었습니다.
Discussion and Limitations
AMP는 motion planner나 클립 선택 메커니즘 없이 대규모 비정형 데이터셋으로부터 다양한 행동을 모방하고, 과제 목표 달성을 위한 이질적인 skill의 합성이 자동으로 나타나는 프레임워크를 제시하였습니다.
그러나 다른 GAN 기반 기법과 마찬가지로 mode collapse에 취약합니다. 다양한 모션 클립이 제공되더라도 policy가 일부 행동만 반복적으로 사용하고, 궁극적으로 더 최적일 수 있는 다른 행동을 무시하는 경향이 있습니다.
또한 motion prior는 대체로 task-agnostic하므로 원칙적으로 다른 policy와 과제에 전이하고 재사용할 수 있어야 하지만, motion prior 학습에 사용되는 데이터가 특정 과제를 수행하는 policy에 의해 생성되므로 과제 의존성이 도입되어 전이를 저해할 수 있습니다.
본 논문의 실험은 주로 temporal composition(캐릭터가 서로 다른 시점에 다른 행동을 수행)에 초점을 맞추고 있으며, 캐릭터가 여러 skill을 동시에 수행해야 하는 spatial composition은 일부 과제에서 중요할 수 있지만 아직 다루지 못하였습니다. 저자들은 spatial composition에 더 적합한 motion prior를 개발하는 것이 더 유연하고 정교한 행동으로 이어질 수 있을 것이라고 언급하고 있습니다.
'개인공부 > CV' 카테고리의 다른 글
| SuperPADL: Scaling Language-Directed Physics-Based Control with Progressive Supervised Distillation (0) | 2026.05.14 |
|---|---|
| PointNet++ 논문 정리 (0) | 2024.11.10 |