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.
Авторы предлагают способ обучить LLM планировать задачи перестановки объектов в домах с учётом личных предпочтений пользователя.
Ключ: имитационное обучение + усиленное самообучение (ReST) для постепенного выравнивания поведения модели.
Результат — прирост более 30% успеха на бенчмарке Housekeep по сравнению с другими LLM-планировщиками.
📌 Ключевая задача:
* Объекты ставились согласно индивидуальным пользовательским предпочтениям.
* Планирование было долгосрочным, несмотря на частичную наблюдаемость
* Решались разнообразные сцены и перестановки (а не фиксированный сценарий)
🏠 Как устроена среда:
* Симулированные 3D дома (до 6 комнат, множество объектов и рецепторов)
* Задание:
"Исследовать дом и переставить объекты на правильные рецепторы"
* Награды:
+1 за правильную перестановку
−1 за ошибку
* Только локальные (1-е лицо)
* Видит объекты и их отношения типа: "пан на столе"
* Обновляет граф сцены в процессе исследования
⚙️ Архитектура агента:
Строит и обновляет граф сцены 𝑮ₜ:
Узлы: комнаты, объекты, рецепторы
Рёбра: отношения (например, `объект на рецепторе`)
Формирует подсказку (prompt) для LLM:
* Текущий граф
* Текущие инструкции
* Примеры действий
Принимает подсказку и генерирует план:
𝑝ₙ = (ω₀, ω₁, ..., ωₖ)
ω ∈ {go to obj/rec/room, look at obj/rec, pick up obj, place obj on rec}
План выполняется пошагово, после чего строится новый план.
Стандартный контроллер из Housekeep: Маппинг высокоуровневых действий в низкоуровневые (движение, поворот, захват).
🔥 Как происходит обучение:
1️⃣ Имитированное обучение (Supervised Fine-Tuning)
* Исследование комнат
* Перемещение одного объекта
* Пары (подсказка, ответ): 𝐷ₑₘₒ = { (xᵢ, yᵢ) }
* Оптимизация по отрицательному логарифмическому правдоподобию:
𝓛ₛ𝒻ₜ = − E₍ₓ,ᵧ₎∈Ddemo [ (1/|y|) × Σₜ log Pθ(aₜ | a₁:ₜ₋₁, x) ]
aₜ — действие на шаге t
2️⃣ Итеративное усиленное самообучение (Self-Training)
* Генерация множества планов на основе текущего состояния модели
* Оценка успешности действий по пользовательским предпочтениям
* Отбор только успешных примеров:
Dₛₑₗ𝒻₋ₜᵣₐᵢₙ = { (xᵢ, yᵢ) | rᵢ > 0 }
* Дальнейшее обучение на успешных примерах, снова с помощью 𝓛ₙₗₗ.
* Процесс повторяется (обычно 2 итерации).
Успешность перестановки объектов измеряется как:
Success Rate = (Correct_end − Correct_start) ÷ Misplaced_start
⮕ если агент портит ситуацию, метрика становится отрицательной.
📈 Основные результаты
✅ После 2 итераций Self-Training: прирост успешности до 40–43% на сложных сценах.
🧠 Ключевые находки
• Граф сцены + итеральное планирование = основа для частично наблюдаемого планирования.
• Имитационное обучение резко улучшает исполнимость действий (на ~20%).
• Self-Training позволяет постепенно наращивать исследование и персонализацию.