النماذج التوليدية2021متوسط11 دقيقة قراءة
نماذج الانتشار الضمنية لإزالة الضجيج
Denoising Diffusion Implicit Models
Song, J. · Meng, C. · Ermon, S. — ICLR
المشكلة
بحلول عام 2020، أثبتت نماذج DDPM أنها قادرة على توليد صور بجودة تُنافس شبكات GAN — وبدون مشاكل عدم الاستقرار المعروفة في التنافسي. لكن كانت هناك مشكلة جوهرية: البطء الشديد. لتوليد صورة واحدة، كان لا بدّ من المرور بسلسلة ماركوف مكوّنة من 1,000 خطوة متتابعة، وهذا يعني أنها أبطأ من GAN بمراتب كبيرة. على سبيل المثال، توليد 50,000 صورة من CIFAR-10 كان يستغرق نحو 20 ساعة على GPU واحدة، بينما تُنجزها GAN في أقل من دقيقة. ومع الصور عالية الدقة، كان الوقت يصل إلى ما يقارب 1,000 ساعة. عملياً، كان DDPM غير صالح لأي تطبيق يتطلّب استجابة سريعة.
الإسهام
الفكرة المحورية في DDIM هي توسيع إطار عمل DDPM عبر استبدال الماركوفية بعائلة كاملة من العمليات غير الماركوفية، جميعها تشترك في التوزيعات الهامشية نفسها، وبالتالي تستخدم دالة الهدف ذاتها أثناء التدريب. حين نضبط معامل العشوائية σ على الصفر، تتحوّل عملية التوليد إلى عملية حتمية بالكامل: كل متجه ضجيج كامن يُنتج صورة واحدة ووحيدة. هذا الاختصار الحتمي يُمكّننا من توليد صور بـ10 إلى 50 خطوة فقط، بجودة قريبة جداً من DDPM الأصلي بـ1,000 خطوة — والأهم أنه لا يحتاج إلى إعادة تدريب: أي نموذج DDPM مُدرَّب مسبقاً يعمل مباشرة مع DDIM. إضافة إلى ذلك، يتيح DDIM ً ذا معنى في ، وإعادة بناء شبه مثالية للصور من خلال دورة ترميز وفك ترميز تسلك مسار .
الأثر
DDIM هو ما حوّل نماذج الانتشار من فكرة نظرية إلى أداة عملية قابلة للنشر. أصبحت آلية الأخذ الحتمي المتسارع التي قدّمها هي الطريقة الافتراضية في Stable Diffusion وDALL·E 2 وتقريباً كل مولّد صور حديث. كذلك، الربط الثابت بين الضجيج والصورة فتح المجال لتقنيات تعديل الصور عبر الفضاء الكامن. والصلة التي كشفها DDIM بالمعادلات التفاضلية العادية ألهمت موجة كاملة من الأعمال اللاحقة لتسريع الأخذ، مثل DPM-Solver ونماذج . والأعمق من ذلك أن DDIM أثبت مبدأً جديداً: نموذج واحد مُدرَّب مسبقاً يمكن أن يدعم طيفاً كاملاً من استراتيجيات التوليد — وهذا غيّر طريقة تفكير المجتمع البحثي في العلاقة بين التدريب .
تخيّل أنك تُرمِّم لوحة قديمة طُمِرت تحت طبقات كثيفة من الغبار. الطريقة التقليدية (DDPM) تفرض عليك مسح اللوحة بـ1,000 مسحة خفيفة بالضبط، كل واحدة تُزيل طبقة مجهرية — واتجاه كل مسحة يتحدّد بقذف عملة معدنية، أي أن المسار عشوائي تماماً.
الاكتشاف الذي جاء به DDIM مفاجئ: ما دمتَ تعرف بنية اللوحة من التدريب السابق، يمكنك أن تسلك مساراً محسوباً مباشراً نحو الصورة النظيفة. بدلاً من 1,000 مسحة عشوائية، تأخذ 50 مسحة دقيقة — حتمية، بلا أي قذف عملة — وتصل إلى اللوحة المرمَّمة ذاتها. والأجمل أنك لا تحتاج إلى تعلُّم مهارة جديدة؛ التدريب نفسه الذي أهّلك لأداء 1,000 مسحة يعمل تماماً مع 50 فقط.
عنق الزجاجة: 1,000 خطوة إلزامية
لفهم DDIM، لنبدأ أولاً بتشخيص مشكلة البطء في DDPM. الفكرة في DDPM أننا نأخذ صورة نظيفة ونُضيف إليها بشكل تدريجي على مدى خطوة، فنحصل على تسلسل ينتهي بضجيج خالص. هذا التسلسل هو : كل خطوة تعتمد حصراً على سابقتها .
عملية التوليد تسير بالاتجاه المعاكس: نبدأ من ضجيج خالص ونُزيل الضجيج خطوة بخطوة حتى نصل إلى صورة نظيفة . المشكلة أن العملية الأمامية تتكوّن من خطوة، فلا بدّ أن تمرّ بـ خطوة أيضاً — أي تقييم واحد للشبكة العصبية في كل خطوة. في سلسلة ماركوف لا يوجد طريق مختصر.
لكن هناك ملاحظة جوهرية تفتح الباب لكل ما سيأتي: يمكننا القفز من إلى أي خطوة مباشرة دون المرور بالخطوات الوسيطة:
وهنا تأتي الملاحظة الحاسمة: التوزيع الهامشي عند أي خطوة لا يتأثر بـالمسار الذي سلكناه للوصول إليه. سواء وصلنا عبر 1,000 خطوة في سلسلة ماركوف أو قفزنا مباشرة، النتيجة الإحصائية واحدة. والمفتاح هنا أن دالة هدف التدريب في DDPM — وهي التنبؤ بالضجيج من — تعتمد فقط على هذه التوزيعات الهامشية، ولا علاقة لها بالتوزيع المشترك . هذه هي الثغرة التي استغلّها DDIM.
الرؤية المحورية: مسارات عديدة، وجهة واحدة
سلسلة ماركوف في DDPM ليست إلا توزيعاً مشتركاً واحداً يُعطينا التوزيعات الهامشية . لكن في الواقع، هناك عدد لا نهائي من التوزيعات المشتركة المختلفة التي تُنتج التوزيعات الهامشية ذاتها بالضبط.
لتوضيح الفكرة: تخيّل أنك تعرف معدّلات الطقس لكل شهر من السنة. نموذج ماركوف يفترض أن طقس اليوم يعتمد فقط على طقس أمس. لكن يمكنك بناء نموذج آخر يعتمد فيه طقس اليوم على أمس وعلى الفصل ككلّ — وهذا نموذج غير ماركوفي. كلا النموذجين يُعطيان المعدّلات الشهرية نفسها، لكن طريقة الانتقال من يوم لآخر مختلفة تماماً.
DDIM يستثمر هذه الحرية الرياضية: يُعرِّف عائلة من العمليات الأمامية غير الماركوفية، يتحكّم بها متجه ، حيث كل يُحدّد مقدار العشوائية عند الخطوة . صُمّمت هذه العائلة بعناية بحيث تظلّ التوزيعات الهامشية مطابقة لما في DDPM مهما كانت قيم . وبما أن دالة هدف التدريب تعتمد فقط على التوزيعات الهامشية، فإن النموذج المُدرَّب نفسه يصلح لجميع أفراد هذه العائلة — دون أي إعادة تدريب.
قاعدة التحديث: ثلاث قوى في معادلة واحدة
جوهر DDIM هو معادلة تحديث واحدة تُنتج من . قبل أن نغوص في الرياضيات، لنفهم المنطق الذي تقوم عليه.
النموذج تعلَّم أثناء التدريب أن يتنبّأ بالضجيج الذي أُضيف إلى الصورة الأصلية. إذا عرفنا الضجيج، نستطيع تقدير شكل الصورة النظيفة . بعد ذلك نأخذ هذا التقدير ونُعيد إضافة الضجيج بالمقدار المناسب للخطوة . المعادلة تجمع ثلاثة مكوّنات: تقدير الصورة النظيفة، وحدّ تصحيحي يوجّهنا في اتجاه الضجيج المطلوب، وحدّ ضجيج عشوائي اختياري يتحكّم فيه .
يمكن تصوّر المعادلة كشدّ حبل بين «الإشارة» و«الضجيج». الحدّ الأول يجذبنا نحو الصورة النظيفة — كبوصلة تُرشدنا إلى الهدف. الحدّ الثاني يُعاير مستوى الضجيج لنهبط في المكان الصحيح على . أما الحدّ الثالث فيُضيف عشوائية محكومة تُفيد في تنويع المخرجات لكنها تُبطئ التقارب.
المعامل يُتيح لنا التحكّم السلس بين الطرفين: عند نحصل على DDIM (حتمي بالكامل)، وعند نعود إلى DDPM (عشوائي بالكامل)، والقيم بينهما تُعطي استيفاءً سلساً بين الحالتين. وذلك من خلال تعريف .
حيلة التسريع: تخطَّ الخطوات واحتفظ بالجودة
الاكتشاف الثاني لا يقلّ أهمية: لسنا مضطرين لعكس جميع الخطوات الـ. ما دامت دالة هدف التدريب تعتمد فقط على التوزيعات الهامشية ، يمكننا انتقاء متتالية جزئية من المجموعة الأصلية وتشغيل عملية التوليد على هذه الخطوات فحسب. بدلاً من المرور بالتسلسل الكامل ، نقفز مباشرة — أي 10 خطوات فقط.
معادلة التحديث لا تتغيّر، نستبدل فقط و بـ و. النموذج تعلّم عند جميع المستويات الألف، فيستطيع العمل عند أيّ منها. الأمر أشبه برحلة طويلة: بدلاً من التوقف في كل محطة، نختار محطات أقل ونصل إلى الوجهة نفسها.
النتائج التجريبية مُقنعة. على CIFAR-10 حقّق DDIM بـ50 خطوة يبلغ 4.67، وهو قريب جداً من 4.04 الذي يحقّقه DDPM بـ1,000 خطوة — تسريع 20 ضعفاً مع تراجع طفيف في الجودة. وحتى بـ20 خطوة فقط، يسجّل DDIM نتيجة 6.84، بينما ينهار أداء DDPM إلى 18.36 بالميزانية نفسها.
المكافأة: فضاء كامن ذو معنى
لأن DDIM حتمي، فإن نقطة الانطلاق نفسها تُنتج دائماً الصورة ذاتها — مهما كان عدد الخطوات. هذه الخاصية تُسمى الاتساق: لو ولّدنا صورة بـ10 خطوات ثم بـ1,000 خطوة من نفسه، سنحصل على السمات العامة ذاتها — الوضعية واللون والتكوين — والاختلاف يقتصر على تفاصيل دقيقة.
هذا يُحوّل فعلياً إلى ترميز كامن حقيقي، مشابه لما نعرفه في الفضاء الكامن لشبكات GAN أو . ونكتسب بذلك قدرتين مهمتين. الأولى هي الاستيفاء: لو أخذنا متجهي ضجيج و، يمكننا التحرّك بينهما بسلاسة عبر الاستيفاء الخطي الكروي وتوليد صور وسيطة. الانتقالات تحمل معنى دلالياً واضحاً — الوجوه تتحوّل تدريجياً، والمشاهد تتمازج بشكل طبيعي.
القدرة الثانية هي الترميز العكسي: بتشغيل معادلة DDIM بالاتجاه المعاكس (من إلى )، نستطيع ترميز أي صورة في الفضاء الكامن، ثم إعادة بنائها بدقة شبه مثالية. خطأ إعادة البناء ينخفض إلى أقل من مع 1,000 خطوة ترميز. هذا الأمر مستحيل في DDPM لأن العشوائية في عمليته تكسر العلاقة الأحادية بين الضجيج والصورة.
الصلة الأعمق: DDIM بوصفه حلّاً لمعادلة تفاضلية
تحت السطح تختبئ صلة رياضية أنيقة. إذا أجرينا بقسمة كل على وعرّفنا ، نكتشف أن معادلة تحديث DDIM هي في حقيقتها خطوة أويلر واحدة لمعادلة تفاضلية عادية:
منظور المعادلات التفاضلية العادية قويّ لسببين جوهريين. أولاً، يفتح لنا الباب لاستثمار عقود من البحث في الحلول العددية للمعادلات التفاضلية — طرق آدمز–باشفورث ورنغه–كوتا وغيرها — لتحسين جودة الأخذ بخطوات أقل. ثانياً، يمنحنا ترميزاً عكسياً: في DDPM تجعل العشوائية العلاقة من إلى علاقة واحد-إلى-كثير، لكن المعادلة التفاضلية في DDIM تُعرِّف تقابلاً ثنائياً — لكل صورة ترميز كامن وحيد، والعكس صحيح. عملياً، هذا يعني أن DDIM هو بصورة أخرى، حيث تلعب شبكة التنبؤ بالضجيج دور .
مبسَّط لإظهار الفكرة — ليس التنفيذ الحقيقي.
import torch
def ddim_sample(model, alphas, tau, eta=0.0):
"""
model : مُتنبِّئ الضجيج المُدرَّب epsilon_theta
alphas : جدول ألفا الكامل [alpha_1, ..., alpha_T]
tau : متتالية جزئية من مؤشرات الخطوات، مثلاً [100, 200, ..., 1000]
eta : 0 = DDIM (حتمي)، 1 = DDPM (عشوائي)
"""
# ابدأ من ضجيج خالص
x = torch.randn_like(alphas[0]) # x_T ~ N(0, I)
for i in reversed(range(len(tau))):
t = tau[i]
t_prev = tau[i - 1] if i > 0 else 0
a_t = alphas[t]
a_prev = alphas[t_prev] if t_prev > 0 else 1.0
# تنبّأ بالضجيج
eps = model(x, t)
# قدِّر الصورة النظيفة (x_0 المتوقعة)
x0_pred = (x - (1 - a_t).sqrt() * eps) / a_t.sqrt()
# احسب سيغما لهذه الخطوة
sigma = eta * ((1 - a_prev) / (1 - a_t)).sqrt() * (1 - a_t / a_prev).sqrt()
# الاتجاه نحو x_t
dir_xt = (1 - a_prev - sigma**2).sqrt() * eps
# ادمج: x_0 المتوقعة + الاتجاه + الضجيج
x = a_prev.sqrt() * x0_pred + dir_xt + sigma * torch.randn_like(x)
return x
لماذا يهم هذا: من النظرية إلى Stable Diffusion
DDIM أزال العائق العملي الذي كان يحول بين والاستخدام الفعلي. قبل DDIM، كانت هذه النماذج محصورة في الدوائر الأكاديمية — رياضيات أنيقة وجودة عيّنات ممتازة، لكنها أبطأ بكثير من أن تُنشر في منتجات حقيقية. بعد DDIM، دخلت نماذج الانتشار مرحلة الجدوى التجارية.
الأثر كان فورياً وعميقاً. كل نظام توليد صور حديث — Stable Diffusion وDALL·E 2 وImagen وMidjourney — يعتمد على أخذ العيّنات المتسارع بأسلوب DDIM كمكوّن أساسي. والفضاء الكامن الحتمي أتاح تقنيات تعديل الصور مثل عكس DDIM، حيث تُرمَّز صورة حقيقية في الفضاء الكامن وتُعدَّل ثم يُعاد بناؤها. والصلة التي كشفها DDIM بالمعادلات التفاضلية العادية ألهمت DPM-Solver الذي رفع الجودة بـ10–20 خطوة فقط باستخدام حلّالات من الرتبة العليا. أما الفكرة الأعمق — أن نموذجاً واحداً مُدرَّباً يدعم طيفاً كاملاً من استراتيجيات الاستدلال — فقد ألهمت مباشرة نماذج الاتساق التي تُقطّر مسار المعادلة التفاضلية بأكمله لتوليد الصورة في خطوة واحدة.
الإرث: تسريع الانتشار
2020
DDPM (هو وآخرون)
أثبت أن نماذج الانتشار قادرة على مجاراة جودة شبكات GAN — لكنه احتاج إلى 1,000 خطوة متتابعة لإزالة الضجيج، ما جعل عملية التوليد بطيئة للغاية.
2021
DDIM (هذه الورقة)
طرح العمليات الأمامية غير الماركوفية والتوليد الحتمي، فخفّض الخطوات من 1,000 إلى 50 مع تراجع طفيف في الجودة — وبدون أي إعادة تدريب.
2021
Score SDE (سونغ وآخرون)
وضع نماذج الانتشار في إطار موحّد باستخدام معادلة تفاضلية عشوائية في الزمن المتصل، واستخلص معادلة تفاضلية عادية لتدفق الاحتمال مكافئة لصياغة DDIM.
2022
DALL·E 2 وStable Diffusion
اعتمدت مولّدات الصور التجارية على أسلوب DDIM في التوليد كإعداد افتراضي، ما أوصل نماذج الانتشار إلى ملايين المستخدمين.
2022
DPM-Solver (لو وآخرون)
استثمر صلة DDIM بالمعادلات التفاضلية واستخدم حلّالات من الرتبة العليا لرفع الجودة بـ10–20 خطوة فقط.
2023
نماذج الاتساق (سونغ وآخرون)
دفع فكرة DDIM إلى أقصى حدودها: قطّر مسار المعادلة التفاضلية بالكامل ليُصبح التوليد ممكناً في خطوة واحدة فقط.
المرجعSong, Meng, Ermon. Denoising Diffusion Implicit Models. ICLR, 2021.
مصطلحات هذه الورقة
- نموذج الانتشارDiffusion Model
- نموذج الانتشار الاحتمالي لإزالة التشويشDDPM
- إزالة الضوضاءDenoising
- سلسلة ماركوف الاحتماليةMarkov Chain
- العملية الأماميةForward Process
- العملية العكسيةReverse Process
- جدول الضوضاءNoise Schedule
- النموذج التوليديGenerative Model
- المتغير الكامنLatent Variable
- الفضاء الكامنLatent Space
- الاستيفاءInterpolation
- اختيار العينات الاحتماليةSampling
- الاستدلال الاحتمالي المتغيِّرVariational Inference
- الحد الأدنى الاختلافيELBO
- المعادلة التفاضلية العصبيةNeural ODE