Генерация противоборствующих данных из моделей атак умных людей
Мне нужен пример кода для того, как генерировать данные о поездах из атак со стороны умного Ганса.
adv_x = fgsm.generate_np(X_test, **fgsm_params)
Это генерирует состязательные данные x, но как я могу получить y?
adv_pred = model.predict_classes(adv_x)
И это даст "одураченные" результаты, верно?
Я хочу правильно показать сгенерированные x, y, одураченные y (под которыми я подразумеваю результаты предсказаний моделей, которые могут быть ложными из-за атаки). Я использую Mnist, кстати, если это поможет.
1 ответ
Основываясь на фрагментах кода, которыми вы поделились, я бы сделал два предложения:
Как правило, не рекомендуется тренировать модель на тестовых данных (если вы собираетесь использовать эти тестовые данные для оценки ее производительности впоследствии), поэтому я бы заменил
X_test
отX_train
в вашей первой строке.Чтобы получить метку для ваших состязательных примеров, вы можете использовать оригинальные метки данных обучения или прогнозы модели на исходных данных обучения
model.predict_classes(X_train)
(это предполагает, что состязательный пример не достаточно возмущен, чтобы изменить метку ввода).