گرادیان کاهشی و نرخ یادگیری

بدانی نرخ یادگیری چه محدوده‌ای باید داشته باشد و چرا شرطی‌بودن بد مسئله، همگرایی را کُند می‌کند.

13 دقیقه مطالعه · 4 سؤال تمرینی · یادگیری ماشین میانی و پیشرفته

قدم برداشتن خلاف گرادیان

گرادیان کاهشی وزن‌ها را در خلاف جهت گرادیان جابه‌جا می‌کند:

wt+1=wt−η ∇f(wt)w_{t+1} = w_t - \eta\,\nabla f(w_t)

دلیلش بسط تیلور مرتبه‌ی اول است: f(w+Δ)≈f(w)+∇f(w)⊤Δf(w + \Delta) \approx f(w) + \nabla f(w)^\top \Delta. در بین همه‌ی جهت‌ها با طول ثابت، Δ∝−∇f(w)\Delta \propto -\nabla f(w) بیشترین کاهش را می‌دهد.

η\eta همان نرخ یادگیری است و تقریباً مهم‌ترین ابرپارامتر آموزش است.

نرخ یادگیری چقدر بزرگ می‌تواند باشد؟

تابع ff را LL-هموار می‌گوییم اگر گرادیانش لیپشیتز با ثابت LL باشد. ساده‌ترین مثال تابع درجه‌دوم f(w)=L2w2f(w) = \tfrac{L}{2}w^2 است. در این‌جا یک قدم گرادیان می‌شود:

wt+1=wt−ηLwt=(1−ηL) wtw_{t+1} = w_t - \eta L w_t = (1 - \eta L)\,w_t

پس همگرایی فقط وقتی رخ می‌دهد که ∣1−ηL∣<1|1 - \eta L| < 1، یعنی:

0<η<2L0 < \eta < \frac{2}{L}
  • اگر η<1/L\eta < 1/L: همگرایی یکنواخت.
  • اگر 1/L<η<2/L1/L < \eta < 2/L: همگرایی با نوسان (علامت ww در هر قدم عوض می‌شود).
  • اگر η>2/L\eta > 2/L: واگرایی.

برای توابع محدب LL-هموار، η=1/L\eta = 1/L انتخاب امن استاندارد است.

شرطی‌بودن (Conditioning)

تابع f(w)=12(a w12+b w22)f(w) = \tfrac12(a\,w_1^2 + b\,w_2^2) را با a≫ba \gg b در نظر بگیرید. نرخ یادگیری را بزرگ‌ترین انحنا محدود می‌کند (η<2/a\eta < 2/a)، ولی سرعت پیشرفت در جهت w2w_2 به کوچک‌ترین انحنا بستگی دارد. نتیجه، حرکت زیگزاگی و کُند در یک دره‌ی باریک است.

نسبت κ=L/μ\kappa = L/\mu (بزرگ‌ترین به کوچک‌ترین انحنا) را عدد شرطی می‌گویند. برای توابع قویاً محدب، گرادیان کاهشی حدود O(κlog⁡(1/ϵ))O(\kappa \log(1/\epsilon)) تکرار لازم دارد.

به همین دلیل استانداردسازی ویژگی‌ها آموزش را سریع‌تر می‌کند: عدد شرطی ماتریس X⊤XX^\top X کوچک‌تر می‌شود.

تمرین‌های این درس را حل کن (رایگان)