في
المقالة السابقة ، باستخدام مثال نماذج الألعاب ، حاولت تحليل لماذا ، في الواقع ، نحن قادرون على تدريب شبكات GAN بشكل فعال. سنحاول الآن تلخيص بعض النتائج ، والأهم من ذلك ، محاولة تحليل كيف تؤثر بنية الشبكات العصبية على استقرار عملية التعلم.
مقدمة
يمكنك إلقاء نظرة على عملية تعلم GAN كعملية لتقليل الحد الأدنى للتباعد أو كنظام ديناميكي يتكون من أداة تمييز ومولد. تم تطوير النهج الأول بشكل جيد للغاية ، إذا تمكن أي شخص مهتم من العثور على الكثير من الأعمال المثيرة للاهتمام حول هذا الموضوع ،
فسأقدم فقط الأكثر أهمية في رأيي:
f-GAN ،
WGAN . من ناحية أخرى ،
أوضحت Numerics of GANs ، Lars Mescheder et al ، 2017 أنه لا يمكن للمرء أن ينظر إلى GAN فقط من موقع يقلل من الاختلاف (على الرغم من أن هذا هو الهدف الرئيسي) ، ولكن لا يزال من الضروري مراعاة خصائص النظام الديناميكي. هدفنا هو الجمع بين هذين النهجين ومعرفة الخصائص النظرية التي ستتمتع بها مسارات هذا النظام الديناميكي.
بعد ذلك ، سننظر في شكل عام إلى حد ما من وظائف GAN (هدف GAN).
I( theta، phi)= intpd(x)fD(D theta(x))dx + intp( epsilon)fG(D theta(G phi( epsilon))d epsilon
حيث
theta - المعلمات التمييز ،
phi - المعلمات مولد. ونفترض أيضًا أن المولد والمميز هما وظيفتان مختلفتان.
يمكن صياغة عملية التعلم رياضيا على النحو التالي:
\ underset {\ phi} {min} \ {\ underset {\ theta} {max} I (\ theta، \ phi) \}
\ underset {\ phi} {min} \ {\ underset {\ theta} {max} I (\ theta، \ phi) \}
نقطة الراحة
على الرغم من الكم الهائل من العمل على GAN ، تظل مسألة وجود نقطة هادئة مفتوحة. الآن سنحاول الإجابة على هذا السؤال.
لنفترض (
الافتراض 1 ) أنه يوجد في أي مولد زيادة في التمييز
I( theta، phi)
أي وظيفة
\ theta_ {opt} = \ underset {\ theta} {argmax} \ {I (\ theta، \ phi) \}
\ theta_ {opt} = \ underset {\ theta} {argmax} \ {I (\ theta، \ phi) \}
المعرفة لأية قيم
phi . على الرغم من أن هذا ممكن وغامض - فهناك العديد من أدوات التمييز الأمثل المختلفة. سوف نسمي المجموعة الكاملة لمثل هؤلاء المتميزين المثاليين "reparametrization" والمجموعة
\ {\ theta_ {opt} \}\ {\ theta_ {opt} \} مجموعة من reparametrization التمييز. دعنا نقدم توضيحًا بسيطًا - لا نعني بحد أقصى عالمي فحسب ، بل يعني الحد الأقصى المحلي أيضًا.
رياضيا
thetaopt يحددها نظام المعادلات:
nabla thetaI( thetaopt، phi)=0
nabla theta2I( theta، phi) preceq0
على الرغم من كون المولد والمميز شبكات عصبية ، وقمنا بتدريب مولد الصورة ، إلا أن هذا الافتراض لم يتحقق. في المقالات التالية ، سأوضح كيف يمكن تحقيق ذلك بمساعدة منظم بسيط ، لكن حتى الآن يجب أن أصدق ذلك.
الافتراض الثاني (
الافتراض 2 ) هو أنه لأي تغيير طفيف في معلمات المولد ، يوجد تمييز مثالي قريب بشكل لا نهائي من المتغير الحالي. يمكنك محاولة معرفة متى يتم ذلك بالنسبة للشبكات العصبية ، لكن يبدو لي أن هذا مطلب حدسي وباحتمال كبير يتم تحقيقه لشبكات مرنة إلى حد ما.
رياضيا ، يمكن صياغة هذا الشرط على النحو التالي: نظام المعادلات
nabla theta2I( thetaopt، phi)d theta=− nabla theta phiI( thetaopt، phi)d phi\؛\؛ ؛ ؛(1)دولا
لديه قرارات
d theta في اي
d phi .
يتم الحصول على هذا الشرط بسهولة من التحلل
nabla thetaI( thetaopt، phi)=0 في صف واحد من تايلور.
الآن نظهر أنه ، في ظل
الافتراض 2 ، تدرج المولد
nabla phiI( thetaopt، phi) لا يتغير إذا تحركنا على طول مجموعة reparametrization التمييز. التحرك على طول مجموعة إعادة التأهيل يعني رياضيا ذلك
دلتا theta ينتمي إلى جوهر
nabla theta2I( theta، phi) أي:
nabla thetaI( thetaopt، phi)= nabla thetaI( thetaopt+d thetaopt، phi)=0
دعنا نتوسع في سلسلة تايلور:
nabla phiI( thetaopt+d thetaopt، phi)= nabla phiI( thetaopt، phi)+ nabla phi thetaI( theta، phi)d thetaopt
من أين ، بحيث لا يتغير التدرج ، فمن الضروري أن
d thetaopt ينتمي إلى النواة
nabla phi thetaI( theta، phi) . لكن إذا
d thetaopt ينتمي إلى جوهر
nabla theta2I( theta، phi) و (1) يحمل ، ثم
d thetaopt ينتمي إلى جوهر
nabla phi thetaI( theta، phi) . هذا سهل العرض بضرب (1) في
d thetaopt والنظر في ذلك
d phi يمكن أن يكون أي:
d thetaTopt nabla theta2I( thetaopt، phi)d theta=−d thetaTopt nabla theta phiI( thetaopt، phi)d phi=0
لقد أثبتنا فقط حقيقة رائعة أن التدرج
\ nabla_ \ phi \ underset {\ theta} {max} \ {I (\ theta، \ phi) \} بغض النظر عن واحد الذي تم اختياره
theta من مجموعة reparametrization من التمييز ، وهو ما يعني
underset thetamaxI( theta، phi) هي وظيفة مختلفة من
phi ويمكننا تقليله باستخدام طرق تحسين التدرج.
ماذا يمكن أن يقال عن الحد الأدنى لهذه الوظيفة؟ لسوء الحظ ، لا يمكن استخلاص استنتاجات عامة حتى الآن. علينا أن نفترض افتراضًا آخر (
الافتراض 3 ) حول خصائص المُميِّز ، ألا وهو:
underset thetamaxI( theta، phi) geq0 . من تحليل mat ، نعلم أن الوظيفة المستمرة المحددة أدناه إما تصل إلى الحد الأدنى لقيمةها ، أو أن هناك تسلسلات متناقصة من النقاط رتابة (أي ، تصل الدالة إلى الحد الأدنى عند اللانهاية).
يفترض الافتراض 3 أنه بغض النظر عن النقطة التي بدأنا فيها بتدريب المُميِّز (تهيئة الشبكة العصبية) ، فإن المُميِّز الأمثل يحدد دائمًا قيمة (أو مساوية) أعلى (في المتوسط) للبيانات من العينات من المولد ولا يمكن أن يكون أي مُمْيزِر يفعل العكس هو الأمثل. في رأيي ، هذا الافتراض منطقي جدًا ويجب أن تفي به الشبكات العصبية المرنة بالقدر الكافي. بالمناسبة ، من السهل أن نبيّن أن المُميِّز الخطي يفي بهذا الافتراض.
"المسار الأمثل"
لقد توصلنا للتو إلى أنه في حالة ما إذا كان المُميِّز يفي بالافتراضات "اللينة" بما فيه الكفاية ، فإما أن تكون نقطة الراحة موجودة أو تقع عند اللانهاية ويمكننا أن نتناولها بطريقة غير متناظرة.
للقيام بذلك ، افترض ذلك
theta و
phi المعلمات الحالية ، ويتم تدريب التمييز على التقارب. الآن نغير المولد قليلاً (
phik+1= phik+d phi ) لذلك
\ underset {\ theta} {argmax} \ {I (\ theta، \ phi) \} النقصان - على سبيل المثال ، نأخذ خطوة واحدة من أصل التدرج. كيف ينبغي لنا تحديث التمييز؟ يتم إعطاء الجواب بواسطة الصيغة (1):
d theta=− nabla theta2I( theta، phi) dagger nabla theta phiI( theta، phi)d phi\؛\؛\؛\؛(2)دولا
حيث
nabla theta2I( theta، phi) dagger هي مصفوفة شبه مزيفة.
لكي تكون صارمة من الناحية الرياضية ، تحدد الصيغة (2) المستوى الزائد للماوس على السطح في حيز المعلمة الذي "يعيش" فيه المُميِّزون الأمثلون. سوف نسمي هذا السطح "الأمثل".
ولكن ماذا سيحدث إذا بدأنا من نقطة قريبة جدًا ، ولكن لا يزال هناك تمييز في هذا المجال. من الواضح أن صيغتنا تصف مسارات لا يمكن التنبؤ بها تمامًا ، لأن تم الحصول عليها فقط للتمييز الأمثل. دعنا نحاول إصلاح هذا الموقف. في هذه الحالة ، سيكون من المنطقي التحرك ليس فقط بالتوازي مع السطح "الأمثل" ، ولكن أيضًا تجاهه. من الواضح أن خطوة في الاتجاه المشار إليها بواسطة طريقة نيوتن مناسبة تمامًا لهذا الغرض. ستبدو صيغتنا النهائية كما يلي:
d theta=− nabla theta2I( theta، phi) dagger[ nabla thetaI( theta، phi)+ nabla theta phiI( theta، phi)d phi]\؛\؛\؛\؛(3)دولا
ماذا فعلنا للتو؟ أولاً ، لاحظ أنه على سطح مثالي
nabla thetaI( theta، phi)=0 ، أي لو لو
theta كان المتدرب مدرب على التقارب ، ثم لم نغير المسار. من ناحية أخرى ، إذا بدأنا في مكان ما بالقرب من النقطة "المثالية" ، فإن المصطلح الإضافي "سوف يجذبنا" إلى المسار "الأمثل". وهذا يعني أننا صنعنا المسار "الأمثل" المقاوم للضوضاء.
لسوء الحظ ، لا يمكنني إثبات ذلك رياضيا. لكننا لسنا بحاجة إليها. دعنا نلقي نظرة فاحصة على الصيغة (3) ، يمكن إعادة كتابتها في النموذج:
d theta=− nabla theta2I( theta، phi) dagger nabla thetaI( theta، phi+d phi)
لا يشبه أي شيء؟ يبدو تقريبا مثل طريقة نيوتن. هذا يشير إلى أن تبديل (في الأدب باللغة الإنجليزية يستخدم بالتناوب) التحديثات من المعلمات مولد ومميز ، حيث يتم تحديث التمييز من خلال طريقة نيوتن (في الواقع ، نحن لسنا بحاجة لاتخاذ خطوة نيوتن كاملة ، ولكن يمكننا اتخاذ خطوة صغيرة في الاتجاه المشار إليه بواسطة طريقة نيوتن) ، والمولد ، بشكل عام ، يمكن أن يتخذ خطوة في أي اتجاه ، الشيء الرئيسي هو الانخفاض
\ underset {\ theta} {argmax} \ {I (\ theta، \ phi) \} هو تقريب جيد للحركة على طول المسار الأمثل.
بالمناسبة ، ربما هذا هو المكان الذي يكمن فيه نجاح آدم في تدريب GAN. بعد كل شيء ، من المعروف أن آدم يحاول تقريب هيسيان ويستخدم هذه المعلومات لخطوة التدرج (تقريب طريقة نيوتن).
استقرار المسار
لتحليل استقرار المسارات ، سوف نستخدم الأدوات نفسها التي استخدمها الرجال في
ما هي أساليب التدريب الخاصة بشبكات GAN التي تتلاقى بالفعل؟ . كل من لديه الوقت ، أنصحك بأن تفهم هذا العمل جيدًا ، إنه يستحق كل هذا العناء.
أعتقد أن العيب الرئيسي لهذه المقالة هو أن المؤلفين يحللون استقرار النظام عند نقطة الراحة ، والتي ببساطة لا وجود لها لمعظم شبكات GAN الحقيقية (على سبيل المثال لعبة ثنائية أو ثلاثية الأبعاد ، هذا ممكن بالطبع). أقصد ، بشكل عام ، عدم وجود نقطة استراحة ، والنقطة التي يكون للمولد بها نفس التوزيع مثل البيانات ، والمميّز مماثل لـ 0. لذلك ، لن نقوم بتحليل استقرار النظام في نقطة الاستراحة ، فسوف نذهب إلى طريقة مختلفة بعض الشيء - سنحاول تحليل ثبات مسارات النظام . على الرغم من أن هذا التحليل يمكن نقله بسهولة إلى نقطة الراحة ، فإن نقطة الراحة هي أيضًا مسار.
كما مسارات درست ، نختار المسارات التي تم الحصول عليها أثناء التدريب من خلال النسب التدرج. لماذا هذا مهم؟ أولاً ، اكتشفنا المسار "الأمثل" ووجدنا أنه يمكن تقريبه جيدًا من خلال تحديثات التمييز في الاتجاه الذي تشير إليه طريقة نيوتن. طريقة نيوتن هي الطريقة الأكثر تدرجًا التي تستخدم المعلومات من المشتقات الثانية لضبط الاتجاه. لكن السبب الرئيسي وراء قيامنا بذلك بسيط للغاية - لأننا نستطيع ذلك. أي انحراف عن هذا يؤدي إلى صيغ مجنونة بحيث أنه من المستحيل ببساطة فهم أي شيء هناك.
الطريقة القياسية لتحليل استقرار المسارات هي تحليل النماذج الخطية. على غرار مؤلفي
أي أساليب تدريب لشبكات GAN تتقارب فعلاً؟ سنستكشف مسارات جاكوبي:
A = \ تبدأ {bmatrix} \ nabla_ \ theta ^ 2 I (\ theta، \ phi) & \ nabla _ {\ theta \ phi} ^ 2 I (\ theta، \ phi) \\ - \ nabla _ {\ theta \ phi} ^ 2 I (\ theta، \ phi) ^ T & - \ nabla_ \ phi ^ 2 I (\ theta، \ phi) \ end {bmatrix}
J=I+ etaA
حيث
I هي مصفوفة الهوية.
نحن نفترض أن المُميِّز ، على الرغم من أنه غير مثالي ، قريب بما فيه الكفاية من المُميّز الواجب تنفيذه
nabla theta2I( theta، phi) preceq0 . وأيضًا أن المُنظِّم (سبق أن ذكرت أنه في GAN الحقيقي ، لا يوجد لدى المُميِّز نقطة مثالية وأننا يجب أن ننشئ هذه النقطة بمساعدة المُنظِّم) ليس حسودًا للمولد. سوف أتقدم قليلاً - يعتمد أفضل منظم نجده في الممارسة العملية ، لكن بالنسبة إلى دراساتنا النظرية فإن هذا الافتراض لا يحدنا كثيرًا.
لما يلي ، نحتاج إلى حقيقة أولية واحدة حول المصفوفات: إذا
nabla theta2I( theta، phi) preceq0 و
nabla phi2I( theta، phi) succeq0 ، ثم هناك
eta>0 ما هي القاعدة الطيفية للمصفوفة
J سيكون أقل من أو يساوي 1.
البرهان أساسي - نكتب
JTJ :
JTJ=[I+ etaA]T[I+ etaA]=I+ eta[A+AT+ eta(ATA)]
ولكن:
A + A ^ T = \ تبدأ {bmatrix} 2 \ nabla_ \ theta ^ 2 I (\ theta، \ phi) & 0 \\ 0 & -2 \ nabla_ \ phi ^ 2 I (\ theta، \ phi) \ end {bmatrix}
وبالتالي ، بسبب استمرارية القيم الذاتية ، من الواضح أنه يمكن للمرء اختيار ذلك
eta>0 أن القيم الذاتية
JTJ سيكون أقل من أو يساوي 1. من هذا يتبع حقيقة أننا بحاجة إلى ذلك
اليسار |J اليمين | leqslant1دولا .
نحن نعرف ذلك في مسارنا
nabla theta2I( theta، phi) preceq0 يؤديها (لأن المسار هو "الأمثل") وإذا كان هناك
nabla phi2I( theta، phi) succeq0 عندها يكون أي مسار (بما في ذلك نقطة التوازن) مستقرًا - أي بانحراف بسيط عن المسار ، يميل النظام إلى العودة إليه. هذا واضح لأن أي مسار منفصل يمكن تمثيله كمنتج لليعاقبة ، ولا يمكن أن يكون لمنتج المصفوفات ذات القاعدة الأقل من أو يساوي 1 معيارًا أكبر من 1.
ولكن هناك حقائق كثيرة تقول إن هذا ليس هو الحال دائمًا بالنسبة إلى GAN. مثال صارخ هو وضع الانهيار ، والذي ، علاوة على ذلك ، لا يحدث دائمًا وليس لجميع الموديلات. أنا أزعم أن تعقيد تدريب GAN يرتبط بحالتين: لا يوجد أي تمييز مثالي (يعامل من قبل منظم) ولا يعقوبي المولد مصفوفة محددة غير سلبية. سنحاول الآن فهم كيفية التخلص من المشكلة الثانية ، إن لم يكن التخلص منها تمامًا ، على الأقل تقليل تأثيرها على الاستدامة.
للقيام بذلك ، نكتب يعقوبي المولد. سيتكون من ثلاثة مكونات:
J1= intp( epsilon)f″G(D theta(G phi( epsilon))))[ nabla phiG phi( epsilon) nablaxD theta(G phi( epsilon))][ nabla phiG phi( epsilon) nablaxD theta(G phi( epsilon))]Td epsilon
J2= intp( epsilon)f′G(D theta(G phi( epsilon))) nabla phi2G phi( epsilon) nablaxD theta(G phi( epsilon))d epsilon
J3= intp( epsilon)f′G(D theta(G phi( epsilon))) nabla phiG phi( epsilon)T nabla2xD theta(G phi( epsilon)) nabla phiG phi( epsilon)d epsilon
نظرًا لأن التعبيرات الخاصة بجاكوبيان معقدة للغاية ومن المستحيل رؤية أي نوع من الهياكل ، فكل أعمالنا تهدف إلى ضمان أن تكون هذه المصفوفات قريبة من الصفر قدر الإمكان.
J1 يمكن ملاحظة أن هذا المصطلح سهل للغاية لإعادة التعيين - ما عليك سوى اختيار الوظيفة
fG مثل هذا
f″G(x)=0 أو بحيث تكون "نقطة التشغيل" في المنطقة حيث يقترب المشتق الثاني من 0. بالمناسبة ، فإن اختيار الوظيفة
f″G(x)=0 يتوافق مع WGAN. هل شبكة WGAN معروفة باستقرارها؟
لا يمكن أن يتأثر المصطلحان الآخران إلا بهيكل الشبكات العصبية. على سبيل المثال ، يتم إبطالها في حالة المولد الخطي والتمييز (المشتقات الثانية هي صفر). بالمناسبة ، يتبادر إلى الذهن تنشيط RLU - لسوء الحظ ، لا ينطبق هذا التحليل على مثل هذه الشبكات ، لأن انتهاك التباين قد انتهك. ولكن من الناحية العملية ، من المعروف أن شبكات GAN المزودة بشبكات عصبية ذات عمليات تنشيط خطية يتم تدريبها أكثر ثباتًا من الظلال الزائدية ، على سبيل المثال. ما إذا كان هذا بسبب جاكوبيان أم أن هناك سببًا آخر أكثر أهمية لا يزال يتعين تخمينه ، لكن في المستقبل أخطط للتحقيق في هذه المسألة قليلاً.
يمكننا أيضًا أن نستنتج أن GAN "تفضل" الشبكات الواسعة. في الواقع ، نحن نعلم أن شبكات GAN ذات الشبكات العميقة تنهار في أغلب الأحيان.
استنتاج
في هذا المقال ، حاولت أن أجيب على الأسئلة الطويلة في نظرية GAN. لقد رأيت أنت وأنت من أجل وجود نقطة راحة ، يكفي أن يمتلك المُميِّز خصائص بسيطة إلى حد ما. لقد رأينا أيضًا أن التفسير الاحتمالي (التقليل من الاختلاف) لشبكة GAN له كل الحقوق في الحياة وأنه باستخدام خوارزمية بسيطة إلى حد ما يمكننا تقريب المسارات "المثلى". وأيضًا أن خوارزمية آدم تقوم بذلك بالفعل ومن الناحية النظرية ، ينبغي أن تستقر تدريب GAN ، وهو ما لوحظ في العديد من الأعمال.
ومع ذلك ، هذا أمر مهم للغاية ، فقد رأينا أن التوصيات التجريبية لاختيار بنية الشبكات العصبية ووظائف الفقد تتوافق تمامًا مع النظرية. والأهم من ذلك ، يتم تدريب جميع المشاكل في التعلم بسبب اللاخطية - النماذج الخطية بشكل مستقر للغاية.
ما تبقى من المقال؟ الممارسة. في المقالة التالية ، سوف أصف المنظم الذي أستخدمه لتوفير نقطة استراحة للمميز ومجموعة من الحيل لتحسين استقرار عملية تعلم GAN (بالمناسبة ، يحفز البعض منهم بواسطة هذا التحليل).
وكمثال على ذلك ، تم تدريب شبكة عميقة (50 طبقة من المولد و 50 طبقة من المميِّز) على مجموعة بيانات غرفة نوم LSUN (فقط 100 ألف تكرار ولم نستخدم معدل المولد)