Уводзіны
Уявіце, што ў нас ёсць функцыя і мы хочам знайсці яе мінімум. Што б вы зрабілі?
Проста так? Нам трэба толькі вырашыць наступнае ўраўненне:
Справа ў тым, што знайсці формулу не заўсёды проста, бо яны, як правіла, вельмі складаныя, асабліва ў глыбокім навучанні, дзе мы маем справу са складанымі функцыямі. Такім чынам, нам трэба знайсці іншы метад, які можа даць нам мінімум функцыі без неабходнасці знаходзіць формулу вытворнай .
Давайце пабудуем інтуіцыю
Дапусцім, што ў нас ёсць функцыя f з адпаведным графікам:
Пачнем са выпадковай кропкі . Мэта складаецца ў тым, каб перамясціць гэты пункт і зрабіць яго ўсё бліжэй і бліжэй да так, каб x*. Такім чынам, праблему можна падзяліць на дзве часткі:
-
У які бок трэба перамясціць пункт ? Налева або направа?
-
На колькі нам гэта трэба рухацца?
Напрамак
Давайце пабудуем інтуіцыю, каб адказаць на першае пытанне. Звярніце ўвагу на наступны пункт:
Звярніце ўвагу, што:
-
калі кропка знаходзіцца справа ад аптымальнай кропкі , яе датычная лінія ідзе ўверх.
-
калі кропка знаходзіцца справа ад аптымальнай кропкі , яе датычная ідзе ўніз.
Напрамак прамой вызначаецца знакам яе нахілу:
-
Лінія ідзе ўверх , што нахіл дадатны.
-
Лінія ідзе ўніз , нахіл адмоўны.
Звярніце ўвагу, што: \
Нахіл датычнай да функцыі ў пэўным пункце не большы за вытворную ў гэтым пункце :
Такім чынам, у якасці адказу на пытанне "Куды мы павінны перанесці ?":
-
справа ад Нам трэба перамясціць улева.
-
злева ад Нам трэба перамясціць справа.
Крокі
А цяпер другое пытанне: Колькі мы павінны перанесці ?
Зірніце на наступныя прыклады:
Мы можам зрабіць выснову, што:
-
блізка да => Нахіл датычнай малы => малы.
-
аддалены ад => Нахіл датычнай вялікі => вялікі.
Адказаўшы на абодва пытанні, мы прыйшлі да высновы, што толькі веданне вытворнай у пункце можа даць нам шмат інфармацыі аб напрамку і адлегласці аптымальнага пункта .
Градыентны спуск
Градыентны спуск - гэта фармулёўка адказаў на папярэднія два пытанні. Гэта ітэрацыйны алгарытм аптымізацыі, які набліжае мінімум функцыі, пачынаючы з выпадковай пачатковай кропкі . Алгарытм дзеянняў гучыць так:
дзе:
-
не больш чым вытворная у пункце .
-
- гэта станоўчая канстанта, якая вызначае, наколькі вялікімі будуць крокі.
Звярніце ўвагу, што:
-
знаходзіцца справа ад => => => рухаецца ўлева.
-
знаходзіцца злева ад => => => рухаецца ўправа.
-
блізка да => блізка да => Невялікае абнаўленне да .
Віктарына
-
Калі градыентны спуск спыняе ітэрацыю:
-
Калі дастаткова малы.
-
Калі блізка да .
-
Калі . XXX
-
Як мы выбіраем :
-
Мы выбіраем гэта выпадкова. XXX
-
Мы прымаем гэта ў раёне .
— Гэта залежыць ад праблемы.
- Навошта нам градыентны спуск:
— Таму што кампутары недастаткова магутныя, каб вылічваць вытворныя.
-
Таму што вельмі цяжка знайсці формулы вытворных мадэляў глыбокага навучання. XXX
-
Таму што функцыі маюць больш чым адзін лакальны мінімум.
Асвойце Навуку аб дадзеных і штучны інтэлект з Code Labs Academy! Далучайцеся да нашага онлайн-курса навучання – даступныя гнуткія варыянты няпоўнага і поўнага працоўнага дня.