النماذج التوليدية2019متقدم10 دقيقة قراءة
النمذجة التوليدية عبر تقدير تدرّجات توزيع البيانات
Generative Modeling by Estimating Gradients of the Data Distribution
Song, Y. · Ermon, S. — NeurIPS
المشكلة
حتى عام 2019 كان مجال النماذج التوليدية منقسماً إلى مدرستين، كل منهما تُضحّي بشيء مقابل شيء آخر. الشبكات التوليدية التنافسية (GANs) تُنتج صوراً حادة، لكنها تعاني من ومن تدريب غير مستقر. في المقابل، النماذج القائمة على الأرجحية — مثل التلقائي المتغيّر (VAE) والتدفقات التطبيعية — تملك أساساً نظرياً متيناً، لكنها تفرض قيوداً هندسية صارمة: التدفقات تشترط أن تكون الطبقات قابلة للعكس، والمُرمِّز التلقائي المتغيّر يحتاج تصميمات مُرمِّز مقيّدة، والنتيجة في الغالب صور ضبابية. لم تكن هناك طريقة تجمع بين المرونة في البنية واستقرار وجودة التوليد العالية دون الحاجة للعبة تنافسية.
الإسهام
إطار توليدي جديد من الأساس: بدلاً من محاولة تعلّم دالة كثافة أو خوض لعبة تنافسية، الفكرة هي تعلّم دالة النتيجة — أي تدرّج لوغاريتم الكثافة — عند مستويات ضجيج متعددة عبر . بعدها يتم التوليد المُخمَّدة تدريجياً: نبدأ من ضجيج صرف ونسير مع التدرّجات المُتعلَّمة نزولاً عبر مستويات ضجيج متناقصة حتى نصل إلى متشعّب البيانات. البنية المُستخدَمة — شبكة النتيجة المشروطة بالضجيج (NCSN) — لا تفرض أيّ قيود: أيّ شبكة عصبية تُخرج حقلاً متّجهياً تصلح. لا تدريب تنافسي، لا اشتراط قابلية عكس، لا دالة تقسيم مستعصية. حقّقت الطريقة أفضل نتائج Inception وFID على مجموعة CIFAR-10 بين جميع النماذج غير التنافسية حينها.
الأثر
هذه الورقة فتحت فرع «النمذجة القائمة على النتيجة» الذي التقى لاحقاً مع نماذج الانتشار الاحتمالية لإزالة الضجيج (DDPM) ليُشكّلا معاً عائلة نماذج الانتشار كما نعرفها اليوم. لاحقاً أوضح إطار المعادلات التفاضلية العشوائية الموحَّد (سونغ وآخرون، 2021) أن NCSN وDDPM مجرد طريقتَي تقريب مختلفتَين لنفس العملية المستمرة. الأفكار التي طرحتها هذه الورقة مهّدت مباشرةً لمطابقة التدفق ونماذج الاتساق ومحركات الانتشار التي تقف خلف DALL·E وStable Diffusion وSora. كما امتد التفكير القائم على النتيجة إلى مجالات أخرى غير التوليد، كالمسائل العكسية والتصميم الجزيئي وتركيب الصوت.
تخيّل سلسلة جبال في ليلة ضبابية. البلدات (بياناتك) كلها في الأودية، لكنك لا ترى شيئاً. كل ما في يدك بوصلة تُحدّد لك — أينما وقفت — أشد اتجاه انحداراً.
أطلِق الآن ألف متجوّل من نقاط عشوائية على الجبل. كل واحد يتبع بوصلته ويهبط خطوة بخطوة. مع الوقت سيتجمّعون جميعاً في الأودية — «ولّدوا» البلدات دون أن يروا خريطة أصلاً.
لكن المشكلة تظهر على الهضاب المسطحة البعيدة عن الأودية: هناك البوصلة بالكاد تتحرك لأن الإشارة ضعيفة جداً. الحيلة التي تطرحها الورقة هي إعادة تشكيل التضاريس على مراحل: في البداية نصنع أودية عريضة وواضحة ( كثيف) حتى يلتقط المتجوّلون الاتجاه العام، ثم نُحدّد التضاريس تدريجياً (بضجيج أقل) حتى يستقر كل واحد في مركز بلدته بدقة.
الفكرة الجوهرية: تعلَّم الميل بدلاً من الارتفاع
الطريقة التقليدية في هي محاولة تعلّم — أي ارتفاع سطح التوزيع عند كل نقطة. لكن حساب يحتاج إلى تجمع على كل القيم الممكنة، وهذا تكامل حسابياً في الأبعاد العالية.
هذه الورقة تتّبع مساراً مختلفاً تماماً: بدل أن نتعلّم الارتفاع، نتعلّم الميل. هي تدرّج لوغاريتم الكثافة:
الناتج حقل متّجهي: في كل نقطة من فضاء البيانات يُعطيك سهماً يشير نحو المناطق الأعلى كثافةً. الملاحظة الجوهرية هنا أن هذا التدرّج لا يحتاج إلى ثابت التطبيع أصلاً — لأنك حين تأخذ التدرّج، يختفي الثابت (مشتقة الثابت صِفر). بمعنى آخر، نستطيع تعلّم دالة النتيجة دون أن نمرّ أبداً بحساب دالة التقسيم المستعصية.
التدريب: كيف نتعلّم دالة النتيجة دون أن نعرفها؟
هنا تظهر مفارقة واضحة: لكي نُدرّب الشبكة على تقريب دالة النتيجة الحقيقية ، نحتاج نظرياً إلى معرفة — وهو بالضبط ما نحاول أن نتجنّب حسابه! مطابقة النتيجة تحلّ هذه المفارقة بطريقة أنيقة.
الطريقة المباشرة ستكون تصغير تباعد فيشر — وهو المسافة التربيعية المتوقعة بين ما تُخرجه الشبكة وبين دالة النتيجة الحقيقية. عبر التكامل بالأجزاء (هيفارينن، 2005)، يمكن تحويل هذا الهدف إلى صيغة تعتمد فقط على النموذج وقيمه عند نقاط البيانات — دون الحاجة لـ نفسها.
لكن الورقة تستعمل طريقة أبسط: (فنسنت، 2011). الفكرة: خذ كل نقطة بيانات وأضف لها ضجيجاً غاوسياً معروفاً فتحصل على . بما أن غاوسي، فإن دالة النتيجة الحقيقية للتوزيع المُضجَّج لها صيغة مغلقة — وهي ببساطة الاتجاه الراجع من النقطة المُضجَّجة نحو النقطة النظيفة، مقسوماً على تباين الضجيج:
وبهذا تصبح بسيطة للغاية: أضف ضجيجاً لنقطة بيانات، اطلب من الشبكة أن تتنبّأ بـدالة النتيجة، ثم عاقب الفرق بين التنبّؤ والقيمة الحقيقية:
مشكلة المتشعّب: لماذا لا يكفي مستوى ضجيج واحد؟
البيانات الحقيقية تعيش على رقيق داخل فضاء عالي الأبعاد — مثلاً صور الوجوه تقع فعلياً على سطح مُنحنٍ أبعاده أقل بكثير من فضاء البكسلات الكامل. في المناطق الشاسعة بين تجمّعات البيانات، الكثافة الاحتمالية تقترب من الصفر عملياً، ما يعني أن دالة النتيجة هناك تصبح غير موثوقة تقريباً.
لو درّبنا شبكة النتيجة بمستوى ضجيج صغير واحد، ستكون دقيقة قرب البيانات لكنها عديمة الفائدة في المناطق الفارغة. تخيّل أنك تُطلق ديناميكيات لانجفان من ضجيج عشوائي: المتجوّل سيحتاج إلى عبور صحاري فارغة بلا أيّ إشارة تدرّج موثوقة — سيتيه بلا اتجاه ولن يعثر على البيانات أبداً.
فكّر في الأمر مكانياً: مع ضجيج ضئيل، كل نقطة بيانات تصنع حولها «مخروط جذب» ضيقاً. إذا بدأ المتجوّل بعيداً عن الجميع، لن يصله أيّ مخروط — لن يشعر بأيّ قوة تسحبه نحو أيّ وادٍ.
الحل أنيق: نستعمل مستويات ضجيج متعددة. الضجيج الكبير يُوسّع كل نقطة بيانات إلى تلّة عريضة تغطي المناطق الفارغة، فيحصل المتجوّل على اتجاه تقريبي. الضجيج الصغير يُحدّد التضاريس لتموضع دقيق. تستخدم الورقة متتالية هندسية من مستويات الضجيج تتدرّج من الكبير إلى الصغير.
شبكة النتيجة المشروطة بالضجيج (NCSN)
بدل أن نُدرّب شبكة عصبية مستقلة لكل مستوى ضجيج، الفكرة هي تدريب شبكة واحدة مشتركة نُعطيها مستوى الضجيج كمدخل إضافي. شبكة النتيجة المشروطة بالضجيج (NCSN) تستقبل نقطة بيانات (مُضجَّجة) ومقياس الضجيج معاً.
الإجمالي يجمع خسارة مطابقة النتيجة بإزالة الضجيج عبر كل المستويات، مع ترجيح كل مستوى بمعامل لكي تتوازن المقاييس المختلفة:
التوليد: ديناميكيات لانجفان المُخمَّدة تدريجياً
ديناميكيات لانجفان خوارزمية مستوحاة من الفيزياء لأخذ عيّنات من توزيع: نبدأ من ضجيج عشوائي، ثم نتّخذ في كل خطوة حركة صغيرة في اتجاه دالة النتيجة، مع إضافة رشّة من العشوائية للاستكشاف:
الصورة الذهنية: كرة تتدحرج هبوطاً على سطح لوغاريتم الكثافة، لكن مع اهتزاز عشوائي يمنعها من الانحشار في نتوءات محلية. مع عدد كافٍ من الخطوات وحجم خطوة صغير بما يكفي، يتقارب موضع الكرة نحو عيّنة من التوزيع الحقيقي.
لكن كما رأينا، ديناميكيات لانجفان العادية بمستوى ضجيج واحد تفشل بسبب مشكلة المتشعّب. الحل الذي تقترحه الورقة هو ديناميكيات لانجفان المُخمَّدة تدريجياً: بدل أن نشغّل لانجفان دفعة واحدة، نشغّلها على مراحل. نبدأ بـدالة النتيجة عند أكبر مستوى ضجيج (تضاريس واسعة سلسة)، ونُنفّذ خطوة ليجد المتجوّل المنطقة العامة، ثم ننتقل إلى (تضاريس أوضح قليلاً)، ونُنفّذ خطوة أخرى، وهكذا — نُقلّل الضجيج تدريجياً حتى نصل إلى فيستقر المتجوّل بدقة على متشعّب البيانات.
مبسَّط لإظهار الفكرة — ليس التنفيذ الحقيقي.
def annealed_langevin(score_net, sigmas, T=100, eps=0.00005):
"""توليد عيّنات عبر ديناميكيات لانجفان المُخمَّدة."""
# نبدأ من ضجيج صرف
x = torch.randn(batch_size, *data_shape)
for sigma in sigmas: # من أكبر ضجيج إلى أصغره
alpha = eps * (sigma / sigmas[-1]) ** 2 # حجم الخطوة يتناسب مع مستوى الضجيج
for t in range(T):
z = torch.randn_like(x) # ضجيج جديد في كل خطوة
score = score_net(x, sigma)
x = x + (alpha / 2) * score + torch.sqrt(alpha) * z
return x # العيّنات النهائية على متشعّب البياناتالمسار الكامل: درّب ← خذ عيّنات ← ولّد
اختيار مستويات الضجيج: المتتالية الهندسية
مستويات الضجيج تُرتَّب في : كل مستوى يساوي نسبة ثابتة من سابقه. الورقة تُعطي مبدأين تصميميين لاختيار الطرفين.
أكبر مستوى ضجيج يجب أن يكون كبيراً بحيث يُصبح التوزيع المُضجَّج غير قابل للتمييز عملياً عن ضجيج غاوسي صرف. الهدف أن ديناميكيات لانجفان عند هذا المقياس تستطيع الامتزاج جيداً بصرف النظر عن نقطة البداية.
أصغر مستوى ضجيج يجب أن يكون صغيراً بحيث يُصبح التوزيع المُضجَّج غير قابل للتمييز عن البيانات الحقيقية — حتى تخرج العيّنات النهائية نظيفة. عملياً يُضبط ليكون جزءاً صغيراً من المسافة المعتادة بين أقرب نقطتَي بيانات.
بعشرة مستويات () ونسبة هندسية بين الطرفين، تتشكّل سلسلة سلسة تنقلنا من «كتلة ضبابية واحدة كبيرة» إلى «صور حادة وواقعية».
النتائج: تفوّق على النماذج القائمة على الأرجحية في جودة الصور
على مجموعة CIFAR-10، حقّقت NCSN بلغت 8.87 و بلغت 25.32 — وهي أفضل أرقام لأيّ نموذج توليدي غير تنافسي في ذلك الوقت. للمقارنة: أفضل نموذج قائم على الأرجحية (Glow) سجّل FID يبلغ 46.90، وأفضل شبكة تنافسية (SNGAN) سجّلت 21.70.
على مجموعة CelebA (بدقة 128×128) ولّد النموذج وجوهاً بتفاصيل دقيقة مثل خصلات الشعر وملامح الوجه — جودة تنافس الشبكات التنافسية لكن دون انهيار الأنماط أو عدم استقرار التدريب الذي أرهق الطرق التنافسية.
وربما الأهم من الأرقام: النموذج أنتج عيّنات متنوعة فعلاً. على عكس الشبكات التنافسية التي كثيراً ما تنهار نحو مجموعة فرعية من الأنماط، المقاربة القائمة على النتيجة تُغطّي التوزيع الكامل للبيانات لأن ديناميكيات لانجفان مضمونة نظرياً أن تتقارب نحو التوزيع الصحيح مع عدد كافٍ من الخطوات.
مقارنة: القائمة على النتيجة مقابل التنافسية والتدفقات والمُرمِّز المتغيّر
الإرث: من دالة النتيجة إلى نماذج الانتشار الحديثة
2005
مطابقة النتيجة (هيفارينن)
وضع الإطار الرياضي لتقدير دالة النتيجة دون الحاجة لمعرفة ثابت التطبيع. هذا هو الأساس النظري الذي بنت عليه ورقة NCSN.
2011
مطابقة النتيجة بإزالة الضجيج (فنسنت)
ربط بين مطابقة النتيجة وإزالة الضجيج — وأثبت أن إضافة ضجيج ثم تدريب الشبكة على عكسه يُكافئ تقدير دالة النتيجة. هذا ما جعل الطريقة قابلة للتطبيق فعلياً مع الشبكات العميقة.
2019
هذه الورقة — NCSN (سونغ وإرمون)
جمعت بين الضجيج متعدد المقاييس ومطابقة النتيجة وديناميكيات لانجفان المُخمَّدة، فأنتجت أول نموذج توليدي عملي يعتمد على تقدير النتيجة.
2020
DDPM (هو وآخرون)
وصلت نماذج الانتشار الاحتمالية لإزالة الضجيج إلى إطار مشابه لكن من زاوية مختلفة — باعتبار التوليد عملية إزالة ضجيج تكرارية عبر تعلّم العملية العكسية.
2021
توحيد المعادلات التفاضلية العشوائية (سونغ وآخرون)
أثبتت أن NCSN وDDPM مجرد طريقتَي تقريب مختلفتَين لنفس المعادلة التفاضلية العشوائية المستمرة، ووحّدت النماذج القائمة على النتيجة ونماذج الانتشار ضمن إطار واحد.
2022
مطابقة التدفق (ليبمان وآخرون)
طوّرت الفكرة القائمة على النتيجة بتعلّم حقول السرعة بدل دالة النتيجة مباشرة، ما أتاح مسارات نقل أقصر وأكثر استقامةً وتوليداً أسرع.
2023
نماذج الاتساق (سونغ وآخرون)
كثّفت عملية التوليد متعددة الخطوات في خطوة واحدة مع الحفاظ على الجودة — وبذلك ردمت فجوة السرعة بين نماذج الانتشار والشبكات التنافسية.
ما أظهره سونغ وإرمون ببساطة هو أننا لا نحتاج إلى تدريب تنافسي ولا بنيات قابلة للعكس ولا حساب كثافة صريح لكي نبني نماذج توليدية قوية. كل ما نحتاجه هو أن نتعلّم أيّ اتجاه «ينحدر» — أي الاتجاه نحو البيانات — ثم نسير فيه. هذه الرؤية البسيطة المستوحاة من الفيزياء هي التي فتحت الباب لثورة كما نعرفها اليوم.
المرجعSong, Y. and Ermon, S.. Generative Modeling by Estimating Gradients of the Data Distribution. NeurIPS, 2019.
مصطلحات هذه الورقة
- دالة الرصيدScore Function
- مطابقة النتيجةScore Matching
- ديناميكيات لانجفانLangevin Dynamics
- جدول الضوضاءNoise Schedule
- إزالة الضوضاءDenoising
- النموذج التوليديGenerative Model
- تقدير الكثافةDensity Estimation
- التدرج التفاضليGradient
- المتشعب الهندسيManifold
- نموذج الانتشارDiffusion Model
- اختيار العينات الاحتماليةSampling
- دالة الطاقةEnergy Function
- المعايرة القياسية للبياناتNormalization
- التدريج التصاعديAnnealing
- اضطرابPerturbation