Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
robustness — Обучайте, оценивайте и исследуйте нейронные сети со встроенными инструментами состязательной робастности, включая PGD-атаки, состязательное обучение и устойчивые предобученные модели для исследований в области компьютерного зрения. | Kitploit
Инструменты/GitHubGitHub/madrylab/robustness
Оборонительные ИнструментыМашинное ОбучениеБезопасность ИИСостязательная АтакаТоп в Состязательная Атака №6
GitHubmadrylab/robustness

robustness

Обучайте, оценивайте и исследуйте нейронные сети со встроенными инструментами состязательной робастности, включая PGD-атаки, состязательное обучение и устойчивые предобученные модели для исследований в области компьютерного зрения.

Репозиторий
947179544 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

пакет robustness

Установка через pip: pip install robustness

Читайте документацию: https://robustness.readthedocs.io/en/latest/index.html

robustness — это пакет, который мы (студенты из MadryLab <http://madry-lab.ml>_) создали, чтобы сделать обучение, оценку и исследование нейронных сетей гибкими и простыми. Мы используем его почти во всех наших проектах (независимо от того, связаны ли они с состязательным обучением!) и он будет зависимостью во многих наших будущих релизах кода. Несколько проектов, использующих библиотеку, включают:

  • Код для "Learning Perceptually-Aligned Representations via Adversarial Robustness" <https://github.com/MadryLab/robust_representations>_ (https://arxiv.org/abs/1906.00945)
  • Код для "Image Synthesis with a Single (Robust) Classifier" <https://github.com/MadryLab/robustness_applications>_ (https://arxiv.org/abs/1906.09453)
  • Код для "Do Adversarially Robust ImageNet Models Transfer Better?" <https://github.com/microsoft/robust-models-transfer>_ (https://arxiv.org/abs/2007.08489)
  • Код для "BREEDS: Benchmarks for Subpopulation Shift" <https://github.com/MadryLab/BREEDS-Benchmarks>_ (https://arxiv.org/abs/2008.04859)
  • Код для "Certified Patch Robustness via Smoothed Vision Transformers." <https://github.com/MadryLab/smoothed-vit>_ (https://arxiv.org/abs/2110.07719)
  • Код для "Unadversarial Examples: Designing Objects for Robust Vision." <https://github.com/microsoft/unadversarial>_ (https://arxiv.org/abs/2012.12235)

Мы демонстрируем, как использовать библиотеку, в наборе пошаговых руководств и в нашем справочнике по API. Функциональные возможности библиотеки включают:

  • Обучение и оценка стандартных и устойчивых моделей для различных наборов данных/архитектур с помощью интерфейса командной строки <https://robustness.readthedocs.io/en/latest/example_usage/cli_usage.html>. Библиотека также предоставляет поддержку добавления пользовательских наборов данных <https://robustness.readthedocs.io/en/latest/example_usage/training_lib_part_2.html#training-on-custom-datasets> и архитектур моделей <https://robustness.readthedocs.io/en/latest/example_usage/training_lib_part_2.html#training-with-custom-architectures>_.

.. code-block:: bash

python -m robustness.main --dataset cifar --data /path/to/cifar
--adv-train 0 --arch resnet18 --out-dir /logs/checkpoints/dir/

  • Выполнение манипуляций с входными данными <https://robustness.readthedocs.io/en/latest/example_usage/input_space_manipulation.html>_ с использованием устойчивых (или стандартных) моделей — это включает создание состязательных примеров, инвертирование представлений, визуализацию признаков и т.д. Библиотека предлагает множество вариантов оптимизации (например, выбор между реальными/оценочными градиентами, базисом Фурье/пикселей, пользовательскими функциями потерь и т.д.) и легко расширяется.

.. code-block:: python

import torch as ch from robustness.datasets import CIFAR from robustness.model_utils import make_and_restore_model

ds = CIFAR('/path/to/cifar') model, _ = make_and_restore_model(arch='resnet50', dataset=ds, resume_path='/path/to/model', state_dict_path='model') model.eval() attack_kwargs = { 'constraint': 'inf', # L-inf PGD 'eps': 0.05, # Epsilon constraint (L-inf norm) 'step_size': 0.01, # Learning rate for PGD 'iterations': 100, # Number of PGD steps 'targeted': True # Targeted attack 'custom_loss': None # Use default cross-entropy loss }

_, test_loader = ds.make_loaders(workers=0, batch_size=10) im, label = next(iter(test_loader)) target_label = (label + ch.randint_like(label, high=9)) % 10 adv_out, adv_im = model(im, target_label, make_adv, **attack_kwargs)

  • Импорт robustness в качестве пакета, что позволяет легко обучать нейронные сети с поддержкой пользовательских функций потерь, логирования, загрузки данных и многого другого! Хорошее введение можно найти в нашем руководстве из двух частей (Часть 1 <https://robustness.readthedocs.io/en/latest/example_usage/training_lib_part_1.html>, Часть 2 <https://robustness.readthedocs.io/en/latest/example_usage/training_lib_part_2.html>).

.. code-block:: python

from robustness import model_utils, datasets, train, defaults from robustness.datasets import CIFAR

We use cox (http://github.com/MadryLab/cox) to log, store and analyze

results. Read more at https//cox.readthedocs.io.

from cox.utils import Parameters import cox.store

Hard-coded dataset, architecture, batch size, workers

ds = CIFAR('/path/to/cifar') m, _ = model_utils.make_and_restore_model(arch='resnet50', dataset=ds) train_loader, val_loader = ds.make_loaders(batch_size=128, workers=8)

Create a cox store for logging

out_store = cox.store.Store(OUT_DIR)

Hard-coded base parameters

train_kwargs = { 'out_dir': "train_out", 'adv_train': 1, 'constraint': '2', 'eps': 0.5, 'attack_lr': 1.5, 'attack_steps': 20 } train_args = Parameters(train_kwargs)

Fill whatever parameters are missing from the defaults

train_args = defaults.check_and_fill_args(train_args, defaults.TRAINING_ARGS, CIFAR) train_args = defaults.check_and_fill_args(train_args, defaults.PGD_ARGS, CIFAR)

Train a model

train.train_model(train_args, m, (train_loader, val_loader), store=out_store)

Примечание: для работы robustness требуется PyTorch, установленный с поддержкой CUDA.

Предобученные модели

Наряду с кодом обучения мы выпускаем ряд предобученных моделей для различных наборов данных, норм и значений ε-train. Этот список будет обновляться по мере выпуска новых или улучшенных моделей. Пожалуйста, цитируйте эту библиотеку (см. запись BibTeX ниже), если вы используете эти модели в своих исследованиях.

Для каждой комбинации (модель, ε-test) мы вычисляем 20-шаговый и 100-шаговый PGD с размером шага 2.5 * ε-test / num_steps. Поскольку эти две точности довольно близки друг к другу, мы не рассматриваем больше шагов PGD. Для каждого значения ε-test мы выделяем жирным шрифтом лучшую устойчивую точность, достигнутую при различных значениях ε-train.

Примечание №1: Мы не выполняли подбор гиперпараметров и просто использовали те же гиперпараметры, что и при стандартном обучении. Вероятно, изучение других гиперпараметров обучения повысит эти значения устойчивой точности на несколько процентных пунктов.

Примечание №2: Файлы контрольных точек PyTorch (.pt) ниже были сохранены со следующими версиями PyTorch и Dill:

.. code-block::

torch==1.1.0 dill==0.2.9

CIFAR10 L2-norm (ResNet50):

  • ε = 0.0 <https://www.dropbox.com/s/yhpp4yws7sgi6lj/cifar_nat.pt?dl=0>_ (стандартное обучение)
  • ε = 0.25 <https://www.dropbox.com/s/2qsp7pt6t7uo71w/cifar_l2_0_25.pt?dl=0>_
  • ε = 0.5 <https://www.dropbox.com/s/1zazwjfzee7c8i4/cifar_l2_0_5.pt?dl=0>_
  • ε = 1.0 <https://www.dropbox.com/s/s2x7thisiqxz095/cifar_l2_1_0.pt?dl=0>_
Скачать инструмент