В Google использовали генеративные модели для автоматического программирования роботов на Python


Исследователи из Google Robotics представили способ управления роботами путём конвертации команд пользователя на естественном языке в код на языке программирования Python.

Как и в подходе PaLM-SayCan, в основе подхода лежит использование  больших языковых моделей (Large language models (LLM)) для генерации простых программ на Python из команд на естественном языке. 

Получается, что пользователь может дать команду роботу простым языком, вроде: «Сложи все кубы в один ряд», а модель сгенерирует код на Python, который сможет решить данную задачу. Причём, авторы приложили усилия, чтобы алгоритм получался достаточно простым, где действия робота описываются в виде функций.

Исследователи назвали свой подход — Code as Policies (CaP) —  ориентированный на роботов способ формализации программ, сгенерированных языковой моделью (language model generated programs (LMP)) и выполняемых на реальных системах (роботах).

LMP могут выражать сложные политики, используя:
• Классические логические структуры: последовательности, ветвления (if/else) и циклы (for/while) для создания новых вариантов поведения во время выполнения;
• Сторонние библиотеки для интерполяции точек (NumPy), анализа и
генерация форм (Shapely), пространственно-геометрических рассуждений и т. д.

Затравка для генерации кода представляется в представлении команды пользователя в виде комментария.

Ограничения данного подхода:

  • воспринимаемые объекты и примитивы управления только в рамках доступного API,
  • трудность интерпретации длинных и сложных команд,
  • изначальное предположение, что входные   инструкции возможно выполнить,
  • нет возможности заранее определить, будет ли результат правильным.

Статьи

  1. Liang J. et al. Code as policies: Language model programs for embodied control //arXiv preprint arXiv:2209.07753. – 2022.

Ссылки

По теме


Добавить комментарий

Arduino

Что такое Arduino?
Зачем мне Arduino?
Начало работы с Arduino
Для начинающих ардуинщиков
Радиодетали (точка входа для начинающих ардуинщиков)
Первые шаги с Arduino

Разделы

  1. Преимуществ нет, за исключением читабельности: тип bool обычно имеет размер 1 байт, как и uint8_t. Думаю, компилятор в обоих случаях…

  2. Добрый день! Я недавно начал изучать программирование под STM32 и ваши уроки просто бесценны! Хотел узнать зачем использовать переменную типа…

3D-печать AI Android Arduino Bluetooth CraftDuino DIY IDE iRobot Kinect LEGO OpenCV Open Source Python Raspberry Pi RoboCraft ROS swarm ИК автоматизация андроид балансировать бионика версия видео военный датчик дрон интерфейс камера кибервесна манипулятор машинное обучение наше нейронная сеть подводный пылесос работа распознавание робот робототехника светодиод сервомашинка собака управление ходить шаг за шагом шаговый двигатель шилд юмор

OpenCV
Робототехника
Будущее за бионическими роботами?
Нейронная сеть - введение