AI-For-Beginners/translations/ar/lessons/4-ComputerVision/10-GANs
leestott c6463675e6 🌐 Update translations via Co-op Translator 2025-08-28 04:44:09 +00:00
..
GANPyTorch.ipynb 🌐 Update translations via Co-op Translator 2025-08-28 04:44:09 +00:00
GANTF.ipynb 🌐 Update translations via Co-op Translator 2025-08-28 04:44:09 +00:00
README.md 🌐 Update translations via Co-op Translator 2025-08-26 12:09:18 +00:00
StyleTransfer.ipynb 🌐 Update translations via Co-op Translator 2025-08-28 04:44:09 +00:00
StyleTransfer_Keras.ipynb 🌐 Update translations via Co-op Translator 2025-08-28 04:44:09 +00:00

README.md

الشبكات التوليدية التنافسية

في القسم السابق، تعلمنا عن النماذج التوليدية: النماذج التي يمكنها توليد صور جديدة مشابهة لتلك الموجودة في مجموعة بيانات التدريب. كان VAE مثالًا جيدًا على نموذج توليدي.

اختبار ما قبل المحاضرة

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

الفكرة الرئيسية لـ GAN هي وجود شبكتين عصبيتين يتم تدريبهما ضد بعضهما البعض:

الصورة من Dmitry Soshnikov

بعض المصطلحات:

  • المولد (Generator) هو شبكة تأخذ متجهًا عشوائيًا وتنتج صورة كنتيجة.
  • المميز (Discriminator) هو شبكة تأخذ صورة، ويجب أن تحدد ما إذا كانت صورة حقيقية (من مجموعة بيانات التدريب) أو تم توليدها بواسطة المولد. وهو في الأساس مصنف صور.

المميز (Discriminator)

بنية المميز لا تختلف عن شبكة تصنيف الصور العادية. في أبسط الحالات، يمكن أن تكون مصنفًا متصلًا بالكامل، ولكن على الأرجح ستكون شبكة التلافيف العصبية.

يُطلق على GAN المستندة إلى الشبكات التلافيفية اسم DCGAN

يتكون المميز في شبكة CNN من الطبقات التالية: عدة طبقات تلافيفية + تجميع (مع تقليل الحجم المكاني)، وطبقة أو أكثر متصلة بالكامل للحصول على "متجه الميزات"، وأخيرًا مصنف ثنائي.

"التجميع" في هذا السياق هو تقنية تقلل من حجم الصورة. "طبقات التجميع تقلل أبعاد البيانات من خلال دمج مخرجات مجموعات من الخلايا العصبية في طبقة واحدة إلى خلية عصبية واحدة في الطبقة التالية." - المصدر

المولد (Generator)

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

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

الصورة من Dmitry Soshnikov

تدريب GAN

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

يحدث التدريب على مرحلتين:

  • تدريب المميز. هذه المهمة مباشرة: نقوم بتوليد دفعة من الصور بواسطة المولد، مع وضع علامة عليها بـ 0، والتي تشير إلى صورة مزيفة، وأخذ دفعة من الصور من مجموعة البيانات المدخلة (مع علامة 1، صورة حقيقية). نحصل على خسارة المميز، ونقوم بتنفيذ الانتشار العكسي.
  • تدريب المولد. هذا أكثر تعقيدًا بعض الشيء، لأننا لا نعرف الناتج المتوقع للمولد مباشرة. نأخذ شبكة GAN الكاملة التي تتكون من مولد متبوع بمميز، ونغذيها ببعض المتجهات العشوائية، ونتوقع أن تكون النتيجة 1 (تشير إلى صور حقيقية). ثم نقوم بتجميد معلمات المميز (لا نريد تدريبه في هذه الخطوة)، وننفذ الانتشار العكسي.

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

✍️ تمارين: GANs

مشاكل تدريب GAN

تُعرف GANs بأنها صعبة التدريب بشكل خاص. إليك بعض المشاكل:

  • انهيار الأنماط (Mode Collapse). يشير هذا المصطلح إلى أن المولد يتعلم إنتاج صورة واحدة ناجحة تخدع المميز، بدلاً من مجموعة متنوعة من الصور المختلفة.
  • الحساسية للمعاملات الفائقة. غالبًا ما تلاحظ أن GAN لا تتقارب على الإطلاق، ثم فجأة يحدث انخفاض في معدل التعلم يؤدي إلى التقارب.
  • الحفاظ على التوازن بين المولد والمميز. في كثير من الحالات، يمكن أن تنخفض خسارة المميز إلى الصفر بسرعة نسبية، مما يؤدي إلى عدم قدرة المولد على التدريب بشكل أكبر. للتغلب على ذلك، يمكننا محاولة ضبط معدلات تعلم مختلفة للمولد والمميز، أو تخطي تدريب المميز إذا كانت الخسارة منخفضة جدًا بالفعل.
  • التدريب على الدقة العالية. يعكس نفس المشكلة مع المشفرات التلقائية، حيث يؤدي إعادة بناء العديد من طبقات الشبكة التلافيفية إلى ظهور تشوهات. يتم حل هذه المشكلة عادةً باستخدام ما يسمى النمو التدريجي، حيث يتم تدريب الطبقات الأولى على صور منخفضة الدقة، ثم يتم "فتح" الطبقات أو إضافتها. حل آخر هو إضافة وصلات إضافية بين الطبقات وتدريب عدة دقات في وقت واحد - انظر هذا البحث عن Multi-Scale Gradient GANs للحصول على التفاصيل.

نقل الأنماط

تُعد GANs طريقة رائعة لتوليد الصور الفنية. تقنية أخرى مثيرة للاهتمام هي ما يسمى نقل الأنماط، والتي تأخذ صورة محتوى واحدة، وتعيد رسمها بأسلوب مختلف، باستخدام مرشحات من صورة النمط.

تعمل هذه الطريقة كالتالي:

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

✍️ مثال: نقل الأنماط

اختبار ما بعد المحاضرة

الخلاصة

في هذه الدرس، تعلمت عن GANs وكيفية تدريبها. كما تعلمت عن التحديات الخاصة التي قد تواجهها هذه النوعية من الشبكات العصبية، وبعض الاستراتيجيات لتجاوزها.

🚀 تحدي

قم بتشغيل دفتر نقل الأنماط باستخدام صورك الخاصة.

المراجعة والدراسة الذاتية

للمزيد من المعلومات، اقرأ عن GANs في هذه الموارد:

الواجب

راجع أحد الدفاتر المرتبطة بهذا الدرس وأعد تدريب GAN باستخدام صورك الخاصة. ماذا يمكنك أن تنشئ؟

إخلاء المسؤولية:
تم ترجمة هذا المستند باستخدام خدمة الترجمة الآلية Co-op Translator. بينما نسعى لتحقيق الدقة، يرجى العلم أن الترجمات الآلية قد تحتوي على أخطاء أو عدم دقة. يجب اعتبار المستند الأصلي بلغته الأصلية هو المصدر الرسمي. للحصول على معلومات حساسة أو هامة، يُوصى بالاستعانة بترجمة بشرية احترافية. نحن غير مسؤولين عن أي سوء فهم أو تفسيرات خاطئة تنشأ عن استخدام هذه الترجمة.