AI Repository/DRL

DRL 환경 - 보상의 설계

조금씩 차근차근 2025. 9. 29. 16:56

DRL을 이용하여 새로운 문제를 해결하려면 일단 환경이 존재해야 한다.
환경의 구현을 위해 디지털 트윈(Digital Twin)과 같은 환경을 구성하는 다양한 방식들이 논의되고 있지만, 그 모든 환경의 구현 이전에는 문제의 모델링이 우선되어야 한다.

 

강화학습의 문제 모델링에 대해서는 다음 네 가지를 고려해야 한다.

  • 상태
  • 행동
  • 보상
  • 전이함수

이번 글에서는 이 중 보상에 집중해서 알아볼 것이다.


보상의 역할

보상 신호는 에이전트가 최대화해야 하는 목적 함수(objective function)를 정의한다.
보상 설계는 강화학습의 근본적인 문제 중 하나이고, 환경에 대한 깊은 지식이 필요한 영역이며, 여러 가지 이유로 인해 해결하기 어려운 문제로 알려져 있다.

  • 보상이 양의 부호인가? 음의 부호인가? 혹은 0인가?
  • 보상의 크기(스칼라)는 어느정도인가?

보상은 강화학습의 학습 성패를 좌우한다.
OpenAI Five와 로봇 손 조작 같은 문제는 강화학습에서 잘 설계된 보상의 효과를 입증했다.
이들 사례에서는 사람이 보상 함수를 신중하게 튜닝했고 에이전트는 인상적인 결과를 만들어낼 수 있었다.

"사람이 보상 신호를 잘 설계할 수 없는 문제가 있을까?"
이러한 질문이 떠오를 수 있다.
이 질문에 대해서 일단 없다고 생각하고 보상 설계의 가이드라인을 살펴보자.

보상 설계의 가이드라인

  • 좋은 보상, 보통 보상, 나쁜 보상을 사용
    • 처음에는 좋은 보상으로 양의 값을, 보통 보상으로 0을, 나쁜 보상으로 음의 값을 사용하는 것이 좋다.
    • 값의 범위에 신경 쓰고 극값을 피해야 한다.
  • 밀도가 높거나 낮은 보상을 선택
    • 보상의 밀도란, 보상이 자주 등장하는 정도를 의미한다.
    • 밀도가 낮은 보상은 설계하기는 쉽지만 일반적으로 문제를 훨씬 더 어렵게 만든다.
    • 밀도가 높은 보상은 설계하기는 어렵지만 에이전트에게 훨씬 더 많은 피드백을 준다.
  • 보상 해킹과 안전에 주의
    • 지속적으로 에이전트와 환경을 평가해서 보상 해킹이 발생하지 않도록 한다.
    • 에이전트의 훈련과 환경의 설계는 강화학습을 적용할 시스템의 안정성을 담보하기 위해 책임감 있게 수행되어야 한다.

본 글은 단단한 심층강화학습 도서를 참고하여 작성되었습니다.