May 12, 2025

LLM-Personalize Aligning LLM Planners with Human Preferences via Reinforced Self-Training for House

Обзор работы: Han D. et al. LLM-Personalize: Aligning LLM Planners with Human Preferences via Reinforced Self-Training for Housekeeping Robots // arXiv preprint arXiv:2404.14285. – 2024.

TL;DR

Авторы предлагают способ обучить LLM планировать задачи перестановки объектов в домах с учётом личных предпочтений пользователя.
Ключ: имитационное обучение + усиленное самообучение (ReST) для постепенного выравнивания поведения модели.
Результат — прирост более 30% успеха на бенчмарке Housekeep по сравнению с другими LLM-планировщиками.


📌 Ключевая задача:

Настроить агента так, чтобы:

* Объекты ставились согласно индивидуальным пользовательским предпочтениям.
* Планирование было долгосрочным, несмотря на частичную наблюдаемость
* Решались разнообразные сцены и перестановки (а не фиксированный сценарий)


🏠 Как устроена среда:

Housekeep Benchmark:

* Симулированные 3D дома (до 6 комнат, множество объектов и рецепторов)
* Задание:
  "Исследовать дом и переставить объекты на правильные рецепторы"
* Награды:
  +1 за правильную перестановку
  −1 за ошибку

Наблюдения агента:

* Только локальные (1-е лицо)
* Видит объекты и их отношения типа: "пан на столе"
* Обновляет граф сцены в процессе исследования


⚙️ Архитектура агента:

1️⃣ Context Generator

Строит и обновляет граф сцены 𝑮ₜ:

Узлы: комнаты, объекты, рецепторы
Рёбра: отношения (например, `объект на рецепторе`)
Формирует подсказку (prompt) для LLM:

* Текущий граф
* Текущие инструкции
* Примеры действий

2️⃣ LLM Planner

Принимает подсказку и генерирует план:

  𝑝ₙ = (ω₀, ω₁, ..., ωₖ)
  ω ∈ {go to obj/rec/room, look at obj/rec, pick up obj, place obj on rec}

План выполняется пошагово, после чего строится новый план.

3️⃣ Controller

Стандартный контроллер из Housekeep: Маппинг высокоуровневых действий в низкоуровневые (движение, поворот, захват).


🔥 Как происходит обучение:

1️⃣ Имитированное обучение (Supervised Fine-Tuning)

Демонстрации:

* Исследование комнат
* Перемещение одного объекта
* Пары (подсказка, ответ): 𝐷ₑₘₒ = { (xᵢ, yᵢ) }
* Оптимизация по отрицательному логарифмическому правдоподобию:

𝓛ₛ𝒻ₜ = − E₍ₓ,ᵧ₎∈Ddemo [ (1/|y|) × Σₜ log Pθ(aₜ | a₁:ₜ₋₁, x) ]

Где:

x — подсказка

y — план действий

aₜ — действие на шаге t

2️⃣ Итеративное усиленное самообучение (Self-Training)

Цикл Grow → Improve:

* Генерация множества планов на основе текущего состояния модели
* Оценка успешности действий по пользовательским предпочтениям
* Отбор только успешных примеров:


Dₛₑₗ𝒻₋ₜᵣₐᵢₙ = { (xᵢ, yᵢ) | rᵢ > 0 }

* Дальнейшее обучение на успешных примерах, снова с помощью 𝓛ₙₗₗ.

* Процесс повторяется (обычно 2 итерации).


📊 Метрика успеха:

Успешность перестановки объектов измеряется как:

Success Rate = (Correct_end − Correct_start) ÷ Misplaced_start

⮕ если агент портит ситуацию, метрика становится отрицательной.


📈 Основные результаты

✅ После 2 итераций Self-Training: прирост успешности до 40–43% на сложных сценах.


🧠 Ключевые находки

Граф сцены + итеральное планирование = основа для частично наблюдаемого планирования.
• Имитационное обучение резко улучшает исполнимость действий (на ~20%).
• Self-Training позволяет постепенно наращивать исследование и персонализацию.


LLM's used: GPT-3.5-turbo