Привет, Хабр! Меня зовут Александр Коваленко, я младший научный сотрудник группы «ИИ в промышленности» в AIRI. В область наших интересов входит применение систем искусственного интеллекта в процессах различных предприятий. И, как и многие аспекты промышленной деятельности, такой ИИ тоже может быть атакован злоумышленниками.
Эта статья будет посвящена влиянию состязательных атак на системы диагностики неисправностей. Искусственный интеллект в нашем случае представлен классификаторами на основе нейронных сетей, а в качестве данных выступают сигналы с датчиков, образующих многомерные временные ряды. Я постараюсь объяснить, зачем вообще все это нужно, приведу обзор известных на сегодня методов состязательных атак и способов защиты от них, а также кратко расскажу про наши успехи, представленные в недавно опубликованной с коллегами из ИСП РАН статье Adversarial Attacks and Defenses in Fault Detection and Diagnosis: A Comprehensive Benchmark on the Tennessee Eastman Process.
Приятного чтения!
Обнаружение и диагностика неисправностей
Начнем с неисправностей и глубокого обучения. Работа промышленного оборудования, к сожалению, тесно связана с его износом, поломками и отклонениями в технологических параметрах. Эти факторы напрямую влияют на эффективность предприятий, на количество и время простоев оборудования, качество выпускаемой продукции и даже на безопасность.
Далее я буду понимать под неисправностями какие‑то внешние проявления того, что процесс производства нарушен. Например, наша производственная линия остановилась и не подает признаков жизни, или качество продукции такое, что под него готовят пустую емкость для отходов. Задача обнаружения и диагностики неисправностей или Fault Detection and Diagnosis (FDD) заключается в том, чтобы как можно раньше их детектировать и определять причину их появления. Обнаружить неисправность в виде неработающей линии легко, это может сделать любой человек находящийся рядом с ней. Определить бракованную продукцию могут в отделе качества, либо это сделает само оборудование за счет сигналов с датчиков и их пороговых значений. Бывает намного сложнее найти причину, по которой оборудование остановилось или ухудшилось качество продукции. Но решив такую задачу, можно предотвращать ряд серьезных поломок, уменьшать количество брака и даже исключать его появление.
Вообще, диагностика неисправностей уже закладывается в само оборудование на этапе его проектирования. Ставятся дополнительные датчики, отвечающие лишь за диагностику, расширяется программа логики управления процессом, учитывающая возможные неполадки. Можно даже провести глубокую модернизацию старого оборудования, обвешать новыми сенсорами, переписать программу промышленного логического контроллера (ПЛК). Но зачем тогда этот ИИ нужен?
Все дело в сложности некоторых неисправностей и простоте логики ПЛК. Логика ПЛК основана на простых правилах: она может регистрировать достижение датчиками каких‑либо пороговых значений, либо их комбинацию, но определять сложные поведенческие паттерны в сигналах не в состоянии. Примером таких сигналов являются опубликованные еще в 1995 году набор данных и математическая модель реального химического производства Tennessee Eastman Process (TEP). Эти данные содержат 52 сигнала и описывают их поведение при возникновении различных типов неисправностей.
С точки зрения машинного обучения — это задача многоклассовой классификации. И с этим набором данных 95 года хорошо начали справляться статистика и классические методы ML. TEP датасет стал популярным бенчмарком в научной среде для сравнения методов FDD, и также был использован в наших экспериментах. В разные годы его математическая модель модифицировалась и появлялись новые наборы данных, дополненные шумами и содержащие новые типы неисправностей. С такими обновленными наборами данных классический ML справляется похуже, а их количества уже хватает для применения методов глубокого обучения. Нейронные сети показали здесь лучшие результаты.
Хорошо, у нас есть нейронные сети, которые не полностью заменяют, а могут дополнять существующую систему диагностики оборудования. Давайте пропустим рассуждения о масштабах внедрения таких решений, а продолжим только об одном из аспектов их безопасности.
Состязательные атаки на модели FDD
Я думаю, все знают или хотя бы слышали про то, как можно обмануть нейронные сети в компьютерном зрении. Слегка изменяется исходное изображение, что незаметно для глаза человека, но при этом модель дает неверное предсказание. А что же с нашими сигналами, в виде многомерных временных рядов? Все то же самое, за исключением того, что изменения в данных должны быть незаметны для потенциального детектора таких атак. Про детекторы сегодня рассказывать не буду, а расскажу про сами состязательные атаки и как они влияют на качество предсказаний моделей FDD, а также про методы позволяющие снизить такое негативное влияние.
Например, в нашем исследования мы взяли одну из последних версий датасета TEP и обучили на нем несколько различных архитектур нейронных сетей. Забегая вперед, скажу, что поведение после состязательных атак у всех архитектур оказалось схожим. Поэтому покажу результаты только для одной и самой простой из них — многослойного персептрона (MLP).
Типов самих состязательных атак существует достаточно много. Я остановлюсь лишь 6 из них, выбрав самые цитируемые в литературе. Потенциальный злоумышленник, готовя атаки, основывается на доступной ему информации. С этой точки зрения все состязательные атаки можно разделить на три группы по «ящикам». Black‑box — злоумышленник получил доступ только к системе обмена данными между оборудованием и моделью. Он видит данные, которые уходят в модель и может вносить в них изменения, а также отслеживать выход модели. White‑box атаки происходят после полной утечки данных включая обучающие датасеты и веса моделей. Что‑то среднее между ними называют gray‑box, но мы будем рассматривать только два крайних случая.
Как можно испортить данные ничего не зная о модели? Просто добавить шума! Первая опробованная нами black‑box атака Noise заставила модель чаще путаться в классах. Конечно, чтобы остаться незамеченными, смещения в данных должны быть ограничены. Небольшие шумы слабо влияют на точность моделей, но при отсутствии системы детектирования атак, амплитуда шумов может быть увеличена, что приводит к выводу системы FDD из строя.
Теперь представим, что у злоумышленника оказались помимо данных еще и веса моделей. Тут открывается больше возможностей для атак, например так называемые градиентные методы. Первый из них это Fast Gradient Sign Method (FGSM). Зная архитектуру модели, ее веса, можно определить градиент loss функции относительно набора входных данных. Во время атаки данные смещаются на фиксированную величину с учетом знака полученного градиента, что увеличивает вероятность ошибки модели. Projected Gradient Descent (PGD) метод является итеративной модификацией FGSM. Различие заключается в том, что смещение разбито на несколько шагов, после каждого из которых пересчитываются знаки градиента.
Еще два типа white‑box атак это DeepFool и Carlini and Wagner (C&W). Первый как бы смотрит на выходные вектора модели и находит ближайшую границу, разделяющую корректный и некорректный классы. Затем входные данные смещаются так, чтобы выход модели бал ближе к этой границе и немного ее пересек, делая предсказание неверным. C&W атака является оптимизационным методом, который минимизирует смещение в данных при условии неверного предсказания модели.
Ну и напоследок еще одна black‑box атака, являющаяся на мой взгляд самой реалистичной и опасной — атака при помощи дистилляции. Злоумышленник, подключившись к системе обмена данными, может продолжительное время наблюдать за сигналами на входе модели и за ее предсказаниями, а также сохранять эти данные. Собранный таким образом датасет может быть использован для обучения произвольной архитектуры нейронной сети. И уже на основе такой модели, могут быть созданы состязательные атаки white‑box методами. В наших экспериментах мы использовали FGSM‑дистилляцию (FGSM Distillation), оказавшуюся более опасной, чем просто случайный шум.
Результаты всех состязательных атак на модель MLP можно увидеть на рисунке ниже. По оси ординат указана точность модели, а по оси абсцисс величина которой ограничено максимальное смещение в данных при создании состязательных примеров. При этом все входные данные были стандартизированы со стандартным отклонением 1.
Результаты подтвердили уязвимость моделей FDD к состязательным атакам. Перейдем к защитам.
Защита моделей FDD от состязательных атак
Как же можно защитить модели от состязательных атак или хотя бы снизить их влияние? Напрашивается интуитивный способ — добавлять атакованные данные в обучающую выборку. Такое состязательное обучение (adversarial training) является одним из самых эффективных методов защиты моделей, но есть нюансы.
Если добавлять в обучающую выборку атакованные данные только с одним фиксированным смещением (eps), например равным 0.1, то и защита будет эффективна только от схожих смещений. Если же обучать модель на широком диапазоне eps, то ее точность на не атакованных данных заметно снижается. В экспериментах мы скармливали модели данные, атакованные методом PGD с eps в диапазоне от 0 до 0.3. Защита оказалась универсальной от всех типов атак, но снижение качества предсказаний на нормальных данных является существенным минусом.
Вторым универсальным методом защиты от состязательных атак является использование автоэнкодеров (autoencoder). Тут тоже все интуитивно понятно: пытаемся атакованные данные восстановить обратно в нормальное состояние.
В экспериментах мы глубоко не копались в архитектурах автоэнкодеров, сделали его на основе MLP. Результаты оказались схожими с состязательным обучением, но, в отличие от него, кажется тут есть пространство для маневра. Можно поисследовать более сложные архитектуры автоэнкодеров и возможно добиться лучшей точности модели на нормальных, не атакованных данных. Однако есть существенные минусы — для автоэнкодера нужны дополнительные вычислительные ресурсы, а также он сам может стать целью состязательной атаки.
От некоторых типов состязательных атак хорошо помогает квантизация данных (quantization). Непрерывные значения сигналов конвертируются в набор дискретных значений, и уже на таких данных мы переобучаем модель. Степень защиты, а также падение точности на не атакованных данных напрямую зависит от количества дискретных значений при квантизации.
Повысить устойчивость моделей к состязательным атакам можно при помощи регуляризации (regularization), описанной в статье Scaleable input gradient regularization for adversarial robustness. Но в наших экспериментах такая защита оказалась довольно слабой.
Выше я писал про градиентные методы состязательных атак. А что, если нам спрятать наши градиенты? Да, так можно делать, называется защита дистилляцией (distillation). Есть исходная модель — учитель, уже обученная, мы снова подаем ей на вход обучающую выборку, а на выходе записываем не предсказанные классы, а их вероятности. Получаем датасет, где таргеты это вероятности. Обучаем на нем модель-студента, предсказывающую эти вероятности. Подход хорошо защищает от градиентных атак, таких как FGSM и PGD, но не спасает от других, даже от шума.
Ну и наконец наш разработанный суперсекретный метод защиты! Шутка, на самом деле описанные выше методы, либо заметно снижают точность моделей на нормальных данных, либо защищают лишь от некоторых типов состязательных атак. Мы просто решили проверить как защиты работают совместно. Получилась довольно интересная комбинация (combination) состязательного обучения и квантизации, когда данные сначала атакуются, а следом идут квантизация и обучение. Причем были выбраны слабые варианты защит, состязательные FGSM примеры с фиксированным смещением eps и большое число дискретных значений при квантизации (28). При таких настройках получаются слабые защиты, но сохраняется хорошая точность при работе с нормальными не атакованными данными. А вот их комбинация, при схожей точности, дает уже гораздо более сильную защиту, особенно при малых значениях eps.
Сравнение всех вышеперечисленных методов наглядно представлено на рисунке ниже:
Заключение
Внедрение моделей нейронных сетей для задач FDD, да и вообще любых классификаторов в работу промышленного оборудования пока не носит массовый характер. Однако я считаю это делом времени, и уже сейчас необходимо понимать потенциальные уязвимости таких решений в контексте промышленной кибербезопасности и технологического суверенитета. На текущий момент наше решение уже интегрировано с платформой для разработки доверенных систем, использующих технологии искусственного интеллекта совместно с ИСП РАН.
Наши эксперименты подтвердили, что FDD модели уязвимы к состязательным атакам, но также существуют и методы защиты. Стоит ли опасаться таких атак, сильно переживать и пытаться защищаться?
В промышленности все индивидуально, каждая машина, линия, цех, завод по‑своему уникальны. Например, если модель будет крутиться в защищенном, закрытом внутреннем контуре, то сильно переживать и думать об этом, наверное, не стоит. А если данные передаются уже на уровне локальный сети предприятия, или летят дальше в облако для вычислений? Тут стоит хотя бы просто задуматься.