Contents — find the section you need

Q-러닝과 DQN은 유한한 행동 집합 중에서 선택합니다. 하지만 바퀴 속도, 드론 추력, 매니퓰레이터 토크는 연속적인 값입니다. 정책 경사법은 연속적인 행동에 대한 분포를 출력하는 정책 \pi_\theta을 업데이트합니다. 액터-크리틱은 이러한 행동을 평가하는 크리틱을 추가하고, PPO와 SAC는 로봇 연구에서 널리 사용되는 실용적인 안정화 기능을 추가합니다.

30초 요약

  • 정책 경사법은 기대 보상 J(\theta)을 직접적으로 증가시킵니다. 연속적인 행동을 자연스럽게 처리하지만, 단일 궤적 추정치의 분산이 높습니다.

  • 액터-크리틱은 값 추정치를 기준선으로 사용합니다. 이점은 동일한 상태에서 해당 행동이 평균 행동보다 나은지 여부를 측정합니다.

  • PPO는 이전 정책과 새 정책 간의 확률 비율을 제한하여 한 번의 업데이트로 인한 변동을 최소화합니다. 간단하지만, 정책에 적용된 데이터를 재사용하기 어렵습니다.

  • SAC는 보상과 정책 엔트로피를 모두 최대화합니다. 이 방법은 정책에 어긋나지 않고, 재생 기능을 사용하며, 연속 제어에 적합합니다.

  • 두 방법 모두 안전 한계를 제공하지 않습니다. 동작 범위, 속도 제한, 저수준 PID/MPC 및 비상 정지는 학습기 외부에 두어야 합니다.

1. 정책 직접 최적화

Diagram 1 · Use the button to switch views
액터-크리틱: 경험을 바탕으로 정책 업데이트

그림 1 — 액터는 연속 분포를 제안하고 크리틱은 반환값을 평가합니다. 하드웨어에서는 동작이 토크에 직접 전달되는 대신 검증된 하위 레벨 컨트롤러를 거칩니다.

확률적 정책 \pi_\theta(a\mid s)의 경우, 기대 반환값 J(\theta)=\mathbb{E}_{\pi_\theta}[G_t]의 기울기는 로그 확률의 기울기를 사용하여 다음과 같이 나타낼 수 있습니다.

\nabla_\theta J(\theta)=\mathbb{E}_{\pi_\theta}\left[\nabla_\theta\log\pi_\theta(a_t\mid s_t)\,G_t\right]

높은 반환값을 생성한 동작은 더 높은 확률로 발생합니다. G_t은 노이즈가 많고 지연되므로, 상태 종속 기준선 b(s_t)을 빼면 감소합니다. 예상 기울기를 변경하지 않고 분산을 최소화합니다.

\nabla_\theta J(\theta)=\mathbb{E}\left[\nabla_\theta\log\pi_\theta(a_t\mid s_t)\,(G_t-b(s_t))\right]

2. 어드밴티지 및 액터-크리틱

크리틱은 V_\phi(s)를 학습하고 A_t=Q(s_t,a_t)-V(s_t)을 사용하여 행동이 상태 평균보다 나은지 여부를 추정합니다. 1단계 TD 근사치는 다음과 같습니다.

\hat A_t=r_{t+1}+\gamma V_\phi(s_{t+1})-V_\phi(s_t)

일반화된 어드밴티지 추정(GAE)은 편향-분산 하이퍼파라미터 \lambda를 사용하여 여러 단계를 결합합니다. \lambda이 1에 가까워질수록 더 긴 예측 범위와 더 낮은 편향을 사용하지만 분산은 더 높아집니다. 빠른 태도 루프를 위해서는 벤치마크 설정을 복사하는 대신 작업의 실제 지연 및 시간 척도를 사용하십시오.

액터 손실은 다음과 같습니다.

L_\pi=-\mathbb{E}[\log\pi_\theta(a_t\mid s_t)\hat A_t]

크리틱은 제곱 값 오차를 최소화합니다.

L_V=\mathbb{E}[(V_\phi(s_t)-\hat V_t)^2]

이미지 인코더를 공유하는 경우 하나의 기울기가 두 값을 모두 변경합니다. 추정치. 별도의 학습률, 그래디언트 클리핑, 고정된 관측치 정규화 기록을 통해 오류 진단이 용이해집니다.

3. PPO: 정책을 한 번에 너무 많이 변경하지 마십시오.

온폴리시 정책 그래디언트는 현재 정책에 대한 롤아웃을 수집합니다. 너무 많은 업데이트에 이를 재사용하면 새 정책이 데이터 분포에서 벗어나게 됩니다. PPO는 이전 정책 \pi_{\theta_{old}}과 새 정책 간의 확률 비율을 계산하고,

r_t(\theta)=\frac{\pi_\theta(a_t\mid s_t)}{\pi_{\theta_{old}}(a_t\mid s_t)}

클리핑된 목적 함수를 최대화합니다.

L^{CLIP}=\mathbb{E}\left[\min\left(r_t\hat A_t,\operatorname{clip}(r_t,1-\epsilon,1+\epsilon)\hat A_t\right)\right]

긍정적인 이점은 확률을 무한정 증가시킬 수 없고, 부정적인 이점은 무한정 감소시킬 수 없습니다. 작은 \epsilon 값은 보수적이며, 큰 값은 더 과감한 업데이트를 허용합니다. 클리핑은 안전 제약 조건이 아니므로 관절, 속도 및 힘 제한은 여전히 별도로 관리됩니다.

구현 시 고정된 롤아웃을 수집하고, 이점을 정규화한 후, 여러 미니 배치 에포크를 학습합니다. 이전 로그 확률을 저장하고, 타임아웃을 구분합니다. 진정한 종료 상태를 설정하고 평가 시 정규화 통계를 고정합니다. 그렇지 않으면 동일한 가중치를 사용한 두 번의 실행이 다르게 동작할 수 있습니다.

4. SAC: 보상 + 엔트로피

소프트 액터-크리틱(SAC)은 미래 보상에 정책 엔트로피(\mathcal{H}(\pi))를 목표로 추가합니다.

J(\pi)=\mathbb{E}\left[\sum_t\gamma^t\left(r_t+\alpha\mathcal{H}(\pi(\cdot\mid s_t))\right)\right]

엔트로피 항은 동일하게 좋은 행동들이 너무 일찍 하나로 수렴되는 것을 방지하여 탐색을 유지하는 온도(\alpha) 역할을 합니다. SAC는 오프폴리시 방식이며 리플레이 버퍼를 사용하므로 각 실제 전환을 재사용할 수 있습니다. 이는 샘플링 효율성을 향상시키지만, 오래된 데이터, 보상 규모 및 온도 조정이 중요합니다.

연속적인 행동의 경우, 액터는 가우시안 분포의 평균(\mu_\theta(s))과 표준 편차(\sigma_\theta(s))를 출력한 다음 tanh 또는 다른 변환을 사용하여 경계로 매핑합니다. 로그 확률에는 해당 변환에 대한 야코비안 보정이 필요합니다. 트윈 Q 네트워크와 더 작은 Q 추정치를 줄여 과대평가를 방지합니다. 배포 시 결정론적 평균을 사용할지, 탐색 노이즈를 유지할지 결정합니다.

5. PPO 또는 SAC 선택

측면 PPO SAC
데이터 온폴리시 롤아웃 오프폴리시 리플레이
탐색 정책 분포 및 엔트로피 보너스 엔트로피는 목적 함수의 일부
샘플링 효율성 낮음~중간 종종 높음

주요 버그 | 로그 확률, 터미널 플래그, 클리핑 | Q 과대평가, 보상 척도, tanh 보정 |

| 일반적인 적합성 | 다수의 병렬 시뮬레이터 | 연속 토크 및 부족한 하드웨어 데이터 |

PPO는 많은 시뮬레이션 환경을 병렬로 실행할 수 있을 때 안정적인 경우가 많습니다. SAC는 모든 실제 전환에 비용이 많이 들 때 매력적일 수 있습니다. 두 방법 모두 센서 지연, 모터 데드존 또는 액추에이터 포화를 자동으로 모델링하지 않습니다.

6. 시뮬레이션에서 실제로의 전환은 스위치가 아니라 경계입니다.

The 시뮬레이션과 현실 간의 격차는 질량과 마찰, 백래시, 노출 및 센서 노이즈, 네트워크 지연, 배터리 성능 저하, 바닥 재질, 조명 등에서 발생합니다. 도메인 무작위화는 이러한 매개변수를 샘플링하여 정책이 하나의 이상적인 값에 과적합되지 않도록 합니다. 범위는 하드웨어에서 측정해야 하며, 불가능한 환경을 무작위화하는 것은 학습을 더욱 어렵게 만들 뿐입니다.

단계별 전송이 더 안전합니다. (1) 순수 시뮬레이션, (2) 움직임 없이 실제 센서 로그 재생, (3) 바퀴를 들어 올린 상태에서 저전력 테스트, (4) 깨끗한 바닥에서 제한된 속도와 힘, (5) 실제 작업 수행 순으로 진행합니다. 요청된 동작과 안전 제한 장치가 실제로 통과한 동작을 별도로 기록해야 합니다. 시뮬레이션에서 현실로의 전환은 단일 배포 버튼이 아니라 식별 및 평가의 반복적인 루프입니다.

7. 안전 및 평가

PPO 클리핑과 SAC 엔트로피는 충돌을 방지하지 못합니다. 독립적인 모니터는 속도, 가속도, 관절 각도, 접촉력, 유압, 전류 및 온도를 확인해야 합니다. 유효하지 않은 관측값, NaN, 만료된 타임스탬프 또는 통신 끊김이 발생하면 모니터는 명령을 내려야 합니다. 안전 정지. 위험도가 높을 경우 별도의 프로세스 또는 MCU에서 처리합니다.

보상 외에도 성공률, 충돌률, 최대 편차, 정지 거리, 에너지, 동작 부드러움, 추론 지연 시간, 안전 제한 장치 개입률을 측정합니다. 성공률이 높지만 개입이 잦다는 것은 정책이 제한 장치에 의존한다는 의미입니다. 여러 개의 난수 시드를 사용하여 반복 실행하고 평균값뿐만 아니라 분산과 최악의 경우를 보고합니다.

구현 체크리스트

  1. 액션 유닛, 경계, tanh/clip 순서, 로그 확률 보정을 테스트합니다.

  2. PPO의 경우, 이전 로그 확률, Advantage, 종료/타임아웃 플래그를 저장합니다.

  3. SAC의 경우, 리플레이 분포, 트윈 Q 값, 온도(\alpha), 보상 스케일을 모니터링합니다.

  4. 전처리, 정규화, 시드, 가중치, 환경 매개변수를 실험 ID별로 고정합니다.

  5. 저수준 PID/MPC, 속도 제한, 워치독, 비상 정지를 학습기와 독립적으로 유지합니다.

  6. 수동 로그, 낮은 값에 대한 정지 조건을 정의합니다. 각 전환 전에 전력 및 정상 작동을 확인합니다.

  7. 성공, 충돌, 제한 장치 개입, 지연 시간, 에너지 및 최대 편차를 함께 기록합니다.

요약

정책 경사법은 연속적인 행동 분포를 직접 최적화합니다. 액터-크리틱은 Advantage를 사용하여 분산을 줄이고, PPO는 업데이트를 클리핑하며, SAC는 엔트로피와 리플레이를 사용하여 탐색 및 데이터 효율성을 향상시킵니다. 이러한 알고리즘 중 어느 것도 하드웨어 불확실성이나 안전성을 자체적으로 해결하지 못합니다. 학습된 정책이 시뮬레이션을 벗어날 때 검증된 하위 수준 컨트롤러, 독립적인 모니터, 단계적 전송 및 최악의 경우 평가가 알고리즘의 일부입니다.

이해도 확인
PPO 클리핑이 안전한 동작을 보장합니까?

PPO 클리핑은 물리적 안전 제약 조건이 아닌 최적화 목표를 조절합니다. 훈련 안정성과 행동 안전성은 별도로 평가해야 합니다.

참고 문헌

What to read next

Review the backgroundQ-러닝과 DQN — Q-테이블에서 심층 강화 학습까지Continue the series보상 설계 입문 — 강화 학습에서 "무엇을 극대화할 것인가"가 가장 어려운 이유Explore another aspect of this field다중 에이전트 강화 학습 입문 - 상대방도 학습하는 세상에서 최적화하기