توليد صور من النص باستخدام AttnGAN

مرحبا يا هبر! أقدم لكم ترجمة مقالة " AttnGAN: نص دقيق الحبيبات لتوليد الصور مع شبكات الخصومة التوليدية المتعمدة" بقلم تاو شو ، وبنغتشوان زانغ ، وكيويوان هوانغ ، وهان زانغ ، وزهي جان ، وشياولي هوانغ ، وشياودونغ هي.

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

وصف العمارة


بالنسبة لأولئك الذين ليسوا على دراية بـ AttnGAN و GAN الكلاسيكي ، سأصف باختصار الجوهر. يتكون Classic GAN من شبكتين عصبيتين على الأقل - مولد ومميز. تتمثل مهمة المولد في إنشاء بعض البيانات (الصور والنص والصوت والفيديو وما إلى ذلك) التي "تشبه" البيانات الحقيقية من مجموعة البيانات. مهمة المميّز هي تقييم البيانات الناتجة ، محاولة مقارنتها بالبيانات الحقيقية ورفضها. إن النتيجة المرفوضة من عمل المولد تحفزه على تحقيق أفضل نتيجة من أجل "خداع" المتميز ، والذي بدوره يتعلم التعرف بشكل أفضل على المنتجات المزيفة.

هناك العديد من التعديلات على GAN ، وقد تناول مؤلفو AttnGAN مسألة الهندسة المعمارية بطريقة مبتكرة. يتكون النموذج من 9 شبكات عصبية يتم ضبطها بدقة للتفاعل. يبدو شيء مثل هذا:



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

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

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

تدريب


لاختبار الهندسة المعمارية ، استخدمت مجموعة بيانات CUB القياسية مع الصور والأوصاف النصية للطيور.

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



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

يتم تدريب DAMSM دون أي مشاكل ، ووقت التدريب على مجموعة البيانات هذه هو 150-200 حقبة ، والتي تتوافق مع عدة ساعات على وحدة معالجة رسومات عالية الطاقة.

المرحلة الثانية والرئيسية هي تدريب المولد باستخدام نموذج DAMSM.
يقوم المولد عند كل مستوى بإنشاء صورة ذات دقة أعلى - يبدو كما يلي:



يستغرق تدريب المولدات وقتًا أطول وليس دائمًا مستقرًا للغاية ، ووقت التدريب الموصى به على مجموعة البيانات هذه هو 300-600 حقبة ، والتي تقابل حوالي 4-8 أيام على وحدة معالجة رسومات عالية الطاقة.

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

النتائج


الآن الجزء الممتع. باستخدام النموذج المدرب ، سنحاول إنشاء صور ، وسنبدأ بجمل بسيطة:



لنجرب أوصافًا أكثر تعقيدًا:



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

لكل وصف نصي ، يمكنك إنشاء العديد من خيارات الصورة (بما في ذلك الخيارات غير الواقعية) ، لذلك سيكون هناك دائمًا الكثير للاختيار من بينها.

التفاصيل الفنية


في هذا العمل ، استخدمت وحدة معالجة رسومات منخفضة الطاقة للنماذج الأولية وخادم Google Cloud مع تثبيت Tesla K80 أثناء مرحلة التدريب.

تم أخذ شفرة المصدر من مستودع مؤلفي المقالة وخضع لإعادة هيكلة خطيرة. تم اختبار النظام في Python 3.6 مع Pytorch 0.4.1

شكرا لكم على اهتمامكم!

المقال الأصلي: AttnGAN: نص دقيق الحبيبات لتوليد الصور مع شبكات الخصومة التوليدية المتعمدة ، 2018 - Tao Xu ، Pengchuan Zhang ، Qiuyuan Huang ، Han Zhang ، Zhe Gan ، Xiaolei Huang ، Xiaodong He.

Source: https://habr.com/ru/post/ar424957/


All Articles