
[CVPR 2025-ADVML] `Attacking Attention of Foundation Models Effectively Disrupts Downstream Tasks` 공식 저장소
논문 "Attacking Attention of Foundation Models Effectively Disrupts Downstream Tasks" 의 공식 PyTorch 구현체로, CVPR 2025의 Adversarial Machine Learning on Computer Vision: Foundation Models + X (ADVML) 워크숍에 채택되었습니다.
"Attacking Attention of Foundation Models Effectively Disrupts Downstream Tasks"
Hondamunige Prasanna Silva, Federico Becattini and Lorenzo Seidenari초록: 파운데이션 모델은 인공지능에서 가장 두드러지고 최근의 패러다임 전환을 대표합니다. 파운데이션 모델은 광범위한 데이터로 학습된 대형 모델로, 종종 파인튜닝 없이도 많은 다운스트림 태스크에서 높은 정확도를 제공합니다. 이러한 이유로 CLIP, DINO 또는 Vision Transformer(ViT)와 같은 모델은 많은 산업용 AI 기반 애플리케이션의 중추가 되고 있습니다. 그러나 사전 학습된 파운데이션 모델에 대한 의존은 상당한 보안 문제를 야기하기도 합니다. 이러한 모델은 적대적 공격에 취약하기 때문입니다. 이러한 공격은 AI 시스템을 속이도록 의도적으로 설계된 입력을 수반하며 시스템의 신뢰성을 위태롭게 합니다. 본 논문은 비전 파운데이션 모델, 특히 CLIP과 ViT의 취약성을 연구하고 적대적 공격의 다운스트림 태스크 전이 가능성을 탐구합니다. 우리는 트랜스포머 기반 아키텍처의 구조를 태스크에 무관하게(task-agnostic) 표적으로 삼는 새로운 공격을 제안합니다. 분류, 캡셔닝, 이미지/텍스트 검색, 세그멘테이션, 깊이 추정 등의 여러 다운스트림 태스크에서 우리 공격의 효과를 입증합니다.
conda env create -f environment.yml
pip install .
pip instlal -e . # If you want in edit mode!
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
루트 폴더 안에 checkpoint 폴더를 만들고 TCL 및 ALBEF 모델을 다운로드하세요.
파인튜닝된 VLP 모델의 체크포인트는 ALBEF, TCL에서 확인할 수 있습니다.
루트 폴더 안에 data 폴더를 만들고 FLICKR30K, MSCOCO를 다운로드하세요.
SGA 폴더 안의 readme.md를 확인하세요.
전이성(transferability) 없이 공격 평가:
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;
전이성을 포함한 공격 평가 (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
전이성을 포함한 공격 평가 (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
전이성을 포함한 공격 평가 (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
이 작업이 유용하다고 생각되신다면 다음을 인용해 주시기 바랍니다:
@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 | Default | Type | Description |
|---|
--config | ./configs/Retrieval_flickr.yaml | str | 구성 YAML 파일의 경로. |
--seed | 42 | int | 재현성을 보장하기 위한 난수 생성 시드. |
--source_model | ViT-B/16 | str | 평가에 사용되는 소스 모델의 이름. |
--source_text_encoder | bert-base-uncased | str | 소스 모델의 텍스트 인코더 아키텍처. |
--source_ckpt | None | str | 소스 모델의 체크포인트 경로(있는 경우). |
--target_model | ALBEF | str | 평가 대상(target) 모델. |
--target_text_encoder | bert-base-uncased | str | 대상 모델의 텍스트 인코더. |
--target_ckpt | ./checkpoint/albef/flickr30k.pth | str | 대상 모델의 체크포인트 경로. |
--original_rank_index_path | ./std_eval_idx/flickr30k/ | str | 원본 순위 인덱스가 포함된 파일의 경로. |
--alpha | 90 | int | 적대적 최적화 중 손실 함수의 가중치. |
--loss | atn | str | 사용할 손실 함수의 유형. |
--method | 1 | int | 공격 방법의 식별자. 자세한 내용은 my_attack 함수를 참조. |
--index | 11 | int | 대상 모델에서 공격할 레이어 인덱스. |