Uncategorized

Валидация автономных систем

Ключевые выводы

  • Автономные и автоматизированные системы все чаще используются в разных доменах.
  • Тем не менее, недоверие к их надежности растет из-за отсутствия прозрачности, что снизит признание и замедлит использование.
  • Автономные системы имеют сложное взаимодействие с реальным миром, что вызывает множество вопросов о валидации, например, как отследить процесс принятия решений и впоследствии судить о нем, как контролировать обучение, адаптацию и особенно правильное поведение, и как определять надежность в событие отказа.
  • Существуют различные методы проверки автономных систем со своими сильными и слабыми сторонами и контекстом, в котором они эффективны и / или действенны.
  • Классические методы проверки актуальны для охвата в определенных ситуациях, но должны быть дополнены методами когнитивного тестирования и тестированием на основе сценариев.

Автономные системы

Сегодняшнее общество зависит от автономных систем. Часто мы даже не узнаем их, что является окончательным доказательством теста Тьюринга. Они все чаще используются в информационных технологиях, таких как финансы, а также на транспорте, в медицинской хирургии и в автоматизации промышленности. [1]. Потенциал автоматизированных и автономных систем огромен; например, использование автономных систем мобильности устранит до 90% несчастных случаев и сократит до 50% времени в пути на пользователя в день. [2].

Однако недоверие к их надежности растет. Есть много открытых вопросов о валидации автономных систем: как определить надежность? Как отследить процесс принятия решения и потом судить о нем? Как контролировать правильное поведение, чтобы добиться доверия и контролировать обучение? Или как определить ответственность в случае отказа? Базовые алгоритмы трудны для понимания и, следовательно, непрозрачны.

Традиционные методы проверки сложны, дороги и, следовательно, дороги. [1,2,3]. Кроме того, отсутствует повторяемое эффективное покрытие для стратегий регрессии для обновлений и обновлений, что ограничивает обновления программного обеспечения и непрерывное развертывание. Требования функциональной безопасности дополнительно влияют на утверждение таких систем помимо ограничений ИТ.

На рисунке 1 показаны пять шагов от автоматизации до автономии, которые мы знаем из человеческого обучения, когда мы продвигаемся от новичка к эксперту. [1,5]. Эти шаги иллюстрируют способ простого и «вспомогательного поведения» в терминах низкого уровня восприятия и контроля в направлении «полных когнитивных систем» с очень высокой степенью автономии.

Рис.1: От вспомогательных систем к полностью автоматизированным (автономным) системам

Например, ожидается, что полностью автономный автомобиль на уровне 5 будет двигаться без вмешательства человека даже в ужасных ситуациях. [4,5]. Это означает, что автомобили должны обладать интеллектом на уровне или даже лучше, чем люди, чтобы справляться не только с обычными сценариями движения, но и с неожиданными. Хотя нескольким игрокам, таким как Google и Uber, разрешено управлять своими сервисами для самостоятельного вождения, такие инциденты, как смерть Элейн Херцберг, стали проверкой нашей веры в эти автомобили. [1,3,4]. Поэтому совершенно очевидно, что существующих мер валидации недостаточно! Нам нужны новые методы тестирования, которые могут предвидеть смертельные дорожные ситуации, с которыми люди еще не сталкивались. Кроме того, тестирование нельзя просто изолировать до заключительных этапов. Он должен быть частью каждого этапа жизненного цикла продукта. Следовательно, при разработке автономных систем необходимо применять разумный инженерный процесс, который уделяет достаточно внимания верификации и валидации.

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

Инкубатор для роботов-тестов в Штутгартском университете создал пилотную среду для разработки жизнеспособных отраслевых решений. [4]. Эффективность тестирования можно повысить с помощью методов когнитивного тестирования, ситуационной осведомленности и соответствующей индексации. Вывод: систематическая проверка требует интеграции классического покрытия с тестированием на основе сценариев и новыми методами когнитивного тестирования.

Эта статья знакомит с проверкой и сертификацией, а также общим одобрением (омологацией) автономных систем и их компонентов. Мы предоставляем информацию о проверке автономных систем, например, тех, которые используются в технологиях автоматизации и робототехнике. Мы даем обзор методов верификации и валидации автономных систем, делаем наброски текущих инструментов и показываем эволюцию в сторону основанных на искусственном интеллекте методов анализа влияния непрерывных изменений.

Валидация автономных систем

Автономные системы имеют сложное взаимодействие с реальным миром. Это поднимает много вопросов о валидации автономных систем: как отследить процесс принятия решений и судить о нем впоследствии? Как контролировать обучение, адаптацию и особенно правильное поведение, особенно когда наблюдаются критические угловые случаи? Еще одна проблема – как определить надежность в случае отказа.

С помощью искусственного интеллекта и машинного обучения нам необходимо обеспечить алгоритмическую прозрачность. Например, каковы правила в нейронной сети, которая, очевидно, уже не осязаема с алгоритмической точки зрения, определяет, как автономная система может реагировать на несколько опасностей одновременно? Классическая прослеживаемость и регрессионное тестирование, безусловно, не работают. Скорее, будущие методы и инструменты проверки и проверки будут включать в себя больше аналитических данных, основанных на использовании больших данных, бизнес-аналитике и их собственном обучении, чтобы узнавать и улучшать качество программного обеспечения динамичным способом.

На рис. 2 представлен обзор технологий валидации автономных систем. Мы выделяем по горизонтали прозрачность метода валидации. Черный ящик означает, что у нас нет понимания метода и покрытия, в то время как белый ящик обеспечивает прозрачность. Вертикальная ось классифицирует степень, в которой мы можем автоматизировать методы проверки и, таким образом, например, упростить стратегии регрессии с помощью обновлений и обновлений программного обеспечения. Очевидно, что сегодня многие такие методы проверки уже используются, например, автоматический функциональный тест. Серые прямоугольники показывают эти более традиционные методы. Красный верхний правый блок – это наша цель, а именно, как запустить эффективную проверку черного ящика для достижения эффективности и прозрачности, которые необходимы для надежных систем.

Рис.2 Технологии валидации для автономных систем

Развиваются различные новые интеллектуальные методы и инструменты проверки, которые могут помочь в интеллектуальной проверке автономных систем. Проверка и валидация зависят от многих факторов. Каждая организация реализует свою собственную методологию и среду разработки, основанную на комбинации нескольких инструментов, представленных на рис. 2. Однако важно не только развертывать инструменты, но и развивать необходимые навыки проверки и валидации. Слишком часто мы видим надежные цепочки инструментов, но не видим ощутимой стратегии тестирования. Чтобы уменьшить эти чисто человеческие риски, программное обеспечение должно все больше иметь возможность автоматически обнаруживать свои собственные дефекты и точки отказа.

На рис. 3 представлена ​​полная оценка технологий статической и динамической проверки автономных систем. Мы упомянули здесь некоторые инструменты, но они должны быть импульсом, а не полным списком или даже рекомендацией. Каждая компания сегодня реализует свою методологию и среду разработки. Слишком часто можно увидеть амбициозные команды разработчиков, сложные цепочки инструментов, но без ощутимой стратегии устойчивого тестирования.

Рис.3 Технологии валидации для автономных систем

Положительные методы тестирования нацелены на то, чтобы обеспечить соблюдение всех функциональных требований к системе, в то время как отрицательные методы тестирования гарантируют, что система проверена на соответствие требованиям качества. [9]. Отрицательные требования (такие как безопасность и кибербезопасность) обычно являются подразумеваемыми требованиями и явно не указываются в спецификациях системных требований.

Инъекция неисправностей. Методы внедрения неисправностей используют внешнее оборудование для внесения неисправностей в аппаратное обеспечение целевой системы. Неисправности вводятся либо при прямом контакте с физическим оборудованием, либо без него. При наличии прямых контактов могут возникать неисправности, такие как принудительное добавление тока, принудительные изменения напряжения и т. Д., Чтобы наблюдать за поведением системы. С точки зрения безопасности сбои могут быть вызваны интерфейсами, прямым доступом к компонентам, а также манипуляциями с программным обеспечением и мошенничеством с датчиками.

Методы тестирования, основанные на функциональности, подразделяют интеллект системы на три категории: 1. Функциональность обнаружения, 2. Функциональность принятия решения и 3. Функциональность действия. Идея, лежащая в основе таких методов, заключается в том, что автономная система должна иметь возможность извлекать различные функции для данной задачи, аналогично человеческим существам. Например, автономная система мобильности должна быть способна распознавать другие транспортные средства, препятствия, пешеходов и т. Д. Для функциональности на основе зрения. Комбинации этих распознанных объектов могут затем действовать как входные данные для функции принятия решений, и несколько решений могут затем привести к действиям. Таким образом, функциональное тестирование разбивает сценарии на различные функциональные компоненты, которые можно тестировать индивидуально.

Симуляторы представляют собой закрытые внутренние кабинеты, которые заменяют физические системы. Эти симуляторы могут моделировать поведение любой системы либо с помощью физического оборудования, либо с помощью модели программного обеспечения. Затем поведение водителя можно зафиксировать, скармлив ему смоделированную внешнюю среду. Поскольку в симуляторах используются гидравлические приводы и электродвигатели, создаваемые инерционные эффекты ощущаются почти так же, как в реальной системе. Они используются для роботов в промышленной автоматизации и планирования хирургии в медицине, железнодорожных системах и автомобилестроении.

Ничто не может приблизиться к реальному миру, чем сам реальный мир. Это, пожалуй, заключительный этап валидации, когда полностью готовая система выводится на реальные дороги с реальным движением. Данные датчиков записываются и регистрируются, чтобы фиксировать поведение в критических ситуациях. Затем он позже анализируется, чтобы приспособить и настроить системы в соответствии с реальными сценариями. Однако проблема на этом этапе заключается в огромном количестве генерируемых тестовых данных. Установлено, что одна стереокамера генерирует 100 гигабайт данных за каждую минуту работы. В таких ситуациях чрезвычайно важен анализ больших данных.

Утверждение или омологация автономных систем (в случае систем, критически важных для безопасности) требует, таким образом, регрессивной валидации, то есть теста, который после изменения алгоритмов управления выполняет новую проверку и обеспечивает работу. Таким образом, безопасность и надежность могут быть получены как при разработке, тестировании, так и при использовании, даже когда система адаптируется, то есть изменяется.

По-настоящему прозрачные методы и процессы валидации приобретают первостепенное значение, и им будет бросать вызов технологический прогресс в пяти намеченных шагах к автономному поведению. Хотя традиционных методов проверки все еще актуально, их недостаточно для полного тестирования растущей сложности автономных систем. Машинное обучение с ситуационной адаптацией и обновлениями программного обеспечения требует новых стратегий регрессии.

Интеллектуальные методы проверки позволяют автоматизировать полное тестирование или определенные аспекты тестирования (рис. 4). Это устраняет потенциальные ошибки, связанные с ручным выводом тестовых примеров, поскольку люди могут не получить или обдумать определенные сценарии. Это также избавляет от огромного количества времени, которое необходимо потратить на создание тестовых примеров.

Рис.4 Тестовая среда с индексированием, выбором тестов, механизмом моделирования и AV KPI

Когнитивное тестирование

С помощью искусственного интеллекта и машинного обучения нам необходимо обеспечить алгоритмическую прозрачность. Например, каковы правила в нейронной сети, которая, очевидно, перестала быть осязаемой с алгоритмической точки зрения, чтобы определить, кто получает кредит или как автономная система может реагировать на несколько опасностей одновременно? Классическая прослеживаемость и регрессионное тестирование, безусловно, не сработают. Скорее, будущие методы и инструменты проверки и проверки будут включать больше аналитических данных, основанных на использовании больших данных, бизнес-аналитике и собственном обучении, чтобы динамически узнавать и улучшать качество программного обеспечения.

Процедуры когнитивного тестирования основаны на базе данных, которая прозрачно отображает сценарии и сбои, так что определяется целевое поведение для критических ситуаций, граничных условий и т. Д. В сигнальном тракте сигналы генерируются из сценариев для интерфейсов автономной системы или ее компонентов. Например, если человек внезапно появляется перед автономным роботом, реакция системы и действие ее компонентов должны быть детерминированы. Эти испытания могут представлять собой моделирование датчиков камеры и радара, а также сигналов связи, соотношения функций, угловых ситуаций и отображения нарушений. Посредством факторизованной параметризации угловых случаев, таких как различные условия освещения, можно систематически синтезировать. Из поведения тестируемой системы извлекаются фактические правила, которые сравниваются с ожидаемым целевым поведением. Автоматически извлеченные фактические правила сравниваются с известными и принятыми целевыми правилами относительно того, как тестируемая система должна вести себя в сценарии.

Целевые правила основаны на законах, опыте, человеческом опыте, руководящих принципах комитетов по этике, а также на моделировании. Они должны быть прозрачными и, следовательно, доступными для тестирования на людях. В частности, они должны охватывать угловые случаи – что является преимуществом по сравнению с методом грубой силы. [1,5]. Сегодня уже существуют механизмы для достижения прозрачности в машинном обучении, такие как извлечение нечетких правил. [1]. Остается задача использовать эти, как правило, трудные для понимания правила для более систематической проверки, которая требуется в обосновании безопасности и при омологации. Правила извлекаются из поведения тестируемой автономной системы, чтобы сделать прозрачным изученное непрозрачное поведение, хранящееся в неявных правилах или нейронных связях. Эти теперь прозрачные, но довольно нечеткие правила сравниваются с установленными правилами поведения. Валидация и сертификация основаны на контрольных отклонениях [1,3,4,5,6].

На рис.5 представлен обзор когнитивного тестирования, которое мы в настоящее время используем для сетевых компонентов автономных систем. В отличие от грубой силы, здесь учитываются зависимости между белым ящиком и черным ящиком, что приводит в соответствие эффективность и результативность. Автономные системы состоят из взаимодействия многих компонентов, таких как контроллеры, датчики и исполнительные механизмы, которые распределены в системе. В распределенной системе в целом нежелательное поведение и основные сбои могут возникнуть из-за того, что в какой-то момент произошло изменение программного обеспечения, которое перешло в другие компоненты. Это вызывает множество вопросов: как можно гарантировать функционирование системы, если в ее подкомпонентах происходят изменения? Как можно гарантировать безопасность и надежность, если программные изменения вносятся в отдельные компоненты во время работы?

Ключевой вопрос заключается в том, каким образом искусственный интеллект может поддерживать процесс проверки. Очевидно, что существует несколько уже используемых подходов ИИ для тестирования, от систем на основе правил, нечеткой логики, байесовских сетей до множественных нейросетевых подходов глубокого обучения. [1,6]. Однако процесс проверки автономной системы намного сложнее, чем тестирование классических ИТ-систем. Автономные системы адаптивны, многослойны и богаты (в основном скрытыми) деталями. Можно выделить различные уровни валидационных тестов, такие как системный уровень, компоненты или модули.

Возможности интеллектуального тестирования разнообразны [4,5,6]: На системном уровне есть вопросы, какие тестовые примеры должны быть выполнены и в какой степени? Это означает, что требуется интеллектуальная проверка, чтобы помочь с точки зрения выбора или даже создания тестовых примеров для проверки. На первом этапе функция помощи помогает определить приоритеты в существующем наборе случаев. В результате эксперт по валидации может тестировать быстрее и с лучшим охватом ситуационно-релевантных сценариев. На уровне тестирования компонента или модуля также необходимо выявить соответствующие случаи. Это может варьироваться от простой поддержки того, как обеспечить систему соответствующими входными данными и проверять выходные данные, до сложных алгоритмов, которые автоматически создают контрольные примеры на основе кода или пользовательского интерфейса. На рис. 4 представлен обзор интеллектуального тестирования по мере того, как мы в настоящее время наращиваем объемы автономных систем. В отличие от грубой силы, он учитывает зависимости как белого ящика, так и черного ящика и, таким образом, уравновешивает эффективность и результативность. См. Врезку для конкретного примера.

Рис.5 Выбор тестового примера, ориентированного на зависимости, для теста когнитивной регрессии

Перспективы

Доверие к автономным системам зависит от их проверки. Учитывая растущее значение и, следовательно, озабоченность пользователей и политиков относительно влияния автономных систем на нашу жизнь и общество, инженеры-программисты должны гарантировать, что автономные функции и системы работают достаточно хорошо и правильно. Для укрепления доверия ожидается, что качество технической системы будет как минимум на порядок выше, чем у систем, приводимых в действие человеком.

Укрепление доверия тесно связано с вопросами проверки. Однако такие проверки зависят от многих факторов. Автономные системы обеспечивают эффективность и безопасность, избавляя оператора от утомительных и подверженных ошибкам ручных задач. На вопрос «Можно ли доверять автономным системам?» будет продолжать расти в ближайшие годы. Общественное доверие к автономным системам во многом зависит от алгоритмической прозрачности и непрерывной проверки.

Несчастный случай, вызванный ошибками программного обеспечения, сегодня обсуждается более интенсивно, чем многие несчастные случаи, вызванные употреблением алкоголя. С другой стороны, текущие программные ошибки со смертельным исходом в авиации также демонстрируют некое «привыкание». Количество пассажиров не уменьшается из-за аварий, так как все знают, что самолеты в целом безопасны.

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

AV-проверка должна быть эффективной, прозрачной и надежной. В этой статье рассматривается этот магический треугольник и, следовательно, вопрос «Можем ли мы доверять автономным системам?» Общественное доверие к автономным системам во многом зависит от алгоритмической прозрачности и непрерывной проверки. Искусство систематического AV-тестирования состоит в том, чтобы учитывать немыслимое. Закон Мерфи дает нам указание: «Все, что может пойти не так, пойдет не так». Это может показаться пессимистичным, но именно такой подход необходим для эффективного и прозрачного тестирования.

Рекомендации

  1. Эберт, К. и М. Вейрих: Проверка автономных систем. Программное обеспечение IEEE, ISSN: 0740-7459, т. 36, нет. 5, pp. 15-23, сентябрь 2019 г.
  2. Калра, Н. и С. М. Пэддок: Безопасное движение: сколько миль потребуется, чтобы продемонстрировать надежность автономного транспортного средства? Исследование транспорта. Часть A: Политика и практика. Vol. 94, с. 182-193, 2016.
  3. Родригес, М., М. Пиаттини и К. Эберт: технологии и инструменты для проверки и проверки программного обеспечения. Программное обеспечение IEEE, ISSN: 0740-7459, т. 36, нет. 2, стр. 13-24, Mrc. 2019 г.
  4. Роботест в Штутгартском университете. www.robo-test.com, постоянно совершенствуется. Последний доступ: 6. июн. 2021.
  5. Эберт, К., М.Вейрих и другие: «Систематическое тестирование автономного вождения». В: Электроника ATZ в мире. www.springerprofessional.com/automotive Последний доступ: 6 июня 2021 г.
  6. Шалев-Шварц, С. и др. В .: О формальной модели безопасности и масштабируемых беспилотных автомобилей. Intel, www.mobileye.com/responsibility-sensitive-safety, постоянно совершенствуется. Последний доступ: 6. июн. 2021.
  7. Эберт, С .: Разработка требований. dPunkt, 6. издание, 2019.

Об авторах

Кристоф Эберт является управляющим директором Vector Consulting Services и профессором Штутгартского университета и Сорбонны в Париже. Свяжитесь с ним по адресу christof.ebert@vector.com.

Майкл Вейрих является директором Института автоматизации и программных систем Штутгартского университета. Свяжитесь с ним по адресу michael.weyrich@ias.uni-stuttgart.de

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button