Diffusers documentation
التوليد المُتحكَّم به
التوليد المُتحكَّم به
طالما سعت الجماعة البحثية إلى التحكم في المخرجات التي تولّدها نماذج الانتشار، وأصبح هذا الموضوع الآن مجالاً نشطاً للبحث. في العديد من نماذج الانتشار الشائعة، يمكن للتغييرات الدقيقة في المدخلات، سواء كانت صوراً أو أوامر نصية، أن تُحدث تغييرات جذرية في المخرجات. في العالم المثالي، نرغب في القدرة على التحكم في كيفية الحفاظ على الدلالات وتغييرها.
تتقلّص معظم الأمثلة على الحفاظ على الدلالات إلى القدرة على ربط تغيير في المدخل بتغيير في المخرج بدقة. أي أن إضافة صفة إلى فاعل في الأمر النصي تحافظ على الصورة بأكملها، مع تعديل الفاعل المُعدَّل فقط. أو أن توليد تنويعات لصورة فاعل معيّن يحافظ على وضعية ذلك الفاعل.
بالإضافة إلى ذلك، توجد خصائص في الصور المولّدة نودّ التأثير عليها إلى جانب الحفاظ على المعنى. أي أنه بشكل عام، نودّ أن تكون مخرجاتنا عالية الجودة، وأن تتبع أسلوبًا معينًا، أو أن تكون واقعية.
سنوثّق بعض التقنيات التي يدعمها diffusers للتحكم في توليد نماذج الانتشار. كثير من ذلك أبحاث متقدمة وقد تكون دقيقة ومعقدة. إذا احتاج شيء إلى توضيح أو كان لديك اقتراح، فلا تتردد في فتح مناقشة على GitHub أو مشكلة على GitHub.
نوفّر شرحاً على مستوى عالٍ لكيفية التحكم في عملية التوليد، بالإضافة إلى مقتطف من التفاصيل التقنية. للحصول على شرح أعمق للتفاصيل التقنية، تُعدّ الأوراق البحثية الأصلية المرتبطة من خطوط الأنابيب دائماً المصدر الأفضل.
يعتمد اختيار التقنية المناسبة على حالة الاستخدام. وفي كثير من الحالات، يمكن دمج هذه التقنيات معًا. على سبيل المثال، يمكن دمج Textual Inversion مع SEGA لتوفير إرشادات دلالية أكثر للنتائج المولّدة باستخدام Textual Inversion.
ما لم يُذكر خلاف ذلك، فهذه تقنيات تعمل مع النماذج الموجودة ولا تتطلب أوزانًا خاصة بها.
- InstructPix2Pix
- المشاركة والإثارة
- الإرشاد الدلالي
- إرشادات الانتباه الذاتي
- Depth2Image
- بانوراما MultiDiffusion
- DreamBooth
- الانعكاس النصي
- ControlNet
- وزن الأوامر
- Custom Diffusion
- DiffEdit
- T2I-Adapter
- FABRIC
للتسهيل، نوفر جدولاً يوضح أيّ الأساليب مخصصة للاستدلال فقط وأيها تتطلب الضبط الدقيق/التدريب.
| الطريقة | الاستدلال فقط | يتطلب التدريب / الضبط الدقيق | التعليقات |
|---|---|---|---|
| InstructPix2Pix | ✅ | ❌ | يمكن أيضًا ضبطه بدقة لتحسين الأداء على تعليمات التحرير المحددة. |
| المشاركة والإثارة | ✅ | ❌ | |
| الإرشاد الدلالي | ✅ | ❌ | |
| إرشادات الانتباه الذاتي | ✅ | ❌ | |
| Depth2Image | ✅ | ❌ | |
| بانوراما MultiDiffusion | ✅ | ❌ | |
| DreamBooth | ❌ | ✅ | |
| الانعكاس النصي | ❌ | ✅ | |
| ControlNet | ✅ | ❌ | يمكن تدريب ControlNet/ضبطه الدقيق على شرط مخصص. |
| وزن الأوامر | ✅ | ❌ | |
| Custom Diffusion | ❌ | ✅ | |
| DiffEdit | ✅ | ❌ | |
| T2I-Adapter | ✅ | ❌ | |
| فابريك | ✅ | ❌ |
InstructPix2Pix
يُعدّل InstructPix2Pix من Stable Diffusion لدعم تحرير الصور المدخلة. فهو يستقبل كمدخلات صورةً وموجّهًا يصف التحرير المطلوب، ثم يُخرج الصورة المُعدَّلة. تم تدريب InstructPix2Pix صراحةً ليعمل بشكل جيد مع الموجّهات المشابهة لتلك المستخدمة في InstructGPT.
احضر وكن متحمسًا
يتيح Attend and Excite تمثيل العناصر المذكورة في الأمر النصي بدقة في الصورة النهائية.
تُعطى مجموعة من فهارس الرموز كمدخلات، وتُطابق المواضيع في النص التوجيهي التي يجب أن تكون حاضرة في الصورة. أثناء إزالة الضوضاء، يُكفَل لكل فهرس رمز أن يحقق حدًّا أدنى من الانتباه على الأقل لبقعة واحدة من الصورة. يتم تحسين الكمونيات الوسيطة بشكل تكراري خلال عملية إزالة الضوضاء لتعزيز انتباه رمز الموضوع الأكثر إهمالاً حتى يتم تجاوز حد الانتباه لجميع رموز المواضيع.
كما هو الحال مع Pix2Pix Zero، يتضمن Attend and Excite أيضًا حلقة تحسين مصغّرة (مع إبقاء الأوزان المُدرَّبة مسبقًا دون تغيير) في خط أنابيبه، وقد يتطلب ذاكرة أكبر من StableDiffusionPipeline المعتاد.
التوجيه الدلالي (SEGA)
يتيح SEGA تطبيق مفهوم واحد أو أكثر على صورة أو إزالته. كما يمكن التحكم في قوة المفهوم. فعلى سبيل المثال، يمكن استخدام مفهوم الابتسامة لزيادة أو تقليل ابتسامة صورة شخصية تدريجياً.
بالمثل، كما يوفر توجيه التصنيف الحر (classifier free guidance) التوجيه عبر مدخلات موجهات فارغة، يوفر SEGA التوجيه على الموجهات المفاهيمية. يمكن تطبيق عدة موجهات مفاهيمية من هذه الموجهات في وقت واحد. يمكن لكل موجهة مفاهيمية إما إضافة مفهومها أو إزالته، وذلك اعتمادًا على ما إذا كان التوجيه مطبقًا بشكل إيجابي أم سلبي.
على عكس Pix2Pix Zero أو Attend and Excite، يتفاعل SEGA مباشرة مع عملية الانتشار بدلاً من تنفيذ أي تحسين صريح يعتمد على التدرجات.
إرشاد الانتباه الذاتي (SAG)
تحسّن إرشادات الانتباه الذاتي الجودة العامة للصور.
توفّر SAG إرشادات من التنبؤات غير المشروطة على التفاصيل عالية التردد إلى الصور المشروطة بالكامل. يتم استخراج التفاصيل عالية التردد من خرائط الانتباه الذاتي في UNet.
Depth2Image
Depth2Image مُعدّل من Stable Diffusion للحفاظ بشكل أفضل على الدلالات في توليد صور متنوعة موجهة بالنص.
يُشترط على تقدير عمق أحادي العين للصورة الأصلية.
بانوراما MultiDiffusion
يعرّف MultiDiffusion Panorama عملية توليد جديدة فوق نموذج انتشار مُدرَّب مسبقًا. تربط هذه العملية بين عدة طرق لتوليد الانتشار يمكن تطبيقها بسهولة لتوليد صور عالية الجودة ومتنوعة. تلتزم النتائج بالتحكمات التي يوفّرها المستخدم، مثل نسبة العرض إلى الارتفاع المطلوبة (مثلًا، بانوراما)، والإشارات الموجهة مكانيًا، بدءًا من أقنعة التقسيم الدقيقة وصولًا إلى صناديق الإحاطة. يتيح لك MultiDiffusion Panorama توليد صور عالية الجودة بنسب عرض إلى ارتفاع اختيارية (مثلًا، بانورامات).
ضبط نماذجك الخاصة
بالإضافة إلى النماذج المُدرَّبة مسبقًا، يوفر Diffusers سكربتات تدريب لضبط النماذج على بيانات يوفّرها المستخدم.
DreamBooth
يعمل DreamBooth على ضبط نموذج تدريبيًا لتعليمه موضوعًا جديدًا. فمثلًا، يمكن استخدام صور قليلة لشخص ما لتوليد صور لذلك الشخص بأساليب مختلفة.
Textual Inversion
يعمل Textual Inversion على ضبط نموذج تدريجيًا لتعليمه مفهومًا جديدًا. فمثلًا، يمكن استخدام عدد قليل من الصور لأسلوب فني معين لتوليد صور بنفس ذلك الأسلوب.
ControlNet
ControlNet هي شبكة مساعدة تضيف شرطًا إضافيًا. توجد 8 شبكات ControlNet قياسية مُدرَّبة مسبقًا على شروط مختلفة مثل كشف الحواف، والرسوم التوضيحية، وخرائط العمق، والتقسيمات الدلالية.
وزن الأوامر
وزن المُوجِّه هو تقنية بسيطة تمنح وزنًا أكبر للانتباه لأجزاء معينة من نص الإدخال.
Custom Diffusion
يعمل Custom Diffusion على ضبط دقيق لخرائب الانتباه المتقاطع (cross-attention maps) لنموذج انتشار (diffusion) مُدرَّب مسبقًا لتحويل النص إلى صورة. كما يتيح إجراء Textual Inversion بشكل إضافي. ويدعم التدريب متعدد المفاهيم (multi-concept training) بالتصميم. وكما هو الحال مع DreamBooth وTextual Inversion، يُستخدم Custom Diffusion أيضًا لتعليم نموذج انتشار مُدرَّب مسبقًا لتحويل النص إلى صورة مفاهيم جديدة، من أجل توليد مخرجات تتضمن المفهوم أو المفاهيم محل الاهتمام.
DiffEdit
يتيح DiffEdit إجراء تعديلات دلالية على الصور المدخلة معًا مع الأوامر النصية المدخلة، مع الحفاظ على الصور المدخلة الأصلية قدر الإمكان.
T2I-Adapter
T2I-Adapter هو شبكة مساعدة تضيف شرطًا إضافيًا. توجد 8 محوِّلات مُدرَّبة مسبقًا قياسية مُدرَّبة على شروط مختلفة مثل كشف الحواف، والمخططات، وخرائط العمق، والتقسيمات الدلالية.
Fabric
Fabric هو نهج لا يتطلب تدريبًا، يمكن تطبيقه على مجموعة واسعة من نماذج الانتشار الشائعة، ويستغل طبقة الانتباه الذاتي الموجودة في أكثر البنى المعمارية استخدامًا لتكييف عملية الانتشار على مجموعة من صور التغذية الراجعة.
Update on GitHub