Автопилот Tesla, Waymo, Uber… Автономная революция уже наступила, но ее правильное функционирование вызывает большую озабоченность. Основная цель тестирования беспилотных автомобилей проста: убедиться, что автомобили могут выдерживать езду в различных условиях, и обеспечить безопасность людей как внутри, так и снаружи. Но можем ли мы доверять автоматическому шоферу? Чтобы проверить это, QATestLab подготовила небольшое исследование о том, как работают беспилотные автомобили и как мы можем их протестировать.

Как машинное обучение превращает самоуправляемые автомобили в реальность

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

Автономные автомобили ассоциируются с искусственным интеллектом. Но когда мы говорим об искусственном интеллекте, мы имеем в виду широкую область, которая объединяет под своей крышей несколько алгоритмов машинного обучения и, особенно, в еще более узком смысле, различные технологии глубокого обучения. Итак, центральный алгоритм машинного обучения, на котором построены беспилотные автомобили, - это глубокое обучение, а точнее - глубокие нейронные сети.

Что такое глубокое обучение и глубокая нейронная сеть?

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

Возможности глубокого обучения для самоуправляемых автомобилей

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

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

Тестирование беспилотного транспортного средства: пункты, которые необходимо проверить

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

  • Безопасность транспортного средства. Первым критерием безопасности беспилотных автомобилей является безопасность внутри самого транспортного средства. Программы оснащения транспортных средств должны быть ориентированы на то, чтобы пассажира благополучно доставили в пункт назначения.
  • Безопасность других. Самая большая проблема для беспилотных автомобилей - убедиться, что другие водители на дороге, пешеходы и просто строения внизу не пострадают.
  • Чрезвычайные ситуации. Еще один риск, который можно отследить с помощью автономных автомобилей, - это неправильное понимание того, как автомобиль будет реагировать на неожиданные ситуации. Например, строительные зоны, требующие меньшей скорости и маневрирования вокруг людей, распознавания и уступки машин экстренных служб и т. Д.
  • Кибербезопасность: автономные автомобили накапливают огромные объемы данных, но достаточно ли защищены эти фрагменты информации, особенно частной информации? Что, если базы данных могут быть взломаны, а личные данные могут быть раскрыты? Все это нужно проверить.

Итак, в целом, основная цель тестирования беспилотных автомобилей - гарантировать, что они будут работать так же, как водитель-человек, даже в ответ на неожиданные события на дороге.

Тестирование моделей машинного обучения и глубоких нейронных сетей

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

Если углубиться в техническую сторону тестирования автономных транспортных средств, для этого можно найти множество вариантов. Например, одна из программ, разработанных для мыслить как тестировщик, - это DeepXplore, которая обучает модели ML и тестирует DNN, которые используются повсеместно, в частности в беспилотных автомобилях. Эта программа использует ансамбли моделей для поиска различий в выходных данных, указывающих на ошибки. Кроме того, есть еще одна программа, основанная на предыдущей - она ​​ориентирована исключительно на автономные транспортные средства и представляет собой систему, которая проверяет несколько источников информации, благодаря которым автономные транспортные средства работают.

Вы можете узнать больше о тестировании DNN с помощью DeepTest.

Итог: думая о безопасности

Скоро беспилотные автомобили преобразят городскую среду повсюду, и удивительно, как далеко мы продвинулись за такой короткий период времени. Остается открытым вопрос: могут ли автономные транспортные средства быть достаточно безопасными? Сегодня, благодаря таким программам, как DeepExplore и DeepTest, появляется возможность проверить все возможные сценарии автономных транспортных средств. Тем не менее, мы не можем быть застрахованы на все 100%.

С другой стороны, мы должны воспринимать беспилотные автомобили с разных сторон. Точно так же, как беспилотные автомобили могут представлять опасность для нас, они также могут обеспечить безопасность. Поскольку роботы запрограммированы на подчинение определенным правилам, мы можем отслеживать вещи, которые человек не может отследить. Например, вы можете запрограммировать робота, чтобы он не увеличивал скорость, не отвлекался на текстовые сообщения и так далее. Еще одно преимущество перед живыми водителями, благодаря компьютерному зрению, автономные транспортные средства способны распознавать объекты даже ночью или в условиях низкой освещенности.

Итак, у автономных транспортных средств есть и то, о чем мы можем беспокоиться, и, наоборот, те, которые обеспечивают большую безопасность, чем раньше. Однако главное в этом - обеспечение ожидаемого отклика дрона, что можно сделать путем надлежащего тестирования.

Первоначально опубликовано на https://blog.qatestlab.com 15 июня 2020 г.