أساسيات الذكاء الاصطناعي

ما هو الشبكة التوليدية المعادية (GAN)?

mm
أضف Unite.AI إلى مصادرك المفضلة على Google

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

تعريف النماذج التوليدية والشبكات التوليدية المعادية

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

النماذج التوليدية المختلفة لها أساليب مختلفة لتوليد البيانات و حساب التوزيعات الاحتمالية. على سبيل المثال ، نموذج بايز الصريح يعمل عن طريق حساب توزيع احتمالي للميزات المدخلة المختلفة والفئة التوليدية. عندما يقدم نموذج بايز الصريح تنبؤًا ، فإنه ي tính احتمال الفئة الأكثر احتمالاً من خلال أخذ احتمالات المتغيرات المختلفة ودمجها معًا. تشمل النماذج التوليدية غير 深 التعلم نماذج الخلائط الغاوسية و توزيع لاتنت ديريشليت. النماذج التوليدية القائمة على التعلم العميق تشمل آلات بولتزمان المحددة و المدمجة التوليدية المتغيرة و بالطبع GANs.

تم اقتراح الشبكات التوليدية المعادية لأول مرة بواسطة IAN غودفيلو في عام 2014 ، و تم تحسينها بواسطة أليك ريدفورد وباحثين آخرين في عام 2015 ، مما أدى إلى بنية معيارية للشبكات التوليدية المعادية. GANs هي في الواقع شبكتان مختلفتان متصلتان ببعضهما البعض. GANs تتكون من نصفين: نموذج توليدي و نموذج تمييزي ، يسمى أيضًا المولد و المتميز.

هيكل الشبكة التوليدية المعادية

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

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

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

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

عملية تدريب الشبكة التوليدية المعادية

دعونا نلقي نظرة على عملية التدريب الكاملة للمهمة التوليدية الصورية النموذجية.

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

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

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

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

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

تطبيقات الشبكة التوليدية المعادية

GANs لها العديد من التطبيقات المختلفة ، معظمها يتعلق بتوليد الصور ومكونات الصور. عادةً ما يتم استخدام GANs في المهام التي تكون فيها البيانات الصورية المطلوبة ناقصة أو محدودة ببعض الطرق ، كوسيلة لتوليد البيانات المطلوبة. دعونا نلقي نظرة على بعض الحالات الشائعة لاستخدام GANs.

توليد أمثلة جديدة للقواعد

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

توليد وجوه بشرية فريدة

المرأة في هذه الصورة لا وجود لها. تم توليد الصورة بواسطة StyleGAN. الصورة: Owlsmcgee via Wikimedia Commons, Public Domain (https://commons.wikimedia.org/wiki/File:Woman_1.jpg)

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

ترجمة الصور إلى الصور

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

ترجمة النص إلى الصور

ترجمة النص إلى الصور ممكنة من خلال استخدام GANs. عندما يتم تزويد GAN بنص يصف صورة و الصورة المصاحبة ، يمكن تدريبه على إنشاء صورة جديدة عند تزويد وصف للصورة المرغوبة.

تحرير وتصليح الصور

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

الدقة الفائقة

الدقة الفائقة هي عملية إضافة المزيد من البكسل إلى صورة منخفضة الدقة لتحسين دقتها. يمكن تدريب GANs على توليد صورة بدقة أعلى من الصورة الأصلية.

مدون وبرمجي متخصص في مواضيع Machine Learning و Deep Learning. يأمل دانيال في مساعدة الآخرين على استخدام قوة الذكاء الاصطناعي من أجل الخير الاجتماعي.