Quadruped Robot Simulation Based Reinforcement Training 연구노트 (1)

필수 사전지식

1. PPO, SAC, TD3 등 연속 제어 알고리즘

1.1 PPO (Proximal Policy Optimization)

PPO는 정책 최적화 알고리즘 중 가장 널리 사용되는 알고리즘임. 기존 TRPO의 복잡한 제약 조건을 단순화하여 구현이 용이하면서도 안정적인 학습이 가능함.

PPO의 핵심 개념: 정책 업데이트 시 이전 정책과 너무 많이 달라지지 않도록 제한하는 것임. 이를 통해 학습의 안정성을 확보함.

Clip 함수의 역할: PPO는 확률 비율을 클리핑하여 정책 업데이트의 크기를 제한함. 클리핑 범위는 일반적으로 [1-ε, 1+ε]로 설정하며, ε는 0.1~0.3 범위에서 설정함.

사족보행에서의 장점: PPO는 연속적인 관절 제어에 적합하며, 복잡한 보상 구조에서도 안정적으로 학습이 가능함. 또한 병렬 환경에서의 데이터 수집에 효율적임.

1.2 SAC (Soft Actor-Critic)

SAC는 엔트로피 정규화를 통해 탐험과 활용의 균형을 자동으로 조절하는 off-policy 알고리즘임. 최대 엔트로피 강화학습의 원리를 따름.

엔트로피 정규화: 정책의 엔트로피를 목적함수에 추가하여 탐험을 장려함. 이를 통해 지역 최적점에 빠지는 것을 방지하고 더 robust한 정책을 학습함.

자동 온도 조절: SAC는 온도 파라미터 α를 자동으로 조절하여 탐험의 정도를 동적으로 결정함. 이는 수동 하이퍼파라미터 튜닝의 부담을 줄여줌.

샘플 효율성: Off-policy 특성으로 인해 경험 재생을 활용할 수 있어 샘플 효율성이 높음. 사족보행과 같이 물리 시뮬레이션 비용이 높은 환경에서 유리함.

1.3 TD3 (Twin Delayed Deep Deterministic Policy Gradient)

TD3는 DDPG의 개선된 버전으로, 세 가지 주요 기법을 통해 성능을 향상시킨 알고리즘임.

Twin Critics: 두 개의 Q-함수를 사용하여 overestimation bias를 줄임. 두 Q-함수 중 작은 값을 사용하여 보수적인 추정을 수행함.

Delayed Policy Updates: 정책 업데이트를 비평자 업데이트보다 적게 수행하여 정책이 불안정한 가치 함수에 의해 오도되는 것을 방지함.

Target Policy Smoothing: 타겟 정책에 노이즈를 추가하여 함수 근사 오차에 대한 robustness를 증가시킨 것임.

2. Actor-Critic 구조와 정책 경사법

2.1 Actor-Critic 구조

Actor-Critic은 정책 기반 방법과 가치 기반 방법의 장점을 결합한 구조임. Actor는 정책을 학습하고, Critic은 가치 함수를 학습함.

Actor의 역할: 주어진 상태에서 어떤 행동을 취할지 결정하는 정책 π(a|s)를 학습함. 사족보행에서는 각 관절의 토크나 목표 각도를 출력함.

Critic의 역할: 상태의 가치 V(s) 또는 상태-행동 쌍의 가치 Q(s,a)를 추정함. 이는 Actor의 정책 개선에 필요한 피드백을 제공함.

상호작용: Critic이 제공하는 가치 추정을 통해 Actor는 더 나은 행동을 학습하고, Actor의 행동을 통해 Critic은 더 정확한 가치 함수를 학습함.

2.2 정책 경사법 (Policy Gradient)

정책 경사법은 정책을 직접 최적화하는 방법으로, 정책 파라미터에 대한 기댓값의 gradient를 계산하여 정책을 개선함.

REINFORCE 알고리즘: 가장 기본적인 정책 경사법으로, 몬테카르로 방법을 사용하여 정책 gradient를 추정함. 하지만 높은 분산으로 인해 학습이 불안정함.

Baseline의 도입: 분산을 줄이기 위해 baseline (일반적으로 가치 함수)을 사용함. 이를 통해 advantage 함수 A(s,a) = Q(s,a) - V(s)를 계산함.

자연 정책 경사법: 정책 공간의 기하학적 구조를 고려하여 더 효율적인 업데이트를 수행하는 방법임. Fisher 정보 행렬을 사용하여 자연 gradient를 계산함.

3. 경험 재생과 샘플 효율성

3.1 경험 재생 (Experience Replay)

경험 재생은 과거의 경험을 저장했다가 재사용하는 기법으로, off-policy 알고리즘에서 핵심적인 역할을 함.

리플레이 버퍼: 경험 (s, a, r, s')을 저장하는 메모리 구조임. 일반적으로 FIFO 방식으로 관리되며, 최대 크기에 도달하면 오래된 경험을 제거함.

샘플링 전략: 균등 샘플링이 기본이지만, Prioritized Experience Replay처럼 중요도에 따른 샘플링도 사용됨. TD-error가 큰 경험을 더 자주 샘플링함.

데이터 상관관계 해결: 연속적인 경험 간의 상관관계를 줄여 학습의 안정성을 향상시킴. 이는 신경망 학습에서 중요한 i.i.d 가정을 만족하게 도움.

3.2 샘플 효율성

샘플 효율성은 주어진 수의 환경 상호작용으로 얼마나 좋은 성능에 도달할 수 있는지를 나타내는 지표임.

On-policy vs Off-policy: Off-policy 방법이 일반적으로 샘플 효율성이 높음. 과거 데이터를 재사용할 수 있기 때문임.

함수 근사의 영향: 신경망과 같은 함수 근사기의 사용은 일반화 능력을 높여 샘플 효율성을 개선함.

탐험 전략: 효율적인 탐험 전략은 샘플 효율성에 직접적인 영향을 미침. UCB, Thompson Sampling 등의 방법이 사용됨.

4. 보상 함수 설계 및 희소 보상 문제

4.1 보상 함수 설계 원칙

보상 함수는 에이전트가 학습해야 할 목표를 수치적으로 표현하는 핵심 요소임. 잘못 설계된 보상 함수는 의도하지 않은 행동을 유발할 수 있음.

명확성: 보상 함수는 원하는 행동을 명확하게 반영해야 함. 모호한 보상은 바람직하지 않은 행동을 학습시킬 수 있음.

균형성: 여러 목표 간의 균형을 맞춰야 함. 사족보행에서는 속도, 안정성, 에너지 효율성 등을 모두 고려해야 함.

Shaping: 중간 목표를 통해 학습을 가이드하는 기법임. 하지만 과도한 shaping은 local optima에 빠뜨릴 수 있음.

4.2 사족보행을 위한 보상 함수 설계

전진 보상: 로봇의 전진 속도에 비례하는 보상을 제공함. 일반적으로 목표 속도와의 차이에 반비례하도록 설계함.

안정성 보상: 몸체의 방향, 높이, 각속도 등을 통해 안정성을 평가함. 급격한 움직임이나 넘어짐에 대해 페널티를 부여함.

에너지 효율성: 관절 토크의 제곱합이나 전력 소모를 최소화하도록 하는 보상을 추가함.

접촉 패턴: 적절한 발걸음 패턴을 유도하기 위해 발과 지면의 접촉 시간과 패턴을 고려함.

4.3 희소 보상 문제 해결

희소 보상 환경에서는 보상 신호가 드물게 발생하여 학습이 어려움. 이를 해결하기 위한 다양한 방법이 개발됨.

커리큘럼 학습: 쉬운 과제부터 시작하여 점진적으로 난이도를 높이는 방법임. 사족보행에서는 평지 → 경사 → 계단 순으로 진행할 수 있음.

모방 학습: 전문가의 시연을 통해 초기 정책을 학습한 후 강화학습으로 개선하는 방법임. Behavioral Cloning이나 GAIL 같은 기법이 사용됨.

내재적 동기: 호기심이나 내재적 보상을 통해 탐험을 장려하는 방법임. Count-based exploration이나 ICM (Intrinsic Curiosity Module) 등이 있음.

HER (Hindsight Experience Replay): 실패한 경험도 다른 목표에 대해서는 성공으로 간주하여 학습에 활용하는 방법임.

5. 구현 시 고려사항

5.1 하이퍼파라미터 튜닝

학습률: 너무 높으면 불안정하고, 너무 낮으면 학습이 느림. 일반적으로 3e-4 ~ 1e-3 범위에서 시작함.

배치 크기: 메모리와 계산 효율성을 고려하여 결정함. 일반적으로 64 ~ 512 사이에서 설정함.

네트워크 구조: Hidden layer의 수와 크기를 결정함. 사족보행에서는 보통 2-3개의 hidden layer와 256-512개의 뉴런을 사용함.

5.2 안정성 확보

Gradient Clipping: 기울기 폭발을 방지하기 위해 기울기의 norm을 제한함.

Target Network: Q-learning에서 학습의 안정성을 위해 천천히 업데이트되는 타겟 네트워크를 사용함.

정규화: 입력 정규화와 가중치 정규화를 통해 학습의 안정성을 향상시킴.

이러한 강화학습 기초 지식들을 바탕으로 Unitree Go2의 사족보행 제어를 위한 효과적인 강화학습 시스템을 구축할 수 있음. 각 알고리즘의 특성을 이해하고 문제 상황에 맞는 적절한 선택과 조합이 성공의 핵심임.