Модуль устойчивости к атакам предназначен для оценки устойчивости модели к атакам с использованием вредоносных примеров и предоставляет методы улучшения модели для повышения её способности противостоять атакам и улучшения её устойчивости. Этот модуль включает четыре подмодуля: генерация вредоносных примеров, обнаружение вредоносных примеров, защита модели и оценку.
Архитектура представлена следующим образом:
Модуль тестирования на случайные входные данные представляет собой безопасное тестирование моделей искусственного интеллекта. Мы вводим нейронное покрытие как руководство для тестирования на случайные входные данные в соответствии с характеристиками нейронных сетей. Тестирование на случайные входные данные направляется для генерации образцов в направлении увеличения нейронного покрытия, чтобы входные данные могли активировать больше нейронов и значения нейронов имели более широкий диапазон распределения, что позволяет полностью тестировать нейронные сети и исследовать различные типы результатов модели и неправильное поведение. Архитектура представлена ниже:
### Модуль защиты конфиденциальности и оценки
Модуль защиты конфиденциальности и оценки включает два модуля: Модуль обучения дифференциальной конфиденциальности и Модуль оценки утечек конфиденциальности.
Модуль обучения дифференциальной конфиденциальности реализует оптимизатор дифференциальной конфиденциальности. В настоящее время поддерживаются SGD
, Momentum
и Adam
. Они являются оптимизаторами дифференциальной конфиденциальности на основе гауссова механизма. Этот механизм поддерживает как неадаптивную, так и адаптивную политику. Для мониторинга бюджетов дифференциальной конфиденциальности предоставляются Rényi дифференциальная конфиденциальность (RDP) и Zero-Concentrated дифференциальная конфиденциальность (ZCDP).
Архитектура представлена ниже:
Модуль оценки утечек конфиденциальности используется для оценки риска раскрытия пользовательской конфиденциальности моделью. Защита данных конфиденциальности глубокой нейронной сети оценивается с помощью метода membership inference для определения принадлежности образца к обучающему набору данных.
Архитектура представлена ниже:
## Запуск
В связи с зависимостью между MindArmour и MindSpore, пожалуйста, следуйте таблице ниже и установите соответствующую версию MindSpore с страницы загрузки MindSpore.
Версия MindArmour | Ветка | Версия MindSpore |
---|---|---|
2.0.0 | r2.0 | >=1.7.0 |
1.9.0 | r1.9 | >=1.7.0 |
1.8.0 | r1.8 | >=1.7.0 |
1.7.0 | r1.7 | r1.7 |
Скачайте исходный код с Gitee.
git clone https://gitee.com/mindspore/mindarmour.git
Скомпилируйте и установите в директории MindArmour.
cd mindarmour
python setup.py install
pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/{version}/MindArmour/{arch}/mindarmour-{version}-cp37-cp37m-linux_{arch}.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple
```> - При подключённом интернете зависимые элементы автоматически скачиваются во время установки .whl пакета. (Для получения подробной информации о других зависимых элементах, см. [setup.py](https://gitee.com/mindspore/mindarmour/blob/master/setup.py)). В других случаях вам потребуется установить зависимые элементы вручную.
> - `{version}` обозначает версию MindArmour. Например, при скачивании MindArmour 1.0.1, `{version}` должна быть 1.0.1.
> - `{arch}` обозначает архитектуру системы. Например, если вы используете Linux систему с архитектурой x86 64-бит, `{arch}` должна быть `x86_64`. Если система имеет архитектуру ARM 64-бит, то она должна быть `aarch64`.### Проверка установки
Установка выполнена успешно, если при выполнении следующей команды не появляется сообщение об ошибке, например `No module named 'mindarmour'`:
```bash
python -c 'import mindarmour'
Инструкции по установке, руководства, API, см. Документацию пользователя.
MindSpore Slack — задавайте вопросы и находите ответы.
Добро пожаловать к вкладу. См. Wiki вкладчиков для получения дополнительной информации.
Примечания к выпуску, см. RELEASE.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )