إنشاء بيانات من الضوضاء العشوائية باستخدام شبكات الخصومة التوليدية

نشرت: 2022-03-11

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

شيء واحد يمكن أن يتفق عليه جميع العلماء وهو أننا بحاجة إلى المزيد من البيانات.

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

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

شبكات الخصومة التوليدية

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

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

قبل ان تبدا

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

  • مقدمة في نظرية التعلم الآلي وتطبيقاتها: دروس مرئية بأمثلة
  • برنامج تعليمي عميق للتعلم: من Perceptrons إلى Deep Networks

لماذا شبكات GAN؟

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

وصفها مدير أبحاث الذكاء الاصطناعي في Facebook ، Yann LeCunn ، بأنها أكثر التطورات إثارة في التعلم الآلي في العقد الماضي.

أساسيات

فكر في كيف تتعلم. إذا جربت شيئًا ما ، فستحصل على بعض التعليقات. قمت بتعديل استراتيجيتك وحاول مرة أخرى.

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

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

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

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

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

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

رسم تخطيطي لـ GAN

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

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

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

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

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

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

في الصيغة الأصلية لشبكات GAN في عام 2014 بواسطة Goodfellow et al. ، يولد المُميِّز تقديرًا لاحتمال أن تكون صورة معينة حقيقية أو تم إنشاؤها. سيتم تزويد أداة التمييز بمجموعة من الصور التي تتكون من صور حقيقية ومولدة على حد سواء ، وستقوم بإنشاء تقدير لكل من هذه المدخلات. ثم يتم قياس الخطأ بين ناتج أداة التمييز والتسميات الفعلية عن طريق خسارة الانتروبيا المتقاطعة. يمكن معادلة خسارة الانتروبيا المتقاطعة بمقياس مسافة جنسن-شانون ، وقد تم عرضها في أوائل عام 2017 بواسطة Arjovsky et al. أن هذا المقياس قد يفشل في بعض الحالات ولا يشير إلى الاتجاه الصحيح في حالات أخرى. أظهرت هذه المجموعة أن مقياس مسافة Wasserstein (المعروف أيضًا باسم محرك الأرض أو مسافة EM) يعمل ويعمل بشكل أفضل في العديد من الحالات الأخرى.

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

من أجل استكشاف أكثر شمولاً لشبكات GAN ، في هذه المقالة ، سوف نستكشف أربع بنى مختلفة:

  • جان: GAN الأصلي ("الفانيليا")
  • CGAN: إصدار شرطي من GAN الأصلي يستخدم تسميات الفئات
  • WGAN: Wasserstein GAN (مع عقوبة متدرجة)
  • WCGAN: نسخة مشروطة من Wasserstein GAN

ولكن دعونا نلقي نظرة على مجموعة البيانات الخاصة بنا أولاً.

نظرة على بيانات الاحتيال على بطاقة الائتمان

سنعمل مع مجموعة بيانات الكشف عن الاحتيال لبطاقات الائتمان من Kaggle.

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

الميزات مقابل الرسوم البيانية للفصل

يمكن للمرء أن يلاحظ بسهولة الاختلافات بين البيانات العادية وبيانات الاحتيال في هذه التوزيعات ، ولكن هناك أيضًا الكثير من التداخل. يمكننا تطبيق واحدة من خوارزميات التعلم الآلي الأسرع والأكثر قوة لتحديد الميزات الأكثر فائدة لتحديد الاحتيال. هذه الخوارزمية ، xgboost ، عبارة عن خوارزمية شجرة قرار معززة بالتدرج. سنقوم بتدريبه على 70٪ من مجموعة البيانات ، ونختبره على الـ 30٪ المتبقية. يمكننا إعداد الخوارزمية للمتابعة حتى لا تؤدي إلى تحسين الاسترجاع (جزء عينات الاحتيال المكتشفة) في مجموعة بيانات الاختبار. يحقق ذلك نسبة تذكر 76٪ في مجموعة الاختبار ، مما يترك مجالًا للتحسين بوضوح. إنها تحقق دقة تصل إلى 94٪ ، مما يعني أن 6٪ فقط من حالات الاحتيال المتوقعة كانت في الواقع معاملات عادية. من هذا التحليل ، نحصل أيضًا على قائمة بالميزات مرتبة حسب فائدتها في اكتشاف الاحتيال. يمكننا استخدام أهم الميزات للمساعدة في تصور نتائجنا لاحقًا.

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

توليد بيانات بطاقة ائتمان جديدة باستخدام شبكات GAN

لتطبيق بنى GAN المختلفة على مجموعة البيانات هذه ، سأستخدم GAN-Sandbox ، الذي يحتوي على عدد من بنى GAN الشائعة المطبقة في Python باستخدام مكتبة Keras ونهاية خلفية TensorFlow. تتوفر جميع نتائجي كمفكرة Jupyter هنا. يتم تضمين جميع المكتبات الضرورية في صورة Kaggle / Python Docker ، إذا كنت بحاجة إلى إعداد سهل.

تم إعداد الأمثلة في GAN-Sandbox لمعالجة الصور. ينتج المولد صورة ثنائية الأبعاد بثلاث قنوات ملونة لكل بكسل ، ويتم تكوين أداة التمييز / الناقد لتقييم هذه البيانات. تُستخدم التحويلات التلافيفية بين طبقات الشبكات للاستفادة من البنية المكانية لبيانات الصورة. تعمل كل خلية عصبية في طبقة تلافيفية فقط مع مجموعة صغيرة من المدخلات والمخرجات (على سبيل المثال ، وحدات البكسل المجاورة في صورة ما) للسماح بتعلم العلاقات المكانية. تفتقر مجموعة بيانات بطاقة الائتمان الخاصة بنا إلى أي بنية مكانية بين المتغيرات ، لذلك قمت بتحويل الشبكات التلافيفية إلى شبكات ذات طبقات متصلة بكثافة. ترتبط الخلايا العصبية في الطبقات المتصلة بكثافة بكل مدخلات ومخرجات للطبقة ، مما يسمح للشبكة بمعرفة علاقاتها الخاصة بين الميزات. سأستخدم هذا الإعداد لكل من البنى.

أول GAN سأقيمه يحفر شبكة المولد مقابل شبكة التمييز ، مستفيدًا من خسارة الانتروبيا من أداة التمييز لتدريب الشبكات. هذه هي بنية GAN الأصلية "الفانيليا". يضيف GAN الثاني الذي سأقيمه تسميات فئات إلى البيانات بطريقة GAN الشرطي (CGAN). يحتوي GAN هذا على متغير آخر في البيانات ، وهو تسمية الفئة. سيستخدم GAN الثالث مقياس مسافة Wasserstein لتدريب الشبكات (WGAN) ، وسيستخدم الأخير تسميات الفئة ومقياس مسافة Wasserstein (WCGAN).

معماريات GAN

سنقوم بتدريب مختلف شبكات GAN باستخدام مجموعة بيانات تدريبية تتكون من 492 معاملة احتيالية. يمكننا إضافة فئات إلى مجموعة بيانات الاحتيال لتسهيل بنيات GAN المشروطة. لقد استكشفت بعض طرق التجميع المختلفة في دفتر الملاحظات وذهبت إلى تصنيف KMeans الذي يفرز بيانات الاحتيال إلى فئتين.

سأقوم بتدريب كل GAN لمدة 5000 جولة وفحص النتائج على طول الطريق. في الشكل 4 ، يمكننا رؤية بيانات الاحتيال الفعلية وبيانات الاحتيال التي تم إنشاؤها من هياكل GAN المختلفة مع تقدم التدريب. يمكننا أن نرى بيانات الاحتيال الفعلية مقسمة إلى فئتي KMeans ، مرسومة بالأبعاد 2 التي تميز هاتين الفئتين بشكل أفضل (ميزات V10 و V17 من ميزات PCA المحولة). إن جهازي GAN اللذان لا يستفيدان من معلومات الفئة ، GAN و WGAN ، لهما مخرجاتهما المتولدة كلها كفئة واحدة. تعرض الأبنية الشرطية ، CGAN و WCGAN ، البيانات التي تم إنشاؤها حسب الفئة. في الخطوة 0 ، تُظهر جميع البيانات التي تم إنشاؤها التوزيع الطبيعي للمدخلات العشوائية التي يتم تغذيتها للمولدات.

مقارنة إخراج GAN

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

لا تواجه WGAN انهيار الوضع الذي تظهره معماريات GAN و CGAN. حتى بدون معلومات الفصل ، تبدأ في افتراض التوزيع غير الطبيعي لبيانات الاحتيال الفعلية. تعمل بنية WCGAN بالمثل وهي قادرة على إنشاء فئات منفصلة من البيانات.

يمكننا تقييم مدى واقعية البيانات باستخدام نفس خوارزمية xgboost المستخدمة سابقًا للكشف عن الاحتيال. إنه سريع وقوي ويعمل بدون الحاجة إلى الكثير من الضبط. سنقوم بتدريب مصنف xgboost باستخدام نصف بيانات الاحتيال الفعلية (246 عينة) وعدد متساوٍ من الأمثلة التي تم إنشاؤها بواسطة GAN. ثم سنختبر مصنف xgboost باستخدام النصف الآخر من بيانات الاحتيال الفعلية ومجموعة مختلفة من 246 GAN تم إنشاؤها. ستعطينا هذه الطريقة المتعامدة (بالمعنى التجريبي) بعض المؤشرات على مدى نجاح المولد في إنتاج بيانات واقعية. مع البيانات التي تم إنشاؤها واقعية تمامًا ، يجب أن تحقق خوارزمية xgboost دقة 0.50 (50٪) - وبعبارة أخرى ، فهي ليست أفضل من التخمين.

صحة

يمكننا أن نرى دقة xgboost على البيانات التي تم إنشاؤها في GAN تتناقص في البداية ، ثم تزداد بعد تدريب الخطوة 1000 عندما يتم ضبط انهيار الوضع. تحقق بنية CGAN بيانات أكثر واقعية إلى حد ما بعد 2000 خطوة ، ولكن بعد ذلك يتم تعيين طي الوضع لهذه الشبكة مثل نحن سوف. تحقق معماريات WGAN و WCGAN بيانات أكثر واقعية بشكل أسرع ، وتستمر في التعلم مع تقدم التدريب. لا يبدو أن WCGAN لديها ميزة كبيرة على WGAN ، مما يشير إلى أن هذه الفئات التي تم إنشاؤها قد لا تكون مفيدة لهياكل Wasserstein GAN.

يمكنك معرفة المزيد حول بنية WGAN من هنا وهنا.

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

تقدير المسافة EM

ماذا تعلمنا؟

يمكننا الآن اختبار ما إذا كنا قادرين على إنشاء بيانات احتيال جديدة واقعية بما يكفي لمساعدتنا في اكتشاف بيانات الاحتيال الفعلية. يمكننا استخدام المولد المدرب الذي حقق أقل درجة دقة واستخدامه لتوليد البيانات. بالنسبة لمجموعة التدريب الأساسية الخاصة بنا ، سنستخدم 70٪ من بيانات عدم الاحتيال (199،020 حالة) و 100 حالة من بيانات الاحتيال (حوالي 20٪ من بيانات الاحتيال). ثم سنحاول إضافة كميات مختلفة من بيانات الاحتيال الحقيقية أو التي تم إنشاؤها إلى مجموعة التدريب هذه ، حتى 344 حالة (70٪ من بيانات الاحتيال). بالنسبة لمجموعة الاختبار ، سنستخدم نسبة 30٪ الأخرى من حالات عدم الاحتيال (85295 حالة) وحالات الاحتيال (148 حالة). يمكننا محاولة إضافة البيانات التي تم إنشاؤها من GAN غير المدربة ومن أفضل GAN المدربين لاختبار ما إذا كانت البيانات التي تم إنشاؤها أفضل من الضوضاء العشوائية. من اختباراتنا ، يبدو أن أفضل تصميم لدينا هو WCGAN في خطوة التدريب 4800 ، حيث حقق دقة xgboost بنسبة 70٪ (تذكر ، من الناحية المثالية ، ستكون الدقة 50٪). لذلك سنستخدم هذه البنية لإنشاء بيانات احتيال جديدة.

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

تأثير البيانات الإضافية

إلى ما لا نهاية وما بعدها

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

يمكننا أيضًا تجربة بنى GAN الأخرى. يحتوي DRAGAN على أدلة نظرية وتجريبية تُظهر أنه يتدرب بشكل أسرع وأكثر استقرارًا من شبكات Wasserstein GAN. يمكننا دمج الأساليب التي تستفيد من التعلم شبه الخاضع للإشراف ، والتي أظهرت واعدة في التعلم من مجموعات التدريب المحدودة (انظر "التقنيات المحسنة لتدريب شبكات GAN"). يمكننا تجربة بنية تعطينا نماذج مفهومة من قبل الإنسان ، لذلك قد نتمكن من فهم بنية البيانات بشكل أفضل (انظر InfoGAN).

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

يمكنك العثور على جميع الأكواد ذات الصلة بهذه المقالة في مستودع GitHub هذا.

الموضوعات ذات الصلة: التطبيقات العديدة للنسب المتدرج في TensorFlow