Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
robustness — Trainieren, evaluieren und erkunden Sie neuronale Netze mit integrierten Werkzeugen für Adversarial Robustness, einschließlich PGD-Angriffen, Adversarial Training und robusten vortrainierten Modellen für die Computer-Vision-Forschung. | Kitploit
Tools/GitHubGitHub/madrylab/robustness
DefensivwerkzeugeMaschinelles LernenKI-SicherheitAdversarial-Angriff
GitHubmadrylab/robustness

robustness

Trainieren, evaluieren und erkunden Sie neuronale Netze mit integrierten Werkzeugen für Adversarial Robustness, einschließlich PGD-Angriffen, Adversarial Training und robusten vortrainierten Modellen für die Computer-Vision-Forschung.

Repository anzeigen
946179vor 2 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

robustness-Paket

Installation über pip: pip install robustness

Lesen Sie die Dokumentation: https://robustness.readthedocs.io/en/latest/index.html

robustness ist ein Paket, das wir (Studenten im MadryLab <http://madry-lab.ml>_) erstellt haben, um das Training, die Evaluierung und die Erforschung neuronaler Netze flexibel und einfach zu gestalten. Wir verwenden es in fast allen unseren Projekten (ob sie nun adversariales Training beinhalten oder nicht!) und es wird eine Abhängigkeit in vielen unserer kommenden Code-Veröffentlichungen sein. Einige Projekte, die die Bibliothek verwenden, sind:

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

Wir zeigen, wie man die Bibliothek in einer Reihe von Walkthroughs und in unserer API-Referenz verwendet. Die von der Bibliothek bereitgestellten Funktionen umfassen:

  • Training und Evaluierung von Standard- und robusten Modellen für eine Vielzahl von Datensätzen/Architekturen über eine CLI-Schnittstelle <https://robustness.readthedocs.io/en/latest/example_usage/cli_usage.html>. Die Bibliothek bietet außerdem Unterstützung für das Hinzufügen von benutzerdefinierten Datensätzen <https://robustness.readthedocs.io/en/latest/example_usage/training_lib_part_2.html#training-on-custom-datasets> und Modellarchitekturen <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/

  • Durchführung von Eingabemanipulation <https://robustness.readthedocs.io/en/latest/example_usage/input_space_manipulation.html>_ mit robusten (oder Standard-) Modellen---dazu gehören die Erstellung von adversarialen Beispielen, die Invertierung von Repräsentationen, die Visualisierung von Features usw. Die Bibliothek bietet eine Vielzahl von Optimierungsoptionen (z. B. Wahl zwischen echten/geschätzten Gradienten, Fourier/Pixel-Basis, benutzerdefinierte Verlustfunktionen usw.) und ist leicht erweiterbar.

.. 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)

  • Import von robustness als Paket, das ein einfaches Training von neuronalen Netzen mit Unterstützung für benutzerdefinierte Verlustfunktionen, Protokollierung, Laden von Daten und mehr ermöglicht! Eine gute Einführung finden Sie in unserem zweiteiligen Walkthrough (Teil 1 <https://robustness.readthedocs.io/en/latest/example_usage/training_lib_part_1.html>, Teil 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)

Hinweis: robustness erfordert, dass PyTorch mit CUDA-Unterstützung installiert ist.

Vortrainierte Modelle

Zusammen mit dem Trainingscode veröffentlichen wir eine Reihe von vortrainierten Modellen für verschiedene Datensätze, Normen und ε-Train-Werte. Diese Liste wird aktualisiert, sobald wir weitere oder verbesserte Modelle veröffentlichen. Bitte zitieren Sie diese Bibliothek (siehe BibTeX-Eintrag unten), wenn Sie diese Modelle in Ihrer Forschung verwenden.

Für jede (Modell, ε-Test)-Kombination evaluieren wir 20-Schritt- und 100-Schritt-PGD mit einer Schrittgröße von 2.5 * ε-test / num_steps. Da diese beiden Genauigkeiten ziemlich nahe beieinander liegen, betrachten wir keine weiteren PGD-Schritte. Für jeden Wert von ε-Test heben wir die beste robuste Genauigkeit, die über verschiedene ε-Train-Werte erzielt wurde, fett hervor.

Hinweis #1: Wir haben keinerlei Hyperparameter-Tuning durchgeführt und einfach dieselben Hyperparameter wie beim Standardtraining verwendet. Es ist wahrscheinlich, dass die Untersuchung verschiedener Trainings-Hyperparameter diese robusten Genauigkeiten um einige Prozentpunkte erhöhen wird.

Hinweis #2: Die unten aufgeführten PyTorch-Checkpoint-Dateien (.pt) wurden mit den folgenden Versionen von PyTorch und Dill gespeichert:

.. 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>_ (Standardtraining)
  • ε = 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>_

+--------------+----------------+-----------------+---------------------+---------------------+ | CIFAR10 L2-robuste Genauigkeit | +--------------+----------------+-----------------+---------------------+---------------------+ | | ε-train | +--------------+----------------+-----------------+---------------------+---------------------+ | ε-test | 0.0 | 0.25 | 0.5 | 1.0 | +==============+================+=================+=====================+=====================+ | 0.0 | 95.25% / - | 92.77% / - | 90.83% / - | 81.62% / - | +--------------+----------------+-----------------+---------------------+---------------------+ | 0.25 | 8.66% / 7.34% | 81.21% / 81.19% | 82.34% / 82.31% | 75.53% / 75.53% | +--------------+----------------+-----------------+---------------------+---------------------+ | 0.5 | 0.28% / 0.14% | 62.30% / 62.13% | 70.17% / 70.11% | 68.63% / 68.61% | +--------------+----------------+-----------------+---------------------+---------------------+ | 1.0 | 0.00% / 0.00% | 21.18% / 20.66% | 40.47% / 40.22% | 52.72% / 52.61% | +--------------+----------------+-----------------+---------------------+---------------------+ | 2.0 | 0.00% / 0.00% | 0.58% / 0.46% | 5.23% / 4.97% | 18.59% / 18.05% | +--------------+----------------+-----------------+---------------------+---------------------+

CIFAR10 Linf-Norm (ResNet50):

  • ε = 0.0 (PyTorch-vortrainiert)
  • ε = 8/255 <https://www.dropbox.com/s/c9qlt1lbdnu9tlo/cifar_linf_8.pt?dl=0>_

+--------------+-----------------+---------------------+ | CIFAR10 Linf-robuste Genauigkeit | +--------------+-----------------+---------------------+ | | ε-train | +--------------+-----------------+---------------------+ | ε-test | 0 / 255 | 8 / 255 | +==============+=================+=====================+ | 0 / 255 | 95.25% / - | 87.03% / - | +--------------+-----------------+---------------------+ | 8 / 255 | 0.00% / 0.00% | 53.49% / 53.29% | +--------------+-----------------+---------------------+ | 16 / 255 | 0.00% / 0.00% | 18.13% / 17.62% | +--------------+-----------------+---------------------+

ImageNet L2-Norm (ResNet50):

  • ε = 0.0 (PyTorch-vortrainiert)
  • ε = 3.0 <https://www.dropbox.com/s/knf4uimlqsi1yz8/imagenet_l2_3_0.pt?dl=0>_

+--------------+-----------------+---------------------+ | ImageNet L2-robuste Genauigkeit | +--------------+-----------------+---------------------+ | | ε-train | +--------------+-----------------+---------------------+ | ε-test | 0.0 | 3.0 | +==============+=================+=====================+ | 0.0 | 76.13% / - | 57.90% / - | +--------------+-----------------+---------------------+ | 0.5 | 3.35% / 2.98% | 54.42% / 54.42% | +--------------+-----------------+---------------------+ | 1.0 | 0.44% / 0.37% | 50.67% / 50.67% | +--------------+-----------------+---------------------+ | 2.0 | 0.16% / 0.14% | 43.04% / 43.02% | +--------------+-----------------+---------------------+ | 3.0 | 0.13% / 0.12% | 35.16% / 35.09% | +--------------+-----------------+---------------------+

ImageNet Linf-Norm (ResNet50):

  • ε = 0.0 (PyTorch-vortrainiert)
  • ε = 4 / 255 <https://www.dropbox.com/s/axfuary2w1cnyrg/imagenet_linf_4.pt?dl=0>_
  • ε = 8 / 255 <https://www.dropbox.com/s/yxn15a9zklz3s8q/imagenet_linf_8.pt?dl=0>_

+--------------+-----------------+---------------------+---------------------+ | ImageNet Linf-robuste Genauigkeit | +--------------+-----------------+---------------------+---------------------+ | | ε-train | +--------------+-----------------+---------------------+---------------------+ | ε-test | 0.0 | 4 / 255 | 8 / 255 | +==============+=================+=====================+=====================+ | 0 / 255 | 76.13% / - | 62.42% / - | 47.91% / - | +--------------+-----------------+---------------------+---------------------+ | 4 / 255 | 0.04% / 0.03% | 33.58% / 33.38% | 33.06% / 33.03% | +--------------+-----------------+---------------------+---------------------+ | 8 / 255 | 0.01% / 0.01% | 13.13% / 12.73% | 19.63% / 19.52% | +--------------+-----------------+---------------------+---------------------+ | 16 / 255 | 0.01% / 0.01% | 1.53% / 1.37% | 5.00% / 4.82% | +--------------+-----------------+---------------------+---------------------+

Zitierung

Wenn Sie diese Bibliothek in Ihrer Forschung verwenden, zitieren Sie sie wie folgt:

.. code-block:: bibtex

@misc{robustness, title={Robustness (Python Library)}, author={Logan Engstrom and Andrew Ilyas and Hadi Salman and Shibani Santurkar and Dimitris Tsipras}, year={2019}, url={https://github.com/MadryLab/robustness} }

(Haben Sie das Paket verwendet und nützlich gefunden? Lassen Sie es uns wissen!).

Maintainer

  • Andrew Ilyas <https://twitter.com/andrew_ilyas>_
  • Logan Engstrom <https://twitter.com/logan_engstrom>_
  • Shibani Santurkar <https://twitter.com/ShibaniSan>_
  • Dimitris Tsipras <https://twitter.com/tsiprasd>_
  • Hadi Salman <https://twitter.com/hadisalmanX>_

Mitwirkende/Committer '''''''''''''''''''''''

  • Siehe hier <https://github.com/MadryLab/robustness/pulse>_
Tool herunterladen