강의자료 · 전기공학을 위한 강화학습

DQN Variants와 Replay Buffer Sampling

대학원 · 연구 적용 실습

네트워크 개선을 모두 적용하기보다 어떤 문제를 해결하는 변화인지 구분하고, 필요한 한 가지를 검증합니다.

실습 전에

01 Double·Dueling·PER는 같은 문제를 해결할까요?

설명

Double은 다음 행동의 선택과 가치 평가, Dueling은 Q의 표현, PER는 경험의 샘플링을 바꿉니다. 모두 같은 문제를 해결하는 기법은 아닙니다.

02 Replay가 경험하지 않은 상태를 만들어 줄까요?

설명

Dueling은 Q=V+A−mean(A)로 결합할 수 있습니다. PER는 큰 오차의 경험을 자주 고르는 대신 샘플 편향과 가중치를 함께 고려합니다. 경험의 범위 밖 상태를 만들어 주지는 않습니다.

실행 조건

NumPy·PyTorch·Gymnasium을 사용합니다. 마지막 활동은 외부 데이터 카드를 읽고 직접 수집한 전이를 분석합니다.

적용 사례

장비·통신 자원의 처리량과 비용

합성 대기열에 매 시점 평균 2건이 도착합니다. 서비스 용량을 높이면 대기는 줄지만 에너지 비용이 늘어납니다.

Observation·State
대기 수 q=0q=0…20. 관측 q/20q/20.
행동
처리 용량 0·2·4 중 선택.
Reward·Constraint
−(다음 대기 수 + 0.2×용량² + 10×유실 수). 100 step에서 시간 제한.
비교 기준
항상 용량 2, 대기 수에 따른 Threshold policy.
확인할 지표
평가 Return, 평균 대기 수, 평균 용량², 유실 수.

설비 점검 시점 선택

매번 점검하는 비용과 고장을 놓치는 비용의 균형을 연구 문제로 구성합니다.

Observation·State
최근 센서값·추세·마지막 점검 이후 시간. 실제 고장 상태와 관측의 차이 구분.
행동
계속 운전·점검·교체.
Reward·Constraint
운전 이익−점검·교체·고장 비용.
비교 기준
주기 점검, 임계값 경보.
확인할 지표
가동률, 고장 수, 총 비용. 고장 Label 누출 여부 확인.

실습

실습용 노트북 미리보기실습용 노트북 다운로드

1. 선택·평가·표현·샘플링 구분

시작 조건

진행 방법

  1. DQN·Double DQN의 Target을 손으로 구하고 식의 다른 부분을 표시하세요.
  2. Dueling의 평균 보정과 PER의 α=0\alpha=0/.6 샘플 확률을 작은 배열로 확인하세요.
  3. 세 기법이 각각 어떤 실패 가능성을 겨냥하는지 한 줄씩 연결하세요.

남길 결과

기록 항목과 확인할 점
기법
바꾸는 부분
계산 예
겨냥하는 문제

확인할 점

  • 행동 선택과 평가의 네트워크를 구분했는가?
  • 샘플 확률과 Loss 가중치를 같은 값으로 혼동하지 않았는가?

2. 필요한 개선 하나만 검증

시작 조건

Queue에서 dqn을 기준으로 double·dueling·per 중 한 가지만 선택해 비교합니다. 각각 1800 Transition, 같은 seed=0과 평가군을 사용합니다.

진행 방법

  1. 코드에서 선택한 기법이 바꾸는 위치를 찾고, 결과가 달라질 이유를 먼저 정하세요.
  2. dqn과 선택 기법을 같은 학습량·평가군으로 실행하세요.
  3. Return·대기·비용 중 실제로 바뀐 지표를 적고, 이 결과에서 그 기법이 필요한지 판단하세요.

남길 결과

기록 항목과 확인할 점
학습 seed
학습 Transition 수
Return 평균·표준편차
평균 대기
용량²
유실

확인할 점

  • Loss 감소를 곧바로 정책 성능 향상이라고 해석하지 않았는가?
  • 짧은 학습에서 기준보다 나쁘게 나온 결과도 그대로 기록했는가?

3. Transition 데이터의 분포 살펴보기

시작 조건

공개 CartPole 환경에서 Random·Rule이 수집한 Transition을 비교합니다. Replay는 수집 정책의 방문 범위를 벗어난 경험을 만들 수 없습니다.

진행 방법

  1. 동일한 seed의 두 정책에서 각도·Angular Velocity·행동의 분포와 Episode 길이를 비교하세요.
  2. NPZ로 저장한 Transition을 다시 읽고, 한 Transition을 여러 번 뽑는 것과 새로운 상태를 경험하는 것의 차이를 설명하세요.
  3. Minari Fourrooms-Random 데이터 카드에서 수집 정책·관측 형식·환경 ID·라이선스를 찾아, 내 연구 데이터에 필요한 항목을 표로 정리하세요. 데이터 다운로드와 학습은 확장으로 둡니다.

남길 결과

기록 항목과 확인할 점
자료
수집 정책
환경·버전
관측·행동 형식
분포·이용 조건

확인할 점

  • Transition을 임의로 섞은 뒤 Episode가 연속이라고 해석하지 않았는가?
  • 공개 환경에서 직접 수집한 자료와 외부 공개 데이터셋을 구분했는가?

공식 예제·데이터