Как стать автором
Обновить
20
0
Сергей Дудоров @Dudorovsergey

Machine Learning

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

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


  • Данный метод называется Adversarial Training, мы атакуем нашу сеть, добавляем полученные Adversarial примеры в обучающую выборку, обучаем, атакуем опять и тд. Вообще AT в некотором роде, представляет собой подход Minimax из теории игр, на эту тему даже есть интересная статья. Данный метод действительно работает, устойчивость сети к атакам повышается — а соответственно повышается и уровень шума, необходимый для обмана сети. Но при этом есть одна серьезная проблема, атак работающих по разным принципам достаточно большое количество — соответственно необходимо покрывать большое распределение adversarial примеров. С всязи с чем мы должны генерировать все новые и новые примеры обучаться на них и тд. Что уже очень затратно по времени и ресурсам, но и это еще не все. Чем больше мы добавляем примеров с разным распределением, со временем целевая метрика(например точность) так же начнет падать — поэтому данный метод не пользуется большой популярностью на практике. Его альтернативой может быть Gaussian Data Augmentation суть которого в добавлении нормального шума к изображениям и обучении на новых семплах. Как показывают результаты работы он работает не хуже, а чаще даже лучше чем AT (Но тут надо смотреть на методику эксперимента, в работе скорее показали что качество моделей полученные методами Virtual Adversarial Training и AT на основе атаки FGSM, можно получить более простым и "дешевым" способом.)

2: насколько снизится точность сети? как будут меняться веса? или обучающий набор с подобными сэмплами не будет эффективным для обучения и сетка просто ни чему не научится?


  • Здесь вопрос более практический, приведу пример из своей практики: Решалась задача обработки МРТ снимков и выявление опухолей и их классификация на основе этих снимков. В качестве одного из экспериментов мы решили применить описанные выше методы AT и GDA. И оказалось, что качество работы сети на реальных данных улучшилось! Это связано с тем, что в МРТ снимках есть сложные Гамма шумы, а используя методы AT и GDA мы повышаем сопротивляемость нейронной сети к этим шумам, за счет чего повышается и качество работы сети. Поэтому ответить однозначно на этот вопрос нельзя, так же в моей практике были примеры, где качество падало. Здесь все скорее зависит от решаемой задачи. Что точно можно сказать, так это то, что сеть будет обучаться(AT и GDA не внесут никакой фатальщины), но качество может меняться в ту или иную сторону.

3: и что если для входного слоя делать дропаут?


  • Очень хороший вопрос! В прошлой статье, где говорилось о методах защиты, мы приводили в пример ансамблирование, с подтекстом, что обмануть 1 модель проще, чем обмануть N моделей на одном примере. Если вспомнить интерпретацию Дропаута, то окажется, что по своей сути дропаут так же является способом ансамблирования нейронных сетей, только виртуальным. А уже в работе исследовалось влияние Dropoutа как средство повышения устойчивости моделей к атакам. И действительно, повышается сопротивляемость атакам, но нужно искать золотую середину между качеством решения целевой задачи и уровнем сопротивляемости, тут тоже не все так однозначно.
  • В целом можно сказать следующее, что методы повышения устойчивости(защиты моделей) уж точно не будут бесплатными(время, ресурсы, качество работы на целевой задаче). Стоит это понимать и помнить об этом.

Надеюсь я ответил на Ваши вопросы.

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

Добрый день! Не совсем понимаю ваш вопрос, о каком именно эффекте для обучения идет речь? Если вы имеете ввиду как достигнуть эффекта, чтобы сеть можно было обмануть — тогда этот эффект достигается абсолютно естественным образом, ничего особенного делать не надо, просто обучить сеть как обычно, об этом шла речь в первой статье.
Если же ваш вопрос связан с тем, как сделать так, чтобы данный эффект не наблюдался при использовании, то тогда необходимо применять различные техники повышения устойчивости модели, о них рассказывалось во второй статье. Один из способов, под названием Adversarial Training как раз про то, чтобы добавить сгенерированные атаками изображения в обучение, тогда сеть будет более устойчива. Либо метод Gaussian Data Augmentation, в котором в обучающую выборку добавляются изображения с добавлением Гауссовского шума. Засчет чего достигается схожий с Adversarial Training эффект. Это те методы, что связанны с обучением.

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

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

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

Информация

В рейтинге
Не участвует
Откуда
Россия
Зарегистрирован
Активность