انطلال الصور باستخدام الشبكات العصبية: لا التصوف، فقط ماتان. ostagram: الخدمة العصبية القائمة على الشبكة، تجمع بين الصور والزلي في فنان الفنون العصبية

انطلال الصور باستخدام الشبكات العصبية: لا التصوف، فقط ماتان. ostagram: الخدمة العصبية القائمة على الشبكة، تجمع بين الصور والزلي في فنان الفنون العصبية
انطلال الصور باستخدام الشبكات العصبية: لا التصوف، فقط ماتان. ostagram: الخدمة العصبية القائمة على الشبكة، تجمع بين الصور والزلي في فنان الفنون العصبية

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

إلى الإشارات المرجعية

على الرغم من حقيقة أن أوستاجرام أطلقت في ديسمبر / كانون الأول، بدأ في الحصول بسرعة على شعبية في الشبكات الاجتماعية في منتصف أبريل. في الوقت نفسه، كان هناك أقل من ألف شخص في المشروع في Vkontakte في 19 أبريل.

لاستخدام الخدمة، تحتاج إلى إعداد صورتين: صورة تتم معالجتها، وصورة مع مثال على النمط للتراكب على الصورة الأصلية.

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

إصدارات مدفوعة الأجرت: Premium يعطي صورة تصل إلى 700 بكسل على طول أطول جانب وتطبق على صورة 600 تكرير لمعالجة الشبكة العصبية (المزيد من التكرارات، ومعالجة أكثر إثارة للاهتمام وأكثر كثافة). واحدة من هذه اللقطات ستكون 50 روبل.

في إصدار HD، يمكنك إعداد عدد التكرارات: 100 سيكلف 50 روبل، و 1000 - 250 روبل. في هذه الحالة، ستحصل الصورة على دقة تصل إلى 1200 بكسل على طول أطول جانب، ويمكن استخدامها للطباعة على قماش: يقدم ostagram هذه الخدمة مع التسليم من 1800 روبل.

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

اتصلت TJ بالمدير التجاري للمشروع الذي قدمه أندري. ووفقا له، ظهر ostagram قبل تصغير، لكنه مستوحى من مشروع مماثل يسمى VIPART.

انضم تطوير ostagram في مجموعة من الطلاب من NSTU. alekseeva: بعد الاختبار الأولي على مجموعة ضيقة من الأصدقاء في نهاية عام 2015، قرر المشروع نشر الجمهور. في البداية، كانت معالجة الصور حرة تماما، وكان من المخطط لكسب المال على بيع اللوحات المطبوعة. وفقا ل ANDREI، تحولت الختم إلى أن تكون المشكلة الأكبر: الأشخاص الذين يعالجون المركبات العصبية نادرا ما تبدو لطيفة للعيون البشرية، ويحتاج العميل النهائي إلى تخصيص النتيجة لفترة طويلة قبل التقديم على قماش، والذي يتطلب موارد آلة كبيرة وبعد

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

ومع ذلك، فإن جمهور المشروع حوالي ألف شخص في اليوم، في غضون أيام وصلت إلى 40 ألف شخص على حساب التحولات من وسائل الإعلام الأجنبية التي تمكنت بالفعل من ملاحظة المشروع قبل أن تمكنت المحلي (ostagram حتى في الارتفاع مع DJS الأوروبي) وبعد في الليل، عندما تكون حركة المرور منخفضة، يمكن أن تتم معالجة الصور في 5 دقائق، واليوم لشغل ما يصل إلى ساعة.

إذا كان لدى المستخدمين الأجانب السابقين من الوصول المحدود بوعي إلى معالجة الصور (لبدء النقد للبدء مع روسيا)، فإن ostagram الآن يعتمد بالفعل على الجمهور الغربي.

حتى الآن، فإن احتمالات الاسترداد مشروطة. إذا دفع كل مستخدم مقابل معالجة 10 روبل، فربما يكون الغليان. [...]

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

أندريه، ممثل ostagram

وفقا ل Andrei، يعمل فريق Ostagram على نسخة جديدة من الموقع مع تحيز كبير في الاجتماعية: "سيكون من المشابه لخدمة واحدة معروفة، ولكن ما يجب القيام به." كان المشروع مهتم بالفعل بممثلي Facebook في روسيا، لكن قبل المفاوضات المتعلقة بالبيع لم تصل إلى الخدمة.

أمثلة على الخدمة

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

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


تصور وتفهم الشبكات التنافسية (28 نوفمبر 2013)

بادئ ذي بدء، تجدر الإشارة إلى المقال الذي تمكن فيه المؤلفون من إظهار أن الشبكة العصبية ليست صندوقا سوداء، ولكن شيئا تماما غير قابلة للتفسير (بالمناسبة، يمكن قول اليوم لا يقال فقط عن الشبكات التنافسية للكمبيوتر رؤية). قرر المؤلفون أن يتعلموا كيفية تفسير تنشيط الخلايا العصبية للطبقات الخفية، حيث استخدموا الشبكة العصبية الخفية (DeconVNet) التي اقترحتها عدة سنوات قبل عدة سنوات (بالمناسبة، نفس Zayler و Fergus، والتي هي المؤلفون وهذا النشر). شبكة DeconVolutionary هي في الواقع نفس الشبكة مع التشنجات والمدونات، ولكنها تطبق في ترتيب عكسي. في عملية DeconVnet الأصلية، تم استخدام الشبكة في وضع التدريب دون معلم لتوليد الصور. هذه المرة، قام المؤلفون بتطبيقها ببساطة على الجانب الآخر من العلامات التي تم الحصول عليها بعد المرور المباشر عبر الشبكة، إلى الصورة الأصلية. نتيجة لذلك، اتضح صورة يمكن تفسيرها كإشارة تسببت في هذا التنشيط على الخلايا العصبية. بطبيعة الحال، فإن السؤال ينشأ: كيفية جعل المقطع المعاكس من خلال التناسف وغير الخطانية؟ وخاصة من خلال سحب ماكس، إنها بالتأكيد ليست عملية مقلوبة. النظر في جميع المكونات الثلاثة.

ريلو عكسية.

في الشبكات التنافسية كدالة تنشيط غالبا ما تستخدم relu (x) \u003d MAX (0، x)مما يجعل جميع التنشيط على الطبقة ليست سلبية. وفقا لذلك، عندما يكون الممر من خلال غير الخطاني، من الضروري أيضا الحصول على نتائج سلبية. لهذا، يقدم المؤلفون استخدام نفس relu. من وجهة نظر الهندسة المعمارية الثنائية، من الضروري تجاوز وظيفة التدرج في العملية (جهاز كمبيوتر محمول قيمة بلا حدود في وصفات Lazagan، من هناك، ستتعامل مع تفاصيل ما هو لفئة ModifiedBackProp).

Class zeilerbackprop (modifiedboBrop): defgrs (الذات، المدخلات، Out_Grads): (INP،) \u003d المدخلات (GRD،) \u003d Out_Grads # Return (GRD * (GRD\u003e 0) .astype (INP.DTYPE)،) # تصحيح صراحة إرجاع (Self.NonlineNEarity (GRD)،) # استخدم غير الخطية المعينة

الحفر العكسي

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


قطع مع خطوة \u003d 1

قطع مع خطوة \u003d 1 النسخة العكسية

قطع مع خطوة \u003d 2

قطع مع خطوة \u003d 2 النسخة العكسية

سحب عكسي.

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



نتيجة

خوارزمية التصور بسيطة للغاية:

  1. جعل تمريرة مباشرة.
  2. حدد طبقة الاهتمام لنا.
  3. تأمين تنشيط واحد أو أكثر من الخلايا العصبية وإعادة ضبط الباقي.
  4. جعل الإخراج العكسي.

يتوافق كل ميدان رمادي في الصورة أدناه مع تصور المرشح (الذي يستخدم لالتفاق) أو أوزان الخلايا العصبية واحدة، وكل صورة ملونة هي جزء من الصورة الأصلية التي تنشط الخلايا العصبية المقابلة. من أجل الوضوح، يتم تجميع الخلايا العصبية داخل طبقة واحدة في مجموعات مواضيعية. بشكل عام، كان فجأة أن الشبكة العصبية تتعلم بالضبط ما كتبه Hewubel و Weizel عن هيكل النظام البصري، الذي تم تكريم جائزة نوبل في عام 1981. بفضل هذه المقالة، تلقينا تمثيل مرئي لما تعلم الشبكة العصبية التنافعية على كل طبقة. هذه المعرفة التي ستتيح لك التلاعب بمحتويات الصورة التي تم إنشاؤها لاحقا، ولكن قبل ذلك، مرت السنوات القليلة التالية تحسين طرق "الخيانة" الشبكات العصبية. بالإضافة إلى ذلك، اقترح مؤلفي المقالة طريقة لتحليل كيف يكون من الأفضل بناء بنية شبكة عصبية رفيعة المستوى لتحقيق أفضل النتائج (على الرغم من أن Imagenet 2013 لم يفزوا، لكنهم دخلوا في القمة؛ محدث.: تاكي تبين أن نفز، كلاريفاي هو هم، هم).


التصور fich.


فيما يلي مثال لتصور التنشيط باستخدام DeconVNet، اليوم هذه النتيجة بالفعل، ولكن بعد ذلك كانت طفرة.


خرائط الرافظة باستخدام deconvnet

عميق داخل الشبكات التنافسية: تصور نماذج تصنيف الصور وخرائط Salency (19 أبريل 2014)

تم تخصيص هذه المقالة لدراسة طرق تصور المعرفة المرفقة في شبكة عصبية تشفيلة. يقدم المؤلفون طريقتين للتصور بناء على نزول التدرج.

تصور نموذج الطبقة

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



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


Def Compile_saliency_function_function: "" "" "" "" "" "" "" "" "" "" "" تعويض خرائط الراضحة والفئات المتوقعة للحصول على minibatch المعينة لصور الإدخال. "" InP \u003d NET NET ["الإدخال"]. Input_Var Outp \u003d Lasagne.layers.get_output (Net ["FC8 "]، حتمية \u003d TRUE) MAX_OUTP \u003d T.MAX (Outp، Axis \u003d 1) Saliency \u003d theano.grad (max_outp.sum ()، wrt \u003d inp) max_class \u003d t.argmax (Outp، axis \u003d 1) إرجاع theano. وظيفة ()

ربما رأيت الصور المتدربة الغريبة مع كلاب الكلاب - deepdream. في المقالة الأصلية، يستخدم المؤلفون العملية التالية لإنشاء الصور التي تعظيم الفئة المحددة:

  1. تهيئة الصورة الأولية للأصفار.
  2. احسب قيمة المشتق على هذه الصورة.
  3. تغيير الصورة عن طريق إضافة الصورة الناتجة عن المشتق.
  4. العودة إلى نقطة 2 أو الخروج من الدورة.

يتم الحصول على هذه الصور هذه:




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


الحذر 60 \u200b\u200bميغابايت


لماذا الكثير من الكلاب والعينين؟ كل شيء بسيط: في حالة ما يقرب من 200 كلاب من 1000 فصول، لديهم عيون. وكذلك العديد من الفصول حيث يكون لدى الناس فقط.

استخراج الفئة سالف

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


خرائط الرحلة باستخدام المشتق


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

سلسلة البساطة: الشبكة التنافعية الكل (13 أبريل 2015)

لا تتحدث هذه المقالة بشكل عام عن التصور، ولكن لاستبدال استئصال البله مع سترو كبير لا يؤدي إلى فقدان الجودة. ولكن كمنتج ثانوي لأبحاثهم، قدم المؤلفون طريقة جديدة لتصور الميزة، والتي تقدمواها إلى تحليل أكثر دقة لما تعلم النموذج. فكرتهم هي كما يلي: إذا أخذنا الآن مشتقة، فمن خلال deconvolutions، فإن هذه الميزات التي كانت في صورة الإدخال أقل من الصفر (استخدام إعادة الدوران لصورة الإدخال) لم يعد مرة أخرى أثناء التصفية. وهذا يؤدي إلى حقيقة أن القيم السلبية تظهر في الصورة الخلفية التي تمنع. من ناحية أخرى، إذا كنت تستخدم DeconVNet، فسيتم أخذ Relu آخر من مشتق Relu - إنه يتيح لك عدم تمرير القيم السلبية، ولكن كما رأيت النتيجة، اتضح "هكذا". ولكن ماذا لو تجمع بين هذين الطريقتين؟




class guidedbackprop (modifiedbo brop): def grad (الذات، المدخلات، out_grads): (Inp،) \u003d المدخلات (GRD،) \u003d Out_Grads DTYPE \u003d INP.DTYPE إرجاع (GRD * (INP\u003e 0) .astype (DTYPE) * (GRD) * \u003e 0) .astype (dtype)،)

ثم اتضح صورة نظيفة وغير قابلة للتفسير تماما.


خرائط Saliency باستخدام Backpropagation الموجهة

الذهاب أعمق.

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


دعونا نحاول الاحتفاظ بالتجربة التالية على شبكة VGG-19:



conv1_2.

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




conv3_3.


conv4_3.


conv5_3.


حمام السباحة 5.


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


conv1_1.


conv2_2.


conv4_3.


يمكنك تنزيل قاعدة بيانات تنشيط أكثر اكتمالا لعدة صور و.

خوارزمية عصبية من النمط الفني (2 سبتمبر 2015)

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

فقدان المحتوى.

كما ذكرنا بالفعل، تنتج كل طبقة من الشبكة العصبية موزعة ثلاثية الأبعاد من البعد.




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



بالنسبة للتجارب التي تحتوي على هذه المقالة، يمكن استخدام هذا الكمبيوتر المحمول السحري، تحدث الحسابات هناك (على حد سواء على GPU و CPU). يتم استخدام GPU لحساب ميزة الشبكة العصبية وقيمة وظيفة التكلفة. theano يعطي وظيفة يمكنها حساب التدرج من الوظيفة المستهدفة eval_grad. في صورة الإدخال عاشروبعد ثم يتم تقديم هذا كل شيء في LBFGS ويتم إطلاق العملية التكرارية.


# تهيئة مع صورة الضوضاء image_image.set_value (floatx (np.random.uniform (-128، 128، (1، 3، image_w، image_w)))) x0 \u003d generated_image.get_value (). ASTYPE ("Float64") XS \u003d XS.Append (x0) # تحسين، مما يوفر النتيجة بشكل دوري لأني في النطاق (8): طباعة (I) Scipy.optimize.fmin_l_bfgs_b (Eval_loss، x0.flatten ()، fprime \u003d erm_grad، maxfun \u003d 40) x0 \u003d generated_Image.get_Value (). ASTYPE ("Float64") xs.append (x0)

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


فقدان المحتوى: conv4_2



عملية التحسين




من السهل ملاحظة ملامح الصورة المستلمة:

  • تم فقد الألوان - هذه نتيجة لحقيقة أنه في مثال محدد يستخدم فقط طبقة من CONC4_2 (أو، بمعنى آخر، تم استخدام الوزن معها، وللطبقات الصفرية المتبقية)؛ كما تتذكر، إنها الطبقات المبكرة التي تحتوي على معلومات حول الألوان وتحويلات التدرج، وبعد ذلك تحتوي على معلومات حول العناصر الأكبر التي نلاحظها - يتم فقد الألوان، ولا يوجد محتوى؛
  • بعض المنازل "ذهبت"، أي الخطوط المستقيمة الملتوية قليلا - وهذا لأن الطبقة العميقة، ويتم احتواء معلومات أقل حول الموقف المكاني للميزة (نتيجة استخدام الحزمة والخلافات).

إضافة طبقات مبكرة تصحح على الفور الوضع مع الزهور.


خسارة المحتوى: conv1_1، conv2_1، conv4_2


آمل أن تكون هذه النقطة شعرت أنه يمكنك إدارة ما سيتم منحه على صورة من الضوضاء البيضاء.

فقدان النمط.

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


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




ثم يتم إدخال فقدان نمط على النحو التالي، حيث س. - هذه هي بعض الصور بأسلوب:



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


فينسنت




وماذا لو وضعت صورة بدلا من النمط؟ اتضح بالفعل الميزات المألوفة والألوان المألوفة، ولكن الموقف المكاني ضائع تماما.


الصورة مع فقدان النمط


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




فقدان نمط بسيط

خسارة مجتمعة

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



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


# تحديد خسائر دالة الخسارة \u003d # فقدت خسائر الخسارة المحتوى.Append (0.001 * content_loss (photo_features، gen_features، "conv4_2")) # فقدان النمط خسارة.Append (0.2E6 * style_loss (art_features، gen_features، "conv1_1")) الخسائر. (Art_Features، Gen_Features، "COVER2_1")) LISSESS.APPEND (0.2E6 * Style_Loss (Art_Features، Gen_Features، "CONC3_1")) LISSESS.APPEND (0.2E6 * Style_loss (Art_Features، Gen_Features، "Conv4_1")) الخسائر. 0.2E6 * style_loss (Art_Features، Gen_Features، "CONC5_1")) # إجمالي قيمة عقوبة الاختلاف. إجمالي (0.1E-7 * Total_Variation_loss (Generated_Image)) Total_loss \u003d Sum (الخسائر)

يمكن تمثيل النموذج النهائي في النموذج التالي.




لكن نتيجة المنازل مع فان جوخ.



محاولة للسيطرة على العملية

دعونا نتذكر الأجزاء السابقة، بالفعل قبل عامين من المقال الحالي، التحقيق العلماء الآخرون في ما يتعلمون الشبكة العصبية حقا. مسلح بكل هذه المقالات، يمكنك شفاء تصور ميزات مختلف الأنماط والصور المختلفة والتصاريح والأحجام المختلفة ومحاولة فهم الطبقات التي لها وزنها. ولكن حتى بلاط الطبقات لا تتحكم بالكامل في ما يحدث. المشكلة هنا هي أكثر أهمية: نحن لا نحسن هذه الوظيفة! كيف تسأل؟ الجواب بسيط: هذه الميزة تقلل من المتبقية ... حسنا، أنت تفهم. ولكن ما نريده حقا هو أننا نحب الصورة. مزيج محدب من ميزات المحتوى وفقدان الأنماط ليس مقياسا للحقيقة أن عقلنا يعتبر جميلة. ولوحظ أنه إذا استمرت في الانطلال لفترة طويلة جدا، فإن وظيفة التكلفة تقع بشكل طبيعي أدناه وتحت، ولكن الجمال الجمالي للنتيجة ينخفض \u200b\u200bبشكل حاد.




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


مثال على معالجة اللون وحجم الميزات


ويمكنك أن تأخذ صورة بسيطة كأناقة



النتائج








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

شبكات الملمس: تخليق الأعلاف للأمام من القوام والصور المصممة (10 مارس 2016)

يبدو أن هذا يمكن إيقافه، إن لم يكن فارق واحد. خوارزمية الأنامة الموصوفة أعلاه تعمل لفترة طويلة جدا. إذا كنت تأخذ تحقيقا حيث يبدأ LBFGS في وحدة المعالجة المركزية، فإن العملية تستغرق خمس دقائق. إذا قمت بإعادة كتابة بحيث يذهب كل من التحسين إلى GPU، فسيستغرق العملية 10-15 ثانية. انها ليست جيدة في أي مكان. ربما فكر مؤلفي هذا المقال التالي في نفسه. جاءت كلا المنشورين بشكل مستقل مع الفرق في 17 يوما، بعد عام تقريبا بعد المقال السابق. يشارك مؤلفو المقال الحالي، وكذلك مؤلفي السابق، في جيل القوام (إذا قمت بإعادة تعيين فقدان النمط تقريبا، فسوف ينجح ذلك). عرضوا لتحسين عدم الحصول على صورة تم الحصول عليها من الضوضاء البيضاء، ولكن بعض الشبكة العصبية التي تنشئ صورة منمق.




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



الخسائر الحسي لنقل النمط في الوقت الحقيقي ودقة فائقة (27 مارس 2016)

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




وفقا لذلك، كتلة المتبقية وكتل كاذب.



وهكذا، لدينا الآن في يديك بالإضافة إلى التحكم في التسليم هناك أيضا مولد سريع (بفضل هذه المقالتين، يتم قياس وقت توليد صورة واحدة مع عشرات MS).

تنتهي

المعلومات الواردة من المقالات التي تعتبر وكود المؤلفين كنا نقطة انطلاق لإنشاء تطبيق آخر لتصميم أول تطبيق أسطايل للفيديو:



توليد شيء من هذا القبيل.


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

يحدث ذلك تقريبا: تقوم الخوارزمية بتحليل الصور، وتجد شظايا تذكره بأي كائنات مألوفة - وتشويه الصورة وفقا لهذه البيانات.

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

كيف تتعلم الشبكات العصبية إنشاء هذه الصور؟ ولماذا، بالمناسبة، ما يسمى؟

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

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

    اللعب مع نموذج مبسط للشبكة العصبية ومن الأفضل فهم مبادئه.

    يحتوي YouTube أيضا على سلسلة من اليد المخصصة بكرات حول كيفية عمل الشبكات العصبية.

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

على ما يبدو، الجزء الخوارزمي من الخدمة هو تعديل برنامج النمط العصبي، الذي نحن فيه بالفعل.

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

علاوة على ذلك، فإن التلوين هنا يستغرق حوالي دقيقة واحدة فقط.

كما أطلقت شركة التطوير نفسها خدمة تعترف بأنواع مختلفة من الكائنات في الصور.

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

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