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

Reinforcement Learning 소개

대학원 · 연구 적용 실습

보상을 잘 받는 정책이 실제로 원하는 운전인지, 비용과 대기를 분리해 확인합니다.

실습 전에

01 Return을 높이면 실제 목적도 달성될까요?

설명

Return은 보상 설계의 결과입니다. 원래 단위의 대기·비용·유실을 분리해 봐야 높은 Return이 실제 목적에 맞는지 판단할 수 있습니다.

02 대기 수만으로 상황을 충분히 관측할 수 있을까요?

설명

정책에 넣은 관측만으로 다음 상황을 예측할 수 있는지 살펴봅니다. 실제로 얻을 수 없는 미래 정보는 좋은 관측이 아닙니다.

실행 조건

기준 Queue 예제는 NumPy로 실행합니다. 학습에 사용하지 않은 seed=100…104에서 정책을 비교합니다.

적용 사례

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

합성 대기열에 매 시점 평균 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
SOC, 부하, 가격, 시간. 미래 정보를 포함하지 않는 관측.
행동
충·방전 전력. 이산 단계 또는 연속 범위를 먼저 결정.
Reward·Constraint
전력 비용과 열화 비용. SOC·전력 한계의 처리 규칙 명시.
비교 기준
시간대 규칙, 가능하면 동일 정보의 최적화.
확인할 지표
총 비용, 제약 위반, 최대 수전 전력. 날짜 단위 Train/Test 분리.

실습

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

1. 보상을 잘 받는 행동이 좋은 운전인가

시작 조건

Queue의 constant·threshold 정책을 사용합니다. 보상은 대기 수, 용량 제곱의 비용, 유실 수로 구성되며 비용 계수의 기준값은 0.20.2입니다.

진행 방법

  1. 같은 평가 Seed에서 evaluate를 실행하세요. 반환하는 네 열은 Episode Return, step당 평균 대기 수, step당 평균 용량 제곱, Episode의 총 유실 수입니다. 정책별 평균을 기록하세요.
  2. 같은 평가 기록에 비용 계수 c∈{0.05,0.2,1.0}c\in\{0.05,0.2,1.0\}을 각각 적용하세요. 평균 대기와 평균 용량 제곱에는 Episode 길이 100을 곱하고, 유실의 총합에는 코드와 같은 계수 10을 적용해 세 비용의 합에 음수를 붙이세요.
  3. 비용 계수·정책별 Return을 표로 적고, 정책의 대기·용량 제곱을 산점도에 표시하세요. 계수에 따라 정책 순위가 바뀌는지와 실제 적용에서 비용 계수를 정할 근거를 설명하세요.

남길 결과

기록 항목과 확인할 점
정책
비용 계수
평균 대기
유실
재계산 Return

확인할 점

  • 같은 원시 지표를 이용한 재평가와 새 보상으로 재학습한 결과를 구분했는가?
  • 유실을 낮게 평가해 발생할 실패를 설명할 수 있는가?

2. State가 부족한 상황

시작 조건

도착률이 일정한 Queue에 이어, 도착률이 시간대별로 달라지는 상황을 설계합니다.

진행 방법

  1. 같은 대기 수 q=4q=4에서도 현재 도착률이 0.5 또는 4인 두 상황을 적으세요.
  2. 관측이 q뿐인 경우와 q·시간대를 포함한 경우의 의사결정 차이를 설명하세요.
  3. 부하·가격 등 실제로 사용 가능한 정보와 미래에만 알 수 있는 정보를 구분하세요.

남길 결과

기록 항목과 확인할 점
상황
현재 관측
빠진 정보
예상 행동·이유

확인할 점

  • 상태와 관측을 혼용하지 않았는가?
  • 관측 확장이 실제로 얻을 수 있는 정보인가?

3. 본인의 연구 문제로 옮기기

시작 조건

앞의 실험을 바탕으로 Queue·Motor 또는 본인의 연구 문제 하나를 선택해, 실제 적용을 위한 실험을 설계합니다.

진행 방법

  1. State·Observation·Action·Reward·종료·시간 제한을 표 한 장으로 정의하세요. 각 변수의 단위와 실제로 얻을 수 있는 정보를 적습니다.
  2. 예상 Transition 3개를 수치로 적어, 좋은 행동과 나쁜 행동의 보상이 의도에 맞는지 확인하세요.
  3. 규칙 기반 비교 기준 한 개, 평가 조건 한 개, 가장 우려되는 실패 사례 한 개를 정하세요. 필요한 실측 자료나 Simulator도 적습니다.

남길 결과

앞서 선택한 연구 문제와 설계 표를 이어서 사용해도 됩니다. 이번 활동에서 배운 개념으로 기존 항목과 Transition 예를 다시 검토하고, 변경한 항목이나 그대로 둔 이유를 갱신하세요.

기록 항목과 확인할 점
항목
구체적 정의·단위
관측 가능 여부·확인 방법

확인할 점

  • 미래 정보나 평가 Label을 관측에 넣지 않았는가?
  • 학습 Return만으로 연구 기여를 판단하지 않고, 해당 도메인의 지표를 정했는가?