Contents — find the section you need
Q-러닝은 각 상태-행동 쌍에 대해 "이 선택이 장기적으로 얼마나 이득이 될까?"라는 값을 업데이트하는 오프폴리시 강화 학습 방법입니다. 작은 미로는 테이블 하나로 해결할 수 있지만, 카메라 이미지와 수많은 관절을 고려하면 테이블 크기가 너무 커져 현실적으로 불가능합니다. 심층 Q-네트워크(DQN)는 테이블을 신경망으로 대체하고, 경험 재생과 목표 네트워크를 사용하여 상관관계가 있는 데이터와 자기 참조적 불안정성을 줄입니다.
30초 요약
-
Q(s,a)은 상태 s에서 행동 a을 취했을 때 예상되는 미래 수익입니다. 가장 큰 Q 값을 선택하는 것은 탐욕적인 정책입니다.
-
Q-러닝은 행동 정책이 다른 행동을 탐색했더라도 다음 상태에서 최대 Q 값을 사용합니다. 이것이 오프폴리시 속성입니다.
-
DQN은 이미지와 같은 고차원 관측값을 유한한 수의 이산 행동에 대한 Q 값으로 매핑합니다. 연속적인 토크를 처리하려면 이산화 또는 액터-크리틱(Actor-Critic) 방식이 필요합니다.
경험 재생(Experience replay)은 이전 전환을 섞는 반면, 목표 네트워크(Target Network)는 여러 업데이트 동안 학습 목표를 거의 고정된 상태로 유지합니다.
로봇은 속도, 힘, 전류 및 비상 정지 제한을 학습기 외부에 설정해야 합니다. 높은 보상이 하드웨어 안전성을 보장하는 것은 아닙니다.
1. Q 값을 표에 정리하기
강화 학습 기초 입문서의 MDP에서 상태 s에서 행동 a을 선택하면 보상 r과 다음 상태 s'을 얻습니다. Q 학습은 알 수 없는 환경에 대한 명시적인 모델 P을 유지하지 않고, 경험 (s,a,r,s')만을 사용하여 Q 값을 업데이트합니다.
괄호 안의 값은 시간차(TD) 오차입니다. 양의 오류는 행동의 가치를 높이고, 음의 오류는 가치를 낮춥니다. \alpha은 학습률이고, \gamma은 할인 계수입니다. 최종 상태에서는 다음 상태의 가치가 0입니다.
그림 1 — Q-learning은 관찰된 보상과 최대 다음 상태 값을 기반으로 만들어진 목표값에 가까워지도록 이전 값을 조금씩 이동시킵니다.
5×5 미로는 25개의 상태와 4개의 행동만 있으므로 100개의 테이블 항목이면 충분합니다. ε-greedy 탐색을 사용하면 경험이 점진적으로 미로를 통해 목표값을 역방향으로 전파합니다. 학습률을 1로 설정하고 단일 경험을 완전히 신뢰하면 환경 노이즈에 취약해지므로 일반적으로 경험 간 평균을 내기 위해 0과 1 사이의 값을 사용합니다.
2. 오프폴리시 학습 및 ε-greedy 탐색
목표값 \max_{a'}Q(s',a')은 최적 예측 행동이며, 반드시 목표 행동일 필요는 없습니다. 탐색 행동 정책이 실제로 취한 조치입니다. 따라서 Q-러닝은 탐욕적 정책을 학습하는 반면 ε-탐욕은 데이터를 수집합니다. 상태 공간을 커버하기 위해 큰 ε로 시작하여 천천히 감소시킵니다. 물리적 머신에서는 검증된 후보 명령 내에서만 무작위화를 수행하고 충돌 모니터링을 최우선 순위로 유지합니다.
3. 이미지와 연속 값에 대해 테이블이 실패하는 이유
상태가 카메라 이미지의 모든 픽셀이고 각 모터에 256단계의 속도 레벨이 있는 경우, 테이블은 실제 메모리에 맞지 않습니다. 거의 동일한 이미지도 관련 없는 상태로 처리됩니다. DQN은 신경망 Q_\theta(s,a)로 테이블을 근사화합니다.
이 네트워크는 이미지를 이산 동작당 하나의 Q 값으로 매핑합니다. 위/아래/좌/우의 경우 출력은 (Q(s,\mathrm{up}),Q(s,\mathrm{down}),Q(s,\mathrm{left}),Q(s,\mathrm{right}))입니다. 손실은 다음과 같습니다.
여기서 D은 리플레이 버퍼이고 \theta^-는 에 속합니다. 대상 네트워크. 최종 전환의 경우, y=r입니다.
4. 경험 재생: 상관 관계가 있는 로그 셔플
로봇 로그는 순차적입니다. t과 t+1의 프레임은 거의 동일해 보입니다. 인접한 프레임으로 구성된 미니 배치는 편향된 기울기를 생성합니다. DQN은 (s_t,a_t,r_{t+1},s_{t+1},done)을 재생 버퍼에 저장하고 무작위 미니 배치를 샘플링합니다.
| 버퍼 설계 | 장점 | 비용 |
|---|---|---|
| 균일 샘플링 | 간단하고 시간적 상관 관계를 약화시킴 | 드문 오류는 샘플링 횟수가 적음 |
| 우선순위 기반 재생 | 큰 TD 오류에 집중 | 중요도 보정 및 기록 필요 |
| 고정 크기 FIFO | 변화하는 환경을 따름 | 오래된 드문 오류가 사라짐 |
| 에피소드 저장 | 성공/실패 컨텍스트 보존 | 배치는 다시 상관 관계를 가질 수 있음 |
학습 전처리로 감사 추적을 덮어쓰지 마십시오. 원시 센서 데이터를 저장하십시오. 타임스탬프, 요청된 동작 및 실제로 제한된 동작, 그리고 충돌 플래그를 정규화된 훈련 텐서와 별도로 기록합니다.
5. 목표 네트워크: 교사 지연
업데이트되는 동일한 네트워크가 목표값 y와 예측값 Q_\theta를 동시에 계산하는 경우, 목표값은 매번 변동합니다. 오류를 줄이기 위한 업데이트는 다음 목표값도 함께 이동시켜 발산이나 진동을 유발합니다. DQN은 Q_{\theta^-}의 복사본을 유지하고 수백 또는 수천 번의 업데이트마다 \theta^-\leftarrow\theta로 동기화합니다.
동기화 간격을 늘리면 목표값이 안정화되지만 최신 상태를 유지하지 못하게 됩니다. 폴리악 평균화는 더 부드러운 대안입니다.
실험 구성 및 로그에 선택, 동기화 간격, 손실, Q값 분포를 기록합니다.
6. 과대평가 및 Double DQN
잡음이 섞인 추정치에 대해 최댓값을 취하면 우연히 좋아 보이는 동작이 선택될 수 있습니다. 높은 편향. Double DQN은 동작 선택과 동작 평가를 분리합니다.
이것이 모든 편향을 제거하는 것은 아니지만, 불안정한 Q 값 증가를 줄이는 데 효과적입니다. 터미널 플래그 누락, 잘못된 동작 마스크, 또는 일관성 없는 보상 척도는 유사하게 보일 수 있으므로 알고리즘을 변경하기 전에 데이터를 검사해야 합니다.
7. 로봇에서 DQN의 활용
DQN은 유한한 동작 집합을 가정합니다. 조향각이나 관절 토크를 이산화하는 것은 대략적인 시뮬레이션에는 유용할 수 있지만, 세밀한 그리드는 빠르게 증가하여 명령이 부자연스럽게 변할 수 있습니다. DDPG, TD3, SAC는 연속적인 동작을 직접 출력하며 토크 또는 유압 밸브 제어에 더 적합한 경우가 많습니다.
DQN은 좌측 또는 우측 차선, 파지 후보 A/B/C, 또는 저속/중속/고속 모드와 같은 고수준 선택에는 여전히 유용합니다. 결과로 나온 참조값을 PID 또는 MPC 계층에 전달합니다. PID 관련 글 및 MPC 관련 글을 참조하십시오. [[/ko/blog/posts/control-mpc.html] 기사는 하위 계층에서 제한 및 감시 기능을 유지하는 방법을 보여줍니다.
8. 보상 외 다른 곡선도 기록
성공률, 충돌률, 에피소드 길이, 평균 및 최대 Q 값, TD 오류, 액션 빈도를 평균 에피소드 보상과 함께 기록합니다. 충돌률이 증가함에 따라 보상이 증가하는 경우 보상 또는 종료 버그를 나타낼 수 있습니다. 손실이 감소하는 동안 Q 값이 급증하는 경우 스케일 불일치, 종료 플래그 누락 또는 잘못된 부트스트랩 목표를 나타낼 수 있습니다.
평가 환경은 훈련 환경과 분리해야 합니다. 조명, 바닥 마찰, 페이로드, 장애물 배치 및 통신 지연을 변경하십시오. 시뮬레이터에서 성공하더라도 카메라 노출, 모터 데드존 또는 배터리 부족을 무시하는 정책은 하드웨어에서 DQN 성능을 입증하지 못합니다.
구현 체크리스트
-
상태, 이산 액션, 보상, 종료 플래그 및 타임스탬프를 하나의 전환으로 저장합니다.
-
ε, 학습률, 할인율, 버퍼 크기, 배치 크기 및 목표를 수정하고 기록합니다. 간격.
-
실험 ID별로 Q 값, TD 오류, 손실, 성공/충돌률 및 동작 빈도를 추적합니다.
-
재생 전처리를 원시 감사 로그와 분리합니다.
-
동작 마스크, 종료 상태, 타임아웃 및 유효하지 않은 센서 값을 단위 테스트합니다.
-
제한, 감시 및 비상 정지가 DQN보다 높게 유지되고 네트워크 드롭아웃을 통해 작동하는지 확인합니다.
-
학습에서 미지의 조건과 오류를 제외합니다.
요약
Q-러닝은 알려진 동적 모델 없이 벨만 최적성 방정식을 테이블 업데이트로 변환합니다. DQN은 네트워크를 사용하여 해당 테이블을 근사화하지만, 자기 참조적인 목표가 노이즈를 증폭시키지 않도록 경험 재생과 목표 네트워크가 필수적입니다. DQN은 유용한 이산 결정 계층이며, 연속 토크 및 안전은 다른 컨트롤러에 속합니다. 보상뿐만 아니라 TD 오류, 충돌, 지연 및 Q 분포를 추적하면 연구 스크립트를 감사 가능한 로봇 시스템으로 전환할 수 있습니다.
큰 Q 값이 큰 실제 보상을 보장합니까?
Q는 예상 수익의 추정치입니다. 익숙하지 않은 상태나 행동은 큰 추정 오류를 발생시킬 수 있습니다.
댓글
먼저 로그인해 주세요.
아직 데이터가 없습니다.