إكسيرا8

مقدمة لنماذج الانتشار للتعلم الآلي

تم نشر هذه المقالة في الأصل التجميع وإعادة نشرها في TOPBOTS بإذن من المؤلف.

نماذج الانتشار هي نماذج إنتاجية اكتسبت شعبية كبيرة في السنوات العديدة الماضية ، ولسبب وجيه. حفنة من الأوراق الأساسية التي تم إصدارها في عشرينيات القرن العشرين وحده أظهرت للعالم قدرة نماذج الانتشار ، مثل التغلب على شبكات GAN[6] على تركيب الصورة. في الآونة الأخيرة ، رأى الممارسون نماذج الانتشار المستخدمة في DALL-E2، نموذج إنشاء صور OpenAI الذي تم إصداره الشهر الماضي.

صور مختلفة تم إنشاؤها بواسطة DALL-E 2 (مصدر).

نظرًا لموجة النجاح الأخيرة التي حققتها نماذج Diffusion ، فإن العديد من ممارسي التعلم الآلي مهتمون بالتأكيد بأعمالهم الداخلية. في هذه المقالة ، سوف نفحص الأسس النظرية لنماذج الانتشار، ثم شرح كيفية إنشاء صور بامتداد نموذج الانتشار في PyTorch. دعنا نتعمق!

إذا كان هذا المحتوى التعليمي التفصيلي مفيدًا لك ، اشترك في قائمتنا البريدية AI ليتم تنبيهنا عندما نصدر مادة جديدة. 

نماذج الانتشار - مقدمة

نماذج الانتشار توليدي النماذج ، مما يعني أنها تُستخدم لتوليد بيانات مشابهة للبيانات التي تم تدريبهم عليها. في الأساس ، تعمل نماذج الانتشار بواسطة إتلاف بيانات التدريب من خلال الإضافة المتتالية للضوضاء الغوسية ، ثم تعلم التعافي البيانات بواسطة عكس هذه العملية المزعجة. بعد التدريب ، يمكننا استخدام نموذج الانتشار لتوليد البيانات ببساطة تمرير الضوضاء العشوائية من خلال عملية تقليل الضوضاء المكتسبة.

يمكن استخدام نماذج الانتشار لتوليد صور من الضوضاء (مقتبس من مصدر)

وبشكل أكثر تحديدًا ، يعد نموذج الانتشار نموذجًا متغيرًا كامنًا يرسم إلى الفضاء الكامن باستخدام سلسلة ماركوف الثابتة. تضيف هذه السلسلة ضوضاء تدريجيًا إلى البيانات من أجل الحصول على الخلفية التقريبية q (x1: ت|x0) ، حيث x1، ... ، سT هي المتغيرات الكامنة بنفس أبعاد x0. في الشكل أدناه ، نرى سلسلة ماركوف تتجلى لبيانات الصورة.

في النهاية ، يتم تحويل الصورة بشكل مقارب إلى ضوضاء غاوسية نقية. ال هدف لتدريب نموذج الانتشار هو تعلم عكس عملية - أي تدريب صθ(xر − 1|xt). من خلال الانتقال للخلف على طول هذه السلسلة ، يمكننا إنشاء بيانات جديدة.

فوائد نماذج الانتشار

كما ذكر أعلاه ، فقد انفجر البحث في نماذج الانتشار في السنوات الأخيرة. مستوحى من الديناميكا الحرارية غير المتوازنة[1]، نماذج الانتشار تنتج حاليا جودة صورة على أحدث طراز، يمكن رؤية أمثلة على ذلك أدناه:

بالإضافة إلى جودة الصورة المتطورة ، تأتي نماذج Diffusion مع مجموعة من المزايا الأخرى ، بما في ذلك لا تتطلب تدريب الخصومة. إن صعوبات التدريب على الخصومة موثقة جيدًا ؛ وفي الحالات التي توجد فيها بدائل غير عدائية ذات أداء وكفاءة تدريب مشابهين ، فمن الأفضل عادة استخدامها. فيما يتعلق بموضوع كفاءة التدريب ، تتمتع نماذج الانتشار أيضًا بفوائد إضافية تتمثل في قابلية التوسع والتوازي.

بينما يبدو أن نماذج الانتشار تنتج نتائج من فراغ ، إلا أن هناك الكثير من الخيارات والتفاصيل الرياضية الدقيقة والمثيرة للاهتمام التي توفر الأساس لهذه النتائج ، ولا تزال أفضل الممارسات تتطور في الأدبيات. دعونا نلقي نظرة على النظرية الرياضية التي تقوم عليها نماذج الانتشار بمزيد من التفصيل الآن.

نماذج الانتشار - الغوص العميق

كما ذكر أعلاه ، يتكون نموذج الانتشار من ملف إلى الأمام (أو عملية الانتشار) ، حيث يتم ضوضاء مرجع (صورة بشكل عام) تدريجيًا ، و عملية عكسية (أو عملية الانتشار العكسي) ، حيث يتم تحويل الضوضاء مرة أخرى إلى عينة من التوزيع المستهدف.

يمكن ضبط انتقالات سلسلة أخذ العينات في العملية الأمامية على Gaussians الشرطي عندما يكون مستوى الضوضاء منخفضًا بدرجة كافية. يؤدي الجمع بين هذه الحقيقة وافتراض ماركوف إلى تحديد معلمات بسيط للعملية المستقبلية:

ملاحظة رياضية

لقد كنا نتحدث عن إفساد البيانات من خلال مضيفا ضجيج غاوسي ، ولكن قد يكون من غير الواضح في البداية أين نقوم بهذه الإضافة. وفقًا للمعادلة أعلاه ، في كل خطوة في السلسلة ، نقوم ببساطة بأخذ عينات من توزيع غاوسي متوسطه هو القيمة السابقة (أي الصورة) في السلسلة.

هاتان العبارتان متكافئتان. هذا هو

لفهم السبب ، سنستخدم إساءة طفيفة للتدوين من خلال التأكيد

حيث ينبع التضمين النهائي من التكافؤ الرياضي بين مجموع المتغيرات العشوائية والتواء توزيعاتها - انظر صفحة ويكيبيديا هذه للمزيد من المعلومات.

بعبارة أخرى ، لقد أظهرنا أن تأكيد توزيع خطوة زمنية مشروطة بالسابقة عبر متوسط ​​توزيع غاوسي يعادل التأكيد على أن توزيع خطوة زمنية معينة هو التوزيع السابق مع إضافة ضوضاء غاوسي. لقد حذفنا المقاييس التي قدمها جدول التباين وأظهرنا ذلك لبُعد واحد للبساطة ، لكن إثباتًا مشابهًا ينطبق على Gaussians متعدد المتغيرات.

أين β1،…، βT هو جدول تباين (سواء تم تعلمه أو ثابت) ، إذا كان حسن التصرف ، لتأكيد xT يكاد يكون خواصًا غاوسيًا لخواص T.

بالنظر إلى افتراض ماركوف ، فإن التوزيع المشترك للمتغيرات الكامنة هو نتاج انتقالات السلسلة الشرطية الغاوسية (معدلة من مصدر).

كما ذكرنا سابقًا ، يأتي "سحر" نماذج الانتشار في عملية عكسية. أثناء التدريب ، يتعلم النموذج عكس عملية الانتشار هذه من أجل إنشاء بيانات جديدة. بدءًا من الضوضاء الغوسية النقية p (xT): = N (xT، 0 ، I) يتعلم النموذج التوزيع المشترك صθ(x0: ت) كما

حيث يتم تعلم المعلمات المعتمدة على الوقت للتحولات الغاوسية. لاحظ على وجه الخصوص أن صياغة ماركوف تؤكد أن توزيع انتقال الانتشار العكسي المعين يعتمد فقط على الخطوة الزمنية السابقة (أو الخطوة الزمنية التالية ، اعتمادًا على كيفية النظر إليها):

قادة الإيمان

يتم تدريب نموذج الانتشار بواسطة إيجاد انتقالات ماركوف العكسية التي تزيد من احتمالية بيانات التدريب. من الناحية العملية ، يتكون التدريب بشكل مكافئ من تقليل الحد الأعلى للتغير على احتمالية السجل السلبي.

تفاصيل التدوين

لاحظ أن L.VLB من الناحية الفنية أعلى مقيد (سلبي ELBO) الذي نحاول تصغيره ، لكننا نشير إليه على أنه L.VLB للتوافق مع الأدبيات.

نسعى لإعادة كتابة حرف L.VLB من حيث الاختلافات Kullback-Leibler (KL). تباعد KL هو مقياس مسافة إحصائي غير متماثل لمقدار توزيع احتمالي واحد P يختلف عن التوزيع المرجعي Q. نحن مهتمون بصياغة L.VLB من حيث اختلافات KL لأن توزيعات الانتقال في سلسلة Markov الخاصة بنا هي Gaussians ، و تباعد KL بين Gaussians له شكل مغلق.

ما هو الاختلاف KL؟

الشكل الرياضي لتباعد KL للتوزيعات المستمرة هو

تشير الأشرطة المزدوجة إلى أن الوظيفة ليست متماثلة فيما يتعلق بوسائطها.

أدناه يمكنك رؤية اختلاف KL لتوزيع مختلف P (أزرق) من توزيع مرجعي Q (أحمر). يشير المنحنى الأخضر إلى الوظيفة داخل التكامل في تعريف اختلاف KL أعلاه ، وتمثل المساحة الإجمالية تحت المنحنى قيمة تباعد KL لـ P تبدأ من Q في أي لحظة ، قيمة تُعرض عدديًا أيضًا.

صب لفلب من حيث KL Divergences

كما ذكرنا سابقًا ، من الممكن [1] لإعادة كتابة L.VLB تقريبًا بالكامل من حيث اختلافات KL:

أين

تفاصيل الاشتقاق

الحد المتغير يساوي

نستبدل التوزيعات بتعريفاتها في ضوء افتراض ماركوف لدينا

نستخدم قواعد اللوغاريتمات لتحويل التعبير إلى مجموع لوغاريتمات ، ثم نستخرج الحد الأول

باستخدام نظرية بايز وافتراض ماركوف لدينا ، يصبح هذا التعبير

ثم نقسم الحد الأوسط باستخدام قواعد السجل

عزل الحد الثاني ، كما نرى

بالتعويض عن هذا في معادلتنا لـ LVLB، نحن لدينا

باستخدام قواعد السجل ، نعيد الترتيب

d8

بعد ذلك ، نلاحظ التكافؤ التالي لتباعد KL لأي توزيعين:

أخيرًا ، بتطبيق هذا التكافؤ على التعبير السابق ، نصل إلى

تكييف العملية الأمامية اللاحقة على x0 في L.ر − 1 ينتج عنه شكل يمكن تتبعه يؤدي إلى جميع الاختلافات KL هي مقارنات بين Gaussians. هذا يعني أنه يمكن حساب الاختلافات بدقة باستخدام التعبيرات ذات الشكل المغلق بدلاً من تقديرات مونت كارلو[3].

خيارات النموذج

مع وضع الأساس الرياضي لوظيفتنا الموضوعية ، نحتاج الآن إلى اتخاذ العديد من الخيارات فيما يتعلق بكيفية تنفيذ نموذج الانتشار الخاص بنا. بالنسبة للعملية المستقبلية ، فإن الخيار الوحيد المطلوب هو تحديد جدول التباين ، الذي تتزايد قيمه بشكل عام أثناء العملية المستقبلية.

بالنسبة للعملية العكسية ، نختار بنية (معمارية) نموذج التوزيع Gaussian. لاحظ ال درجة عالية من المرونة التي توفرها نماذج الانتشار - فقط المطلب في هندستنا هو أن المدخلات والمخرجات لها نفس الأبعاد.

سوف نستكشف تفاصيل هذه الاختيارات بمزيد من التفصيل أدناه.

إلى الأمام و LT

كما هو مذكور أعلاه ، فيما يتعلق بالعملية المستقبلية ، يجب علينا تحديد جدول التباين. على وجه الخصوص ، وضعناها لتكون كذلك الثوابت المعتمدة على الوقت، متجاهلاً حقيقة أنه يمكن تعلمها. فمثلا[3]، جدول خطي من β1= 10-4 إلى βT= 0.2 يمكن استخدامها ، أو ربما سلسلة هندسية.

بغض النظر عن القيم المحددة المختارة ، فإن حقيقة أن جدول التباين ثابت ينتج في L.T أن تصبح ثابتًا فيما يتعلق بمجموعتنا من المعلمات القابلة للتعلم ، مما يسمح لنا بتجاهلها فيما يتعلق بالتدريب.

عملية عكسية و L.1: T − 1

الآن نناقش الخيارات المطلوبة في تحديد العملية العكسية. تذكر من أعلاه أننا حددنا انتقالات ماركوف العكسية على أنها غاوسي:

يجب علينا الآن تحديد الأشكال الوظيفية لـ μθ أو Σθ. بينما توجد طرق أكثر تعقيدًا لتحديد معلمات Σθ[5]، نحن ببساطة

أي أننا نفترض أن غاوسي متعدد المتغيرات هو نتاج لغوسيين مستقلين مع تباين مماثل ، قيمة تباين يمكن أن تتغير بمرور الوقت. نحن قم بتعيين هذه الفروق بحيث تكون مكافئة لجدول تباين العملية المتقدم.

بالنظر إلى هذه الصيغة الجديدة لـ Σθ، نحن لدينا

مما يسمح لنا بالتحول

إلى

حيث يكون الحد الأول في الاختلاف عبارة عن تركيبة خطية من xt و x0 هذا يعتمد على جدول التباين βt. الشكل الدقيق لهذه الوظيفة ليس مناسبًا لأغراضنا ، ولكن يمكن العثور عليه في [3].

أهمية النسبة المذكورة أعلاه هي أن المعلمات الأكثر وضوحًا لـ μθ يتنبأ ببساطة بالوسط الخلفي للانتشار. الأهم من ذلك ، مؤلفو [3] وجدت في الواقع أن التدريب μθ للتنبؤ ضجيج المكون في أي خطوة زمنية تعطي نتائج أفضل. على وجه الخصوص ، دعونا

أين

هذا يؤدي إلى وظيفة الخسارة البديلة التالية، والتي مؤلفو [3] وجد أنه يؤدي إلى تدريب أكثر استقرارًا ونتائج أفضل:

مؤلفو [3] لاحظ أيضًا صلات هذه الصيغة لنماذج الانتشار بالنماذج التوليدية المطابقة للنتيجة استنادًا إلى ديناميكيات لانجفين. في الواقع ، يبدو أن نماذج الانتشار والنماذج القائمة على النقاط قد تكون وجهين لعملة واحدة ، على غرار التطوير المستقل والمتزامن لميكانيكا الكم القائمة على الموجة وميكانيكا الكم القائمة على المصفوفة التي تكشف عن صيغتين متكافئتين لنفس الظواهر[2].

هندسة الشبكات

بينما تسعى دالة الخسارة المبسطة إلى تدريب نموذج ϵθ، لم نحدد بعد بنية هذا النموذج. نلاحظ أن فقط متطلبات النموذج هو أن أبعاد المدخلات والمخرجات متطابقة.

بالنظر إلى هذا التقييد ، ربما ليس من المستغرب أن يتم تنفيذ نماذج انتشار الصور بشكل شائع باستخدام بنى تشبه U-Net.

فك العملية العكسية و L.0

يتكون المسار على طول العملية العكسية من العديد من التحولات في ظل توزيعات جاوس الشرطية المستمرة. في نهاية العملية العكسية ، تذكر أننا نحاول إنتاج ملف صورة، والتي تتكون من قيم بكسل صحيحة. لذلك ، يجب أن نبتكر طريقة للحصول عليها احتمالات (سجل) منفصلة لكل قيمة بكسل ممكنة عبر جميع وحدات البكسل.

الطريقة التي يتم بها القيام بذلك هي عن طريق تعيين الانتقال الأخير في سلسلة الانتشار العكسي إلى وحدة فك ترميز منفصلة مستقلة. لتحديد احتمالية صورة معينة x0 نظرا x1، نفرض أولاً الاستقلالية بين أبعاد البيانات:

حيث D هي أبعاد البيانات والحرف المرتفع i يشير إلى استخراج إحداثيات واحدة. الهدف الآن هو تحديد مدى احتمالية كل قيمة عدد صحيح لبكسل معين معطى التوزيع عبر القيم الممكنة للبكسل المقابل في الصورة المشوشة قليلاً في الوقت t = 1:

حيث يتم اشتقاق توزيعات البكسل لـ t = 1 من Gaussian متعدد المتغيرات أدناه الذي تسمح لنا مصفوفة التغاير القطري بتقسيم التوزيع إلى منتج Gaussians أحادي المتغير ، واحد لكل بُعد من أبعاد البيانات:

نفترض أن الصور تتكون من أعداد صحيحة في 0,1،255 ، ... ، 1,1 (كما تفعل صور RGB القياسية) والتي تم تغيير حجمها خطيًا إلى [−XNUMX،XNUMX]. نقوم بعد ذلك بتقسيم الخط الحقيقي إلى "مجموعات" صغيرة ، حيث ، لقيمة بكسل محددة الحجم x، دلو هذا النطاق هو [x − 1/255 ، x + 1/255]. احتمالية قيمة البكسل x, بالنظر إلى التوزيع الغوسي أحادي المتغير للبكسل المقابل في x1، هل المنطقة تحت هذا التوزيع الغوسي أحادي المتغير داخل الجرافة المتمركزة في x.

يمكنك أدناه رؤية مساحة كل من هذه المجموعات مع احتمالاتها لمتوسط ​​0 Gaussian والذي ، في هذا السياق ، يتوافق مع توزيع بمتوسط ​​قيمة بكسل 255/2 (نصف سطوع). يمثل المنحنى الأحمر توزيع بكسل معين في ر = 1 الصورة ، وتعطي المناطق احتمال قيمة البكسل المقابلة في ر = 0 صورة.

ملاحظة تقنية

تمتد المجموعتان الأولى والنهائية إلى -inf و + inf للحفاظ على الاحتمال الكلي.

نظرا ل ر = 0 قيمة بكسل لكل بكسل ، قيمة pθ(x0|x1) هو ببساطة منتجهم. يتم تغليف هذه العملية بإيجاز بالمعادلة التالية:

أين

و

بالنظر إلى هذه المعادلة لـ pθ(x0|x1) ، يمكننا حساب المصطلح النهائي لـ L.VLB التي لم تتم صياغتها على أنها اختلاف KL:

الهدف النهائي

كما ذكر في القسم الأخير ، فإن مؤلفي [3] وجدت أن التنبؤ بمكون التشويش في صورة ما في وقت معين ينتج أفضل النتائج. في النهاية ، يستخدمون الهدف التالي:

وبالتالي ، يمكن التقاط خوارزميات التدريب وأخذ العينات لنموذج الانتشار الخاص بنا بإيجاز في الشكل أدناه:

ملخص نظرية نموذج الانتشار

في هذا القسم ، ألقينا نظرة تفصيلية على نظرية نماذج الانتشار. قد يكون من السهل الانغماس في التفاصيل الرياضية ، لذلك نلاحظ أهم النقاط في هذا القسم أدناه من أجل الحفاظ على تركيزنا من منظور عين الطائر:

  1. تم تحديد معلمات نموذج الانتشار لدينا كـ a سلسلة ماركوف، مما يعني أن المتغيرات الكامنة لدينا x1، ... ، سT تعتمد فقط على الخطوة الزمنية السابقة (أو التالية).
  2. • توزيعات الانتقال في سلسلة ماركوف جاوس، حيث تتطلب العملية إلى الأمام جدول تباين ، ويتم التعرف على معلمات العملية العكسية.
  3. تضمن عملية الانتشار أن xT is موزعة بشكل مقارب على أنها خواص الخواص بالنسبة إلى T.
  4. في حالتنا ، فإن تم إصلاح جدول الفرق، ولكن يمكن تعلمها أيضًا. بالنسبة للجداول الثابتة ، قد يؤدي اتباع التقدم الهندسي إلى الحصول على نتائج أفضل من التقدم الخطي. في كلتا الحالتين ، تتزايد الفروق بشكل عام مع مرور الوقت في السلسلة (أي βij لأني
  5. نماذج الانتشار مرونة عالية واسمحوا أي وقت العمارة التي تكون أبعاد المدخلات والمخرجات هي نفسها المستخدمة. تستخدم العديد من التطبيقات U- نت مثل أبنية.
  6. • هدف التدريب هو زيادة احتمالية بيانات التدريب. يتجلى هذا في ضبط معلمات النموذج إلى تقليل الحد الأعلى المتغير لاحتمالية السجل السلبي للبيانات.
  7. يمكن وصف جميع المصطلحات في الوظيفة الموضوعية تقريبًا كـ الاختلافات KL نتيجة لافتراض ماركوف. هذه القيم تصبح قابلة للحساب نظرًا لأننا نستخدم Gaussians ، فإننا نحذف الحاجة إلى إجراء تقريب مونت كارلو.
  8. في النهاية ، باستخدام ملف هدف تدريب مبسط لتدريب وظيفة تتنبأ بمكون الضوضاء لمتغير كامن معين ينتج عنه أفضل النتائج وأكثرها استقرارًا.
  9. وحدة فك ترميز منفصلة يستخدم للحصول على احتمالية السجل عبر قيم البكسل كخطوة أخيرة في عملية الانتشار العكسي.

مع هذه النظرة العامة عالية المستوى لنماذج الانتشار في أذهاننا ، دعنا ننتقل لنرى كيفية استخدام نماذج الانتشار في PyTorch.

نماذج الانتشار في PyTorch

في حين أن نماذج الانتشار لم يتم إضفاء الطابع الديمقراطي عليها بعد بنفس الدرجة مثل البنى / المناهج القديمة الأخرى في التعلم الآلي ، لا تزال هناك تطبيقات متاحة للاستخدام. أسهل طريقة لاستخدام نموذج الانتشار في PyTorch هي استخدام امتداد denoising-diffusion-pytorch الحزمة ، والتي تنفذ نموذج نشر الصورة مثل النموذج الذي تمت مناقشته في هذه المقالة. لتثبيت الحزمة ، ما عليك سوى كتابة الأمر التالي في الجهاز:

pip install denoising_diffusion_pytorch

مثال بسيط

لتدريب نموذج وإنشاء الصور ، نقوم أولاً باستيراد الحزم اللازمة:

import torch
from denoising_diffusion_pytorch import Unet, GaussianDiffusion

بعد ذلك ، نحدد بنية شبكتنا ، في هذه الحالة U-Net. ال dim تحدد المعلمة عدد خرائط المعالم قبل أول عينة لأسفل ، و dim_mults توفر المعلمة عمليات مضاعفة لهذه القيمة وعينات متتالية متتالية:

model = Unet(
 dim = 64,
 dim_mults = (1, 2, 4, 8)
)

الآن بعد أن تم تعريف بنية شبكتنا ، نحتاج إلى تعريف نموذج الانتشار نفسه. لقد مررنا نموذج U-Net الذي حددناه للتو مع العديد من المعلمات - حجم الصور المراد إنشاؤها ، وعدد الخطوات الزمنية في عملية الانتشار ، والاختيار بين معايير L1 و L2.

diffusion = GaussianDiffusion(
 model,
 image_size = 128,
 timesteps = 1000, # number of steps
 loss_type = 'l1' # L1 or L2
)

الآن بعد أن تم تحديد نموذج الانتشار ، حان وقت التدريب. نقوم بتوليد بيانات عشوائية للتدريب عليها ، ثم نقوم بتدريب نموذج الانتشار بالطريقة المعتادة:

training_images = torch.randn(8, 3, 128, 128)
loss = diffusion(training_images)
loss.backward()

بمجرد تدريب النموذج ، يمكننا أخيرًا إنشاء صور باستخدام sample() طريقة diffusion هدف. نحن هنا ننتج 4 صور ، وهي ضوضاء فقط بالنظر إلى أن بيانات التدريب لدينا كانت عشوائية:

sampled_images = diffusion.sample(batch_size = 4)

التدريب على البيانات المخصصة

• denoising-diffusion-pytorch تسمح لك الحزمة أيضًا بتدريب نموذج الانتشار على مجموعة بيانات محددة. ببساطة استبدل ملف 'path/to/your/images' سلسلة مع مسار دليل مجموعة البيانات في ملف Trainer() الكائن أدناه ، والتغيير image_size إلى القيمة المناسبة. بعد ذلك ، قم ببساطة بتشغيل الكود لتدريب النموذج ، ثم أخذ عينة كما كان من قبل. لاحظ أنه يجب تجميع PyTorch مع تمكين CUDA من أجل استخدام ملف Trainer صف دراسي:

from denoising_diffusion_pytorch import Unet, GaussianDiffusion, Trainer
model = Unet(
 dim = 64,
 dim_mults = (1, 2, 4, 8)
).cuda()
diffusion = GaussianDiffusion(
 model,
 image_size = 128,
 timesteps = 1000, # number of steps
 loss_type = 'l1' # L1 or L2
).cuda()
trainer = Trainer(
 diffusion,
 'path/to/your/images',
 train_batch_size = 32,
 train_lr = 2e-5,
 train_num_steps = 700000, # total training steps
 gradient_accumulate_every = 2, # gradient accumulation steps
 ema_decay = 0.995, # exponential moving average decay
 amp = True # turn on mixed precision
)
trainer.train()

أدناه يمكنك رؤية تقليل الضوضاء التدريجي من الضوضاء الغاوسية متعددة المتغيرات إلى أرقام MNIST المشابهة لعكس الانتشار:

كلمات أخيرة

نماذج الانتشار هي نهج بسيط من الناحية المفاهيمية وأنيق لمشكلة توليد البيانات. لقد دفعتهم نتائجهم المتطورة جنبًا إلى جنب مع التدريب غير العدائي إلى ارتفاعات كبيرة ، ويمكن توقع مزيد من التحسينات في السنوات القادمة نظرًا لوضعهم الوليدي. على وجه الخصوص ، تم العثور على نماذج Diffusion لتكون ضرورية لأداء النماذج المتطورة مثل DALL-E2.

مراجع حسابات

[1] التعلم العميق غير الخاضع للإشراف باستخدام الديناميكا الحرارية بلا توازن

[2] النمذجة التوليدية عن طريق تقدير التدرجات لتوزيع البيانات

[3] تقليل الضوضاء النماذج الاحتمالية للانتشار

[4] تقنيات محسنة لتدريب النماذج التوليدية القائمة على النقاط

[5] نماذج احتمالية لانتشار تقليل الضوضاء المحسنة

[6] تتفوق نماذج الانتشار على شبكات GAN في تركيب الصورة

[7] GLIDE: نحو إنشاء صور واقعية وتحريرها باستخدام نماذج الانتشار الموجهة بالنص

[8] إنشاء نص هرمي شرطي للصور باستخدام CLIP Latents

هل تستمتع بهذه المقالة؟ قم بالتسجيل للحصول على المزيد من تحديثات أبحاث الذكاء الاصطناعي.

سنخبرك عندما نصدر المزيد من المقالات الموجزة مثل هذه.

الدردشة معنا

أهلاً! كيف يمكنني مساعدك؟