تمثل شبكات الخصومة التوليدية (GANs) فئة قوية من أطر التعلم الآلي (ML) ، والتي قدمها لأول مرة إيان جودفيلو وزملاؤه في عام 2014. تنتمي هذه الشبكات إلى مجال الذكاء الاصطناعي التوليدي، وتركز على إنشاء بيانات جديدة تشبه مجموعة بيانات تدريبية معينة. تتضمن الفكرة الأساسية وراء شبكات GANs شبكتين عصبيتين (NNs)، المولد والمميز، منخرطتين في لعبة تنافسية. تدفع هذه العملية التنافسية النظام لإنتاج مخرجات اصطناعية واقعية للغاية، مثل الصور أو الموسيقى أو النصوص.
كيفية عمل GANS
تتكون بنية شبكة GAN من مكونين رئيسيين يتم تدريبهما في وقت واحد:
- المولّد: تأخذ هذه الشبكة ضجيجًا عشوائيًا (متجه من الأرقام العشوائية، وغالبًا ما يتم أخذ عينات من توزيع غاوسي) كمدخلات وتحاول تحويلها إلى بيانات تحاكي توزيع البيانات الحقيقية. على سبيل المثال، قد تقوم الشبكة بتوليد صورة اصطناعية لقطّة تشبه الصور من مجموعة بيانات التدريب. والهدف من ذلك هو إنتاج مخرجات لا يمكن تمييزها عن البيانات الحقيقية، مما يخدع أداة التمييز بشكل فعال.
- المميّز: تعمل هذه الشبكة كمصنف ثنائي. وهي تتلقى كلاً من عينات البيانات الحقيقية (من مجموعة البيانات الفعلية) وعينات البيانات المزيفة (التي أنشأها المولد). وتتمثل مهمتها في تحديد ما إذا كانت كل عينة إدخال حقيقية أو مزيفة. تتعلم هذه الشبكة ذلك من خلال تقنيات التعلّم القياسية الخاضعة للإشراف، بهدف تصنيف العينات الحقيقية والمُنتجة بشكل صحيح.
عملية تدريب الخصوم
يُعد تدريب شبكة GAN عملية ديناميكية يتنافس فيها المولد والمميز ويتحسنان معًا:
- ينتج المولد مجموعة من البيانات التركيبية.
- يتم تدريب أداة التمييز على مجموعة تحتوي على بيانات حقيقية وبيانات اصطناعية للمولّد، ويتعلم التمييز بينهما. يُستخدَم الانتثار الخلفي لتحديث أوزانه بناءً على دقة تصنيفه.
- ثم يتم تدريب المولد بناءً على مخرجات أداة التمييز. هدفه هو إنتاج بيانات يصنفها المميّز بشكل غير صحيح على أنها حقيقية. تتدفق التدرجات مرة أخرى من خلال المميّز (الثابت مؤقتًا) لتحديث أوزان المولد.
تستمر هذه الدورة، مما يؤدي بشكل مثالي إلى توازن حيث ينتج المولد بيانات واقعية لدرجة أن أداة التمييز يمكنها فقط التخمين عشوائيًا (دقة 50%) ما إذا كانت العينة حقيقية أو مزيفة. في هذه المرحلة، يكون المولّد قد تعلّم تقريب توزيع البيانات الأساسية لمجموعة التدريب.
التطبيقات الرئيسية
مكّنت شبكات GAN من تحقيق تقدم كبير في مختلف المجالات:
- توليد الصور: إنشاء صور واقعية، مثل الوجوه البشرية(StyleGAN من NVIDIA Research) أو الحيوانات أو الأشياء غير الموجودة. هذا له تطبيقات في الفن والتصميم والترفيه، ولكنه يثير أيضًا مخاوف أخلاقية فيما يتعلق بالتزييف العميق.
- تعزيز البيانات الاصطناعية: توليد بيانات اصطناعية واقعية لتكملة مجموعات البيانات الحقيقية. وهذا مفيد بشكل خاص في مجالات مثل تحليل الصور الطبية، حيث قد تكون البيانات الحقيقية نادرة أو قد تكون هناك قيود على الخصوصية. على سبيل المثال، يمكن لشبكات GANs إنشاء صور أشعة سينية اصطناعية تُظهر حالات نادرة لتحسين متانة نماذج الرؤية الحاسوبية التشخيصية المستخدمة في مهام مثل اكتشاف الأجسام أو تجزئة الصور. يمكن لهذه الزيادة أن تعزز تدريب نماذج مثل Ultralytics YOLO11.
- ترجمة صورة إلى صورة: تحويل الصور من مجال إلى آخر (على سبيل المثال، تحويل الرسومات إلى صور، أو تغيير الفصول في المناظر الطبيعية، أو إجراء تحويل النمط العصبي).
- الدقة الفائقة: تحسين دقة الصور منخفضة الجودة.
- توليف النص إلى صورة: توليد الصور استنادًا إلى أوصاف نصية (على الرغم من أنه غالبًا ما تتفوق عليه البنى الأحدث مثل نماذج الانتشار).
نظام GANS مقابل النماذج الأخرى
من المهم تمييز شبكات GAN عن الأنواع الأخرى من النماذج:
- النماذج التمييزية: معظم نماذج التصنيف والانحدار القياسية (مثل تلك المستخدمة لتصنيف الصور أو الكشف القياسي عن الأجسام) هي نماذج تمييزية. فهي تتعلم حدود القرار للفصل بين الفئات المختلفة أو تتنبأ بقيمة ما بناءً على ميزات المدخلات. على النقيض من ذلك، فإن شبكات GAN هي نماذج توليدية - فهي تتعلم التوزيع الاحتمالي الأساسي للبيانات نفسها لإنشاء عينات جديدة.
- نماذج الانتشار: تُعد نماذج الانتشار فئة أخرى قوية من النماذج التوليدية التي اكتسبت شهرة في الآونة الأخيرة، وغالبًا ما تحقق أحدث النتائج في توليد الصور. وهي تعمل عن طريق إضافة ضوضاء تدريجياً إلى البيانات ثم تعلم عكس هذه العملية. وعلى الرغم من أنها تنتج أحيانًا صورًا أعلى دقة وتوفر تدريبًا أكثر استقرارًا من شبكات GAN، إلا أنها قد تكون أكثر كثافة من الناحية الحسابية أثناء الاستدلال.
التحديات والتطورات
قد يكون تدريب شبكات GAN صعبة للغاية بسبب مشاكل مثل:
وقد طوّر الباحثون العديد من متغيرات شبكات GAN لمعالجة هذه التحديات، مثل شبكات Wasserstein GANs(WGANs) لتحسين الاستقرار وشبكات GAN الشرطية(cGANs) التي تسمح بتوليد البيانات المشروطة بسمات محددة (على سبيل المثال، توليد صورة لرقم معين). أطر مثل PyTorch و TensorFlow أدوات ومكتبات تسهّل تنفيذ شبكات GAN وتدريبها.