Как стать автором
Обновить
150.33

Введение в Adversarial attacks: как защититься от атак в модели глубокого обучения на транзакционных данных

Время на прочтение7 мин
Количество просмотров5K

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

Adversarial attacks — это злонамеренное манипулирование входными данными модели машинного обучения с целью заставить ее выдать неправильные предсказания.

Эти атаки проектируются, чтобы использовать уязвимости алгоритмов машинного обучения и часто могут быть выполнены незаметно для системы или пользователя.

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

Виды атак

Существует несколько типов Adversarial attacks, каждый из которых имеет свои уникальные характеристики и методологию.

  1. Атаки White Box и Black Box. White Box соответствуют случаю, когда злоумышленник имеет полное представление о модели машинного обучения, включая ее архитектуру и параметры. В отличие от этого, атаки «Black Box», когда злоумышленник имеет ограниченные знания о модели машинного обучения или не имеет их вовсе, и для создания примеров противника ему приходится полагаться на метод проб и ошибок. Атаки Black Box наиболее приближены к реальности, а White Box чаще связаны с исследованиями в области Adversarial attacks.

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

  3. Различия атак по типам данных: Adversarial attacks могут происходить на различные типы данных, включая изображения, текст, аудио и другие. Например, модели классификации изображений могут быть атакованы с помощью adversarial примеров, которые визуально похожи на исходное изображение, но были незначительно изменены, чтобы привести к неверной классификации.

https://pytorch.org/tutorials/_images/fgsm_panda_image.png
https://pytorch.org/tutorials/_images/fgsm_panda_image.png

Аналогичным образом, модели классификации текста могут быть атакованы с помощью adversarial примеров, чтобы заставить модель выдать другой результат.

Опасности атак

Adversarial attacks могут оказать серьезные последствия для отдельных людей, организаций и общества в целом. Вот некоторые примеры:

  1. Манипулирование автономными системами: Adversarial attacks могут использоваться для манипулирования автономными системами, такими как самоуправляемые автомобили или беспилотники, заставляя их вести себя непредусмотренным образом. Это может привести к серьезным авариям или даже быть использовано в качестве оружия для нанесения вреда.

    https://www.cse.gatech.edu/sites/cse.gatech.edu/files/styles/medium/public/images/mercury/shapeshifterimg.png?itok=K1Su1EPM
    https://www.cse.gatech.edu/sites/cse.gatech.edu/files/styles/medium/public/images/mercury/shapeshifterimg.png?itok=K1Su1EPM
  2. Финансовые потери: Adversarial attacks могут привести к финансовым потерям для организаций и частных лиц за счет манипулирования моделями машинного обучения с целью получения неверных результатов, в результате чего финансовые операции или инвестиции осуществляются на основе неверных данных.

  3. Подрыв доверия общества к машинному обучению: Adversarial attacks могут также подорвать доверие общества к моделям машинного обучения и их способности принимать точные и достоверные решения. Это может иметь далеко идущие последствия для развития и внедрения машинного обучения в различных отраслях.

Эти примеры демонстрируют важность темы и необходимость изучения различных типов атак и способов защиты от них.

Защита

Защита от Adversarial attacks является важным аспектом обеспечения безопасности и точности моделей машинного обучения. Ключевые методы защиты следующие:

  1. Adversarial Training — это метод, который включает в себя генерацию adversarial примеров и включение их в процесс обучения, чтобы сделать модель более устойчивой к атакам противника. Это помогает повысить точность модели и снизить ее уязвимость к adversarial attacks.

    Adversarial Training Methods for Deep Learning: A Systematic Review

  2. Ансамбли моделей. Этот метод подразумевает объединение прогнозов нескольких моделей для повышения надежности и точности. В случае adversarial attacks ансамбли моделей могут помочь снизить воздействие атак путем усреднения прогнозов нескольких моделей, что затрудняет злоумышленникам манипулировать уязвимостями отдельной модели.

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

AA с транзакционными данными

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

Остановимся подробнее на теме Adversarial Attacks на последовательностях данных, например, на последовательностях транзакций клиента. На этих данных можно подготовить разные типы моделей в зависимости от задачи, в том числе при достаточном объеме данных неплохо себя могут показать RNN модели. Рассмотрим сценарии атак для подобного рода моделей и данных.

Атаки транзакций

Сценарий 1. Отравление данных.

При наличии у злоумышленника доступа к обучающему датасету, можно подготовить относительно небольшое количество (5-10%) примеров, в которых будет использоваться редко встречающиеся комбинации данных для конкретных классов. Как вариант, при среднем числе обучающей последовательности 300 транзакций, можно вставить всего 2-3 транзакции так, что их очередность друг за другом будет редкой с точки зрения очередности в принципе, но сами транзакции будут встречаться относительно часто у клиентов.  И модель будет ошибаться на них в 99.9% случаях, сохраняя качество работы на чистых данных. Далее можно подставлять этот редкий набор во входную последовательность и тем самым получать нужный результат.

Сценарий 2. Вставка транзакций характеризующих определенный класс.

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

Сценарий 3. Применение FGSM для последовательностей.

В FGSM (Fast Gradient Sign Method https://arxiv.org/abs/1412.6572) злоумышленник вычисляет градиент предсказания модели по отношению к входному набору данных. Градиент представляет собой направление наибольшего увеличения потерь при предсказании. Затем злоумышленник добавляет небольшое смещение в направлении градиента к входному набору данных, в результате чего получается новый набор данных, на котором скор модели будет “смещен” к противоположному классу. 

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

Защита транзакций

Поговорим о способах защиты. Они менее специфичны, чем атаки и довольно близки к общим техникам защиты независимо от типа данных:

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

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

  3. Применения DropOut, Label Smoothing (когда вместо меток 1/0, использует 0.1/0.9). 

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

  5. При работе с последовательностями - делать прогнозы для подпоследовательностей и изучать как меняется скор.

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

Если у нас есть 500 транзакций окном 300 транзакций нарезать общую последовательность и посмотреть какие скоры на разных участках. И далее применить голосование большинством.

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

Итог

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

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

Теги:
Хабы:
Всего голосов 1: ↑1 и ↓0+1
Комментарии1

Публикации

Информация

Сайт
www.vtb.ru
Дата регистрации
Дата основания
Численность
свыше 10 000 человек
Местоположение
Россия