Memorization In Stable Diffusion Is Unexpectedly Driven by CLIP Embeddings
تكشف هذه الورقة أن الحفظ في نموذج "Stable Diffusion" مدفوع بشكل غير متوقع بالتكرار الهيكلي لتضمين نهاية النص في رموز الحشو، مما يضخم تأثيره، وتقترح استراتيجيات بسيطة في وقت الاستدلال للتخفيف من هذه المشكلة دون تقليل جودة الصورة.
البحث الأصلي مرخَّص بموجب CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). هذا شرح مولَّده بالذكاء الاصطناعي للبحث أدناه. لم يكتبه المؤلفون ولم يصادقوا عليه. وللتحقق من الدقة التقنية، يرجى الرجوع إلى البحث الأصلي. اقرأ إخلاء المسؤولية الكامل
المشكلة الكبرى: النموذج "عالق" في الذكريات
تخيل فناناً موهوباً (Stable Diffusion) تم تدريبه على ملايين الصور. أحياناً، عندما تطلب من هذا الفنان رسم شيء جديد، فإنه ينسخ بالخطأ صورة محددة من مجموعة بيانات التدريب الخاصة به بدقة متناهية، بكسل مقابل بكسل. يُسمى هذا "الحفظ الصم" (Memorization). وهذا يمثل خطراً على الخصوصية وحقوق الطبع والنشر لأن النموذج لا يبتكر شيئاً جديداً؛ بل يقوم فقط باسترجاع بيانات قديمة.
حاول العلماء معرفه لماذا يحدث هذا. ركزت معظم النظريات على الكلمات التي تكتبها (الأمر/Prompt) أو الرياضيات الداخلية للنموذج. ومع ذلك، وجد هذا البحث مسبباً مفاجئاً يختبئ في "الحشو" (Padding) الخاص بالتعليمات.
الإعداد: كيف يقرأ الفنان التعليمات
لفهم هذا الاكتشاف، نحتاج إلى النظر في كيفية قراءة الفنان لتعليماتك.
- الأمر (The Prompt): تكتب جملة مثل "قطة على حصيرة".
- الحد الأقصى: يمكن للفنان قراءة التعليمات حتى طول معين (77 "توكن" أو أجزاء كلمة).
- الحشو (The Filler): إذا كانت جملتك قصيرة (مثلاً 10 كلمات فقط)، يجب على الكمبيوتر ملء المواقع الفارغة المتبقية للوصول إلى الحد الأقصى وهو 77.
الطريقة القديمة (Stable Diffusion v1.4):
يقوم الكمبيوتر بملء تلك المساحات الفارغة برمز خاص يسمى "نهاية النص" (End of Text)، ولنسمه <eot>.
- التشبيه: تخيل أنك تقرأ قصة، لكن الصفحة الأخيرة فارغة. بدلاً من تركها فارغة، تستمر الطابعة في ختم عبارة "النهاية" مراراً وتكراراً حتى تمتلئ الصفحة.
- لذا، بالنسبة لأمر قصير، يرى الفنان:
[كلماتك] + [النهاية] + [النهاية] + [النهاية]...(مكررة أكثر من 60 مرة).
الاكتشاف: تأثير "غرفة الصدى"
اكتشف مؤلفو الورقة البحثية أن الفنان يعتمد بشكل كبير على طوابع "النهاية" المكررة هذه لتحديد ما سيرسمه، خاصة عند حفظ الصور.
إليك سلسلة الأحداث التي وجدوها:
- عدم التطابق في التدريب: النظام الذي يترجم الكلمات إلى رياضيات (يسمى CLIP) تم تدريبه على اعتبار أن أول رمز "نهاية" هو الملخص الأهم للجملة بأكملها. وقد تعلم تجاهل الكلمات الفعلية ورموز الحشو.
- الخلل: نظرًا لأن الكمبيوتر يملأ المساحة الفارغة بالمزيد من رموز "النهاية"، يرى الفنان فجأة رمز "النهاية" مكرراً عشرات المرات.
- التضخيم: يفكر الفنان: "واو، هناك الكثير من رموز 'النهاية'! لا بد أن هذا هو الجزء الأهم في التعليمات!"
- النتيجة: يركز النموذج بشكل مفرط على هذا الرمز المكرر. وإذا كان نمط "النهاية" هذا مرتبطاً بصورة معينة محمية بحقوق الطحق أثناء التدريب، فإن النموذج يعلق في حلقة مفرغة ويعيد إنتاج تلك الصورة بدقة، متجاهلاً طلبك الفعلي.
الاستعارة:
تخيل جوقة موسيقية حيث يُفترض بالمايسترو (النموذج) أن يستمع إلى المنشد المنفرد (الأمر الخاص بك). لكن أعضاء الجوقة يصرخون جميعاً "توقف!" (رمز الحشو) مراراً وتكراراً. يصاب المايسترو بالارتباك من شدة الصراخ لدرجة أنه يتوقف عن الاستماع للمنشد ويبدأ فقط في السير في دوائر بناءً على أوامر "توقف!". وإذا كان أمر "توقف!" مرتبطاً سابقاً بحركة رقص معينة، فستقوم الجوقة بتكرار تلك الرقصة فحسب، متجاهلة الموسيقى.
التحول المفاجئ: الكلمات لا تهم بقدر ما تظن
اختبر المؤلفون هذا عبر إزالة الكلمات الفعلية من الأمر واستبدالها برمز "النهاية".
- النتيجة: لا يزال بإمكان النموذج توليد صورة يمكن التعرف عليها.
- الاستنتاج: الكلمات التي كتبتها (الأمر) تساهم بشكل ضئيل جداً في عملية الحفظ الصم. رموز "الحشو" هي التي تقوم بالعمل الثقيل في سلوك النسخ.
الحل: حلان بسيطان
تقترح الورقة البحثية طريقتين سهلتين لإيقاف ذلك دون الحاجة لإعادة تدريب النموذج بالكامل أو إبطائه. كلتا الطريقتين هما إصلاحات "وقت الاستدلال" (Inference-time)، مما يعني أنه يمكنك تطبيقهما مباشرة قبل إنشاء الصورة.
الإصلاح 1: تغيير رمز الحشو
- الإجراء: بدلاً من ملء المساحة الفارغة برمز "النهاية" (
<eot>)، استبدله برمز محايد مثل علامة التعجب (!). - لماذا ينجح: هذا يكسر غرفة الصدى. لم يعد النموذج يرى 60 نسخة من رمز "النهاية". بل يرى رمزاً محايداً لا يحمل نفس الوزن الثقيل.
- إضافة: قاموا أيضاً بإخفاء (Masking) رمز "النهاية" الأصلي لزيادة الأمان.
الإصلاح 2: كتم صوت الحشو
- الإجراء: أبقِ الرموز كما هي، ولكن ببساطة اخفض مستوى صوت (Mask) رموز "النهاية" المكررة بحيث يولي النموذج اهتماماً أقل لها.
- لماذا ينجح: هذا يقلل من تأثير "الصدى" دون تغيير نظام الترميز (Tokenizer).
الدليل: لماذا الإصدار 2.1 أفضل؟
لاحظ المؤلفون أن Stable Diffusion v2.1 (إصدار أحدث) لا يعاني من مشكلة الحفظ الصم هذه بنفس القدر.
- لماذا؟ اتضح أن صانعي v2.1 قاموا بإصلاح هذه المشكلة عن طريق الخطأ. لقد انتقلوا إلى نظام نصي مختلف (OpenCLIP) يستخدم رمزاً محايداً للحشو بدلاً من تكرار "النهاية".
- الخلاصة: حقيقة أن v2.1 توقف طبيعياً عن الحفظ الكثير تثبت أن "رمز النهاية المكرر" كان بالفعل السبب الرئيسي للمشكلة في v1.4.
الملخص
- المشكلة: يقوم Stable Diffusion أحياناً بنسخ صور التدريب بدقة.
- السبب: الأوامر القصيرة يتم ملؤها برموز "نهاية النص" المكررة. يخطئ النموذج في فهم هذه الرموز المكررة ويعتبرها الجزء الأهم من التعليمات، مما يجعله "يفرط في التخصيص" (Overfit) ويحفظ صوراً محددة.
- الحل: تغيير رمز الحشو إلى شيء محايد (مثل
!) أو كتم صوت الرموز المكررة. هذا يوقف الحفظ الصم مع الحفاظ على جودة الصورة العالية. - الفائدة: يمكنك استخدام هذا الإصلاح فوراً دون الحاجة لإعادة تدريب الذكاء الاصطناعي أو اكتشاف الصور الخطرة مسبقاً.
غارق في أبحاث مجالك؟
تصلك نشرة يومية بأحدث الأبحاث المطابقة لكلماتك البحثية المفتاحية — مع ملخصات تقنية، بلغتك.