Не провалить «кофейный тест»: ученые научили ИИ самостоятельно адаптироваться к новым действиям
![Не провалить «кофейный тест»: ученые научили ИИ самостоятельно адаптироваться к новым действиям Не провалить «кофейный тест»: ученые научили ИИ самостоятельно адаптироваться к новым действиям](https://images.techinsider.ru/upload/img_cache/d3c/d3c6e935464d3566741902f21a00029b_ce_1682x1121x159x0_cropped_510x340.webp)
Что такое «кофейный тест» для ИИ?
Стив Возняк — один из основателей компании Apple — когда-то предложил для проверки интеллекта робота задачу, которая получила название «кофейный тест». Возняк много раз его формулировал и всегда немного по-разному. В целом суть теста в следующем. Робот обучается варить кофе. Он все умеет: находить в доме кухню, брать пакет с кофе в кухонном шкафу, засыпать в кофемашину, наливать готовый напиток в чашку и ставить чашку на стол. Допустим, он обучался это умеет делать в одном доме или даже в нескольких.
На сегодня кофейный тест не прошел еще ни один робот. Даже не в реальности, а на цифровой модели. В чем проблема? Она в неприметном вроде бы слове «примерно». Да, все похоже, но все разное. Обучение в одном доме не дает никакой гарантии на успех в другом, потому что двери, шкафы, кофемашины, даже чашки — немного отличаются, и чтобы обучиться работать с разными чашками, нужно заново обучать ИИ на вот этих конкретных чашках.
«Безголовый» алгоритм: как ИИ учится решать похожие задачи без переобучения
Ученые из лаборатории исследований искусственного интеллекта (ИИ) T-Bank AI Research и Института AIRI сделали серьезный шаг в направлении, которое позволяет справиться с близкими, но разными задачами без полного переобучения, то есть сделать пространство действий ИИ не фиксированным, а достаточно широким. Но не произвольным, а управляемым контекстом задачи.
Сегодня модели ИИ, например большие языковые модели, практически никогда не обучаются на данных пользователей. Модель обучают на специально подготовленных данных, да и еще и доводят потом «до ума» тонкой настройкой. Получение работающих сотен миллиардов параметров — процесс долгий и дорогой. Но почти всегда есть возможность с такой «фиксированной» моделью договориться. Для этого используется контекст задачи. Вы вводите свои запросы в контекстное окно, и модель понимает ваши частные проблемы, и отвечает вам, а не среднему пользователю (чем контекстное окно больше, тем — больше у вас свободы).
![обучение ИИ обучение ИИ](https://images.techinsider.ru/upload/img_cache/42c/42c89d89a2c7b2b04aea95f599bbfe8d_cropped_510x340.webp)
Возьмем нашего робота-кофевара. Он уже многое умеет, прежде чем возьмется за кофе: у него есть компьютерное зрение, работают захваты, он может двигаться — это все трудные общие задачи. Приготовление кофе — это как раз тот контекст, который позволяет конкретизировать задачу.
Что нужно сделать, чтобы он научился наливать кофе в любую чашку без переобучения?
Нужно расширить не пространство его знаний и умений, а пространство его действий, определяемых контекстом задачи. Действия не должны быть зафиксированы обучением, они должны контекстом доопределяться.
Вот как раз в этом и добились продвижения ученые. В модели Headless-AD они снесли ИИ «голову». Если использовать технический сленг — убрали последний слой нейросети, который жестко фиксирует, какие действия может делать робот. Пространство действий резко расширилось, но осталось в определенных границах.
Эти действия кодируются случайными входными векторами. Это важный момент. Представим себе жесткую систему без случайных векторов. Она строится по принципу стимул-ответ: пошел дождь — вы открыли зонт. Определенному стимулу в такой системе всегда соответствует заранее определенный ответ или действие. Если все возможные действия заранее перечислены, такая система вполне работоспособна. А если нет? Если мы хотим, чтобы действия совершались, например, с разными чашками, у которых разные ручки или вовсе нет ручек? Причем, какие это будут ручки мы заранее не знаем?
![как расширить свободу действий ИИ как расширить свободу действий ИИ](https://images.techinsider.ru/upload/img_cache/970/9703610a8c91a9e319a51bcde070672f_cropped_510x286.webp)
Если мы подаем на вход случайный вектор (стимул) ИИ начинает его обрабатывать в силу своего «интуитивного» понимания. Наверно, сначала неточно. Но у него есть система «подкрепления»: и в зависимости от точности действия ИИ получает разные награды — чем точнее, тем награда выше. Постепенно между вектором (стимулом) и действием связь крепнет. А поскольку выбор действий достаточно велик и заранее не предопределен (мы же снесли ИИ «голову»), удается научить ИИ целому набору действий, о которых он даже не догадывался. И это можно сделать без полного переобучения. Если стимул — это дождь, то алгоритм может предложить, не раскрывать зонт (ответ, которому его обучали), а зайти в кафе и переждать непогоду — ответ, о котором он «догадался».
Результаты исследования были представлены на международной конференции по машинному обучению ICML (International Conference on Machine Learning), которая в этом году проходит в 41-й раз в Вене, Австрия. Подробное описание модели и результаты экспериментов доступны в статье In-Context Reinforcement Learning for Variable Action Spaces. Исходный код и дополнительные материалы можно найти на GitHub.