Biz funksiyanın minimum və ya maksimumunu müəyyən etməli olduğumuz bir çox real şəraitdə optimallaşdırma problemləri ilə üzləşirik.
Funksiyanı sistemin riyazi təsviri hesab edin və onun minimum və ya maksimumunun müəyyən edilməsi maşın öyrənməsi, mühəndislik, maliyyə və başqaları kimi müxtəlif tətbiqlər üçün kritik ola bilər.
Təpələri və dərələri olan mənzərəni nəzərdən keçirək və məqsədimiz təyinat yerinə mümkün qədər tez çatmaq üçün ən aşağı nöqtəni (minimum) tapmaqdır.
Bu cür optimallaşdırma problemlərini həll etmək üçün tez-tez gradient eniş alqoritmlərindən istifadə edirik. Bu alqoritmlər ən dik eniş (mənfi gradient) istiqamətində addımlar atmaqla funksiyanı minimuma endirmək üçün təkrarlanan optimallaşdırma üsullarıdır.
Qradiyent funksiyada ən kəskin artımla istiqaməti əks etdirir və əks istiqamətdə səyahət bizi minimuma aparır.
Qradient eniş alqoritmi tam olaraq nədir?
Gradient enişi funksiyanın minimumunu (və ya maksimumunu) təyin etmək üçün məşhur iterativ optimallaşdırma yanaşmasıdır.
O, daxil olmaqla bir neçə sahədə mühüm vasitədir maşın təlim, dərin öyrənmə, süni intellekt, mühəndislik və maliyyə.
Alqoritmin əsas prinsipi onun funksiyanın dəyərində ən kəskin artım istiqamətini göstərən qradiyentdən istifadəsinə əsaslanır.
Alqoritm gradient kimi əks istiqamətdə təkrar addımlar atmaqla funksiyanın landşaftını minimuma doğru səmərəli şəkildə idarə edir, yaxınlaşana qədər həlli iterativ şəkildə dəqiqləşdirir.
Nə üçün Qradient Eniş Alqoritmlərindən istifadə edirik?
Başlayanlar üçün, onlar yüksək ölçülü boşluqlara və mürəkkəb funksiyalara malik olanlar da daxil olmaqla geniş çeşidli optimallaşdırma problemlərini həll etmək üçün istifadə edilə bilər.
İkincisi, xüsusilə analitik həll mövcud olmadıqda və ya hesablama baxımından bahalı olduqda, optimal həlləri tez tapa bilərlər.
Gradient enmə üsulları yüksək dərəcədə genişlənə bilir və nəhəng verilənlər toplusunu uğurla idarə edə bilir.
Nəticədə, onlar geniş istifadə olunur maşın öyrənmə alqoritmləri neyron şəbəkələrini məlumatlardan öyrənmək və proqnozlaşdırma səhvlərini minimuma endirmək üçün parametrlərini dəyişdirmək üçün təlim kimi.
Gradient enmə addımlarının ətraflı nümunəsi
Qradiyent enmə texnikasını daha yaxşı başa düşmək üçün daha ətraflı nümunəyə baxaq.
Minimum (2) olan əsas parabolik əyrini yaradan f(x) = x2 0,0D funksiyasını nəzərdən keçirək. Bu minimal nöqtəni təyin etmək üçün gradient eniş alqoritmi istifadə olunacaq.
Addım 1: Başlama
Qradiyentin enmə alqoritmi x0 kimi təqdim olunan x dəyişəninin dəyərini işə salmaqla başlayır.
İlkin dəyər alqoritmin işinə əhəmiyyətli dərəcədə təsir göstərə bilər.
Təsadüfi işə salma və ya problemlə bağlı əvvəlki biliklərdən istifadə iki ümumi üsuldur. Fərz edək ki, işimizin əvvəlində x₀ = 3 olur.
Addım 2: Gradienti hesablayın
f(x) funksiyasının indiki x₀ mövqeyində qradiyenti. sonra hesablanmalıdır.
Qradiyent həmin konkret mövqedə funksiyanın yamacını və ya dəyişmə sürətini göstərir.
f'(x) = 2x təmin edən f(x) = x2 funksiyası üçün x-ə aid törəməni hesablayırıq. Qradiyentin hesablanmasında x₀ = 0-ü əvəz etməklə x2-da qradiyenti 3 * 6 = 3 kimi alırıq.
Addım 3: Parametrləri yeniləyin
Qradiyent məlumatından istifadə edərək, x-in qiymətini aşağıdakı kimi yeniləyirik: x = x₀ – α * f'(x₀), burada α (alfa) öyrənmə sürətini bildirir.
Öyrənmə dərəcəsi yenilənmə prosesində hər bir addımın ölçüsünü müəyyən edən hiperparametrdir. Müvafiq öyrənmə dərəcəsini təyin etmək çox vacibdir, çünki yavaş bir öyrənmə sürəti səbəb ola bilər alqoritm minimuma çatmaq üçün çox təkrar etmək.
Digər tərəfdən yüksək öyrənmə dərəcəsi alqoritmin sıçraması və ya yaxınlaşmaması ilə nəticələnə bilər. Bu nümunə üçün α = 0.1 öyrənmə dərəcəsini fərz edək.
Addım 4: Təkrar edin
X-in yenilənmiş dəyərinə sahib olduqdan sonra əvvəlcədən müəyyən edilmiş iterasiya sayı üçün və ya x-də dəyişiklik minimal olana qədər 2 və 3-cü addımları təkrar edirik, bu da yaxınlaşmanı göstərir.
Metod gradienti hesablayır, x dəyərini yeniləyir və minimuma yaxınlaşmağa imkan verən hər iterasiyada proseduru davam etdirir.
Addım 5: Konvergensiya
Texnika bir neçə təkrarlamadan sonra gələcək yeniləmələrin funksiyanın dəyərinə əhəmiyyətli dərəcədə təsir göstərmədiyi bir nöqtəyə yaxınlaşır.
Bizim vəziyyətimizdə iterasiyalar davam etdikcə x 0-a yaxınlaşacaq, bu da f(x) = x^2-nin minimum qiymətidir. Konvergensiya üçün lazım olan iterasiyaların sayı seçilmiş öyrənmə sürəti və optimallaşdırılan funksiyanın mürəkkəbliyi kimi amillərlə müəyyən edilir.
Öyrənmə dərəcəsinin seçilməsi ()
Qradiyentin enmə alqoritminin effektivliyi üçün məqbul öyrənmə dərəcəsinin () seçilməsi vacibdir. Əvvəllər qeyd edildiyi kimi, aşağı öyrənmə sürəti yavaş yaxınlaşmaya səbəb ola bilər, yüksək öyrənmə dərəcəsi isə həddi aşmağa və yaxınlaşma uğursuzluğuna səbəb ola bilər.
Düzgün balansın tapılması alqoritmin mümkün qədər səmərəli şəkildə nəzərdə tutulan minimuma yaxınlaşmasını təmin etmək üçün vacibdir.
Öyrənmə sürətinin tənzimlənməsi praktikada çox vaxt sınaq və səhv prosedurudur. Tədqiqatçılar və praktikantlar müntəzəm olaraq müxtəlif öyrənmə dərəcələri ilə təcrübə aparırlar ki, onların alqoritmin öz xüsusi problemlərinə yaxınlaşmasına necə təsir göstərə bilsinlər.
Qeyri-qabarıq funksiyaları idarə etmək
Əvvəlki misal sadə qabarıq funksiyaya malik olsa da, bir çox real optimallaşdırma məsələləri çoxlu yerli minimuma malik qeyri-qabarıq funksiyaları əhatə edir.
Belə hallarda gradient enişindən istifadə edərkən, metod qlobal minimuma deyil, yerli minimuma yaxınlaşa bilər.
Bu problemin öhdəsindən gəlmək üçün gradient enişin bir neçə qabaqcıl formaları hazırlanmışdır. Stochastic Gradient Descent (SGD) hər bir iterasiyada gradienti hesablamaq üçün məlumat nöqtələrinin təsadüfi alt dəstini (mini toplu kimi tanınır) seçməklə təsadüfiliyi təqdim edən belə üsullardan biridir.
Bu təsadüfi seçmə alqoritmə yerli minimumlardan qaçmağa və funksiyanın relyefinin yeni hissələrini kəşf etməyə imkan verir, daha yaxşı minimumu tapmaq şansını artırır.
Adam (Adaptive Moment Estimation) həm RMSprop, həm də momentumun üstünlüklərini özündə birləşdirən adaptiv öyrənmə sürətinin optimallaşdırılması yanaşması olan digər görkəmli variasiyadır.
Adam əvvəlki qradiyent məlumatlarına əsaslanaraq hər bir parametr üçün öyrənmə sürətini dinamik şəkildə dəyişdirir ki, bu da konveks olmayan funksiyalarda daha yaxşı yaxınlaşma ilə nəticələnə bilər.
Bu mürəkkəb gradient eniş variasiyaları getdikcə daha mürəkkəb funksiyaların idarə edilməsində effektiv olduğunu sübut etdi və qabarıq olmayan optimallaşdırma məsələlərinin ümumi olduğu maşın öyrənmə və dərin öyrənmədə standart alətlərə çevrildi.
Addım 6: Tərəqqinizi vizuallaşdırın
Onun iterativ prosesini daha yaxşı başa düşmək üçün gradient eniş alqoritminin gedişatına baxaq. İterasiyaları əks etdirən x oxu və f(x) funksiyasının qiymətini əks etdirən y oxu olan qrafiki nəzərdən keçirək.
Alqoritm təkrarlandıqca x-in qiyməti sıfıra yaxınlaşır və nəticədə hər addımda funksiya dəyəri aşağı düşür. Qrafik üzərində qurulduqda, bu, alqoritmin minimuma çatmaq istiqamətində irəliləyişini əks etdirən fərqli bir azalma tendensiyası nümayiş etdirəcəkdir.
Addım 7: Öyrənmə dərəcəsinin dəqiq tənzimlənməsi
Öyrənmə dərəcəsi () alqoritmin işində mühüm amildir. Təcrübədə, ideal öyrənmə sürətinin müəyyən edilməsi tez-tez sınaq və səhv tələb edir.
Öyrənmə dərəcəsi cədvəlləri kimi bəzi optimallaşdırma üsulları təlim zamanı daha yüksək dəyərdən başlayaraq öyrənmə sürətini dinamik şəkildə dəyişə bilər və alqoritm yaxınlaşmağa yaxınlaşdıqca onu tədricən azalda bilər.
Bu üsul optimallaşdırma prosesinin əvvəlində sürətli inkişaf və sonuna yaxın sabitlik arasında tarazlıq yaratmağa kömək edir.
Başqa bir misal: Kvadrat funksiyanı minimuma endirmək
Qradiyentin enişini daha yaxşı başa düşmək üçün başqa bir nümunəyə baxaq.
İki ölçülü kvadratik funksiyanı nəzərdən keçirək g(x) = (x – 5)^2. x = 5-də bu funksiya da minimuma malikdir. Bu minimumu tapmaq üçün gradient enişini tətbiq edəcəyik.
1. İnisiallaşdırma: Başlanğıc nöqtəmiz olaraq x0 = 8 ilə başlayaq.
2. g(x)-in gradientini hesablayın: g'(x) = 2(x – 5). x0 = 8-i əvəz etdikdə x0-da qradiyent 2 * (8 – 5) = 6 olur.
3. Öyrənmə sürətimiz olaraq = 0.2 olduqda, x-i aşağıdakı kimi yeniləyirik: x = x₀ – α * g'(x₀) = 8 – 0.2 * 6 = 6.8.
4. Təkrar edin: Konvergensiya əldə olunana qədər 2 və 3-cü addımları lazım olan qədər təkrar edirik. Hər dövrə x-i 5-ə yaxınlaşdırır, g(x) = (x – 5)2-nin minimal dəyəri.
5. Konvergensiya: Metod sonda g(x) = (x – 5)5-nin minimal dəyəri olan x = 2-ə yaxınlaşacaq.
Öyrənmə dərəcələrinin müqayisəsi
Müxtəlif öyrənmə dərəcələri üçün gradient enişinin yaxınlaşma sürətini müqayisə edək, deyək ki, yeni nümunəmizdə α = 0.1, α = 0.2 və α = 0.5. Görə bilərik ki, aşağı öyrənmə dərəcəsi (məsələn, = 0.1) daha uzun yaxınlaşma ilə nəticələnəcək, lakin daha dəqiq minimum.
Daha yüksək öyrənmə nisbəti (məsələn, = 0.5) daha sürətli birləşəcək, lakin minimumu keçə və ya aşağı salına bilər ki, bu da daha zəif dəqiqliklə nəticələnir.
Qeyri-qabarıq funksiyaların idarə edilməsinin multimodal nümunəsi
h(x) = sin(x) + 0.5x, qabarıq olmayan funksiyanı nəzərdən keçirək.
Bu funksiya üçün bir neçə yerli minimum və maksimum var. Başlanğıc mövqeyindən və öyrənmə sürətindən asılı olaraq standart gradient enişindən istifadə edərək hər hansı yerli minimuma yaxınlaşa bilərik.
Bunu Adam və ya stoxastik qradiyent eniş (SGD) kimi daha təkmil optimallaşdırma üsullarından istifadə etməklə həll edə bilərik. Bu üsullar funksiyanın landşaftının müxtəlif bölgələrini araşdırmaq üçün adaptiv öyrənmə dərəcələrindən və ya təsadüfi seçmə üsullarından istifadə edərək daha yaxşı minimuma nail olmaq ehtimalını artırır.
Nəticə
Gradient enmə alqoritmləri sənayenin geniş spektrində geniş istifadə olunan güclü optimallaşdırma alətləridir. Onlar gradientin istiqamətinə əsasən parametrləri iterativ olaraq yeniləyərək funksiyanın ən aşağısını (və ya maksimumunu) aşkar edirlər.
Alqoritmin iterativ təbiətinə görə, o, yüksək ölçülü boşluqları və mürəkkəb funksiyaları idarə edə bilər, bu da onu maşın öyrənməsi və məlumatların emalı üçün əvəzolunmaz edir.
Qradient enişi asanlıqla real dünya çətinliklərinin öhdəsindən gələ bilər və öyrənmə sürətini diqqətlə seçməklə və stoxastik gradient enişi və Adam kimi qabaqcıl variasiyaları tətbiq etməklə texnologiyanın inkişafına və məlumat əsasında qərarların qəbuluna böyük töhfə verə bilər.
Cavab yaz