مخطط تزييف واستعادة وفحص الثمار في البستنة. مقتطف من الكتاب

صورة

مرحبا ، هابروجيتلي! حتى الآن ، مثل هذا الوضع خارج النافذة ، قررنا مشاركة مقتطف مثير للاهتمام من كتابنا Generative Deep Learning. الإمكانات الإبداعية للشبكات العصبية "بقلم ديفيد فوستر.

تفاح وبرتقال


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

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

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

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

بعد أيام وأسابيع عديدة من هذه اللعبة السخيفة ، لاحظوا حدوث شيء مذهل. لم يعد العملاء يميزون بين الفاكهة الحقيقية والمزيفة. في التين. 5.3 يوضح كيف تبدو الثمار بعد التزوير والترميم ، وكذلك بعد الاختبار.

صورة

صورة

CycleGAN


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

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

صورة

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

شبكة CycleGAN الأولى


تم استعارة معظم التعليمات البرمجية التالية من مستودع Keras-GAN (http://bit.ly/2Za68J2) ، الذي يحتفظ به Erik Linder-Norén. يحتوي هذا المورد الرائع على العديد من الأمثلة على الشبكات التنافسية التنافسية من كتب مختلفة تم تنفيذها مع Keras.

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

bash ./scripts/download_cyclegan_data.sh apple2orange

في مجموعة الصور التي تم تنزيلها من التفاح والبرتقال ، والتي سنستخدمها لاحقًا ، يتم تقسيم البيانات إلى أربعة مجلدات: trainA و testA يحتويان على صور التفاح ، ويحتوي trainB و testB على صور البرتقال. أي أن A يمثل مساحة صور التفاح ، و B يمثل مساحة صور البرتقال. هدفنا هو تدريب النموذج على مجموعات البيانات في مجلدات القطار لتحويل الصور من المجموعة أ إلى المجموعة ب ، والعكس صحيح. الصور في مجلدات الاختبار التي نستخدمها لاختبار جودة النموذج.

»يمكن العثور على مزيد من المعلومات حول الكتاب على موقع الناشر على الإنترنت
» المحتويات
» مقتطفات

All Articles