Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
Multimodal-Unlearnable-Examples — ACM MM2024 (Multimodal Unlearnable Examples: Protecting Data against Multimodal Contrastive Learning)의 코드 | Kitploit
도구/GitHubGitHub/thinwayliu/multimodal-unlearnable-examples
PrivacyPapers & ResearchAI SecurityAdversarial Attack
GitHubthinwayliu/multimodal-unlearnable-examples

Multimodal-Unlearnable-Examples

ACM MM2024 (Multimodal Unlearnable Examples: Protecting Data against Multimodal Contrastive Learning)의 코드

저장소 보기

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
1552년 전아직 검토되지 않음

멀티모달 학습 불가능한 예제: 멀티모달 대조 학습으로부터 데이터 보호 (ACM MM2024)

초록: 멀티모달 대조 학습(MCL)은 인터넷에서 수집된 수백만 개의 이미지-캡션 쌍을 학습하여 zero-shot 분류에서 놀라운 발전을 보여주었습니다. 그러나 이러한 의존성은 해커가 개인정보 및 민감 정보를 포함할 수 있는 이미지-텍스트 데이터를 무단으로 모델 훈련에 활용할 수 있기 때문에 개인정보 보호 위험을 초래합니다. 최근 연구들은 보호를 위한 지름길(shortcut)을 만들기 위해 훈련 이미지에 인지할 수 없는 섭동을 추가하여 학습 불가능한 예제(unlearnable examples)를 생성하는 것을 제안합니다. 그러나 이들은 단일 모달 분류를 위해 설계되었으며, MCL에서는 거의 탐구되지 않았습니다. 우리는 먼저 기존 방법들의 성능을 이미지-캡션 쌍에 대해 평가함으로써 이러한 맥락을 탐구하며, 기존 방법들은 멀티모달 데이터에 효과적으로 일반화되지 못하고 레이블 부족과 MCL에서 쌍의 분산으로 인해 지름길 구축에 제한적인 영향을 미칩니다. 본 논문에서는 멀티모달 학습 불가능한 예제를 생성하기 위한 새로운 최적화 프로세스인 MEM(Multi-step Error Minimization)을 제안합니다. MEM은 오류 최소화(EM) 프레임워크를 확장하여 이미지 노이즈와 추가 텍스트 트리거를 모두 최적화함으로써 최적화 공간을 확장하고 모델이 노이즈 특징과 텍스트 트리거 사이의 지름길을 학습하도록 효과적으로 오도합니다. 구체적으로, 우리는 노이즈 최소화 문제를 해결하기 위해 projected gradient descent를 사용하고, HotFlip을 사용하여 그래디언트를 근사하고 단어를 대체하여 최적의 텍스트 트리거를 찾습니다. 광범위한 실험을 통해 MEM의 효과성이 입증되었으며, 보호 후 검색 결과는 무작위 추측의 거의 절반 수준이고, 다양한 모델 간 높은 전이성을 보여줍니다.

편집기

요구 사항

우리 코드는 CleanCLIP 소스 코드에 의존합니다.

  • Linux와 Windows 모두 지원되지만, 성능과 호환성 측면에서 Linux를 강력히 권장합니다.
  • 64비트 Python 3.7+ 설치.

환경 설정 및 의존성 설치

Conda (권장)

아래 링크의 지침에 따라 anaconda를 설정하십시오: Anaconda 설정

다음 명령은 리포지토리 내에 의존성이 포함된 conda 환경을 생성합니다.

root@kitploit:~
conda env create --prefix ./env -f environment.yml
source activate ./env

Pip

요구 사항은 conda 환경을 생성하지 않고도 직접 설치할 수 있습니다.

root@kitploit:~
pip install -r requirements.txt

데이터셋

우리는 이 데이터셋을 훈련 세트, 검증 세트, 테스트 세트로 이미 분할했습니다. 분할 결과는 ~/Data/Dataset/train.csv 등에서 확인할 수 있습니다.

Flickr8k

Flickr 8k 데이터셋은 8092개의 이미지와 각 이미지에 대해 최대 5개의 캡션을 포함합니다. 데이터셋은 여기에서 다운로드할 수 있습니다.

Flickr30k

Flickr30k 데이터셋은 Flickr에서 수집한 31,000개의 이미지와 인간 주석자가 제공한 5개의 참조 문장을 포함합니다. 데이터셋은 여기에서 다운로드할 수 있습니다.

MSCOCO

데이터셋은 여기에서 다운로드할 수 있습니다.

멀티모달 학습 불가능한 예제 생성

Flick8K를 사용한 클린 훈련

root@kitploit:~
python -m src.main --name clean_flick8k --train_data /data/clip/Flicker-8k/train.csv --eval_test_data_dir /data/clip/Flicker-8k/test.csv --image_key images  --caption_key caption  --device_id 0

멀티모달 학습 불가능한 예제 보호 (MEM)

텍스트 트리거 길이를 3으로 설정

root@kitploit:~
python -m src.poison --name poison_token_3_shuffle --train_data /data/clip/Flicker-8k/train.csv  --image_key images  --caption_key caption  --device_id 0 --token_num 3 --lr 1e-4 

텍스트 트리거 길이를 5로 설정

root@kitploit:~
python -m src.poison --name poison_token_5_shuffle --train_data /data/clip/Flicker-8k/train.csv  --image_key images  --caption_key caption  --device_id 1 --token_num 5 --lr 1e-4

성능 평가

root@kitploit:~
python -m src.poison_main --name eval_token_3_shuffle --train_data /data/clip/Flicker-8k/train.csv --eval_test_data_dir /data/clip/Flicker-8k/test.csv --image_key images  --caption_key caption  --device_id 0 --save_pert poison_token_3_shuffle --token_num 3  --lr 5e-4
root@kitploit:~
python -m src.poison_main --name eval_token_5_shuffle --train_data /data/clip/Flicker-8k/train.csv --eval_test_data_dir /data/clip/Flicker-8k/test.csv --image_key images  --caption_key caption  --device_id 1 --save_pert poison_token_5_shuffle --token_num 5  --lr 5e-4

감사의 글

이 리포지토리의 코드 일부는 다음 리포지토리에서 각색된 것입니다: CleanCLIP, openai 및 universal-triggers.

도구 다운로드