Skip to main content

Գրադիենտ ծագում

Թարմացվել է November 15, 20243 Րոպեներ կարդացեք


Ներածություն

Պատկերացրեք, որ մենք ունենք f(x)f(x) ֆունկցիա և ցանկանում ենք գտնել դրա նվազագույնը։ Ինչ կանեիր դու

Պարզ չէ՞ Մեզ միայն անհրաժեշտ է լուծել հետևյալ հավասարումը.

f′(x)=0f'(x) = 0

Բանն այն է, որ f′f'-ի բանաձևը գտնելը միշտ չէ, որ հեշտ է, քանի որ դրանք չափազանց բարդ են հատկապես խորը ուսուցման մեջ, որտեղ մենք գործ ունենք բարդ գործառույթների հետ: Այսպիսով, մենք պետք է գտնենք մեկ այլ մեթոդ, որը կարող է մեզ ապահովել ֆունկցիայի նվազագույն չափը՝ առանց f′f' ածանցյալի բանաձևը գտնելու անհրաժեշտության:

Եկեք կառուցենք որոշ ինտուիցիա

Ենթադրենք, որ ունենք f ֆունկցիա՝ համապատասխան գրաֆիկով.

Graph 1

Սկսենք x0x_{0} պատահական կետից: Նպատակն է տեղափոխել այս կետը և այն ավելի ու ավելի մոտեցնել x∗x*-ին այնպես, որ f′(f'(x*)=0) = 0: Այսպիսով, խնդիրը կարելի է բաժանել երկու մասի.

  • Ո՞ր ուղղությամբ պետք է տեղափոխենք xx կետը: Ձախ թե աջ.

-Որքա՞ն պետք է տեղափոխենք:

Ուղղությունը

Եկեք որոշ ինտուիցիա ձևավորենք առաջին հարցին պատասխանելու համար: Նայեք հետևյալ կետին.

Graph 2

Graph 3

Նշենք, որ.

  • երբ x0x_{0} կետը գտնվում է x∗x* օպտիմալ կետից աջ, նրա շոշափող գիծը բարձրանում է:

  • երբ x0x_{0} կետը գտնվում է x∗x* օպտիմալ կետից աջ, նրա շոշափող գիծը իջնում ​​է:

Գծի ուղղությունը որոշվում է նրա թեքության նշանով.

  • Գիծը բարձրանում է \ենթադրում\ենթադրում, aa թեքությունը դրական է:

  • Գիծն իջնում ​​է \ենթադրում\ենթադրում, aa թեքությունը բացասական է:

Նշեք, որ \

Որոշակի x0x_{0}-ի մի ֆունկցիայի շոշափող գծի թեքությունն ավելին չէ, քան f′(x0)f'(x_{0}) կետի ածանցյալը:

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

Այսպիսով, որպես պատասխան հարցի «Որտե՞ղ տեղափոխենք x0x_{0}?».

  • f′(x0)<0f'(x_{0}) < 0   ⟹  \implies x0x_{0} x∗x*   ⟹  \implies-ի աջ կողմում Մենք պետք է x0x_{0}-ը տեղափոխենք ձախ:

  • f′(x0)>0f'(x_{0}) > 0   ⟹  \implies x0x_{0} դեպի ձախ x∗x*   ⟹  \implies Մենք պետք է x0x_{0}-ը տեղափոխենք աջ:

Քայլերը

Հիմա երկրորդ հարցի համար՝ Որքա՞ն պետք է տեղափոխենք x0x_{0} ?

Նայեք հետևյալ օրինակներին.

Graph 4

Graph 5

Կարող ենք եզրակացնել, որ.

  • x0x_{0}-ը մոտ է x∗x* => շոշափողի թեքությունը փոքր է => f′(x0)f'(x_{0}) փոքր է:

  • x0x_{0}-ը հեռու է x∗x* => շոշափողի թեքությունը մեծ է => f′(x0)f'(x_{0}) մեծ է:

Պատասխանելով երկու հարցերին՝ մենք եզրակացրինք, որ միայն x0x_{0} կետի ածանցյալի իմացությունը կարող է մեզ շատ պատկերացում տալ x0x_{0} օպտիմալ կետի ուղղության և հեռավորության մասին:

Գրադիենտ վայրէջք

Գրադիենտ վայրէջքը նախորդ երկու հարցերի պատասխանների ձևակերպումն է։ Սա օպտիմիզացման կրկնվող ալգորիթմ է, որը մոտավոր է x∗x*-ի նվազագույն ֆունկցիան՝ սկսած x0x_{0} պատահական սկզբնական կետից: Ալգորիթմը ներկայացված է հետևյալ կերպ.

x∗n+1=x∗n−lr×dfdx_nx*{n+1} = x*{n} - lr \times \frac{\mathrm{d} f}{\mathrm{d} x\_{n}}

որտեղ:

  • dfdx∗n\frac{\mathrm{d} f}{\mathrm{d} x*{n}}-ն ավելին չէ, քան ff-ի ածանցյալը x∗nx*{n} կետում:

  • lrlr-ը դրական հաստատուն է, որը որոշում է, թե որքան մեծ են լինելու քայլերը:

Ուշադրություն դարձրեք, որ.

  • xnx_{n}-ը x∗x* => dfdxn>0\frac{\mathrm{d} f}{\mathrm{d} x_{n}} > 0 => xn+−իաջկողմումէ1=xn−դրականx_{n+-ի աջ կողմում է 1} = x_{n} - դրական => xnx_{n}-ը շարժվում է դեպի ձախ:

  • xnx_{n}-ը ձախ է x∗x* => dfdxn<0\frac{\mathrm{d} f}{\mathrm{d} x_{n}} < 0 => x∗n+1=x∗n+դրականx*{n +1} = x*{n} + դրական => xnx_{n}-ը շարժվում է աջ:

  • xnx_{n} մոտ x∗x* => dfdxn\frac{\mathrm{d} f}{\mathrm{d} x_{n}} մոտ 00 => Փոքր թարմացում մինչև xnx_{ n}.

Վիկտորինա

  • Ե՞րբ է գրադիենտ վայրէջքը դադարում կրկնվել.

  • Երբ xnx_{n}-ը բավականաչափ փոքր է:

  • Երբ xnx_{n}-ը մոտ է x0x_{0}-ին:

  • Երբ dfdx_n=0\frac{\mathrm{d} f}{\mathrm{d} x\_{n}} = 0 : XXX

  • Ինչպե՞ս ենք ընտրում x0x_{0}:

  • Մենք ընտրում ենք այն պատահականորեն: XXX

  • Մենք այն վերցնում ենք xnx_{n}-ի հարեւանությամբ:

  • Դա կախված է խնդրից։

  • Ինչու՞ է մեզ անհրաժեշտ գրադիենտ վայրէջք.

  • Որովհետև համակարգիչները բավականաչափ հզոր չեն ածանցյալները հաշվարկելու համար:

  • Որովհետև չափազանց դժվար է գտնել խորը ուսուցման մոդելների ածանցյալ բանաձևերը: XXX

  • Որովհետև գործառույթներն ունեն մեկից ավելի տեղական նվազագույն:


  • Վարպետ Data Science and AI Code Labs Academy-ի հետ: Միացեք մեր առցանց Bootcamp-ին. Հասանելի են ճկուն կես դրույքով և լրիվ դրույքով ընտրանքներ:*
Իմացեք տեխնիկական հմտություններ առցանց Code Labs Academy

Իմացեք տեխնիկական հմտություններ առցանց Code Labs Academy

Միացեք մեր օժանդակ համայնքին, ապակողպեք ձեր ներուժը եւ սկսեք վարձատրվող կարիերայի ուղին: