является набором инструментов Python для исследований состязательной надежности. Основные функциональные возможности реализованы в Pytorch. В частности, рекламный ролик содержит модули для создания состязательных возмущений и защиты от состязательных примеров, а также сценарии для состязательного обучения.
Мы разработали рекламный ролик под Python 3.6 и Pytorch 1,0,0 и 0,4,1. Чтобы установить рекламный ролик, просто запустите
pip install advertorch
или клонировать репо и бежать
python setup.py install
Чтобы установить пакет в режиме «редактируемые»:
pip install -e .
Некоторые атаки проверяются против реализаций в дураках или Cleverhans, чтобы обеспечить правильность. В настоящее время они проверены в соответствии с следующими версиями связанных библиотек.
conda install -c anaconda tensorflow-gpu==1.11.0
pip install git+https://github.com/tensorflow/cleverhans.git@336b9f4ed95dccc7f0d12d338c2038c53786ab70
pip install Keras==2.2.2
pip install foolbox==1.3.2
# prepare your pytorch model as "model"
# prepare a batch of data and label as "cln_data" and "true_label"
# ...
from advertorch . attacks import LinfPGDAttack
adversary = LinfPGDAttack (
model , loss_fn = nn . CrossEntropyLoss ( reduction = "sum" ), eps = 0.3 ,
nb_iter = 40 , eps_iter = 0.01 , rand_init = True , clip_min = 0.0 , clip_max = 1.0 ,
targeted = False )
adv_untargeted = adversary . perturb ( cln_data , true_label )
target = torch . ones_like ( true_label ) * 3
adversary . targeted = True
adv_targeted = adversary . perturb ( cln_data , target ) Для запускаемых примеров см. advertorch_examples/tutorial_attack_defense_bpda_mnist.ipynb для того, как атаковать и защищать; См. advertorch_examples/tutorial_train_mnist.py для того, как состязание тренировать надежную модель на MNIST.
Веб -страница документации находится на Readthedocs https://advertorch.readthedocs.io.
Admokdorch все еще находится в активном развитии. Мы добавим следующие функции/предметы в будущем:
FastFeatureAttack и JacobianSaliencyMapAttack не проходят тесты против версии используемых Cleverhans. (Они используют для прохождения тестов на предыдущей версии Cleverhans.) Эта проблема исследуется. В файле test_attacks_on_cleverhans.py они помечены как «пропущенные» в тестах pytest .
Этот проект лицензирован под LGPL. Условия и условия можно найти в файлах лицензии и лицензии.
Если вы используете рекламный ролик в своем исследовании, мы просим вас привести следующий технический отчет:
@article{ding2019advertorch,
title={{AdverTorch} v0.1: An Adversarial Robustness Toolbox based on PyTorch},
author={Ding, Gavin Weiguang and Wang, Luyu and Jin, Xiaomeng},
journal={arXiv preprint arXiv:1902.07623},
year={2019}
}