firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.

Как борются с взломом нейросетей?

Есть зачетный рассказ Виктора Пелевина https://www.nix.ru/computer_hardware_news/hardware...

В нашей же реальности есть автомобиль Тесла с автопилотом и подтвержденный факт что люди нарисовав левую разметку вызвали попадание машины на отбойник.

Как борются с этим явлением?
  • Вопрос задан
  • 322 просмотра
Пригласить эксперта
Ответы на вопрос 5
mayton2019
@mayton2019
Bigdata Engineer
Существует только один способ улучшать работу нейросетей - продолжить обучение на новых данных.

Сам термин взлом здесь не применим. НС оперируют нечеткой логикой поэтому никакого взлома
нет. Есть просто детерминированное поведение выхода в зависимости от входа.
Ответ написан
Комментировать
@oleg_ods
Из мануала Tesla model S:

Автопилот — это набор расширенных функций помощи водителю, призванных сделать вождение более безопасным и менее напряженным. Ни одна из этих функций не делает Model S полностью автономной и не заменяет вас в качестве водителя. Функции автопилота входят в стандартную комплектацию всех новых автомобилей Tesla.


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


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


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

Решения проблемы, которую Вы описали по сути не существует. Единственное, что можно сделать это «кормить» сеть дополнительными данными, чтобы «людям рисующим левую разметку» было тяжелее сбить ее(нейронку) с толку.
Ответ написан
@rPman
Бояться нужно не левой разметки, это не взлом.

Взлом нейронных сетей, это когда с виду незначительные (для человеческого глаза) изменения в изображении кардинально меняют результат работы нейросети.

Гуглить adversarial attacks или атаки с использованием искажающих примеров.

В принципе нормального универсального решения нет. Если атакующему будет неограниченный доступ к работающей нейросети, он сможет на ее основе создать алгоритм подбора искажающего примера для ее обмана. Поэтому - не давай пользователям неограниченного доступа ну и веса самой сети само собой. Это все из-за того что конкретные атакующие изображения будут работать только с той нейросеткой, для которой они создавались (буквально именно с теми весами).

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

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

Так же гуглятся предложения по Регуляризации функции потерь.

Главная беда нейронных сетей - они очень плохо работают, если им давать только хорошие данные, вместо тех признаков что мы как люди привыкли примечать (потому что у нас огромный багаж знаний в довесок, плюс мы постоянно дообучаемся) сети выделяют какие то дикие и абстрактные для нас признаки, по которым внезапно так же можно решать задачу, и именно на этом сети легко обманывать. Чем больше плохих данных ты даешь, тем больше знаний о предметной области (чем не является искомые объекты) - тем лучше она их будет искать, в идеале плохие данные должны быть на границе с хорошими... у людей 'человеческие детеныши' отлично умеют 'бесить взрослых', прощупывать пределы допустимого, совершая максимально дичайшую дичь но рядом с тем что еще не успели запретить или не достаточно хорошо определили.
Ответ написан
Комментировать
CityCat4
@CityCat4
Внимание! Изменился адрес почты!
Нейросеть нельзя взломать в общепринятом смысле этого слова. Но ее можно заставить принять неверное решение, подсунув ей неверные исходные данные (потому что нейросеть не понимает смысла данных, которыми оперирует). Пример с левой разметкой здесь вполне релевантен - нейросети все равно куда она ведет, она не может сказать, что разметка непременно должна идти по дороге :)
Ответ написан
Комментировать
ThunderCat
@ThunderCat
{PHP, MySql, HTML, JS, CSS} developer
Как борются с взломом нейросетей?
Никак, так как взлом означает изменение функциональности, а в вашем описанном случае ничего не выходит за рамки функционала софта, о чем ниже.

В нашей же реальности есть автомобиль Тесла с автопилотом и подтвержденный факт что люди нарисовав левую разметку вызвали попадание машины на отбойник.
Во первых - "автопилот" 2 уровня, то есть по сути адаптивный круиз-контроль, никак не тянущий на полноценное решение для распознавания ошибок в дорожной разметке. Во вторых это не есть нарушение работы нейросети, она натренирована соблюдать разметку и делает это хорошо. Это все равно что взломать деревообрабатывающий станок, сунув в него лом вместо полена, результат будет такой же нестандартный, как и вводимый материал. Кроме того, замечу что уровни автономности определяют так же и юридические аспекты ответственности, так например уровень автономности от 1 до 3 предполагает ответственность водителя за все правонарушения и аварии, в то время как уровни 4 и выше уже выносят ответственность за все последствия на производителя.

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

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы