Обучение с подкреплением практикой — проект RoboTech в стажировке 1Т Дата

Как обучить рой сельскохозяйственных дронов: продолжаем рассказывать про проекты стажировки 1Т Дата.

Мы уже писали про проект команды EduTech, которые в рамках трехмесячной практики после окончания курсов 1Т Дата разработали систему на основе искусственного интеллекта для оценки вовлеченности учащихся. Сегодня расскажем про команду RoboTech, которая работала над проектом в сфере беспилотных авиасистем (БАС) — моделью системы управления роем беспилотников.
БАС в сельском хозяйстве
Один из главных трендов современного сельского хозяйства — умные решения. Население планеты растет, и вслед за ним растет и производство продуктов питания. Но количество земель, пригодных для выращивания продуктов, ограничено, и промышленность всего мира ищет новые подходы к повышению эффективности сельского хозяйства и снижению потребления ресурсов. Умное сельское хозяйство — это комплекс датчиков, компьютеров, ИИ и интернета вещей, позволяющий оптимизировать управление ресурсами. Одна из важных составляющих — беспилотники. Они точно картографируют поля, подготавливая информацию для автоматических тракторов и уборочных машин, вносят удобрения, анализируют микроклимат и внешний вид растений для точечного полива, подкормки и обнаружения сорняков. Есть и более экзотические применения — дроны могут отгонять диких животных, опылять растения и даже высаживать их в труднодоступных местах.

Но для практического применения на реальном поле для каждого дрона нужен как минимум квалифицированный оператор — это подходит для разовых задач вроде картографирования, но очень осложняет масштабное и постоянное применение.

Поэтому команда RoboTech на стажировке начала работать над сложной задачей — ИИ-моделью управления не одним, а сразу несколькими беспилотниками.

Рассказывает Михаил Коровин, продакт-менеджер, дата-сайентист команды:

— Нам пришлось изучить абсолютно новую для себя область — обучение с подкреплением, Reinforcement Learning. Параллельно мы искали любую информацию о применении роботов в сельском хозяйстве: как и для чего они используются, какие сценарии вообще существуют, в растениеводстве, в лесном хозяйстве, в животноводстве. В итоге мы решили начать с простого: ограничить нашу модель тремя сценариями: опрыскивание, когда беспилотнику нужно обработать все растения на карте, исследование — когда дрон «закрашивает» карту и карту животных — поиск передвигающихся объектов, соответствующих заданным параметрам. Вначале мы решили отложить управление сразу несколькими агентами и сначала разобраться хотя бы с тем, как работает один агент, и уже потом добавлять несколько взаимосвязанных.

Наши девопсы настроили сервер для разработки, где мы могли спокойно тестировать модели в любое время. Получилась такая бесперебойная работа, можно было зайти среди ночи, посчитать модели и забрать результат — это особенно удобно с командой, которая занимается проектом по большому счету в свободное время, вместе с основной работой.
Обучение моделей
Обучение с подкреплением — метод машинного обучения, при котором агент обучается, взаимодействуя со средой. Он принимает решения, выполняя действия, получает за них награды или штрафы и на основании этого корректирует свою стратегию. Рассказывает Ольга Агеева, разработчик, дата-сайентист:

— Обучение с подкреплением похоже на то, как учится ребенок: собрал игрушки, мама похвалила — хорошо; испачкал новый комбинезон, мама отругала — «о, так делать не надо». Так и наши агенты: они стоят в начальной позиции и из нее могут пойти налево, направо, по диагонали и т.д. А наша модель должна предсказывать, куда агенту лучше, «выгоднее» пойти. Мы могли сравнить эти действия с рандомно выбранными и понять, как модель «думает». Оказалось, например, что модель чаще выбирает движение по диагонали — так закрывается больше клеточек на карте за минимальное время.
Говорит Михаил Коровин, продакт-менеджер:
— Когда наша модель уже работала, для человека со стороны она выглядела просто как окошко с текстом — вы указывали данные, размер поля, количество агентов и т.д. и получали текстовый результат. Но всегда интересно посмотреть, как именно это делается. Поэтому нужна была хотя бы минимальная визуализация — для презентации результатов, наглядности. Оказалось, что с ней и нам было намного проще замечать проблемы, понимать, правильным мы идем путем или нет. Можно было сразу увидеть, когда агенты не могут обойти препятствие или почему-то собрались в одном углу карты.
Текстовый вывод VS визуализация
Рассказывает Ольга Агеева:
— Чтобы перейти от одного агента к «рою», мы сделали общий буфер информации, куда все дроны сообщают, что они сейчас увидели. Буфер постоянно обновляется, и на основании этих данных модель принимает решение — лететь им туда или нет. Она получает данные не от одного агента, а от всех. Пока, на уровне MVP, наши агенты летают по очереди, получая и отправляя информацию в систему, хотя в идеале должны делать это одновременно.

Это одна из многих вещей, которых пока не хватает нашей модели, чтобы перейти с MVP к реально работающему коммерческому продукту. Есть и более важные — пока наша модель работает в двух измерениях, а чтобы добавить третье, надо существенно переработать графику, при этом совместить ее с нашим кодом на Python. Но у нас получилось сделать базис, на котором можно развить по-настоящему крутой проект. Причем это сфера, в которой большинство решений строится на четко прописанных алгоритмах, а у нас есть преимущество — обучаемая и масштабируемая модель, которая может использоваться для множества задач.
Презентация MVP и планы
В своей презентации на встрече выпускников 1Т и участников Союз.рф команда RoboTech представила результат трех месяцев работы — действующий MVP системы управления роем беспилотных авиационных систем и показала перспективы и следующие шаги разработки: визуализация через симулятор пилотирования «1Т Мир», разработка более совершенной среды, приближенной к реальным условиям и интеграция с реальными беспилотниками.
Читать еще