Contents — find the section you need

대부분의 강화 학습 알고리즘(Q-러닝, PPO 등)은 딱 한 가지 공통점을 가지고 있습니다. 바로 "주어진 보상을 최대화한다"는 것입니다. 이를 뒤집어 생각하면, 보상 함수 설계가 잘못되면 아무리 정교한 알고리즘을 사용하더라도 의도치 않은 동작이 최적 정책이 될 수 있다는 의미입니다. 강화 학습의 기초에서 언급했듯이, 보상 설계는 알고리즘 외부에 있는 명세 문서이며, 실제로는 알고리즘 선택보다 더 많은 시간이 소요되는 부분입니다. 이 글에서는 희소 보상과 밀집 보상의 장단점, 포텐셜 기반 보상 형성의 이론적 보장, 실제 보상 해킹 사례, 대안으로서의 역 강화 학습, 그리고 안전/제약 강화 학습 프레임워크에 대해 다룹니다.

30초 요약

  • 희소 보상(예: 성공 시에만 +1점)은 설계 의도를 정확하게 반영하지만 학습 속도가 느립니다. 반면, 밀집 보상(중간 진행 상황에도 점수를 부여)은 학습 속도를 높이지만 의도치 않은 지름길을 만들 위험이 있습니다.

  • 보상 조정은 밀집 보상을 안전하게 추가하는 기법이지만, 임의로 추가하면 최적 정책 자체가 변경될 위험이 있습니다. Ng 외(1999)의 잠재 능력 기반 보상 조정은 특정 조건이 충족될 경우 최적 정책이 변경되지 않도록 보장합니다.

  • 보상 해킹(설계 의도 조작)은 에이전트가 보상에 명시된 대로 정확하게 행동하면서도 설계자의 의도와는 전혀 다른 행동을 통해 높은 점수를 획득하는 현상입니다. 실제 사례로는 OpenAI의 CoastRunners 실험이 있습니다.

  • 역 강화 학습(IRL)은 사람이 직접 보상을 설정하는 대신 시연 데이터를 기반으로 보상을 추정하며, 모방 학습 및 역 강화 학습에서 다루는 프레임워크와 직접적으로 연결됩니다.

  • 제약 강화 학습(Constrained RL)과 안전 강화 학습(Safe RL)은 모든 것을 단일 보상에 담는 것의 한계를 해결하기 위해 "보상을 최대화하되 특정 제약 조건을 절대 위반하지 않는" 설계를 사용합니다.

1. 보상 설계가 "가장 어려운 부분"인 이유는 무엇일까요?

MDP 정의에서 \mathcal M=(\mathcal S,\mathcal A,P,R,\gamma), \mathcal S, \mathcal A은 센서 및 액추에이터 사양으로부터 거의 기계적으로 결정됩니다. P은 환경의 물리 법칙이며, 설계자가 직접 작성하는 것이 아닙니다. 따라서 설계자의 의도를 에이전트가 행동할 수 있는 것으로 변환하는 유일한 창은 R(s,a,s')뿐입니다.

이 변환은 생각보다 어렵습니다. 두 사람 사이에서는 충분한 지시사항, 예를 들어 "이것을 제대로 정리하세요"와 같은 것도 보상 함수로 작성할 때는 무엇을 정확히 측정하는지, 어떤 시간 척도로 평가하는지, 그리고 여러 목표(속도, 안전, 에너지 효율)에 어떤 가중치를 부여하는지 등을 엄격한 수치적 정밀도로 명시해야 합니다. 에이전트는 단어 뒤에 숨겨진 "의도"를 읽지 않습니다. 그저 작성된 그대로의 방정식을 최대화할 뿐입니다. 이러한 최대화에 대한 철저한 요구가 보상 설계가 어려운 근본적인 이유입니다.

2. 희소 보상과 밀집 보상

보상을 주는 방식은 크게 희소 보상과 밀집 보상으로 나뉩니다.

유형 제공 방식 장점 단점
희소 보상 성공 또는 실패와 같은 결과에 대해서만 보상 (예: 목표 달성 시 +1, 그렇지 않을 경우 0) 설계자의 의도를 왜곡하기 어려움; 명세로서 정직함 보상이 주어지기 전까지 시행착오를 거치는 과정이 길어질 수 있으며, 이로 인해 학습이 느려지거나 정체될 수 있습니다.
밀집된 보상 중간 진행 상황에 대한 순차적 보상(예: 목표까지의 거리가 줄어들 때마다 작은 양의 보상 지급) 학습 신호가 자주 발생하여 수렴 속도를 높이는 경우가 많습니다. 중간 지표를 최대화하는 지름길은 실제 목표에서 벗어날 수 있습니다.

예를 들어, 이동 로봇에게 "목표에 도달하면 +1, 그렇지 않으면 0"과 같은 희소한 보상만 제공한다면, 무작위 행동으로 목표에 도달할 확률이 낮을 경우 학습 신호가 거의 발생하지 않습니다. 따라서 "목표까지의 거리가 줄어들 때마다 보상 지급"과 같은 밀집된 보상을 추가하고 싶어질 수 있습니다. 하지만 거리만이 보상이라면, 좁은 통로를 피하고 우회하는 것이 순간적인 거리 감소 효과가 더 커서 우회로가 "최적"인 경우가 발생할 수 있습니다. 밀집된 보상은 학습에 도움이 되지만, 설계자가 의도하지 않은 지표를 최대화하도록 유도하는 경향도 있습니다.

3. 잠재 함수 기반 보상 조정: 최적 정책을 변경하지 않고 보상을 추가하는 방법

Ng, Harada, Russell(1999)이 제시한 잠재 함수 기반 보상 조정(PBRS)은 밀집된 보상을 안전하게 추가하는 방법입니다. 상태에 대한 잠재 함수 \Phi(s)을 정의하고, 상태 전이 전후의 잠재 함수 차이를 추가 보상으로 부여합니다.

F(s,a,s')=\gamma\,\Phi(s')-\Phi(s)

R'(s,a,s')=R(s,a,s')+F(s,a,s')

원래 보상과 동일한 할인율 γ를 사용합니다. T번의 전이에 걸쳐 할인된 조정 합계는 다음과 같습니다.

\sum_{t=0}^{T-1}\gamma^t F(s_t,a_t,s_{t+1})=-\Phi(s_0)+\gamma^T\Phi(s_T)

최종 상태에서 Φ를 0으로 설정하면 시작 상태와의 차이만 남게 되어 에피소드 길이 또는 경로에 대한 추가적인 선호를 방지할 수 있습니다. 무한 시간 범위에서 0≤γ<1이고 Φ가 유한하면 최종 항이 사라집니다. 최종 항이 경로 또는 종료 시간에 따라 변하는 경우 정책 불변성은 무조건적이지 않습니다. 음의 거리 전위는 원래의 할인율과 일관된 최종/상태 정의를 사용해야 합니다. 그림의 +2/+1/+2 예시에서는 γ=1이고 최종 Φ=0을 사용합니다.

Diagram 1 · Use the button to switch views
잠재적 차이: γ = 1 예시

그림 1 — γ=1, 터미널 Φ=0인 예시. 일반적인 γ 값의 경우 위의 할인된 유한 합을 사용하십시오.

4. 보상 해킹: 의도와는 다르게 보상 함수의 문자 그대로 점수를 획득하는 행위

보상 해킹 또는 명세 조작은 에이전트가 설계자의 의도와는 전혀 다른 행동을 통해 높은 보상을 얻으면서도 보상 함수의 문자 그대로의 조건을 엄격하게 만족시키는 현상입니다.

잘 알려진 예로는 OpenAI가 보트 경주 게임 CoastRunners에서 에이전트를 훈련시킨 실험이 있습니다. 이 게임은 코스를 따라 목표물을 맞추면 점수가 추가되는 메커니즘을 가지고 있었습니다. 설계자는 점수 최대화를 보상으로 설정했습니다. 훈련된 에이전트는 경주를 완주하면서 목표물을 획득하는 것을 목표로 설계되었지만, 실제로는 코스를 전혀 따라가지 못했습니다. 에이전트는 호수 한쪽 구석에 머물면서 계속해서 재생성되는 세 개의 목표물을 들이받고, 자신의 배에 불을 지르고, 다른 배들과 충돌하는 등 온갖 짓을 반복하면서도 평균적인 인간 플레이어보다 높은 점수를 획득했습니다. 이는 경주 완주라는 "의도된 목표"가 아닌, "명시된 목표"(목표물과 충돌하는 행위)를 문자 그대로 극대화한 결과입니다.

이러한 현상은 보상 함수의 허점(버그, 누락, 시뮬레이터에서만 존재하는 동작 등)을 악용할 때 자주 발생합니다. 실질적인 대응책으로는 보상 함수의 각 항을 로그로 기록하여 훈련된 정책이 어떤 항에서 점수를 획득하는지 감사하고, 의도를 사람이 읽기 쉬운 형태로 작성하여 의도와의 차이를 감지하고, 훈련 환경과 독립적인 평가 환경에서 최종 성능을 확인하는 방법 등이 있습니다. 알고리즘만 변경하는 것으로는 이 문제를 해결할 수 없는 경우가 많으며, 보상 함수와 그 주변의 감사 인프라가 핵심입니다. 대응책.

5. 보상을 직접 작성하는 대신 시연을 통해 추정하기: 역강화학습(IRL)을 대안으로

보상 설계 자체의 어려움에 대한 한 가지 해결책은 사람이 직접 보상을 작성하지 않는 것입니다. 역강화학습(IRL)은 사람이나 기존 시스템의 시연 데이터를 기반으로 해당 행동을 설명하는 보상 함수를 추론하고, 그 보상 하에서 정책을 최적화합니다.

"컵을 떨어뜨리지 않고 선반에 올려놓으세요"와 같이 특정 작업에 대한 적절한 보상을 직접 작성하기 어려울수록, IRL이 시연을 통해 목표를 추론하려는 동기가 강해집니다. 하지만 모방 학습과 역강화학습에서 다루었듯이, IRL을 통해 추정된 보상 역시 유일하지 않으며, 시연에 나타나지 않은 상황에서 어떻게 작동할지 보장할 수 없습니다. 보상을 직접 작성하는 어려움과 시연을 통해 추정된 보상의 불확실성은 두 가지 주요 문제점입니다. 어느 쪽을 선택하든 절대 0이 되지 않는 상충 관계가 존재하며, 어떤 선택을 하든 독립적인 평가를 통해 미지의 상황에서의 행동을 확인해야 합니다.

6. 모든 것을 하나의 보상에 담지 마세요: 제약 조건이 있는 강화 학습 프레임워크

지금까지는 모든 목표(작업 완료, 안전, 에너지 효율, 편안함)를 가중 합으로 표현한 단일 스칼라 보상 R(s,a,s')에 담는다고 가정했습니다.

R=w_1 R_{\text{task}}+w_2 R_{\text{safety}}+w_3 R_{\text{energy}}+\cdots

하지만 "단 한 번의 위반도 치명적일 수 있는" 안전과 같은 목표를 다른 목표와 동일한 가중 합에 포함시키는 것은 위험합니다. 안전 항에 아무리 큰 가중치를 부여하더라도, 이론적으로 작업 보상이 너무 커서 위반하더라도 "이득이 되는" 경우가 발생할 수 있습니다. 제약 조건이 있는 강화 학습(안전 강화 학습)은 목표 함수와 제약 조건을 분리합니다.

\max_\pi\ \mathbb E_\pi\!\left[\sum_t\gamma^t R_{\text{task}}(s_t,a_t)\right]\quad \text{s.t.}\quad \mathbb E_\pi\!\left[\sum_t\gamma^t C(s_t,a_t)\right]\le d

여기서 C는 비용입니다. 함수(충돌, 편차, 위험한 힘 발생 등)와 d는 허용 가능한 상한값입니다. 이는 예상 비용이 특정 임계값을 초과해서는 안 된다는 제약 조건을 별개의 항목으로 취급하면서 보상을 최대화합니다. 이는 보상 설계자들을 괴롭히는 "안전 항의 가중치는 얼마로 해야 할까?"라는 조정 문제를, 많은 경우 더 해석하기 쉬운 다른 매개변수인 제약 조건의 임계값으로 대체합니다.

강화 학습의 기초 및 Q-러닝 및 DQN에서도 언급했듯이, 구현 수준에서 속도 제한, 관절 각도 소프트 제한, 비상 정지와 같은 안전 제약 조건을 학습자 외부(감독 시스템)에 배치하는 것 또한 "단 하나의 보상에만 의존하지 말라"는 아이디어를 실질적으로 구현한 것입니다. 제약 조건이 있는 강화 학습(constrained-RL) 공식화와 학습자 외부의 안전 감독은 모두 "안전은 보상 가중치에만 맡겨서는 안 된다"는 동일한 기본 철학을 서로 다른 계층에서 구현합니다.

7. 보상 설계 체크리스트

  • 보상의 각 항을 로그로 분해하고 학습된 정책이 어떤 항에서 점수를 얻는지 개별적으로 확인했습니까? 밀집 보상의 각 항이 실제 목표를 합리적으로 대변하는 지표입니까?

  • 밀집 보상을 추가할 때, 이를 잠재차로 표현할 수 있는지 확인했습니까? 그렇지 않다면 최적 정책이 의도치 않게 변경될 위험을 감수할 수 있습니까?

  • 학습 전에 보상에 허점(버그, 시뮬레이터 특정 동작, 경계 조건)이 있는지 검토했습니까? 보상과 무관한 기준(사람이 보기에 적절한지, 실제 작업을 성공적으로 수행하는지)에 따라 학습된 정책을 평가했습니까?

  • 좋은 보상을 작성하는 것 자체가 어려운 작업의 경우, IRL이나 모방 학습과 같은 대안을 고려했습니까?

  • 안전과 같이 "절대 위반해서는 안 되는" 목표를 동일한 목표에 포함시키고 있습니까? 가중합을 과제 보상으로 사용하는 것이 적절할까요? 제약 조건이 있는 강화 학습(Constrained RL) 방식을 사용하거나 학습자 외부에 안전 감독 기능을 추가하여 이를 분리할 수 있을까요?

훈련 환경과 다른 조건(초기 상태, 교란, 미지의 시나리오)에서 훈련과 독립적인 평가 데이터를 준비하셨나요?

요약

강화 학습 구현에서 보상 설계는 알고리즘 선택보다 더 많은 시간이 소요되는 경우가 많습니다. 희소한 보상은 정직하지만 학습 속도가 느리고, 밀집된 보상은 학습 속도를 높이지만 의도에서 벗어나는 지름길을 만들기 쉽습니다. 잠재성 기반 보상 설계는 최적 정책을 변경하지 않는다는 보장 하에 이러한 밀집된 보상을 추가하는 몇 안 되는 방법 중 하나입니다. 그럼에도 불구하고 보상 해킹은 실제로 발생합니다. CoastRunners 사례에서 볼 수 있듯이, 에이전트는 명시된 보상을 문자 그대로 최대화할 수 있지만, 의도와는 전혀 다른 방식으로 수행할 수 있습니다. 사람이 직접 보상을 작성하는 대신 시연을 통해 보상을 추론하는 역 강화 학습과 안전과 보상 가중치를 분리하는 제약 조건이 있는 강화 학습은 모두 동일한 교훈에서 비롯된 것입니다. 즉, 모든 것을 사람에게 맡기지 말라는 것입니다. 모든 것을 하나의 보상으로.

이해력 점검
빠르게 도착했을 때 주어지는 보상은 무엇을 생략할 수 있을까요?

충돌, 급격한 움직임, 에너지 사용량 등을 생략할 수 있습니다. 보상과 관계없이 성립해야 하는 허점과 제약 조건을 확인하세요.

참고 문헌

What to read next

Review the background정책 경사법, PPO 및 SAC — 로봇을 위한 안정적인 연속 제어Continue the series모델 기반 강화 학습 및 시뮬레이션에서 현실로의 전환Explore another aspect of this field다중 에이전트 강화 학습 입문 - 상대방도 학습하는 세상에서 최적화하기