
[CVPR 2025-ADVML] Offizielles Repository für `Attacking Attention of Foundation Models Effectively Disrupts Downstream Tasks`
Offizielle PyTorch-Implementierung des Papers „Attacking Attention of Foundation Models Effectively Disrupts Downstream Tasks", angenommen im Workshop Adversarial Machine Learning on Computer Vision: Foundation Models + X (ADVML) der CVPR 2025.
„Attacking Attention of Foundation Models Effectively Disrupts Downstream Tasks"
Hondamunige Prasanna Silva, Federico Becattini und Lorenzo SeidenariZusammenfassung: Foundation-Modelle stellen den bedeutendsten und jüngsten Paradigmenwechsel in der künstlichen Intelligenz dar. Foundation-Modelle sind große Modelle, die auf breiten Daten trainiert werden und bei vielen nachgelagerten Aufgaben eine hohe Genauigkeit liefern, oft ohne Feinabstimmung. Aus diesem Grund werden Modelle wie CLIP, DINO oder Vision Transformer (ViT) zum Fundament vieler industrieller KI-gestützter Anwendungen. Die Abhängigkeit von vortrainierten Foundation-Modellen bringt jedoch auch erhebliche Sicherheitsbedenken mit sich, da diese Modelle anfällig für adversarial Angriffe sind. Solche Angriffe umfassen gezielt erstellte Eingaben, die darauf ausgelegt sind, KI-Systeme zu täuschen und ihre Zuverlässigkeit zu gefährden. Dieses Paper untersucht die Schwachstellen von visuellen Foundation-Modellen, wobei der Schwerpunkt auf CLIP und ViTs liegt, und erforscht die Übertragbarkeit von adversarial Angriffen auf nachgelagerte Aufgaben. Wir führen einen neuartigen Angriff ein, der die Struktur transformerbasierter Architekturen aufgabenagnostisch angreift. Wir demonstrieren die Wirksamkeit unseres Angriffs auf mehrere nachgelagerte Aufgaben: Klassifikation, Bildunterschriftenerzeugung, Bild-/Textabruf, Segmentierung und Tiefenschätzung.
conda env create -f environment.yml
pip install .
pip install -e . # Falls Sie den Bearbeitungsmodus wünschen!
attack-attention
├─ .gitignore
├─ .pre-commit-config.yaml
├─ LICENSE
├─ README.md
├─ checkpoint
│ ├─ albef
│ └─ tcl
├─ data
│ ├─ flickr30k-images
│ └─ val2014
├─ SGA
│ └─ ...
├─ data_annotation
│ ├─ coco_test.json
│ └─ flickr30k_test.json
├─ environment.yml
├─ eval_clip-vit2albef.py
├─ eval_clip-vit2clip-cnn.py
├─ eval_clip.py
├─ models
│ ├─ __init__.py
│ ├─ clip_model
│ │ ├─ model.py
│ │ └─ ..
│ └─ ..
└─ std_eval_idx
├─ flickr30k
└─ mscoco
Erstellen Sie den Ordner checkpoint im Hauptverzeichnis und laden Sie die TCL- und ALBEF-Modelle herunter.
Die Checkpoints der feinabgestimmten VLP-Modelle sind bei ALBEF und TCL verfügbar.
Erstellen Sie den Ordner data im Hauptverzeichnis und laden Sie FLICKR30K sowie MSCOCO herunter.
Lesen Sie die readme.md im Ordner SGA.
Zur Auswertung des Angriffs ohne Übertragbarkeit
python eval_clip.py --config ./configs/Retrieval_coco.yaml \
--source_model ViT-B/16 --original_rank_index ./std_eval_idx/mscoco/ \
--loss atn --method 1;
Zur Auswertung des Angriffs mit Übertragbarkeit (ALBEF)
python eval_clip-vit2albef.py --config ./configs/Retrieval_flickr.yaml \
--source_model ViT-B/16 --target_model ALBEF --target_ckpt ./checkpoint/albef/flickr30k.pth \
--original_rank_index ./std_eval_idx/flickr30k/ --loss atn --method 1
Zur Auswertung des Angriffs mit Übertragbarkeit (TCL)
python eval_clip-vit2albef.py --config ./configs/Retrieval_flickr.yaml \
--source_model ViT-B/16 --target_model TCL --target_ckpt ./checkpoint/tcl/checkpoint_flickr_finetune.pth \
--original_rank_index ./std_eval_idx/flickr30k/ --loss atn --method 1
Zur Auswertung des Angriffs mit Übertragbarkeit (CLIP-CNN)
python eval_clip-vit2clip-cnn.py --config ./configs/Retrieval_flickr.yaml \
--source_model ViT-B/16 --target_model RN101 \
--original_rank_index ./std_eval_idx/flickr30k/ --loss atn --method 1
--source_model ViT-B/16 --method 3 --loss emb
Wenn Sie diese Arbeit nützlich finden, ziehen Sie bitte ein Zitat in Betracht:
@InProceedings{Silva_2025_CVPR,
author = {Silva, Hondamunige Prasanna and Becattini, Federico and Seidenari, Lorenzo},
title = {Attacking Attention of Foundation Models Disrupts Downstream Tasks},
booktitle = {Proceedings of the Computer Vision and Pattern Recognition Conference (CVPR) Workshops},
month = {June},
year = {2025},
pages = {3534-3543}
}```
| Argument | Standard | Typ | Beschreibung |
|---|
--config | ./configs/Retrieval_flickr.yaml | str | Pfad zur YAML-Konfigurationsdatei. |
--seed | 42 | int | Seed für die Zufallszahlengenerierung zur Sicherstellung der Reproduzierbarkeit. |
--source_model | ViT-B/16 | str | Name des Quellmodells, das für die Auswertung verwendet wird. |
--source_text_encoder | bert-base-uncased | str | Text-Encoder-Architektur für das Quellmodell. |
--source_ckpt | None | str | Pfad zum Checkpoint des Quellmodells, falls vorhanden. |
--target_model | ALBEF | str | Zielmodell für die Auswertung. |
--target_text_encoder | bert-base-uncased | str | Text-Encoder für das Zielmodell. |
--target_ckpt | ./checkpoint/albef/flickr30k.pth | str | Pfad zum Checkpoint des Zielmodells. |
--original_rank_index_path | ./std_eval_idx/flickr30k/ | str | Pfad zur Datei mit den ursprünglichen Rangindizes. |
--alpha | 90 | int | Gewicht für die Verlustfunktion während der adversarial Optimierung. |
--loss | atn | str | Typ der zu verwendenden Verlustfunktion. |
--method | 1 | int | Kennung für die Angriffsmethode; Details finden Sie in der Funktion my_attack. |
--index | 11 | int | Schichtindex im Zielmodell, der angegriffen werden soll. |