КурсыИИМатематикаКодФизикаО проекте и вопросы

TwiddleLab / Искусственный интеллект / Как машины видят и слышат

Как обмануть модель зрения

Урок 7 из 10 · 7 мин · Бесплатно, без аккаунта

Что ты узнаешь

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

Начать урок

Как идёт урок

  1. Исследователи изменили фото панды так слабо, что никто не мог этого заметить. ИИ сказал «гиббон», уверенно на 99%. Как?

    Сначала попробуй на нашем читателе цифр. Угадай, потом «Проверить».

  2. Усиливай атаку, пока читатель не перестанет видеть 7.

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

  3. Дело только в количестве шума? Сравни прицельный и случайный шум одной силы.

    Переключайся между ними.

  4. У этого трюка есть название.

    Нажми, чтобы открыть.

    Вход, специально изменённый, чтобы обмануть модель, это состязательный пример.

    В опыте с пандой (Goodfellow и соавторы, 2014) каждый пиксель сдвинули меньше чем на 1% его диапазона, прицелившись по градиенту.

    Модель, которая продолжает работать при таких атаках, устойчива.

  5. Подтолкни пиксели: обмани читателя за 6 нажатий или меньше.

    Каждое нажатие сдвигает один пиксель на четверть вдоль его стрелки. Потом «Проверить».

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

  6. Защита: обучить читателя ещё и на атакованных цифрах. Выдержит?

    Двигай силу атаки и сравни двух читателей на 397 тестовых цифрах.

  7. Игра: проверка брони. Обмани бронированного читателя за как можно меньше нажатий.

    Та же 7, те же толчки. Сравни со своим счётом против обычного читателя.

  8. Код: программисты тоже атакуют свой код. Найди балл, который ломает grade().

    Нажми на числовую прямую, потом «Проверить».

    grade() доверяет своему входу. Балл вне диапазона от 0 до 100 всё равно получает оценку, а это бессмыслица. Проверка входов и тесты странных случаев делают код устойчивым, как атакованные примеры делают устойчивой модель.

  9. Все эти атаки показаны в исследованиях. Какую модель обманывает каждая?

    Перетащи каждую карточку, потом «Проверить».

    Состязательные примеры работают на любой модели, которая следует градиенту от входа к ответу: на моделях зрения через пиксели, на моделях речи через отсчёты звука.

  10. Повтор: атакуй свою нарисованную цифру.

    Нарисуй цифру, которую оба читателя узнают верно, потом нажми «Атака».

Предыдущий урок: Читаем цифры · Следующий урок: Звук тоже картинка · Часть курса: Как машины видят и слышат

Уроки интерактивные и работают на JavaScript. Включи его, чтобы играть.

Loading TwiddleLab