paint-brush
Разумевање стохастичког просечног градијентаод стране@kustarev
31,958 читања
31,958 читања

Разумевање стохастичког просечног градијента

од стране Andrey Kustarev4m2024/06/06
Read on Terminal Reader
Read this story w/o Javascript

Предуго; Читати

Градијентно спуштање је популарна оптимизација која се користи за лоцирање глобалних минимума датих функција циља. Алгоритам користи градијент функције циља да пређе нагиб функције док не достигне најнижу тачку. Пуни Градиент Десцент (ФГ) и Стохастички Градиент Десцент (СГД) су две популарне варијације алгоритма. ФГ користи цео скуп података током сваке итерације и обезбеђује високу стопу конвергенције уз високе трошкове израчунавања. На свакој итерацији, СГД користи подскуп података за покретање алгоритма. Далеко је ефикаснији, али са неизвесном конвергенцијом. Стохастички просечни градијент (САГ) је још једна варијација која пружа предности оба претходна алгоритма. Користи просек прошлих градијената и подскуп скупа података да обезбеди високу стопу конвергенције са ниским прорачуном. Алгоритам се може даље модификовати да би се побољшала његова ефикасност коришћењем векторизације и мини серија.

People Mentioned

Mention Thumbnail

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - Разумевање стохастичког просечног градијента
Andrey Kustarev HackerNoon profile picture
0-item


Градијентно спуштање је најпопуларнија техника оптимизације у моделирању машинског учења (МЛ). Алгоритам минимизира грешку између предвиђених вредности и основне истине. Пошто техника разматра сваку тачку података да би разумела и минимизирала грешку, њен учинак зависи од величине података за обуку. Технике попут Стохастичког градијентног спуштања (СГД) су дизајниране да побољшају перформансе прорачуна, али по цену тачности конвергенције.


Стохастички просечни градијент балансира класични приступ, познат као спуштање пуног градијента и СГД, и нуди обе предности. Али пре него што будемо могли да користимо алгоритам, прво морамо разумети његов значај за оптимизацију модела.

Оптимизација циљева машинског учења помоћу градијентног спуштања

Сваки МЛ алгоритам има придружену функцију губитка која има за циљ да минимизира или побољша перформансе модела. Математички, губитак се може дефинисати као:


То је једноставно разлика између стварног и предвиђеног резултата, а минимизирање ове разлике значи да се наш модел приближава основним вредностима истине.


Алгоритам минимизације користи градијентно спуштање да би прешао функцију губитка и пронашао глобални минимум. Сваки корак преласка укључује ажурирање тежина алгоритма ради оптимизације излаза.


Плаин Градиент Десцент

Конвенционални алгоритам градијента спуштања користи просек свих градијента израчунатих за цео скуп података. Животни циклус једног примера обуке изгледа овако:



Једначина ажурирања тежине изгледа овако:

Где W представља тежине модела, а dJ/dW је извод функције губитка у односу на тежину модела. Конвенционална метода има високу стопу конвергенције, али постаје рачунски скупа када се ради са великим скуповима података који се састоје од милиона тачака података.

Стохастички градијентни пад (СГД)

СГД методологија остаје иста као и обични ГД, али уместо да користи цео скуп података за израчунавање градијента, користи малу групу од улаза. Метода је много ефикаснија, али може превише да скаче око глобалних минимума јер свака итерација користи само део података за учење.

Стохастички просечни градијент

Приступ стохастичког просечног градијента (САГ) је уведен као средњи пут између ГД и СГД. Он бира насумично тачку података и ажурира њену вредност на основу градијента у тој тачки и пондерисаног просека прошлих градијената сачуваних за ту одређену тачку података.


Слично СГД, САГ моделира сваки проблем као коначан збир конвексних, диференцибилних функција. У било којој итерацији, користи садашње градијенте и просек претходних градијента за ажурирање тежине. Једначина има следећи облик:



Стопа конвергенције

Између два популарна алгоритма, пуног градијента (ФГ) и стохастичког градијента (СГД), ФГ алгоритам има бољу стопу конвергенције јер користи цео скуп података током сваке итерације за израчунавање.

Иако САГ има структуру сличну СГД, његова стопа конвергенције је упоредива са, а понекад и боља од приступа пуног градијента. Табела 1 у наставку сумира резултате експеримената са Сцхмидт ет. ал .

Извор: хттпс://аркив.орг/пдф/1309.2388

Даље модификације

Упркос невероватним перформансама, неколико модификација је предложено оригиналном СГД алгоритму како би се побољшале перформансе.


  • Поновно пондерисање у раним итерацијама: САГ конвергенција остаје спора током првих неколико итерација пошто алгоритам нормализује правац са н (укупан број тачака података). Ово даје нетачну процену јер алгоритам тек треба да види много тачака података. Модификација предлаже нормализацију помоћу м уместо н, где је м број тачака података виђених најмање једном до те одређене итерације.
  • Мини-серије: Приступ Стохастичког градијента користи мини-серије за обраду више тачака података истовремено. Исти приступ се може применити на САГ. Ово омогућава векторизацију и паралелизацију ради побољшања ефикасности рачунара. Такође смањује оптерећење меморије, што је значајан изазов за САГ алгоритам.
  • Експериментисање са величином корака: Величина корака поменута раније (116Л) даје невероватне резултате, али су аутори даље експериментисали користећи величину корака од 1Л. Ово последње је обезбедило још бољу конвергенцију. Међутим, аутори нису били у могућности да представе формалну анализу побољшаних резултата. Они закључују да треба експериментисати са величином корака како би се пронашла оптимална за одређени проблем.


Финал Тхоугхтс

Градијентно спуштање је популарна оптимизација која се користи за лоцирање глобалних минимума датих функција циља. Алгоритам користи градијент функције циља да пређе нагиб функције док не достигне најнижу тачку.

Пуни Градиент Десцент (ФГ) и Стохастички Градиент Десцент (СГД) су две популарне варијације алгоритма. ФГ користи цео скуп података током сваке итерације и обезбеђује високу стопу конвергенције уз високе трошкове израчунавања. На свакој итерацији, СГД користи подскуп података за покретање алгоритма. Далеко је ефикаснији, али са неизвесном конвергенцијом.


Стохастички просечни градијент (САГ) је још једна варијација која пружа предности оба претходна алгоритма. Користи просек прошлих градијената и подскуп скупа података да обезбеди високу стопу конвергенције са ниским прорачуном. Алгоритам се може даље модификовати да би се побољшала његова ефикасност коришћењем векторизације и мини серија.


L O A D I N G
. . . comments & more!

About Author

Andrey Kustarev HackerNoon profile picture
Andrey Kustarev@kustarev
Director of Portfolio Management at WorldQuant. Expert in quantitative finance.

ХАНГ ТАГС

ОВАЈ ЧЛАНАК ЈЕ ПРЕДСТАВЉЕН У...