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

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

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

Каждые неточности также появляются в чёрном коробке, что затрудняет их выявление и исправление. Эта непрозрачность представляет собой особую проблему для определения поведения в крайних случаях. Угловой случай — это инцидент, что происходит за пределами простых рабочих параметров. Пример углового случая: совокупность беспилотного автомобиля вероятно запрограммирована на распознавание поворота на двухполосном шоссе в большинстве случаев.

Но, если освещение ниже или примечательнее, чем как правило, совокупность может не распознать его, и может произойти неточность. Одним из недавних примеров имеется авария Tesla 2016 года, которая частично была позвана …Свет в чёрный коробку совокупностей глубокого обучения проливает свет на то, что Иньчжи Цао из Университета Лихай, Цзюньфэн Янг и Суман Яна из Колумбийского университета — вместе с доктором Колумбийского университета. студент Кексин Выпивай — добился с DeepXplore первого автоматизированного тестирования таких совокупностей методом «белого коробки».

Оценивая DeepXplore на настоящих наборах данных, исследователи смогли выявить тысячи неповторимых случаев неправильного поведения в самых крайних случаях. Они представят личные выводы на проводимой раз в два года конференции ACM правильно операционных совокупностей (SOSP) в Шанхае, Китай, 29 октября на Сессии I: Поиск неточностей.«Отечественная работа DeepXplore предлагает первую метрику покрытия тестами, именуемую« покрытие нейронов », чтобы эмпирически понять, снабжает ли набор входных тестов плохое или логики решений поведения и хорошее покрытие принятия глубокой нейронной сети», — говорит Цао, доцент кафедры информатики. и инженерия.

Не считая представления покрытия нейронов в качестве метрики, исследователи демонстрируют, как метод обнаружения логических неточностей в более хороших совокупностях, именуемый дифференциальным тестированием, вероятно применен к совокупностям глубокого обучения.«DeepXplore решает еще одну сложную задачу, заключающуюся в том, что требуется множество вручную помеченных тестовых входных данных. Это достигается способом перекрестной проверки нескольких DNN и умного поиска входных данных, каковые приводят к непоследовательным итогам из глубоких нейронных сетей», — говорит Янг, доцент информатики. «К примеру, учитывая изображение, снятое камерой самоуправляемой машины, если две сети думают, что машина обязана развернуть налево, а третья уверен в том, что машина обязана развернуть направо, тогда в третьей глубокой нейронной сети, быть может, будет угловой случай. . Нет необходимости в ручном нанесении этикеток, чтобы отыскать это несоответствие ".Команда совершила оценку DeepXplore на настоящих наборах данных, включая данные о проблемах с самоуправляемыми автомобилями Udacity, эти изображений из ImageNet и MNIST, данные о вредоносных программах для Android из Drebin и данные о вредоносных программах PDF из Contagio / VirusTotal, и глубокие нейронные сети производственного качества, обученные на этих наборах данных. , такие как эти, заняли первое место в конкурсе на беспилотные автомобили Udacity.

Их результаты показывают, что DeepXplore отыскал тысячи неправильных поведений в углах (к примеру, беспилотные автомобили врезались в ограждения) в 15 современных моделях глубокого обучения с в общем итоге 132 057 нейронов, обученных на пяти популярных наборах данных, содержащих около 162 ГБ данных.Команда сделала личный ПО с открытым исходным кодом общедоступным для применения вторыми исследователями и запустила сайт DeepXplore (www.deepxplore.org), чтобы люди имели возможность загружать личные эти, чтобы подметить, как трудится процесс тестирования.Больше нейронного покрытияВ соответствии с статье, которая будет опубликована по окончании конференции (см.

Предварительную версию тут), DeepXplore рекомендован для генерации входных данных, каковые максимизируют охват нейронов совокупности глубокого обучения (DL).Авторы пишут: «На высоком уровне нейронное покрытие совокупностей DL подобно покрытию кода хороших совокупностей, стандартной метрике для измерения количества кода, делаемого вводом в хорошем программном обеспечении.

Но покрытие кода само по себе не есть критерием. хороший показатель для оценки охвата совокупностей DL, вследствие того что большинство правил в совокупностях DL, в отличие от хорошего ПО, не пишутся вручную программистом, а скорее извлекаются из обучающих данных ».«Мы осознали, что для большинства совокупностей глубокого обучения, каковые мы тестировали, помимо этого один случайно выбранный тестовый ввод имел возможность обеспечить 100% покрытие кода, но покрытие нейронов было менее 10%», — додаёт Яна, доцент кафедры компьютерных наук. наука.Входные эти, сгенерированные DeepXplore, достигли в среднем на 34,4% и 33,2% большего покрытия нейронов, чем такое же количество случайно выбранных входов входов и состязательных (входов в модели машинного обучения, каковые преступник намеренно создал, чтобы заставить модель совершить неточность) соответственно.

Дифференциальное тестирование применительно к глубокому обучениюЦао и Ян показывают, как пара совокупностей глубокого обучения с аналогичной функциональностью (к примеру, беспилотные автомобили от Google, Tesla и Uber) смогут употребляться в качестве оракулов с перекрестными ссылками для обнаружения ошибочных угловых случаев без ручной проверки. К примеру, если один беспилотный автомобиль решает развернуть налево, а другие поворачивают направо для того же входа, один из них, возможнее, будет неправильным. Такие методы дифференциального тестирования удачно употреблялись в прошлом для обнаружения логических неточностей без ручных спецификаций в широком спектре хорошего ПО.

В собственной статье они демонстрируют, как дифференциальное тестирование вероятно применить к совокупностям глубокого обучения.Наконец, новый подход исследователей к тестированию вероятно использован для переобучения совокупностей с целью повышения точности классификации. в течении тестирования они достигли повышения точности классификации до 3% за счет повторного обучения модели глубокого обучения на входных данных, сгенерированных DeepXplore, в случае если сравнивать с повторным обучением на том же количестве случайно выбранных или враждебных входов.«DeepXplore может машинально и действенно генерировать многочисленные входные эти, каковые приводят к неправильной классификации глубоких нейронных сетей», — додаёт Янг. «Эти данные смогут быть возвращены в процесс обучения для повышения точности».

Цао додаёт: «Отечественная конечная цель — иметь возможность протестировать совокупность, к примеру беспилотные автомобили, и поведать создателям, в самом деле ли она надёжна и при каких условиях».

Портал обо всем