Разработана технология, позволяющая решать одновременно множество задач в ИИ-решениях
Компания Cognitive Pilot (дочернее предприятие Сбербанка России и Cognitive Technologies) разработала и внедрила в промышленные системы автономного управления сельхозтехникой новый подход, используемый при использовании нейронных сетей, который позволил одновременно в рамках одной сети решать сразу несколько различных задач, тем самым сократить до 4 раз время обработки данных и вычислительные ресурсы, значительно экономить трудозатраты, а также расширить границы его применимости.
Специалисты Cognitive Pilot разработали технологию, которую назвали Cognitive Veles, в честь одноименного языческого бога мудрости. Он также, как никто лучше соответствует символу многозадачности. Как пояснили в компании, он имеет множество ипостасей: бог-кудесник, предводитель волшебников, владыка животного мира, бог достатка, владыка подземного царства и т. д. Наконец, древнерусский термин больше подходит духу времени.
Сегодня разработчики ИИ, как правило, обучают нейронные сети для каждой задачи отдельно, с нуля. Например, одна сеть тренируется для распознавания лиц, другая для распознавания голоса, и т.д., а затем с каждой из них по отдельности проводится работа по улучшению результата.
«В какой-то момент мы задумались о том, что мозг человека многозадачен и попытались воссоздать этот эффект – использовать одну сеть для решения сразу нескольких задач, а также использовать ранее обученную на одних объектах нейронку для других задач, и получили интересный результат», — рассказывает руководитель департамента разработки беспилотных транспортных средств Cognitive Pilot Юрий Минкин.
Действительно, не секрет, что ребенок в раннем детстве сначала обучается не конкретным задачам, а общим понятиям и представлениям об окружающей действительности, об ее устройстве. Он учится воспринимать и осознавать различные предметы, их физику, например, если предмет уронить, он упадет вниз, что у любого предмета есть контур, форма. Что есть тела твердые, есть жидкие, есть легкие и тяжелые и т.д. Очевидно, что дети, более старшего возраста, прошедшие основные этапы «общего» обучения оказываются более развитыми и способными к решению уже конкретных и совершенно различных задач, таких как налить воду в чашку или собрать что-либо из конструктора.
При обучении нейронных сетей специалисты сталкиваются с похожими ситуациями. Если перед решением конкретных задач нейронные сети аналогично обучить на очень большом объеме данных восприятию основных, необходимых для осознания действительности изображений с целью научиться классифицировать представленные на них различные сцены – темные, светлые, внутри помещения, вне и т.п. (их оказывается порядка 28 млн.), то сеть начинает понимать, что такое объект, во всем разнообразии, и в итоге действительно учится воспринимать мир. Кроме того, общий энкодер такой сети выделяет семантику сцены на изображении, которое подается на вход сети и может быть использован сразу для многих задач.
В используемых сегодня компанией промышленных продуктах Cognitive Agro Pilot для автономного управления комбайном и трактором одна нейронная сеть позволяет решать одновременно 4 задачи: определение кромки поля, детекция препятствий (людей, другой техники), распознавание зон, где вождение возможно и невозможно (аварийно) и распознавание полегшей культуры.
На заглавном изображении к статье вы видите задачу — №1 — распознавание кромки поля.
Задача №2 — распознавание полегшей культуры.
Задача №3 — распознавание препятствия.
Задача №4 — распознавание зон, где вождение разрешено и запрещено.
В промышленных продуктах Cognitive Agro Pilot для автономного управления комбайном и трактором одна нейронная сеть позволяет решать одновременно 4 задачи.
В условиях одной сети решить эти задачи одновременно невозможно, так как они начинают друг другу противоречить.
«Представьте, что на пути комбайна есть препятствие, например, другой комбайн», продолжает Минкин. «Он закрывает границу, закрывает кромку. На этом месте получается пятно. Поскольку автопилот ориентируется по кромке, то происходит сбой. В результате, качество основной задачи падает. А у нас все происходит, как у человека, одновременно. Одна голова сети строит границу участка, как бы без учета препятствия, как будто его нет. Другая, наоборот, детектирует препятствие. Третья определяет зоны, где вождение разрешается, и где запрещено. Четвертая, работает с полегшей культурой».
В проектах R&D специалисты компании проводят тесты уже на десятках задач.
Уникальность технологии Cognitive Veles состоит в особенностях обучения нейронной сети. «Основная проблема разработчиков в использовании многозадачности, состоит в том, как обеспечить сходимость нейронной сети, — рассказывает Минкин. — Нам не надо размечать датасеты на полный объем данных. Мы проводим обучение на неполных данных».
Используемые Cognitive Pilot датасеты содержат более миллиона кадров, и, если их размечать (выделять на изображении отдельные объекты и классифицировать их; например, этот объект – препятствие, этот — кромка поля, этот полегшая культура и т.д.) полностью, ушли бы месяцы или даже годы, тогда как сейчас полная разметка не требуется. При многозадачной архитектуре нейронной сети Cognitive Veles специалистам достаточно проводить лишь частичную разметку, например, только по одному типу объектов. С такими неполными (не полностью размеченными) данными Cognitive Veles справляется успешно. Применение Cognitive Veles позволило компании значительно экономить трудозатраты разработчиков.
Для таких случаев в рамках технологии специалисты компании придумали обучать нейронные сети по, так называемому, «школьному принципу».
«Дети в начальной школе изучают несколько предметов одновременно, получая по чуть-чуть знаний поочередно по каждому из них – математике, чтению и другим, а не проходят полностью каждую из этих дисциплин, от начала и до конца. Так и мы, поитерационно учим сеть на разных датасетах с неполными данными – например, сначала только по тем, где размечены препятствия, потом только по тем, где кромка поля и т.д., по очереди переключая их с одного на другой», комментирует Юрий Минкин.
Важно отметить, что такой подход, кроме того, позволил разработчикам избежать опасного эффекта при использовании нейронных сетей — «катастрофического забывания». Известно, что при более детальном и длительном обучении на одной задаче сеть имеет свойство забывать приобретенный вначале обучения опыт, при переключении на другую задачу. В режиме короткого поитерационного обучения, реализованного в Cognitive Veles такой эффект не проявляется.
В настоящее время специалисты компании работают над возможностью использования в промышленных решениях не всех, а отдельных групп узлов нейросети (разреженная нейросеть), что позволит еще до 20-25% оптимизировать вычислительные ресурсы и время обработки данных.
«Мы изначально придерживались антропоморфного подхода в создании своих ИИ-решений. Поэтому идея повышения эффективности нашего ИИ за счет возможности решения нескольких задач одновременно, за счет его тренировки на разных задачах, для нас лежала на поверхности. Мы были в числе первых, кто начал применять этот подход, — говорит генеральный директор Cognitive Pilot Ольга Ускова. — Сегодня мы уже рассматриваем возможности одновременного решения десятков и сотен различных задач. Пытаемся тренировать нейронки сначала на творческих задачах, например, классификации художественных картин, а потом те же базовые энкодеры использовать в распознавании объектов агро или дорожной сцены и это дает реальный эффект. Как и мозг человека, натренированный на одних задачах, значительно лучше справляется с проблемами в других областях, чем ненатренированный. Сегодня это доминирующий тренд в создании ИИ».
(Источник и фото: пресс-служба Cognitive Pilot).