Do As I Can, Not As I Say: Grounding Language in Robotic Affordances
Обзор на работу: Ahn M. et al. Do as i can, not as i say: Grounding language in robotic affordances //arXiv preprint arXiv:2204.01691. – 2022.
"However, a significant weakness of language models is that they lack real-world experience, which makes it difficult to leverage them for decision making within a given embodiment."
Языковые модели (LLMs) умеют обрабатывать текст, но не взаимодействуют с физическим миром. Они могут предлагать логичные, но невыполнимые планы. Например, если попросить их помочь убрать разлитый сок, они могут предложить использовать пылесос — даже если у робота его нет.
Как соединить абстрактное мышление LLM и физические возможности агента?
Авторы предлагают метод SayCan, который помогает роботу следовать инструкциям на естественном языке, учитывая его физические ограничения.
- LLM учится разбирать команду на шаги (подзадачи) с помощью промпт-инженерии;
- BC обучается на демонстрациях человека (VR-управление, телеметрия) выполнять каждую из подзадач в среде;
- Offline RL (MT-Opt) учится на тех же демонстрациях предсказывает вероятность успеха каждого навыка через Q-функцию;
1. LLM предлагает список возможных действий
2. RL оценивает, какие из них реально выполнимы
3. BC исполняет выбранное действие
4. Процесс повторяется, пока задача не завершена
Финальная вероятность выполнения навыка рассчитывается так:
p(c_i | i, s, ℓ_π) ∝ p(c_π | s, ℓ_π) p(ℓ_π | i)
- p(ℓ_π | i) — насколько действие соответствует задаче
- p(c_π | s, ℓ_π)— вероятность успеха в текущем состоянии
LLM отвечает за логическую корректность, RL — за проверку реальности, а BC — за исполнение.
- SayCan в 2 раза эффективнее, чем обычный LLM без граундинга
- Можно улучшать SayCan, просто заменяя LLM на более мощный
- Легко добавлять новые навыки – достаточно обновить промпты
- SayCan можно применять не только в робототехнике, но и в автоматизированных системах
Этот метод показывает, что LLM могут не только "говорить", но и "делать", если их правильно направить.
Для оценки выполнимости подзадач в SayCan используется Offline RL. Вместо того, чтобы обучать агента через пробу и ошибку в реальном времени, алгоритм учится на уже собранных данных, снижая затраты на взаимодействие с окружением.
В работе используется MT-Opt — multi-task offline RL алгоритм, основанный на Q-learning. Он обучает функцию ценности Q(s, a), которая предсказывает вероятность успешного выполнения подзадачи в текущем состоянии.
Обновление Q(s, a) происходит по формуле:
Q(s, a) ← R + γ min(Q_target1(s', a'), Q_target2(s', a'))
- Q(s, a) — оценка полезности навыка в данном состоянии
- R — награда (обычно 1 за успех, 0 за неудачу)
- γ — дисконт-фактор (обычно 0.99)
- Q_target1, Q_target2 — двойные Q-функции для борьбы с переоценкой
Чтобы избежать проблем, характерных для оффлайн-RL (переоценка функции полезности), в MT-Opt реализованы:
- Double Q-learning — использование двух Q-функций для ограничения переоценки
- Приоритетный replay buffer — чаще выбираются важные эпизоды обучения
- Наказание за неоптимальные действия — снижает вероятность выбора заведомо неудачных навыков
- Обучение на множестве задач — снижает переобучение к одной конкретной среде
В SayCan MT-Opt не управляет агентом напрямую, а только оценивает вероятность успеха навыков, помогая отфильтровывать невыполнимые подзадачи.
В SayCan выполнение навыков (BC) и их оценка (RL) обучаются независимо, что создает разрыв между тем, что агент может сделать и что считается выполнимым.
1. RL оценивает навыки, которые сам не выполняет – BC может справляться лучше или хуже, чем предполагает RL.
2. Отсутствие обратной связи – если RL дает неверные оценки, BC все равно следует им, не корректируя RL.
3. Потенциальная переоценка или недооценка навыков – RL обучен на статических данных и не учитывает реальные ошибки BC.
SayCan минимизирует эти проблемы:
- RL обучается на тех же данных, что и BC, что снижает разрыв.
- LLM компенсирует ошибки RL, помогая выбирать осмысленные подзадачи.
- Гибкость системы – новые навыки можно добавлять без полного переобучения.