EPO

coticoger·2025년 10월 11일
post-thumbnail

Motivation

  1. Long-horizon decision 문제는 여러 단계를 거치는 광범위한 계획을 요구하며, 일관성과 goal orientation을 유지해야 하지만 기존의 LLM은 짧은 문맥 예측에 최적화되어 있어 이러한 문제를 수행하는데 어려움이 있음
  2. Embodied Agent를 위한 LLM finetuning 과정에서 대규모 라벨링된 데이터(ground truth actions, subgoals)가 필요함
  3. 기존에 강화학습 기반 학습은 수동 보상함수 설계에 의존함. 하지만 이 과정은 시간이 오래 걸리고 부정확하며, 환경 변화에 취약함.

Method

Method 설명 순서는 다음과 같다
1. 문제 설정
2. 계층적 LLM기반 의사결정 에이전트 소개
3. multimodal 환경 피드백으로부터 보상 신호를 생성하는 접근 방식 제시
4. EPO를 통해 계층적 에이전트를 학습하는 방법 설명

Problem Setup

문제 정의

GGoo를 입력으로 받아, aa를 생성하여 지시된 목표를 달성하는 의사결정 에이전트를 학습해야 함

입력과 출력

입력 : GG(human language instructions) & oo(환경에서의 visual observations)
출력 : 환경과 상호작용하기 위한 aa(action sequence)를 생성

행동 표현

ata_t(low-level action)는 ll(action type)과 klk_l(target object)로 매개변수화되어 있음
ex) I(kI)I(k_I)\Rightarrow Pickup(apple), MoveForward(None)

학습 데이터셋

  • Annotated dataset
    {G,E,g1,a1,g2,a2,...}\{G,E,g_1,a_1,g_2,a_2,...\}
    • gtg_t : 시점 tt에서 할당된 subgoal
  • Unannotated dataset
    {G1,E1,G2,E2,...}\{G_1,E_1,G_2,E_2,...\}

학습 시나리오

에이전트는 demonstration 기반 학습 설정 하에서 학습하며 EE(환경)은 실제 상호작용 가능한 시뮬레이션 환경이며, 명시적인 보상함수 없이 행동과 피드백을 통해 학습해야 함.

Hierarchical LLMs-based Agent

pretrained LLM을 finetuning하여 주어진 task goal로부터 subgoal을 예측하도록 학습시키고, 또 다른 LLM을 finetuning하여 주어진 subgoal로부터 low-level action을 예측하도록 학습시킴

High-level Decomposition Module(subgoal decomposition)
각 subgoal는 hh(high-level action type) & khk_h(target object/position)으로 매개변수화됨

GG(task instruction)와 original subgoal(gg)가 주어졌을 때, πh\pi_h(high-level decomposition module)은 다음과 같이 분해된 subgoals를 출력함

{h,kh}=πh(G,g)\{h,k_h\}=\pi_h(G,g)

original subgoal을 LLM이 정책 수준에서 처리하기 쉽게 변홤함. 이를 통해서 잘못된 문장을 수정하고, subgoal을 더 간결하고 명확하게 만들어줌

ex) "Then, pick up the dog from the desk"
실제 환경에서 'dog'가 없고, 개 모양 조각상인 경우. 기존 문장을 그대로 쓰면 오류가 발생하므로 πh\pi_h는 original subogal을 변환함 (Move to desk, Pickup statue)

subgoal는 때로는 low-level action과 유사하게 보일 수 있지만 의미론적으로 다르다.

구분의미실행 조건예시포함 범위
Low-level action즉시 실행 가능한 동작현재 위치,방향이 적절해야 함pickup(potato)한 단계 행동
Subgoal달성해야 할 중간 목표어디서든 시작 가능pickup(potato)여러 행동 포함 가능

low-level interaction module
에이전트는 상위 모듈에서 생성된 subboals를 입력으로 받아, autoregressive로 aa(low-level action sequence)를 출력함

low-level action은 ll(action type) & klk_l(target object/position)으로 매개변수화됨

시점 tt에서 {h,kh}\{h,k_h\}와 이 subgoal을 수행하는 동안의 과거 action sequence apast={a0,...at1}a_{past} = \{a_0,...a_{t-1}\}이 있을 때, πl\pi_l(low-level interaction module)는 다음 low-level action을 예측함

at=πl(h,kh,apast)a_t = \pi_l(h,k_h,a_{past})

low-level agent는 subgoal이 달성되었다 판단하면 < stop >토큰을 출력함

Reward modeling from Environment Feedback

unannotated tasks에 대해 LLM 기반 에이전트 학습에 도움이 되는 feedback signals를 자동으로 생성하기 위해서, multimodal observations로부터 feedback signals를 생성할 수 있는 reward model을 학습하는 접근법을 제안함

Environment Feedback
embodied agent가 받을 수 있는 두 가지 유형의 environment feedback을 고려함

  1. Visual Positional Feedback
    매 시점마다 에이전트는 현재 환경을 묘사하는 visual observation(image)를 받고 pretrained Vision Model을 통해 VV(visual positional feedback)을 추출함(label or natural language 형태)
  1. Interaction Feedback
    에이전트가 low-level actions를 사용하여 탐지된 객체들과 상호작용할 때 II(Interaction feedback)을 받음(boolean or natural language 형태)

Reward Modeling
feedback 정보를 통합하기 위해 label 형태의 feedback은 모두 symbolic language로 표현됨. 이렇게 언어 형태로 표현된 feedback을 FF라 함.

Rρ(reward model)R_{ρ}(reward \ model)은 다음의 입력을 받음

  • FF(feedback) : VV, II, 또는 둘 다
  • TT(task specific input) : G,gG,g(high-level decomposition module input) 또는 h,kh,apasth,k_h,a_{past}(low-level interaction module input)
  • PP(Predicted output) : h,khh,k_h(subgoal decomposition module output) 또는 aa(interaction module output)

모델 출력은, 주어진 FF에 대해 PPTT와 얼마나 일치하는지를 나타내는 보상 값

r^=Rρ(F,T,P)\hat{r} = R_{ρ}(F,T,P)

위 설명을 통해서 우리는 high-level decomposition module과 low-level interaction module은 T,PT,P를 계산하는데 사용되며, reward model은 subgoal용과 low-level action용 reward model 두 가지를 각각 학습시켜야 함을 알 수 있다

Training Reward Model
reward model을 학습하기 위해, positive pairs와 negative pairs를 구성함.
Positive pair에는 높은 보상 값, Negative pair에는 낮은 보상 값

FF : "there exists a cup and an apple on the counter"
TT : "pick up the red apple on the left side of the cup"
➡️ Positive pair의 경우 : PP는 "pick up object apple"
➡️ Negative pair의 경우, 같은 FFTT를 사용하지만, PP는 가능한 출력 중 무작위로 선택되어 "pick up object cup"과 같은 잘못된 행동이 됨

이와 같은 방식으로 F,T,PF,T,P를 보상 값에 매핑하는 합성 데이터셋을 구성한 뒤 cross-entropy loss로 보상 모델을 학습시킴

⭐️ EPO(Environment Preference Optimization)

Reward Modeling 및 EPO 학습 프레임워크를 보여줌

trained reward model을 이용하여 unannotated dataset에 대해서도 FFTT에 따라 에이전트가 제안한 subgoal 또는 low-level action의 품질을 평가할 수 있음

Training Pipeline
1. hierarchical LLM modules를 annotated dataset으로 pretrain
2. unannotated dataset에 대해서는 hierarchical LLM이 여러 후보 출력 생성
3. Reward model이 각 출력에 보상값(r^\hat{r})을 부여
4. 이 보상값 순서대로 출력들을 정렬, 이 과정을 거치면 출력 결과들의 순위 리스트 p1,p2,...,pnp_1,p_2,...,p_n을 얻게 됨. 이때 p1p_1은 가장 높은 보상을 받은 출력이다.

r^p1=max r^pi(r^pi>r^pj if i<j)\hat{r}_{p_1} = max\ \hat{r}_{p_i} (\hat{r}_{p_i}>\hat{r}_{p_j}\ if\ i<j)
  1. 이러한 응답 순위를 바탕으로 preference dataset를 구성함
    D={(F1,T1,pw1,pl1),(F2,T2,pw2,pl2),...}D=\{(F_1,T_1,p_w^1,p_l^1),(F_2,T_2,p_w^2,p_l^2),...\}
  2. DD를 이용하여 LLM(πh,πl)\pi_h,\pi_l)을 finetuning

하지만 Environment feedback과 reward model의 labeling은 완벽하지 않을 수 있다. 이를 보완하기 위해 DPO + token-level alignment loss를 결합한 EPO를 제안함.

EPO Loss

LEPO(θ)=E(T,pw,pl)D[pwlog(πθ(p^T))+LD]L_{EPO}(\theta) = \mathbb{E}_{(T,p_w,p_l)\sim D}\left[-p_w log(\pi_{\theta}(\hat{p}\mid T))+L_D\right]

첫 번째 항

pw log(πθ(p^T))-p_w\ log(\pi_{\theta}(\hat{p}\mid T))

모델이 실제로 보상값이 가장 높은 출력 pwp_w와 hard alignment 되도록 만드는 항
이를 통해 LLM이 출력 포맷까지 안정적으로 따르도록 유도할 수 있음

두 번째 항

LD=E(T,pw,pl)Dlog σ(β[logπθ(pwT)πsup(pwT)logπθ(plT)πsup(plT)])L_D = -\mathbb{E}_{(T,p_w,p_l)\sim D}log\ \sigma(\beta \left[log\frac{\pi_{\theta}(p_w\mid T)}{\pi_{sup}(p_w\mid T)}-log\frac{\pi_{\theta}(p_l\mid T)}{\pi_{sup}(p_l\mid T)} \right])
  • πθ\pi_{\theta} : 최적화하려는 LLM (πh\pi_h or πl\pi_l)
  • πsup\pi_{sup} : annotated dataset으로 학습된 LLM
  • σ\sigma : logistic function
  • β\beta : 스케일 조정용 하이퍼파라미터
  • p^\hat{p} : 모델 출력 토큰의 로짓

DPO의 기본 형태를 유지하며, preference relation을 학습시키는 부분으로 pwp_w의 확률은 높이고 plp_l의 확률은 낮추도록 학습함

──────────────────────────────────────────────────────────────
        🔹 1. Supervised Pretraining (주석 데이터 학습)
──────────────────────────────────────────────────────────────
           ┌───────────────────────────────┐
           │  Annotated Dataset (with GT)  │
           └───────────────────────────────┘
                         │
                         ▼
           ┌───────────────────────────────┐
           │  Hierarchical LLMs (πₕ, πₗ)   │
           │  - πₕ : Subgoal Decomposition │
           │  - πₗ : Low-level Interaction │
           └───────────────────────────────┘
                         │
                         ▼
           ┌───────────────────────────────┐
           │  Pretrained Models π_sup      │
           │  (Supervised reference)       │
           └───────────────────────────────┘


──────────────────────────────────────────────────────────────
        🔹 2. Reward Model Training (보상 모델 학습)
──────────────────────────────────────────────────────────────
   ┌────────────────────────────────────────────────────────┐
   │   Construct synthetic pairs (F, T, P, reward)           │
   │   - F: Environment Feedback (Visual + Interaction)      │
   │   - T: Task Input (from πₕ or πₗ)                       │
   │   - P: Predicted Output (Subgoal or Action)             │
   │   - reward: Alignment score (correct ↔ incorrect)       │
   └────────────────────────────────────────────────────────┘
                         │
                         ▼
             ┌───────────────────────────────┐
             │  Train Reward Model Rρ(F,T,P) │
             └───────────────────────────────┘


──────────────────────────────────────────────────────────────
        🔹 3. Preference Data Generation (비주석 데이터 활용)
──────────────────────────────────────────────────────────────
        ┌───────────────────────────────┐
        │  Unannotated Dataset          │
        │  (No labels, only G, E)       │
        └───────────────────────────────┘
                         │
                         ▼
      ┌─────────────────────────────────────────────┐
      │  Hierarchical LLMs (πₕ, πₗ) generate        │
      │  candidate outputs: p₁, p₂, ..., pₙ         │
      └─────────────────────────────────────────────┘
                         │
                         ▼
      ┌─────────────────────────────────────────────┐
      │  Reward Model Rρ evaluates each candidate   │
      │  → assigns reward scores (r̂₁, r̂₂, ...)     │
      └─────────────────────────────────────────────┘
                         │
                         ▼
      ┌─────────────────────────────────────────────┐
      │  Rank outputs by reward                     │
      │  → Construct Preference Dataset D = {       │
      │       (F, T, p_w, p_l) | p_w ≻ p_l }        │
      └─────────────────────────────────────────────┘


──────────────────────────────────────────────────────────────
        🔹 4. EPO Training (환경 선호 최적화 단계)
──────────────────────────────────────────────────────────────
        ┌───────────────────────────────────────────────┐
        │  For each (F, T, p_w, p_l) ∈ D:               │
        │   → Compute EPO Loss:                         │
        │     L_EPO = DPO-style soft preference loss    │
        │              + token-level hard alignment loss│
        └───────────────────────────────────────────────┘
                         │
                         ▼
         ┌────────────────────────────────────────────┐
         │  Update πₕ (subgoal policy)                │
         │  Update πₗ (action policy)                 │
         └────────────────────────────────────────────┘


──────────────────────────────────────────────────────────────
        🔹 5. Result
──────────────────────────────────────────────────────────────
   ✅ Hierarchical LLMs (πₕ*, πₗ*) optimized with
      - Reward Model feedback
      - Preference-based optimization (EPO)
      - Stable output formatting via alignment loss
──────────────────────────────────────────────────────────────

Experiment

Environment

  • 사용 환경
    ALFRED \rightarrow AI2-THOR 기반의 가정 내 시뮬레이션 환경
  • 구성
    총 120개의 실내 시뮬레이션
    8055개의 task 시연
    25,743개의 자연어 지시문
  • 데이터 분할
    training set : 21,023개의 지시문
    seen validation set : 820개 지시문 (익숙한 환경에서의 성능)
    unseen validation set : 821개 지시문 (새로운 환경에서의 일반화 성능)
    training set과 validation set의 task instruction 만이 subgoal 및 low-level action 주석과 짝지어져 있음.
  • Agent 입출력
    입력 : RGB egocentric 시점의 시각 관찰
    출력 : 이산형 행동 (12개 action types, 82개 object types)

Implementation Details

Environment Feedback Extraction

구성 요소모델역할
Object DetectionFaster-RCNN객체 감지
SegmentationMask-RCNN객체 분할
Image CaptioningBLILP-2이미지 설명

시각적 정보를 언어로 변환하여 reward model에 FF 형태로 제공

언어 모델 및 학습 설정

구성 요소설정
LLM BackboneLlama2-7B
Fine-tuning 방식LoRA
적용 대상πh\pi_h(Subgoal Decomposition Module)
πl\pi_l(Low-level Interaction Module)
RρR_{\rho}(reward Model)

학습 데이터 구성

구분설명
Labeled datasetsubgoal, action 라벨이 존재하는 데이터
Unlabeled datasettask instruction만 존재

unlabeled dataset에 대해서는 labeled dataset으로 학습된 reward model을 사용하여 각 가능한 출력에 대한 reward를 추론함. 그 후, 출력들의 보상값을 기반으로 environment preference dataset을 구성함

Results

How well does EPO learn from unannotated data?

unannotated data를 학습에 포함시켰을 때, EPO가 SFT보다 얼마나 효과적으로 성능을 향상시킬까?

방법설명
SFT오직 annotated 데이터만 사용
environment feedback을 입력에 단순히 추가하여 학습
unannotated 데이터 사용하지 않음
EPOannotated data + unannotated data 모두 사용
Reward Model을 이용해 unannotated data에서도 보상 생성
preference 기반 학습 수행

unannotated data가 많을수록 EPO의 상대적 성능 향상이 커짐

How well do different environment feedbacks help decision making?

reward modeling을 통해 얻은 environment feedback이 에이전트의 low-level interaction policy에 얼마나 기여하는지 검증함

위와 같은 결과가 나오는 원인은 다음과 같다. interaction module이 단순히 과거 action trajectory를 모방하는 수준이므로 학습 환경과 다른 새로운 상황에서는 잘못된 행동을함.
ex) 서랍이 닫혀있는데 "펜을 집으라"라는 명령을 받으면, 서랍을 먼저 열고 수행해야 함. 하지만 학습 데이터 대부분이 이미 열린 상태의 예시만 포함되어 있어 서랍을 여는 단계를 생략하고 바로 펜을 집는 행동을 시도하여 실패하게 됨

0개의 댓글