Սկիզբ » Ուսումնական նյութեր » Նեյրոնային ցանցերի ուսուցումը backpropagation ալգորիթմի միջոցով։ Մաս 2, մաթեմատիկական հիմնավորում։

Նեյրոնային ցանցերի ուսուցումը backpropagation ալգորիթմի միջոցով։ Մաս 2, մաթեմատիկական հիմնավորում։

| Ապրիլ 26, 2016 | Մեկնաբանված չէ |

Այս մասում կանդրադառնանք backpropagation ալգորիթմի մաթեմատիկական հիմնավորմանը։ Սկզբում պետք է որոշել, թե ինչպես էնք չափելու սխալը։ Քանի որ ցանցը սովորելու է ուսուցչի միջոցով, իսկ ուսուցիչը իրենից ներկայացնում է ելքին տրվող արժեքների առկայություն, որը պետք է համեմատել ցանցի ելքի իրական արժեքների հետ, ապա այդ պարագայում հարմար է օգտվել նվազագույն քառակուսիների մեթոդից, այդ դեպքում սխալի ֆունկցիան (quadratic cost function) կլինի (1)

tiորտեղ E -ն սխալի ֆունկցիան է,

ti֊ն ցանցին տրվող իդեալական արժեքներն են (ուսուցչի առկայությունը այստեղ է արտահայտվում),

yi֊ն ցանցի ելքում ստացված փաստացի արժեքներն են։

Այստեղ E ֊ի ֆունկցիայում 1/2 ֊ը ավելացնում ենք հարմարության համար, քանի որ հետագայում պետք է հաշվենք E -ից մասնակի դիֆֆերենցիալները, իսկ գումարի ներսում ունենք քառակուսային աստիճան, այնպես որ դռանք կկրճատվեն։

Հիմա մի փոքր տեսնենք թե E ֆունկցիան ինչպիսի արգումենտներից է կախված։ Ինչպես տեսնում ենք (1) արտահայտությունի E -ն կախված է  միայն y֊ից,

 

y -ը, որը իրենից ներկայացնում է ելքային արժեքը կախված է, նեյրոնի ներքին վիճակից՝

sigmaիսկ դե ներքին վիճակն էլ կախված է wij կշռային գործակիցներից հետևյալ առնչությամբ

sumԱյսինքն ունենք ունենք հետևյալ բարդ ֆունկցիան՝

chainՈրտեղ E = f(y), y = σ(S), S = g(w):

Հաշվենք E-ի մասնակի դիֆֆերենցիալը ըստ w ֊ի ( գրադիենտը միաչափ տարածության մեջ)՝ հաշվի առնելով դիֆֆերենցման շղթայի կանոնը.

eeq

Այստեղ ասենք որ, այն չափը որով պետք է փոխել կշռային գործակցի արժեքը հավասար է ՝

deltaԱյն հաշվելու համար հաշվենք մնացած մասնակի դիֆֆերենցիալները

deypartdifffԱյստեղ, երբ  i != j, ապա մասնակի դիֆֆերենցիալը հավասար է զրոյի, հակառակ դեպքում այն հավասար է 1 ֊ի (ti ֊ն const է այստեղ մնում է միայն dyj/dyj = 1) և հետևաբար կստանանք`

Screenshot from 2016-05-01 13-30-16

Հաշվենք մյուս բաղադրիչը՝

sigmdfՍա բավականին պարզ էր հաշվելը, քանի որ y -ը մեր մոտ սիգմոիդ ֆունկցիան է և պետք էր գտնել դրա ածանցյալը ըստ S -ի, որն էլ նրա միակ արգումենտն է։

Վերջին բաղադրիչը կլինի՝

siԱյստեղ նմանապես, երբ i == k, ապա դիֆֆերենցիալը հավասար է 1, իսկ գումարն էլ վերանում է, քանի որ դիտարկում ենք ընդամենը 1 արժեք։

y2k Այսպիսով ստացանք, որ՝

Screenshot from 2016-05-01 13-35-08

Նշենք, որ մինչ այժմ կատարված հաշվարկները վերաբերվում էին միայն ելքային շերտում սխալի հաշվարկմանն ու կշռային գործակիցների կարգաբերմանը։ Բանը կայանում է նրանում, որ թաքնված միջանկյալ շերտում մենք չունենք սխալի այնպիսի տրված արժեքներ, որոնց հետ կարող ենք համեմատել դրանք ելքի փաստացի արժեքները, ինչպես որ անում էին ելքային շերտի դեպքում (այսինքն չենք կարող գրել dE/dyj != tj – yj): Այդ պատճառով մենք պետք տարածենք (propagate) սխալի այդ չափը դեպի հաջորդ շերտերը՝ ելքային շերտն էլ ներառյալ։ Դրա համար  dE/dyj ֊ն գրենք մասնակի ածանցյալների տեսքով․

wjiՀեշտ է նկատել, որ այստեղ առաջին երկու մասնակի դիֆերենցիալները կարելի է հաշվել նույն վերը նկարագրված եղանակով, այդ պատճառով մեզ մնում է հաշվել միայն երրորդ մասնակի դիֆֆերենցիալը՝

hwՆշանակենք՝

deltas  Վերջապես հաշվի առնելով վերջին նշանակումները միջանկյալ շերտի համար կստանանք հետյալ արտահայտությունը՝

dw

Հաջորդ՝ 3-րդ մասում կիրականացնենք backpropagation ալգորիթմը և փոքրիկ օրինակի վրա կդիտարկենք կշռային գործակիցների հաշվարկն ու սխալի հետադարձ փոխանցումը։

 

Նեյրոնային ցանցերի ուսուցումը backpropagation ալգորիթմի միջոցով։ Մաս 2, մաթեմատիկական հիմնավորում։, 10.0 out of 10 based on 1 rating

Նշագրեր: ,

Բաժին: Ուսումնական նյութեր

Կիսվել , տարածել , պահպանել

VN:F [1.9.20_1166]
Rating: 10.0/10 (1 vote cast)

Մեկնաբանեք

Կհաստատվեն միայն մեսրոպատառ հայերենով գրած մեկնաբանությունները

285