Как мы уже сказали, такой подход к обучению стал набирать обороты после публикации «Deep Reinforcement Learning from Human Preferences» 2017 года. Так что про нее тоже нужно написать пару слов. Там ИИ тоже учили играть в игры, а еще учили управлять роботом (в симуляции).
Проблема, которую поднимают авторы этой статьи, заключается в том, что многие задачи слишком сложны, чтобы правильно прописать функцию вознаграждения. Например, вам нужно научить робота взбивать яйцо – это задача, в которой очень много переменных (не тетрис). Нужно учитывать скорость движений робота, силу сжатия венчика, текстуру яйца и много чего еще, а потом создать такую функцию, которая будет увеличивать вознаграждение, если действия совершены верно, и уменьшать, если яйцо разлетелось во все стороны. Гораздо быстрее (и проще) в этом случае будет наблюдать за роботом и сообщать ему обратную связь.
Можно, конечно, показать процесс взбивания яйца и дать агенту научиться на примере, но не всё можно продемонстрировать (например, если надо не взбивать яйцо, а переместить очень тяжелый и хрупкий груз, который один человек не поднимет). Кроме того, если робот морфологически не похож на человека (например, у него не две руки, а один манипулятор), тут тоже будут сложности.
Как и в предыдущей статье, обучение ИИ-агента таким образом не требует специальных навыков и может осуществляться человеком без технического образования. Это хорошо не только для пользователя, который не должен изучать детали процесса обучения ИИ, но и для развития технологии, потому что оно таким образом будет здорово ускорено.
Людям предложили попарно сравнить короткие видеозаписи, на которых агент выполняет определенные действия, и выбрать ту из них, на которой он справляется лучше (или сказать, что записи одинаковые или несравнимые, тогда они исключались из процесса обучения).
Для экспериментов авторы использовали MuJoCo – инструмент для моделирования физических процессов (бесплатный, кстати, и с открытым исходным кодом). MuJoCo используется в робототехнике (и не только) для отработки поведения робота в сложной среде. Вторым инструментом был Gym от OpenAI. Сейчас Gym уже не поддерживается, его заменили на Gymnasium. Это инструмент, с помощью которого можно обучать ИИ-агентов играть в компьютерные игры (такие как у Atari) и тоже симулировать физические процессы в сложной среде.
Так интересно разбираться в теме ИИ! 🤖