
The code for ACM MM2024 (Multimodal Unlearnable Examples: Protecting Data against Multimodal Contrastive Learning)
सारांश: मल्टीमॉडल कंट्रास्टिव लर्निंग (MCL) ने इंटरनेट से क्रॉल किए गए लाखों इमेज-कैप्शन जोड़ों से सीखकर जीरो-शॉट वर्गीकरण में उल्लेखनीय प्रगति दिखाई है। हालांकि, यह निर्भरता गोपनीयता जोखिम पैदा करती है, क्योंकि हैकर्स मॉडल प्रशिक्षण के लिए इमेज-टेक्स्ट डेटा का अनधिकृत रूप से उपयोग कर सकते हैं, जिसमें व्यक्तिगत और गोपनीयता-संवेदनशील जानकारी शामिल हो सकती है। हाल के कार्यों ने सुरक्षा के लिए शॉर्टकट बनाने के लिए प्रशिक्षण छवियों में अगोचर गड़बड़ी जोड़कर अनलर्नेबल उदाहरण उत्पन्न करने का प्रस्ताव दिया है। हालांकि, वे एकल-विधीय वर्गीकरण के लिए डिज़ाइन किए गए हैं, जो MCL में अधिकांशतः अन्वेषित नहीं रह गया है। हम पहले इमेज-कैप्शन जोड़ों पर मौजूदा विधियों के प्रदर्शन का मूल्यांकन करके इस संदर्भ का पता लगाते हैं, और वे मल्टीमॉडल डेटा पर प्रभावी रूप से सामान्यीकृत नहीं होते हैं और MCL में लेबल की कमी और जोड़ों के फैलाव के कारण शॉर्टकट बनाने पर सीमित प्रभाव दिखाते हैं। इस पेपर में, हम मल्टी-स्टेप एरर मिनिमाइजेशन (MEM) प्रस्तावित करते हैं, जो मल्टीमॉडल अनलर्नेबल उदाहरण उत्पन्न करने के लिए एक नई ऑप्टिमाइजेशन प्रक्रिया है। यह एरर-मिनिमाइजेशन (EM) फ्रेमवर्क को इमेज नॉइज़ और एक अतिरिक्त टेक्स्ट ट्रिगर दोनों को अनुकूलित करने के लिए विस्तारित करता है, जिससे ऑप्टिमाइज्ड स्पेस बढ़ता है और मॉडल को नॉइज़ फीचर्स और टेक्स्ट ट्रिगर के बीच शॉर्टकट सीखने में प्रभावी रूप से गुमराह करता है। विशेष रूप से, हम नॉइज़ मिनिमाइजेशन समस्या को हल करने के लिए प्रोजेक्टेड ग्रेडिएंट डिसेंट का उपयोग करते हैं और ग्रेडिएंट का अनुमान लगाने और इष्टतम टेक्स्ट ट्रिगर खोजने के लिए शब्दों को बदलने के लिए HotFlip का उपयोग करते हैं। व्यापक प्रयोग MEM की प्रभावशीलता को प्रदर्शित करते हैं, जिसमें सुरक्षा के बाद पुनर्प्राप्ति परिणाम लगभग यादृच्छिक अनुमान के आधे होते हैं, और विभिन्न मॉडलों में इसकी उच्च स्थानांतरणीयता होती है।
हमारा कोड CleanCLIP स्रोत कोड पर निर्भर करता है।
कृपया एनाकोंडा सेटअप करने के लिए निम्नलिखित लिंक पर दिए गए निर्देशों का पालन करें: एनाकोंडा सेटअप
निम्नलिखित कमांड रिपॉजिटरी के अंदर निर्भरताओं के साथ एक कोंडा वातावरण बनाते हैं।
conda env create --prefix ./env -f environment.yml
source activate ./env
आवश्यकताओं को कोंडा वातावरण बनाए बिना सीधे स्थापित किया जा सकता है।
pip install -r requirements.txt
हमने पहले ही इन डेटासेट को प्रशिक्षण सेट, सत्यापन सेट और परीक्षण सेट में विभाजित कर दिया है। और विभाजित परिणाम ~/Data/Dataset/train.csv में पाए जा सकते हैं।
Flickr 8k डेटासेट में 8092 इमेज और प्रत्येक इमेज के लिए पाँच तक कैप्शन हैं। डेटासेट यहाँ से डाउनलोड किया जा सकता है यहाँ।
Flickr30k डेटासेट में Flickr से एकत्रित 31,000 इमेज हैं, साथ ही मानव एनोटेटर्स द्वारा प्रदान किए गए 5 संदर्भ वाक्य हैं। डेटासेट यहाँ से डाउनलोड किया जा सकता है यहाँ।
डेटासेट यहाँ से डाउनलोड किया जा सकता है यहाँ।
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
टेक्स्ट ट्रिगर की लंबाई 3 सेट करें
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 सेट करें
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
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
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।