تخطّي إلى المحتوى
Kudos AI

الخطوة، وحافة الاستقرار

ما الذي تصغّره خطوة التدرّج، ولماذا يكون تدرّج الدفعة الصغيرة هو التدرّج الكامل زائد ضجيج لا تدرّجًا آخر، وحجم الخطوة الذي فوقه يتوقف الانحدار عن الانحدار.

متوسّطالوحدة 125 دقيقة · 100 XP
سطح خسارة باتجاهَي انحنائه مرسومَين سهمَين، وخطوةُ تدرّج تقبض الخطأ على امتداد كل منهما بعامل ‎1 − ηλ‎، والتنفيذ نفسه عند ‎0.99‎ و‎1.01‎ من ‎2/L‎ - أحدهما يستقر والآخر يُقذف خارج الإطار.

كل نموذج في هذا الموقع يُلاءم بالطريقة نفسها. الانحدار الخطي، والانحدار اللوجستي، والشبكة العصبية، والمحوّل: كلٌّ منها يكتب رقمًا يقول كم هو مخطئ الآن، ويسأل في أي اتجاه ينزل هذا الرقم، ثم يتحرّك. النموذج يتغيّر؛ أما الحلقة فلا.

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

ما الذي تصغّره الحلقة

يصغّر التدريبُ الخطر التجريبي - أي متوسط الخسارة على البيانات المتاحة:

f(w)  =  1n∑i=1nℓ ⁣(w;xi,yi).f(w) \;=\; \frac{1}{n}\sum_{i=1}^{n} \ell\!\left(w; x_i, y_i\right).

وأمثلة هذا المسار كلها تستعمل مسألة مربعات صغرى بـn=400n = 400 نقطة ووسيطين، لأن كل شيء فيها يُحسب بالضبط ويُقارن بما تدّعيه النظرية. خسارتها f(w)=1n∥Xw−y∥2f(w) = \frac{1}{n}\lVert Xw - y\rVert^2، ومصغّرها w⋆=(1.973613,−2.947388)w^\star = (1.973613, -2.947388)، والخسارة عنده f⋆=0.233943f^\star = 0.233943. ومعرفة الجواب سلفًا هي المقصد: فهي تحيل كل دعوى أدناه قياسًا.

تدرّج الدفعة الصغيرة هو التدرّج الكامل زائد ضجيج

حساب ∇f(w)\nabla f(w) يعني لمس الأمثلة nn كلها. أما الدفعة الصغيرة ذات الحجم BB فتلمس BB منها وتأخذ متوسطها:

gB(w)  =  1B∑i∈B∇ℓ(w;xi,yi).g_B(w) \;=\; \frac{1}{B}\sum_{i \in \mathcal{B}} \nabla \ell(w; x_i, y_i).

ولأن B\mathcal{B} عيّنة منتظمة، فإن E[gB(w)]=∇f(w)\mathbb{E}[g_B(w)] = \nabla f(w) بالضبط. ويستحق هذا عنايةً في الصياغة، لأن الاعتقاد البديل - أن الدفعة الصغيرة تشير إلى وجهة مختلفة منهجيًا - يقود إلى استنتاجات خاطئة عن حجم الدفعة.

عند نقطة الأصل w=(0,0)w = (0, 0) يساوي التدرّج الكامل ‎(−3.416495, 0.179597)‎. ومتوسط 20٬000 دفعة صغيرة مستقلة عند النقطة نفسها يعطي:

حجم الدفعة BBخطأ المتوسطالحجم المعتاد للضجيج
80.0321.4382
320.0120.7052
1280.0020.3027

العمود الأول يتقلّص نحو الصفر لأنه بقيّة مونت كارلو في المتوسط لا تحيّز. أما العمود الثاني فهو الحكاية الحقيقية: ستة عشر ضعف الدفعة يشتري 1.4382/0.3027=4.751.4382 / 0.3027 = 4.75 ضعف الدقة، قريبًا من 16=4\sqrt{16} = 4 الذي يتنبأ به متوسط سحبات مستقلة. والزيادة البالغة 19٪ فوق 4 ليست ضجيجًا: فهذه الدفعات تُسحب بغير إرجاع من ‎n=400n = 400‎ نقطة فحسب، وعامل المجتمع المنتهي ‎(n−B)/(n−1)(n - B)/(n - 1)‎ يقلّص دفعةً من 128 أكثر بكثير من دفعةٍ من 8. وذلك يتنبأ بـ‎4392/272=4.804\sqrt{392/272} = 4.80‎، أما السحب بإرجاع، وهو المستقلّ حقًا، فيعطي 3.89 بدلًا من ذلك. وهذا التبادل هو سبب استعمال التدريبات دفعاتٍ صغيرة وخطواتٍ كثيرة بدل العكس. فالحساب يشتري الدقة بالجذر، ويشتري الخطوات خطيًا.

العامل ‎(1 − ηλ)‎

وأما الخطوة نفسها: قرب الصغرى تشبه الخسارة وعاءً تربيعيًا، وشكل ذلك الوعاء هو الهسّيان HH. اكتب الخطأ et=wt−w⋆e_t = w_t - w^\star؛ فخطوة تدرّج بمعدّل η\eta تعطي

et+1  =  (I−ηH) et.e_{t+1} \;=\; (I - \eta H)\, e_t .

حلّل ete_t على متجهات HH الذاتية. فكل مركّبة تُضرب ببساطة في 1−ηλ1 - \eta\lambda، حيث λ\lambda انحناء ذلك الاتجاه، والاتجاهات لا تتفاعل البتة. فالخطوة الواحدة ليست حركةً واحدة؛ بل هي من الانكماشات المستقلة بعددِ اتجاهات الانحناء، كلٌّ بمعدّله.

ولا تنكمش المركّبة إلا حين ∣1−ηλ∣<1\lvert 1 - \eta\lambda \rvert < 1، أي بالضبط η<2/λ\eta < 2/\lambda. وكل اتجاه يجب أن ينكمش، فالقيد الحاكم هو أشدّها:

η  <  2L,L=λmax⁡(H).\eta \;<\; \frac{2}{L}, \qquad L = \lambda_{\max}(H).

الجرف، مقيسًا

في هذه المسألة L=1.760627L = 1.760627، فالعتبة 2/L=1.1359592/L = 1.135959. تنفيذان من نقطة البدء نفسها، مئتا خطوة لكلٍّ منهما:

حجم الخطوةكمضاعف لـ‎2/L‎الخسارة بعد 200 خطوة
1.1246000.990.236592
1.1473191.0123585.65

تغيّرٌ بنسبة اثنين في المئة في الخطوة يفصل تنفيذًا متقاربًا عن آخر يبعد خمس مراتب عشرية. وليس هذا تدهورًا لطيفًا بمنطقة رمادية في الوسط؛ بل هو تغيّر إشارة في 1−ηL1 - \eta L، وما إن يهبط ذلك العامل دون −1-1 حتى يتضخّم أشدّ الاتجاهات انحناءً بعامل ثابت في كل خطوة إلى الأبد.

وصورة هذا العملية مألوفة لكل من رأى منحنى خسارة يصير NaN خلال بضع عشرات من الخطوات بعد تغيير في معدّل التعلّم بدا بريئًا. لم يكن شيء غير مستقر ثم صار غير مستقر؛ بل عبَر التنفيذ عتبةً كانت قائمة منذ البداية.

تفاعلي: الخطوة، وحافة الاستقرار

η = 0.6816، والجرف عند 2/L = 1.1360.

w*الاتجاه الحادّ →↑ الاتجاه المستوي
الانكماش في الخطوة
0.949667
خطوات لست منازل
> 260
الجرف عند 2/L
1.1360
جرّب:

ست منازل بعيدة المنال في 260 خطوة عند هذا الضبط. وعدد الشرط 23.8410 - استطالة معتدلة، في مسألة ذات وسيطين - وهو وحده يحدّد المعدّل. ارفع β فيلغى التعرّج عَرض الوادي بينما يتراكم الزحف في اتجاهه، وتهبط التبعية من ‎κ‎ إلى ‎√κ‎.

المستقر غير الأسرع

معرفة LL لا تعني وضع η=2/L\eta = 2/L. فالاستقرار والسرعة مسألتان منفصلتان، ولهما جوابان مختلفان.

ينكمش الخطأ بمقدار max⁡(∣1−ηL∣,∣1−ημ∣)\max\big(\lvert 1 - \eta L\rvert, \lvert 1 - \eta\mu \rvert\big) في الخطوة، حيث μ=λmin⁡(H)\mu = \lambda_{\min}(H) أكثر الاتجاهات استواءً. ورفع η\eta يسرّع الاتجاه المستوي ويبطئ الحادّ، فأفضل خطوة حيث تلتقي الكلفتان:

η⋆  =  2L+μ.\eta^\star \;=\; \frac{2}{L + \mu}.

هنا μ=0.073849\mu = 0.073849، فيكون η⋆=1.090230\eta^\star = 1.090230 - وهو دون عتبة التباعد بوضوح. وكل حجم خطوة بين η⋆\eta^\star و2/L2/L هو أبطأ وأقرب إلى الجرف.

وتلك الصيغة تستحق التحقق لا الثقة. فتشغيل الـ200 خطوة نفسها عند كل من 2000 حجم خطوة وأخذ ما ينتهي أقرب إلى w⋆w^\star يعطي أمثلًا تجريبيًا قدره ‎1.088582‎ مقابل ‎1.090230‎ المشتقّ - توافق في حدود 1.6×10−31.6 \times 10^{-3}. وهذه الفجوة الصغيرة ليست من الشبكة: ففي 200 خطوة فقط تقع أفضل خطوة دون الأمثل المقارب بقليل، وتقترب منه كلّما طال التنفيذ. فبين الاشتقاق والبحث على شبكة ثلاثة أسطر، والشبكة تلتقط أخطاء الإشارة التي يخفيها الجبر.

ما لم يفسّره هذا بعد

حقيقتان تتجاوران بضيق. أفضل خطوة في هذه المسألة نحو ‎1.09‎، وμ\mu يساوي ‎0.074‎ - فالاتجاه الأكثر استواءً لا يتحرك إلا بمقدار ημ≈8%\eta\mu \approx 8\% من خطئه الباقي في الخطوة، حتى عند المعدّل الأمثل. وهذه النسبة، لا حجم الخطوة، هي ما يجعل التدريب بطيئًا، ولها اسم وعلاج.

الاسم هو عدد الشرط، والعلاج هو الدرس التالي.

المراجع والقراءات الإضافية

  • Ian Goodfellow, Yoshua Bengio, Aaron Courville, Deep Learning, MIT Press (Adaptive Computation and Machine Learning), 2016المصدر ↗
  • Stephen Boyd, Lieven Vandenberghe, Convex Optimization, Cambridge University Press, 2004المصدر ↗

تُذكر الأعمال المحمية بحقوق النشر للمرجعية فقط ولا تُستضاف هنا؛ يرجى الرجوع إلى الناشر للوصول إليها.

افتح المسار كاملًا

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