본문 바로가기
논문 리뷰/Reinforcement Learning

Deep Reinforcement Learning from Human Preference

by 박사개구리 2024. 11. 10.

0. Abstract

  • 본 논문에서 제안하는 것 → 한쌍의 trajectory segment 사이에서 (비 전문가) 사람의 선호에 따라 학습의 목표를 정의
    • 이런 접근을 통해 보상함수에 대한 접근 없이 복잡한 강화학습 문제 (e.g. Atari, simulated robot locomotion)를 효과적으로 풀 수 있음
  • 환경과 상호작용하는 것에 비해 1%도 안되는 피드백만으로 에이전트 학습 가능
    • 사람의 감독에 따른 비용이 크게 감소하기 때문에 SOTA 강화학습 시스템에 실용적으로 적용이 가능
    • 기존의 사람 피드백을 통해 학습하던 기법들에 비해 더욱 복잡하고 새로운 행동을 1시간 안에 성공적으로 학습

1. Introduction

  • 최근 강화학습은 보상함수가 잘 정의된 도메인의 다양한 문제에서 좋은 성능을 보임
    • 하지만 실생활의 많은 문제들에서 목표는 복잡하고 부실하게 정의되며 구체화하기 어려움
    • 이 한계를 극복하면 강화학습의 효과를 크게 확장 가능!
  • 예를 들어 강화학습을 통해 테이블을 치우고 계란 후라이를 만들도록 에이전트를 학습시키기를 원한다고 가정해보자
    • 이 경우 적절한 보상함수를 구성하는 것이 어려우며 만약 의도를 근사할 수 있는 보상함수를 디자인한다고 해도 이 보상을 최적화하는 것이 사람의 선호를 실제적으로 만족시킨다고 보장할 수 없음
    • 위의 내용에 대한 보충을 위해 개인적으로 추가한 예시: 아래와 같이 비둘기가 잘 날도록 보상함수를 설정하는 경우 날아간다는 목적을 달성해도 그것이 우리가 의도한 날개를 움직여서 날아가는 것과 다를 수 있음
  • 만약 사람이 에이전트와 실제 목표에 대해서 성공적으로 의사소통 할 수 있으면 위와 같은 문제의 해결에 큰 도움이 될 수 있음!
  • 기존 기법 (IRL, IL)
    • 만약 우리가 문제에 대해 사람의 데모 데이터를 가지고 있으면 역강화학습 (Inverse Reinforcement Learning, IRL)을 통해 보상함수를 도출하고 이 보상함수를 통해 강화학습 에이전트를 학습하는 것이 가능
    • 혹은 더 직접적으로 모방학습 (Imitation Learning, IL)을 이용하여 사람의 데모 데이터를 모방하도록 학습할 수 있음
    • 하지만 이런 기능들은 사람이 직접 데모하기 어려운 행동을 가지는 환경에 대해서는 직접적인 적용이 어려움 (ex. 높은 자유도를 가지는 로봇팔은 사람이 직접 제어하기 어려움)
  • 기존 기법 (feedback)
    • 시스템의 현재 행동에 대해 사람이 피드백을 제공하고 해당 피드백을 통해 문제 정의
    • 그러나 강화학습 시스템에 대해 사람의 피드백을 직접 보상으로 사용하는 것은 너무 많은 비용이 필요 (수백 ~ 수천 시간에 대한 경험 데이터가 필요)
    • 사람의 피드백으로 심층 강화학습 (Deep Reinforcement Learning, DRL) 시스템을 학습하기 위해서는 요구되는 피드백의 양을 줄이는 것이 필수적!
  • 본 논문이 제안하는 기법
    • 사람의 피드백으로부터 보상함수를 학습하고 해당 보상함수를 통해 최적화를 수행
    • 잘 정의된 보상 함수 없이 순차적 결정 문제에 대한 해결을 위해 다음과 같은 특징을 가지는 기법 제안
      • 원하는 행동에 대한 데모 없이 원하는 행동을 “인지”할 수만 있으면 문제를 푸는것이 가능
      • 비전문가에 의해서도 학습 가능
      • 큰 규모의 문제에도 적용 가능
      • 사람의 피드백을 절약
    • 본 논문의 알고리즘은 사람의 선호에 대한 보상함수를 피팅 → 동시에 현재 예측된 보상함수에 대해 강화학습 에이전트의 정책을 최적화 (Figure 1 참고)
    • 에이전트의 행동에 대한 짧은 비디오를 사람에게 보여주고 이를 비교하도록 함 → 일부 도메인에서는 절대적인 점수를 결정하는 것 보다 비교가 더 쉬울 수 있기 때문에 이런 방식을 사용 → 이런 비교를 통한 방식은 사람의 선호를 통해서 학습하는 것과 동일하게 유효
    • 본 논문의 실험은 2개의 도메인에서 수행 → Atari, Mujoco

      • 실험을 통해 적은 양의 비전문가 사람 피드백 (15분 - 5시간)을 사용하여 보상 함수가 관측되지 않는 경우에도 대부분의 기존 강화학습 문제를 학습하는데 충분하다는 것을 보임
      • Backflip 같은 새로운 행동에 대한 학습도 가능하다는 것을 보임

2. Preliminaries and Method

2.1. Setting and Goal

  • 에이전트가 여러 스텝의 시퀀스 동안 환경과 상호작용 → 각 시간 $t$에서 환경으로 부터 관측 $o_t \in O$을 받고 환경에 행동 $a_t \in A$를 보냄
  • 전통적인 강화학습에서는 환경이 보상 $r_t \in R$을 제공하고 에이전트의 목표는 감가된 보상들의 합을 최대화하는 것이었음
  • 이렇게 환경이 제공하는 보상 대신 본 논문에서는 사람이 trajectory segment 사이의 선호를 통해 학습하는 방식을 제안
    • 여기서 trajectory segment는 관측과 행동의 시퀀스를 의미 → $\sigma = ((o_0, a_0), (o_1, a_1), ..., (o_{k-1}, a_{k-1})) \in (O \times A)^k$
    • $\sigma^1 \succ \sigma^2$는 사람이 trajectory segment $\sigma^1$을 trajectory segment $\sigma^2$보다 선호하는 것을 나타냄
  • 에이전트의 목표 → 사람에 대해 최대한 적은 양의 쿼리를 생성하면서 사람이 선호하는 trajectory를 생성
  • 제안된 알고리즘은 다음의 두가지 방식을 통해 평가
    • 정량적 평가
      • 선호는 다음과 같이 보상함수 $r: O \times A \rightarrow R$에 의해 생성된다고 할 수 있음
      • 만약 사람의 선호가 보상함수 $r$에 의해 생성된다면 에이전트는 $r$에 따라 높은 보상함수를 받도록 학습할 것
      • 우리는 보상함수를 알고 있으므로 에이전트를 이와 같이 정량적으로 평가할 수 있음
    • 정성적 평가
      • 때로는 행동을 정량적으로 평가할 수 있는 보상함수가 없는 경우가 발생 (본 논문의 기법이 실제적으로 유용한 상황)
      • 이 경우 에이전트가 얼마나 사람의 선호를 잘 만족하는지 정성적으로 평가할 수 밖에 없음
      • 본 논문에서는 사람에게 해당 문제의 목표를 자연어 형태로 알려주고 에이전트의 행동이 해당 목표를 얼마나 잘 달성하는지 정성적으로 평가하도록 함

 

2.2. Our Method

  • 매 시점 본 논문의 기법은 심층인공신경망으로 파라미터화 된 정책 $\pi : O \rightarrow A$와 보상 함수 추정기 $\hat{r}: O \times A \rightarrow R$ 사용
  • 해당 네트워크들은 다음의 3 단계를 통해 업데이트
    1. 정책 $\pi$가 환경과 상호작용하면서 trajectory의 세트 $\{\tau^1 , ..., \tau^i\}$를 생성 → $\pi$의 파라미터들은 기존의 강화학습 알고리즘에 의해 업데이트 → 예측된 보상의 합을 최대화 → $r_t = \hat{r}(o_t, a_t)$
    2. 위의 과정1에서 생성된 trajectories $\{\tau^1, ..., \tau^i\}$로부터 segment의 쌍 $(\sigma^1, \sigma^2)$을 선택하고 비교를 위해 사람에게 보냄
    3. $\hat{r}$의 파라미터들은 현재까지 사람에 의해서 수집된 비교 결과들을 잘 피팅하도록 지도학습을 통해 최적화 됨
  • 위의 과정들은 비동기적 (asynchronously)으로 진행됨
    • Trajectory들이 과정 1에서 과정 2로, 사람의 비교 결과가 과정 2에서 과정 3으로, $\hat{r}$의 파라미터가 과정 3에서 과정1로 전달

2.2.1. Optimizing the Policy

  • $\hat{r}$을 통해 보상이 계산되면, 전통적인 강화학습과 동일하게 진행
  • 단 $\hat{r}$이 non-stationary일 수 있으므로 보상의 변화에 강인한 강화학습 알고리즘에 대한 사용이 필요함
  • 이에 따라 Policy Gradient (PG) 기반 강화학습 기법 사용
    • Atari 환경에 대해서는 Advantage Actor-Critic (A2C) 알고리즘 사용
    • Mujoco 환경에 대해서는 Trust Region Policy Optimization (TRPO) 알고리즘 사용
  • 각각의 경우에 대해 파라미터 세팅은 기존 강화학습 문제를 잘 풀었을 때 사용한 파라미터를 그대로 사용
    • 오직 TRPO의 entropy bonus에 대해서만 변경 → TRPO는 적절한 탐험을 보상하기 위해 trust region을 사용하는데 보상 함수가 변하는 경우 부적절한 탐험으로 이끌 수 있기 때문
  • $\hat{r}$에 의해 생성된 보상을 정규화 (normalization) 수행 → 평균 = 0, constant 표준 편차

2.2.2. Preference Elicitation

  • 사람 감독자에게는 두개의 trajectory segment가 1~2초 정도의 짧은 비디오 형태로 시각화되어 보여짐
  • 사람은 선호하는 segment를 선택하거나 두 segment가 동일하게 좋음, 두 segment를 비교할 수 없음 중 하나를 선택
  • 사람의 판단은 데이터베이스 $D$에 $(\sigma^1, \sigma^2 , \mu)$의 형태로 저장
    • $\sigma^1 , \sigma^2$는 두 segment를, $\mu$는 유저가 어떤 segment를 더 선호했는지에 대한 분포를 나타냄
    • 만약 사람이 하나의 segment를 더 선호한다고 선택했으면 $\mu$는 해당 선택으로 분포의 모든 비중을 가져감 (원문: put all its mass on that choice)
    • 만약 사람이 두 segment가 동일하게 선호된다고 선택하면 $\mu$는 균등 분포로 사용
    • 마지막으로 사람이 두 segment가 비교 불가능하다고 판단하면 해당 비교는 데이터베이스에 추가하지 않음

2.2.3. Fitting the Reward Function

  • 보상 함수 추정기 $\hat{r}$은 선호도 예측기로 생각할 수 있음
    • 영상 클립의 길이에 대한 latent reward ($\hat{r}$)의 합을 이용하여 segment 1에 대한 선호를 확률로 나타낸 결과
    • $\hat{r}$이 예측과 실제 사람의 라벨 사이의 cross-entropy 손실함수를 최소화 하도록 학습
  • 실제 알고리즘은 위와 같은 기본적인 접근 방식에 몇가지 변경을 수행하였음 → 도움이 되는 몇가지 실험들과 이에 대한 분석은 섹션 3.3에서 진행
    • 예측기들의 앙상블을 사용 → 각각을 전체 데이터셋 $D$에서 샘플링 한 $|D|$를 통해 학습 → 예측 $\hat{r}$은 각 예측기들을 독립적으로 정규화하고 해당 결과들을 평균하여 정의
    • 데이터의 $1/e$는 각 예측기의 검증셋으로 사용 → $l_2$ regularization을 사용하고 regularization의 계수를 조절하여 검증 손실함수 값이 학습 손실함수 값의 1.1 ~ 1.5배가 되도록 설정 → 특정 도메인에서는 regularization을 위해 dropout 적용
    • 식 1과 같이 직접적으로 softmax를 적용하기 보다는 사람의 응답이 10% 정도는 랜덤하다는 가정을 추가 → 사람의 경우 일정 확률로 실수를 할 수 있기 때문

2.2.4. Selecting Queries

  • 보상 함수 추정기의 불확실성에 대한 근사에 기반하여 선호의 쿼리를 결정
  • k의 길이를 가지는 trajectory segment의 쌍을 많이 샘플하고 앙상블의 각 보상 예측기를 사용하여 각 쌍에서 어떤 segment가 선호되는지 예측
  • 그리고 앙상블을 통해 도출된 결과들 중 가장 높은 분산을 도출한 예측을 trajectory로 선택

3. Experimental Results

  • Tensorflow를 통해 알고리즘 구현, OpenAI Gym의 Mujoco와 Arcade Learning 환경 (Atari) 사용

3.1. Reinforcement Learning Tasks with Unobserved Rewards

  • 실험의 첫번째 세트 → 실제 보상을 관측하지 않고 두 trajectory segment에 대한 사람의 선호를 통해 정의된 목표만을 이용하여 학습
  • 목표! → 가능한 양의 쿼리를 사용하여 납득할만한 시간 안에 문제를 푸는 것!
  • 실험자의 실험 조건
    • 피드백을 제공하는 실험자에게 각 문제에 대한 1-2 문장의 설명을 제공하고 해당 문제에 대한 몇백에서 몇천개의 trajectory segment 비교를 요청
    • 실험자는 각 쿼리에 대해 평균적으로 3-5초 정도의 시간 안에 응답했으며 실제 사람 피드백에 대한 실험은 30분 ~ 5시간 정도가 수행되었음
  • 대조군
    • synthetic oracle
      • 비교를 위해 해당 문제에서 제공하는 보상을 정확하게 반영하는 trajectory에 대한 선호를 나타내는 synthetic oracle을 사용한 실험을 수행
      • 에이전트에게 비교 대상이 주어졌을 때 사람에게 쿼리를 보내는 대신 실제로 환경에서 제공하는 보상을 더 높게 받는 trajectory를 선택
    • 실제 보상을 사용한 강화학습의 기본 알고리즘도 비교 대상으로 사용
  • 제안한 알고리즘의 목표는 강화학습의 성능을 뛰어 넘는 것이 아니라 보상에 대한 정보를 사용하지 않고 훨씬 적은 사람 피드백만을 통해서 유사한 성능을 달성하는 것!
  • 하지만 사람의 피드백이 더 잘 정제된 보상을 제공할 가능성이 있으므로 실제 사람을 통한 피드백으로 학습한 에이전트가 강화학습의 성능을 뛰어넘을수도 있음!

3.1.1. Simulated Robotics

  • Mujoco에 구현된 8개의 시뮬레이션 로봇 문제를 통해 검증 수행
  • Figure 2는 사람 평가자로 수집한 700개의 쿼리를 통해 학습한 에이전트의 결과와 350, 700, 1400개의 synthetic queries로 학습된 결과, 마지막으로 실제 보상을 통한 강화학습 알고리즘의 결과를 비교
  • 700개의 라벨로 학습된 보상 함수를 통한 학습이 조금 더 불안정하고 높은 분산을 보이긴 하지만 평균 성능의 경우 강화학습과 거의 유사함
  • 놀랍게도 1400 라벨을 이용한 결과는 (synthetic queries 인듯?) 실제 보상을 받은 경우 보다 더 잘 수행 → 보상 학습 과정은 모든 행동에 대해 양의 보상을 할당하므로 학습된 보상함수가 약간 더 나은 형태인 것이 좋은 성능의 원인으로 생각됨
  • 실제 사람 피드백은 synthetic 피드백에 의해 약간 낮은 성능을 보임 → Ant 문제의 경우 synthetic 피드백보다 사람 피드백이 더 좋은 성능을 보임

3.1.2. Atari

  • 두번째 검증 환경은 7개의 Atari 게임
  • Figure 3은 사람 평가자에 의해 수집된 5500개의 쿼리로 학습한 에이전트의 결과를 보여줌 → 3300, 5600, 10000 synthetic 쿼리로 학습한 결과와 비교
    • Beamrider와 Pong에서는 synthetic 라벨이 3.3k 라벨만으로도 강화학습과 유사한 성능을 보임
    • Seaquest와 Qbert에서는 synthetic 피드백이 강화학습과 유사한 수준으로 학습하지만 학습 속도가 느림
    • SpaceInvader와 Breakout에서는 synthetic 피드백이 강화학습에 비해서 좋지 못한 결과를 보임
  • 대부분의 게임에서 사람의 피드백으로 학습한 에이전트는 synthetic 피드백과 비교했을 때 유사하거나 약간 나쁜 성능을 보임
  • 사람 피드백 기반 에이전트의 성능이 낮은 이유
    • 라벨링 과정에서 발생하는 실수, 다른 실험자에 의해 같은 실행에 대해서 라벨링이 불일치, 고르지 못한 라벨링 비율 (상태 공간의 아주 좁은 영역에 대해서 과도하게 집중하게 만듬)
  • Qbert에서 제안된 기법은 사람 피드백 기반으로 첫번째 단계도 풀지 못함
    • Qbert에서는 짧은 클립만으로는 평가하기 어려움
  • Enduro에서는 A3C의 랜덤한 탐험만으로 에이전트가 다른 차를 성공적으로 지나쳐가도록 학습하는 것이 어려움 → 이에 따라 synthetic 피드백에 대해서도 동일하게 학습이 어렵지만 사람에 의해 라벨링 된 경우 다른 차들을 지나는 것에 대해 보상을 줄 수 있으므로 A3C보다 사람 피드백 기반의 에이전트가 좋은 성능을 보임

3.2. Novel Behaviors

  • 지금까지는 기존에 강화학습에서 사용된 문제들을 통해 제안된 알고리즘의 효과를 확인 → 하지만 사람과의 상호작용에 대한 궁극적인 목적은 보상함수가 제공되지 않는 문제를 푸는 것!
  • 이에 따라 기존 실험과 동일한 파라미터를 사용하여 새롭고 복잡한 행동을 제안된 알고리즘으로 학습
    • Hopper가 backflip을 하도록 학습 (Figure 4 참고) → 한 시간 이하로 수집한 900개의 쿼리를 사용하여 학습 → 에이전트는 backflip, 착지를 반복 수행
    • Half-cheetah에서 한 발을 들고 앞으로 이동하도록 학습 → 한 시간 안에 수집된 800개의 쿼리로 학습
    • Enduro에서 다른 차량과 나란히 달리도록 학습 → 1300개의 쿼리와 4백만 프레임 동안 환경과 상호작용
  • 결과 영상: https://drive.google.com/drive/folders/0BwcFziBYuA8RM2NTdllSNVNTWTg?pli=1

3.3. Ablation Studies

  • 제안된 알고리즘의 성능을 더 잘 이해하기 위해 몇가지 변경 수행
    1. 쿼리를 불확실성에 우선적으로 선택하는 것이 아니라 랜덤하게 샘플링 (random queries)
    2. 앙상블 대신 하나의 예측기만 학습 (no ensemble) → 해당 세팅에서도 쿼리는 랜덤하게 선택
    3. 학습 초반에만 쿼리를 수집하고 학습 진행하는 동안에는 수집하지 않음 (no online queries)
    4. $l_2$ regularization을 제거하고 오직 dropout만 사용 (no regularization)
    5. 로봇 문제에만 trajectory segment의 길이를 1로 사용 (no segment)
    6. 비교를 통해 $\hat{r}$을 피팅하는 대신 trajectory segment에 대해 실제 보상을 제공하는 oracle을 사용 → $\hat{r}$을 mean squared error를 사용하여 전체 보상에 피팅 (target)
  • Figure 5의 경우 Mujoco, Figure 6의 경우 Atari에서의 ablation study 결과를 보여줌
  • 오프라인 보상 예측기 학습 (no online queries)
    • 오프라인으로 학습하는 경우 나쁜 성능을 보임 → non-stationarity 때문
    • 예측기가 실제 보상의 일부만 파악하므로 이런 부분적인 보상만을 학습하면 원치 않는 이상한 행동을 하도록 학습할 수 있음 (e.g. Pong 환경에서 점수를 얻는 방향이 아니라 점수를 잃지 않는 방향으로만 학습해서 동일한 이벤트의 시퀀스만을 반복하며 계속 동일하게 공을 받아치기만 함)
    • 이를 통해 사람의 피드백이 정적으로 제공되는 대신 강화학습과 지속적으로 상호작용이 발생해야 한다는 것을 알 수 있음
  • 비교 대신 절대적인 점수를 제공 (target)
    • 절대적인 점수 대신 보상을 제공한 주된 이유는 지속적으로 절대적인 점수를 제공하는 것 보다 지속적인 비교를 제공하는 것이 쉽기 때문 → 점수를 제공하는 것은 복잡한 회귀 문제와 같이 보상의 스케일이 너무 다양함
    • 특히 연속적인 행동 문제에서는 비교를 예측하는 것이 점수를 예측하는 것에 비해 훨씬 잘 동작함
  • Clip 대신 단일 프레임 사용 (no segment)
    • 많은 성능 차이가 발생 → 단일 프레임으로 유사한 결과를 얻기 위해서는 훨씬 더 많은 양의 비교 데이터 수집 필요
    • 그럼 어느정도 길이의 클립이 좋을까?
      • 짧은 클립에 대해서는 사람이 해당 상황을 이해하기 까지 많은 시간이 걸릴 수 있음
      • 긴 클립의 경우 클립의 길이에 평가 시간이 선형적으로 비례하여 길어짐
      • 이에 따라 평가 시간이 선형적일 때의 가장 짧은 시간으로 선택
    • Atari 환경에서는 때로 긴 클립을 사용하여 비교하는 것이 더 쉽다는 것을 확인 → 상황에 대한 더 많은 정보를 제공하기 때문

4. Discussion and Conclusions

  • 에이전트-환경의 상호작용은 사람의 상호작용에 비해 더 적은 비용이 요구됨
  • 본 논문에서는 지도 학습을 통해 학습하는 분리된 보상 모델을 사용하여 상호작용에 대한 복잡도를 감소시킴
  • 사람의 선호를 통해 심층 강화학습 모델을 의미있게 학습할 수 있을 뿐 아니라 비전문가 피드백을 사용한 비용을 감소시킴
  • 기존에도 선호를 기반으로 한 보상 함수를 사용하여 강화학습을 수행한 많은 연구들이 있었지만 본 논문의 기법은 처음으로 이런 기법이 SOTA 강화학습 기법들만큼의 성능을 경제적으로 달성할 수 있음을 보임 → 강화학습이 실생활의 문제들에 적용될 수 있는 결과

  • Future work
    • 사람 선호를 통한 학습의 효율성 개선 → 적용할 수 있는 문제의 범위 확대
    • 장기적으로는 인간의 선호를 사용하여 문제를 학습하는 것이 프로그래밍 방식의 보상에 따라 학습하는 것 보다 어렵지 않도록 해야함 → 이렇게 되면 복잡도가 낮은 문제가 아닌 복잡한 인간의 가치를 학습하는 강력한 강화학습 시스템을 적용할 수 있음