Градыентны спуск

глыбокае навучанне
матэматыка
градыентны спуск
Градыентны спуск cover image

Уводзіны

Уявіце, што ў нас ёсць функцыя $f(x)$ і мы хочам знайсці яе мінімум. Што б вы зрабілі?

Проста так? Нам трэба толькі вырашыць наступнае ўраўненне:

$$f'(x) = 0$$

Справа ў тым, што знайсці формулу $f'$ не заўсёды проста, бо яны, як правіла, вельмі складаныя, асабліва ў глыбокім навучанні, дзе мы маем справу са складанымі функцыямі. Такім чынам, нам трэба знайсці іншы метад, які можа даць нам мінімум функцыі без неабходнасці знаходзіць формулу вытворнай $f'$.

Давайце пабудуем інтуіцыю

Дапусцім, што ў нас ёсць функцыя f з адпаведным графікам:

Graph 1

Пачнем са выпадковай кропкі $x_{0}$. Мэта складаецца ў тым, каб перамясціць гэты пункт і зрабіць яго ўсё бліжэй і бліжэй да $x*$ так, каб $f'($x*$) = 0$. Такім чынам, праблему можна падзяліць на дзве часткі:

  • У які бок трэба перамясціць пункт $x$ ? Налева або направа?

  • Колькі нам трэба яго перанесці?

Напрамак

Давайце пабудуем інтуіцыю, каб адказаць на першае пытанне. Звярніце ўвагу на наступны пункт:

Graph 2

Graph 3

Звярніце ўвагу, што:

  • калі кропка $x_{0}$ знаходзіцца справа ад аптымальнай кропкі $x*$, яе датычная лінія ідзе ўверх.

  • калі кропка $x_{0}$ знаходзіцца справа ад аптымальнай кропкі $x*$, яе датычная ідзе ўніз.

Напрамак прамой вызначаецца знакам яе нахілу:

  • Лінія ідзе ўверх $\implies$, што нахіл $a$ дадатны.

  • Лінія ідзе ўніз $\implies$, нахіл $a$ адмоўны.

Звярніце ўвагу, што: \

Нахіл датычнай да функцыі ў пэўным пункце $x_{0}$ не большы за вытворную ў гэтым пункце $f'(x_{0})$:

$$ tangent(x*{0}): g(x) = f'(x*{0}).(x-x*{0}) + f(x*{0}) $$

Такім чынам, у якасці адказу на пытанне "Куды мы павінны перанесці $x_{0}$?":

  • $f'(x_{0}) < 0$ $\implies$ $x_{0}$ справа ад $x*$ $\implies$ Нам трэба перамясціць $x_{0}$ улева.

  • $f'(x_{0}) > 0$ $\implies$ $x_{0}$ злева ад $x*$ $\implies$ Нам трэба перамясціць $x_{0}$ справа.

Крокі

А цяпер другое пытанне: Колькі мы павінны перанесці $x_{0}$?

Зірніце на наступныя прыклады:

Graph 4

Graph 5

Мы можам зрабіць выснову, што:

  • $x_{0}$ блізка да $x*$ => Нахіл датычнай малы => $f'(x_{0})$ малы.

  • $x_{0}$ аддалены ад $x*$ => Нахіл датычнай вялікі => $f'(x_{0})$ вялікі.

Адказаўшы на абодва пытанні, мы прыйшлі да высновы, што толькі веданне вытворнай у пункце $x_{0}$ можа даць нам шмат інфармацыі аб напрамку і адлегласці аптымальнага пункта $x_{0}$.

Градыентны спуск

Градыентны спуск - гэта фармулёўка адказаў на папярэднія два пытанні. Гэта ітэрацыйны алгарытм аптымізацыі, які набліжае мінімум $x*$ функцыі, пачынаючы з выпадковай пачатковай кропкі $x_{0}$. Алгарытм дзеянняў гучыць так:

$$ x*{n+1} = x*{n} - lr \times \frac{\mathrm{d} f}{\mathrm{d} x_{n}} $$

дзе:

  • $ \frac{\mathrm{d} f}{\mathrm{d} x*{n}} $ не больш чым вытворная $f$ у пункце $x*{n}$.

  • $lr$ - гэта станоўчая канстанта, якая вызначае, наколькі вялікімі будуць крокі.

Звярніце ўвагу, што:

  • $x_{n}$ знаходзіцца справа ад $x*$ => $\frac{\mathrm{d} f}{\mathrm{d} x_{n}} > 0 $ => $ x_{n+ 1} = x_{n} - станоўчы $ => $x_{n}$ рухаецца ўлева.

  • $x_{n}$ знаходзіцца злева ад $x*$ => $\frac{\mathrm{d} f}{\mathrm{d} x_{n}} < 0$ => $ x*{n +1} = x*{n} + станоўчы $ => $x_{n}$ рухаецца ўправа.

  • $x_{n}$ блізка да $x*$ => $\frac{\mathrm{d} f}{\mathrm{d} x_{n}}$ блізка да $0$ => Невялікае абнаўленне да $x_{ n}$.

Віктарына

  • Калі градыентны спуск спыняе ітэрацыю:

  • Калі $x_{n}$ дастаткова малы.

  • Калі $x_{n}$ блізка да $x_{0}$.

  • Калі $\frac{\mathrm{d} f}{\mathrm{d} x_{n}} = 0 $. XXX

  • Як мы выбіраем $x_{0}$:

  • Мы выбіраем гэта выпадкова. XXX

  • Мы прымаем гэта ў раёне $x{n}$.

— Гэта залежыць ад праблемы.

  • Навошта нам градыентны спуск:

— Таму што кампутары недастаткова магутныя, каб вылічваць вытворныя.

  • Таму што вельмі цяжка знайсці формулы вытворных мадэляў глыбокага навучання. XXX

  • Таму што функцыі маюць больш чым адзін лакальны мінімум.


Career Services background pattern

Кар'ерныя паслугі

Contact Section background image

Давайце заставацца на сувязі

Code Labs Academy © 2024 Усе правы абароненыя.