Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Multimodal-Unlearnable-Examples — The code for ACM MM2024 (Multimodal Unlearnable Examples: Protecting Data against Multimodal Contrastive Learning) | Kitploit
Outils/GitHubGitHub/thinwayliu/multimodal-unlearnable-examples
PrivacyPapers & ResearchAI SecurityAdversarial Attack
GitHubthinwayliu/multimodal-unlearnable-examples

Multimodal-Unlearnable-Examples

The code for ACM MM2024 (Multimodal Unlearnable Examples: Protecting Data against Multimodal Contrastive Learning)

Voir le dépôt

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
15il y a 2 ansPas encore vérifié

Exemples non-apprenables multimodaux : Protéger les données contre l'apprentissage contrastif multimodal (ACM MM2024)

Résumé : L'apprentissage contrastif multimodal (MCL) a montré des progrès remarquables en classification zero-shot en apprenant à partir de millions de paires image-légende collectées sur Internet. Cependant, cette dépendance pose des risques pour la vie privée, car des pirates peuvent exploiter sans autorisation les données image-texte pour l'entraînement de modèles, incluant potentiellement des informations personnelles et sensibles. Des travaux récents proposent de générer des exemples non-apprenables en ajoutant des perturbations imperceptibles aux images d'entraînement afin de créer des raccourcis pour la protection. Cependant, ils sont conçus pour la classification unimodale, ce qui reste largement inexploré dans le MCL. Nous explorons d'abord ce contexte en évaluant les performances des méthodes existantes sur des paires image-légende, et celles-ci ne se généralisent pas efficacement aux données multimodales et ont un impact limité pour construire des raccourcis en raison de l'absence d'étiquettes et de la dispersion des paires dans le MCL. Dans cet article, nous proposons la Minimisation d'Erreur Multi-étapes (MEM), un nouveau processus d'optimisation pour générer des exemples non-apprenables multimodaux. Il étend le cadre de Minimisation d'Erreur (EM) pour optimiser à la fois le bruit d'image et un déclencheur textuel supplémentaire, élargissant ainsi l'espace d'optimisation et trompant efficacement le modèle pour qu'il apprenne le raccourci entre les caractéristiques du bruit et le déclencheur textuel. Plus précisément, nous adoptons la descente de gradient projetée pour résoudre le problème de minimisation du bruit et utilisons HotFlip pour approximer le gradient et remplacer des mots afin de trouver le déclencheur textuel optimal. Des expériences approfondies démontrent l'efficacité de MEM, avec des résultats de récupération après protection presque deux fois moins bons que le hasard, ainsi qu'une grande transférabilité entre différents modèles.

Editor

Prérequis

Notre code s'appuie sur le code source de CleanCLIP.

  • Linux et Windows sont tous deux pris en charge, mais nous recommandons fortement Linux pour des raisons de performance et de compatibilité.
  • Python 3.7+ 64 bits installé.

Configuration de l'environnement et installation des dépendances

Conda (recommandé)

Veuillez suivre les instructions du lien suivant pour configurer anaconda : Configuration d'Anaconda

Les commandes suivantes créent un environnement conda dans le dépôt avec les dépendances.

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

Pip

Les exigences peuvent être installées directement sans créer d'environnement conda.

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

Jeu de données

Nous avons déjà divisé ces ensembles de données en ensemble d'entraînement, ensemble de validation et ensemble de test. Les résultats de la division se trouvent par exemple dans ~/Data/Dataset/train.csv .

Flickr8k

Le jeu de données Flickr 8k contient 8092 images et jusqu'à cinq légendes pour chaque image. Le jeu de données peut être téléchargé ici.

Flickr30k

Le jeu de données Flickr30k contient 31 000 images collectées depuis Flickr, accompagnées de 5 phrases de référence fournies par des annotateurs humains. Le jeu de données peut être téléchargé ici.

MSCOCO

Le jeu de données peut être téléchargé ici.

Générer des exemples non-apprenables multimodaux

Entraînement propre avec 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

Protection d'exemples non-apprenables multimodaux (MEM)

définir la longueur du déclencheur textuel sur 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 

définir la longueur du déclencheur textuel sur 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

Évaluation des performances

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

Remerciements

Certaines parties du code de ce dépôt sont des adaptations des dépôts suivants : CleanCLIP, openai et universal-triggers.

Télécharger l’outil