Во все времена человечество стремилось облегчить свою жизнь, изобретая различные механизмы и внедряя новые технологии, позволяющие заменить их труд и упростить выполнение множества рутинных задач. В век компьютерных технологий большинство задач выполняется программновычислительными комплексами, когда автономные и автоматизированные системы способны самостоятельно принимать решения с минимальным контролем или вовсе без вмешательства со стороны человека, что стало неотъемлемым атрибутом современного мира.
В качестве примера можно привести системы распознавания образов с использованием искусственного интеллекта (ИИ) на основе нейросетевых технологий. Подобные системы находят применение практически во всех отраслях, но наибольшую критичность по безопасности и затратности проявляют при разработке автономных систем.
Cущественную помощь в проверке адекватности и способности ИИ с высокой долей достоверности обрабатывать получаемые данные может оказать инструмент SCADE Vision от компании ANSYS.
SCADE Vision предназначен для анализа правильности поиска требуемых объектов (люди, автомобили, дорожные знаки и т.д.) на изображении пользовательскими системами ИИ, основанными на методе глубокого машинного обучения искусственных нейронных сетей.
Прежде чем перейти к рассмотрению возможностей SCADE Vision, давайте разберемся, что же представляют собой технология искусственных нейронных сетей и метод глубокого машинного обучения.
Итак, идея технологии искусственных нейронных сетей заключается в том, чтобы максимально близко смоделировать работу человеческого мозга. Если сравнивать работу компьютера и человеческого мозга, то огромным преимуществом компьютера над мозгом человека является способность с огромной скоростью выполнять математические операции, в то время как у человека это вызывает некоторые затруднения. Однако есть задачи, с которыми наш мозг справляется куда эффективнее любого компьютера, например «узнавать», то есть анализировать и классифицировать то, что он видит.
Мозг представляет собой сложную биологическую нейронную сеть, которая принимает информацию от органов чувств и обрабатывает ее (распознавание слуховой и зрительной информации, распознавание вкуса, тактильных ощущений и т.д.). Биологические нейроны послужили прототипом для искусственных нейронных сетей. В человеческом мозге, который содержит миллионы нейронов, происходит процесс передачи информации от одного нейрона к другому. Искусственные нейронные сети используют такой же сценарий (рис. 1).
Рис. 1. Переход от биологического нейрона к искусственному
Искусственные нейронные сети не программируются, в привычном смысле этого слова, — они обучаются. Способность нейронных сетей обучаться в ходе решения множества сходных задач основана на различных методиках анализа данных и имеет научный термин — «машинное обучение». Целью машинного обучения является частичная или полная автоматизация решения сложных профессиональных задач в самых разных областях человеческой деятельности. Сфера применения машинного обучения постоянно расширяется. Повсеместная информатизация приводит к накоплению огромных объемов данных в науке, производстве, бизнесе, транспорте, здравоохранении. Возникающие при этом задачи прогнозирования, управления и принятия решений часто сводятся к обучению по прецедентам. Это стало возможно благодаря вычислительной мощности современных компьютеров, которые могут легко обрабатывать большие наборы данных. Раньше, когда таких данных не было, эти задачи либо вообще не ставились, либо решались совершенно другими методами.
Данный подход базируется на идее о том, что нейронные сети могут учиться выявлять закономерности и принимать решения с минимальным участием человека. Хотя и после проведенного обучения нельзя давать гарантию, что сеть обучилась именно тому, чего от нее хотели разработчики, — обязательно требуется проверка адекватности и качества ее обучения.
Примером неадекватного обучения искусственной нейронной сети может служить ИИ по имени Норман, который отправили изучать фотографии с мест преступлений. По завершении обучения, чтобы сравнить его ответы с ответами других ИИ, было проведено тестирование данной сети при помощи теста Роршаха. Там, где одни видели людей, животных и растения, Норман видел мертвых мужчин и женщин, убитых самыми разными способами http://normanai.mit.edu/.
В качестве другого примера может служить попытка обучить сеть распознавать объекты, сфотографированные на одном и том же фоне. Однако вместо того, чтобы находить объекты, сеть научилась распознавать фон. Таким образом, сеть «понимает» не то, что от нее требовалось, а то, что проще всего обобщить.
Приведенные примеры показывают, насколько важна информация, которую получает программа в процессе обучения.
Тестирование качества обучения нейросети необходимо проводить на примерах, которые не участвовали в ее обучении. При этом число тестовых примеров должно быть тем больше, чем выше качество обучения. Если ошибки нейронной сети имеют вероятность, близкую к одной миллиардной, то и для подтверждения этой вероятности нужен миллиард тестовых примеров. Поскольку мы выяснили, что тестирование хорошо обученных нейронных сетей является достаточно трудной и сложной задачей, давайте теперь рассмотрим, как SCADE Vision способен помочь в качественном и быстром выполнении этой задачи и что он собой представляет.
Хотелось бы отметить, что SCADE Vision в первую очередь предназначен для разработчиков нейросетей и тестировщиков, а также аналитиков безопасности работы систем распознавания на основе машинного обучения.
ANSYS SCADE Vision — это мощная платформа, используемая для эффективного и быстрого определения слабых мест, граничных случаев и причин их возникновения, также называемых триггерными событиями, во встраиваемом ПО распознавания на основе искусственных нейронных сетей.
Для выявления триггерных событий SCADE Vision производит запуск обученной системы распознавания пользователя на тестовых видеоданных и выполняет автоматический анализ результатов распознавания (рис. 2).
Рис. 2. Пример определения граничного случая
при зашумлении анализируемого видео
Согласно стандарту ISO 21448 PAS «Безопасность назначенной функции» (SOTIF), триггерными событиями являются «конкретные условия сценария движения, которые служат инициатором для последующей реакции системы, возможно, приводящей к опасному событию».
Обычно анализ триггерных событий полностью зависит от ручной маркировки видеоданных, что является чрезвычайно трудоемким и дорогостоящим занятием, однако SCADE Vision не требует этих активностей от разработчиков.
Триггерные события весьма разнообразны (рис. 3): погодные условия (снег, дождь, лесной пожар), условия освещения (блики, ночь, дальний свет), инфраструктура (ограждения, отражающие поверхности, статуи), типы участников дорожного движения (инвалидные коляски, люди в костюмах) или просто недостаточно обученные системы распознавания объектов.
Рис. 3. Примеры триггерных событий
Технически платформа SCADE Vision представляет собой облачное решение и состоит из следующих двух модулей:
SCADE Vision Edge Case Finder — механизм тестирования и анализа, размещаемый в облачных сервисах или на высокопроизводительных вычислительных платформах, который позволяет ускорить тестирование пользовательского ПО распознавания, основанного на нейронной сети, за счет автоматического запуска тестирования дважды: на исходных видеоданных и на модифицированных;
SCADE Vision Analyzer — вебинтерфейс для работы с платформой анализа.
Схема взаимодействия модулей SCADE Vision и общий рабочий процесс представлены на рис. 4.
* ODD (Operational Design Domain) — Область эксплуатационного проектирования
OEDR (Object and Event Detection and Response) — Обнаружение объектов и событий и реагирование на них
Рис. 4. Схема взаимодействия модулей SCADE Vision и общий рабочий процесс
SCADE Vision Analyzer предоставляет пользователям возможность загрузить требуемую для тестирования систему распознавания и тестовые видеоданные, запустить анализ, просмотреть возможные дефекты, выявленные SCADE Vision Edge Finder в программе распознавания, категорировать эти дефекты на предлагаемые триггерные события и подготовить отчеты.
Для каждого тестируемого видео отображается статус анализа, количество возможных ошибок обнаружения и общее количество обнаружений (рис. 5).
Рис. 5. Интерфейс SCADE Vision Analyzer
Результаты тестирования системы распознавания доступны пользователю в виде ряда кадров, расположенных на временной шкале. В каждом кадре на временной шкале содержится информация о количестве распознанных объектов и качестве распознавания. Все обнаруженные объекты выделяются прямоугольником своего цвета, в зависимости от качества распознавания: зеленый — для распознанных объектов; оранжевый — если объект распознан на исходном и не распознан на зашумленном видео; красный — для объектов, не распознанных на исходном видео (рис. 6).
Рис. 6. Страница с результатами анализа
Дальнейшая задача пользователя заключается в том, чтобы на основе полученных результатов пометить все релевантные дефекты тэгами потенциальных триггерных событий. Помимо набора стандартных тэгов, предлагаемого SCADE Vision Analyzer, у пользователей есть возможность по мере необходимости создавать собственные (рис. 7).
Рис. 7. Добавление тэгов триггерных событий к дефектам распознавания
После того как все обнаруженные дефекты были отмечены соответствующими тэгами, пользователь может перейти к интерактивному созданию отчетной документации. Отчет включает все выявленные триггерные события для тестируемой системы, кадры, где они были обнаружены, описание причин их возникновения и рекомендации по их устранению. Полученные отчеты помогают структурировать и передавать результаты анализа членам команды разработчиков систем распознавания и другим заинтересованным сторонам (рис. 8).
Рис. 8. Генерация отчета на основе идентифицированных триггерных событий
Цель этого отчета заключается в том, чтобы аналитик мог дать соответствующие указания группам разработчиков в отношении того, какие меры по смягчению последствий должны быть приняты в соответствии с рекомендациями SOTIF.
Резюмируя вышесказанное, можно сделать однозначный вывод о том, что на сегодняшний день платформа ANSYS SCADE Vision является уникальной и единственной в своем роде технологией, которая позволяет не только автоматически проанализировать работу пользовательского ИИ на наличие слабых мест и граничных случаев распознавания, которые могут привести к потенциально опасным ситуациям, но и сформировать рекомендации разработчикам для его дальнейшего обучения и определения дополнительных тестовых сценариев.
С коммерческой точки зрения, реализованный в ANSYS SCADE Vision подход позволяет сократить финансовые и временные затраты за счет отсутствия необходимости проведения предварительной ручной обработки тестовых данных, а также за счет возможности проведения вычислений в облачных системах или на высокопроизводительных платформах.