رطم ما هي شبكة الخصومة التوليدية (GAN)؟ - اتحدوا
اتصل بنا للحصول على مزيد من المعلومات
دروس متقدمة في الذكاء الاصطناعي:

منظمة العفو الدولية 101

ما هي شبكة الخصومة التوليدية (GAN)؟

mm
تحديث on

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

تحديد النماذج التوليدية وشبكات GAN

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

النماذج التوليدية المختلفة لها طرق مختلفة لتوليد البيانات وحساب التوزيعات الاحتمالية. على سبيل المثال ، ملف نموذج بايز ساذج تعمل عن طريق حساب التوزيع الاحتمالي لمختلف ميزات الإدخال والفئة التوليدية. عندما يعرض نموذج Naive Bayes تنبؤًا ، فإنه يحسب الفئة الأكثر احتمالية عن طريق أخذ احتمالية المتغيرات المختلفة ودمجها معًا. تشمل النماذج التوليدية للتعلم غير العميق نماذج Gaussian Mixture و Latent Dirichlet Allocation (LDA). النماذج التوليدية القائمة على الميل العميق تتضمن آلات Boltzmann المقيدة (RBMs), المبردات التلقائية المتغيرة (VAEs)، وبالطبع شبكات GAN.

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

هندسة GAN

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

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

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

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

عملية تدريب GAN

دعونا نلقي نظرة على الكل السلامه اولا عملية المعالجة لمهمة إنشاء صورة افتراضية.

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

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

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

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

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

تطبيقات GAN

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

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

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

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

المرأة في هذه الصورة غير موجودة. تم إنشاء الصورة بواسطة StyleGAN. الصورة: Owlsmcgee عبر ويكيميديا ​​كومنز ، المجال العام (https://commons.wikimedia.org/wiki/File:Woman_1.jpg)

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

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

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

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

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

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

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

قرار فائق

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

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