Ինքնակոդավորիչ

testwiki-ից
Jump to navigation Jump to search

Կաղապար:ՎՏՔ Ինքնակոդավորիչ արհեստական ​​նեյրոնային ցանցի մի տեսակ, որն օգտագործվում է չպիտակավորված տվյալների արդյունավետ կոդավորումը սովորելու համար (չվերահսկվող ուսուցում)[1][2]։ Ինքնակոդավորիչը սովորում է երկու ֆունկցիա՝ կոդավորման ֆունկցիա, որը փոխակերպում է մուտքային տվյալները, և ապակոդավորման ֆունկցիա, որը վերստեղծում է մուտքային տվյալները կոդավորված ներկայացումից: Ինքնակոդավորիչը սովորում է արդյունավետ ներկայացում (կոդավորում) տվյալների շարքի համար, որպես կանոն, չափականության կրճատման համար, որպեսզի ստեղծի ավելի ցածր չափականության ներկառուցումներ՝ մեքենայական ուսուցման այլ ալգորիթմների կողմից հետագա օգտագործման համար[3]։

Կան տարբերակներ, որոնք ուղղված են ստիպելու սովորած ներկայացումներն ընդունել որպես օգտակար հատկություններ։ Դրանց օրինակներ են կանոնավորացված ինքնակոդավորիչները (Sparse, Denoising and Contractive), որոնք արդյունավետ են հետագա դասակարգման առաջադրանքների համար ներկայացումներ սովորելիս, և Վարիացիոն ինքնակոդավորիչները, որոնք կիրառվում են որպես գեներատիվ մոդելներ[4]։ Ավտոկոդավորիչները կիրառվում են բազմաթիվ խնդիրների, այդ թվում՝ դեմքի ճանաչման[5], առանձնահատկությունների հայտնաբերման[6], անոմալիաների հայտնաբերման և բառերի իմաստի ուսումնասիրման համար[7][8]։ Ավտոկոդավորիչները նաև գեներատիվ մոդելներ են, որոնք կարող են պատահականորեն ստեղծել նոր տվյալներ, որոնք նման են մուտքային տվյալներին (սովորեցնող տվյալներ)[6]։

Մաթեմատիկական սկզբունքներ

Սահմանում

Ավտոկոդավորիչը սահմանվում է հետևյալ բաղադրիչներով.

Երկու բազմություն․ վերծանված հաղորդագրությունների տարածություն

𝒳

, կոդավորված հաղորդագրությունների տարածություն

𝒵

։ Typic

𝒳

and

𝒵

aՈրպես կանոն

𝒳

և

𝒵

-ը էվկլիդյան տարածություններ են, այսինքն.

𝒳=m,𝒵=n

with

m>n.

Ֆունկցիաների երկու պարամետրիզացված ընտանիքներ․ կոդավորիչների ընտանիքը․

Eϕ:𝒳𝒵

, պարամետրիզացված ըստ

ϕ

; ապակոդավորիչների ընտանիքը

Dθ:𝒵𝒳

, պարամետրիզացված ըստ

θ

.

Ցանկացած

x𝒳

-ի համար, մենք սովորաբար գրում ենք

z=Eϕ(x)

, և հղվում դրան որպես կոդ, լատենտ փոփոխական, լատենտ ներկայացում, լատենտ վեկտոր և այլն: Ընդհակառակը, ցանկացած

z𝒵

-ի համար, մենք սովորաբար գրում ենք

x=Dθ(z)

, և նշում այն որպես (վերծանված) հաղորդագրություն:

Սովորաբար, և՛ կոդավորիչը, և՛ ապակոդավորիչը սահմանվում են որպես բազմաշերտ պերցեպտրոններ (MLP): Օրինակ, Eϕ-ն միաշերտ MLP կոդավորիչ է․

Eϕ(𝐱)=σ(Wx+b)

որտեղ σ-ն տարրական ակտիվացման ֆունկցիա է, W-ը «կշիռ» մատրիցա է, և b-ը «bias» վեկտոր է:

Ավտոկոդավորչի ուսուցում

Ինքնակոդավորիչը բաղկացած է երկու ֆունկցիաներից։ Դրա որակը դատելու համար մեզ խնդիր է անհրաժեշտ։ Առաջադրանքը որոշվում է հավանականությունների բաշխմամբ μref𝒳-ի նկատմամբ, և «վերակառուցման որակի» d:𝒳×𝒳[0,] ֆունկցիայով, այնպես որ d(x,x) չափում է, թե որքան է x տարբերվում x-ից։

Դրանց օգնությամբ մենք կարող ենք որոշել ավտոկոդավորիչի կորստի ֆունկցիան՝ L(θ,ϕ):=𝔼xμref[d(x,Dθ(Eϕ(x)))] (μref,d) առաջադրանքի օպտիմալ ինքնակոդավորիչը argminθ,ϕL(θ,ϕ)-ն է։ Օպտիմալ ինքնակոդավորիչի որոնումը կարող է իրականացվել մաթեմատիկական օպտիմալացման ցանկացած մեթոդի միջոցով, բայց սովորաբար գրադիենտ ծագում: Որոնման այս գործընթացը կոչվում է «ավտո կոդավորչի ուսուցում»։

Շատ դեպքերում էտալոն բաշխումը տվյալների հավաքածուով տրված էմպիրիկ բաշխում է, {x1,...,xN}𝒳, այնպես որ μref=1Ni=1Nδxi

որտեղ δxi is the Dirac ճափում է, որակի ֆունկցիան պարզապես L2 d(x,x)=xx22, and 2 կորուստը էվկլիդյան նորմ է։ Ուստի օպտիմալ ինքնակոդավորիչ փնտրելու խնդիրը բերվում է նվազագույն քառակուսիներ օպտիմալացմանը․minθ,ϕL(θ,ϕ),որտեղ L(θ,ϕ)=1Ni=1NxiDθ(Eϕ(xi))22

Մեկնաբանություն

Հիմնական ավտոկոդավորչի սխեման

Ավտոկոդավորիչն ունի երկու հիմնական մաս՝ կոդավորիչ, որը հաղորդագրությունը համապատասխանեցնում է կոդի, և ապակոդավորիչ, որը կոդից վերակառուցում է հաղորդագրությունը: Оптимальный автокодировщик будет выполнять реконструкцию, максимально близкую к идеальной, с «близостью к идеальной», определяемой функцией качества реконструкции Օպտիմալ ինքնակոդավորիչը կատարյալին հնարավորինս մոտ վերակառուցում կկատարի։ «Կատարյալին մոտ» որոշվում է վերակառուցման որակի d ֆունկցիայով։

Պատճենման խնդրի իրականացման պարզագույն ազդանշանի կրկնումն է։ Այդ վարքագիծը բացառելու համար, 𝒵 կոդի տարածության չափականությունը սովորաբար ավելի ցածր է, քան 𝒳 հաղորդագրությունների տարածությունը։

Նման ինքնակոդավորիչը կոչվում է թերլրացված: Այն կարող է մեկնաբանվել որպես տվյալների սեղմում կամ դրա չափականության նվազեցում։[1][9]

Իդեալական թերի ինքնակոդավորչի սահմանն է z կոդերի տարածության բոլոր հնարավոր ծածկագրերը օգտագործվում են x հաղորդագրությունը կոդավորելու համար, որն իսկապես հայտնվում է μref բաշխման մեջ, և ապակոդավորիչը նույնպես կատարյալ է․ Dθ(Eϕ(x))=x։ Այս իդեալական ինքնակոդավորիչը կարող է այնուհետև օգտագործվել իրական հաղորդագրություններից չտարբերվող հաղորդագրություններ ստեղծելու համար՝ ապակոդավորիչի մուտքին z կամայական կոդ տալով և Dθ(z) հաղորդագրություն ստանալով, μref որը հաղորդագրություն է. իսկապես հայտնվում է։

Եթե 𝒵 ծածկագրի տարածքի չափականությունն ավելի մեծ (overcomplete) կամ հավասար է հաղորդագրությունների տարածության 𝒳 չափականությանը, կամ թաքնված միավորներին բավականաչափ հզորություն է տրված, ապա ինքնակոդավորիչը կարող է սովորել նույնական ֆունկցիան և դառնալ անօգուտ: Այնուամենայնիվ, փորձերի արդյունքները պարզել են, որ չափազանց ամբողջական ինքնակոդավորիչները կարող են դեռ օգտակար հատկություններ սովորել։[10]

Իդեալական կարգավորման դեպքում կոդի չափը և մոդելի հզորությունը կարող են սահմանվել՝ հիմնվելով մոդելավորվող տվյալների բաշխման բարդության վրա: Դա անելու ստանդարտ եղանակ է հիմնական ինքնակոդավորիչում փոփոխություններ ավելացնելը, որը մանրամասն կներկայացվի ստորև։[11]

Պատմություն

Ավտոկոդավորիչն առաջին անգամ առաջարկվել է Կրամերի կողմից, որպես հիմնական բաղադրիչների վերլուծության (PCA) ոչ գծային ընդհանրացում:[1] Ավտոկոդավորիչը նաև կոչվում է ավտոասոցիատոր,[12] կամ Diabolo ցանց։[13][10] Դրա առաջին կիրառությունները թվագրվում են 1990-ականների սկզբին։[11][14][15] Դրանց առավել ավանդական կիրառումը չափումների կրճատումն էր կամ հատկանիշների ուսուցումը, սակայն հայեցակարգը սկսեց լայնորեն կիրառվել տվյալների գեներատիվ մոդելներ սովորելու համար։[16][17] 2010-ականների ամենահզոր ԱԻ-ներից մի քանիսը ներառում էին ինքնակոդավորիչներ, որոնք ներկառուցված էին խորը նեյրոնային ցանցերում։[18]

Վարիացիաներ

Կանոնավորվող ինքնակոդավորիչներ

Գոյություն ունեն տարբեր տեխնիկաներ՝ կանխելու ինքնակոդավորիչներին սովորելու նույնական ֆունկցիան և բարելավելու նրանց կարողությունը՝ վերցնել կարևոր տեղեկատվություն և սովորել ավելի հարուստ ներկայացումներ։

Նոսր ինքնակոդավորիչ

Նոսր ինքնակոդավորիչները (SAE) ավտոկոդավորիչների տարբերակներ են, այնպիսին, որ հաղորդագրությունների

Eϕ(x)

կոդերը հակված են լինել «նոսր կոդեր», այսինքն՝

Eϕ(x)

գրառումների մեծ մասում մոտ է զրոյի: Նոսր ինքնակոդավորիչները կարող են ներառել ավելի շատ թաքնված միավորներ, քան մուտքային, բայց թաքնված միավորների միայն փոքր թվով թաքնված միավորների փոքր է թույլատրվում միաժամանակ ակտիվ լինել։[18] Նոսրության խրախուսումը բարելավում է դասակարգման առաջադրանքների կատարողականը։[19]

Միաշերտ նոսր ինքնակոդավորիչի պարզ սխեմա: Վառ դեղին գույնի թաքնված հանգույցներն ակտիվ են, իսկ բաց դեղինները՝ ոչ ակտիվ: Ակտիվացումը կախված է մուտքից

Նոսրության ապահովման երկու հիմնական եղանակ գոյություն ունի։ Ճանապարհներից մեկը՝ լատենտ կոդի բոլոր ակտիվացումները, բացառությամբ ամենաբարձր-k-ի, պարզապես զրո դնելն է: Սա k-նոսր ավտոկոդավորիչն է։[20]

Մյուս ճանապարհը k-Նոսր ինքնակոդավորիչի հանգստացված տարբերակն է: Նոսրությունը պարտադրելու փոխարեն մենք ավելացնում ենք 'նոսրության կանոնավորացման կորուստ, այնուհետև օպտիմալացնում ենք minθ,ϕL(θ,ϕ)+λLsparsity(θ,ϕ)որտեղ λ>0 չափում է, թե որքան սակավություն ենք ուզում կիրառել։[21]

Աղմուկը նվազեցնող Ինքնակոդավորիչ

Աղմուկը նվազեցնող ինքնակոդավորիչները (DAE) փորձում են «լավ» ներկայացման հասնել՝ փոխելով «վերակառուցման չափանիշը»։[11][22]

DAE-ն, որն ի սկզբանե կոչվում էր «առողջ ավտոասոցիատիվ ցանց»,[2] վերապատրաստման ընթացքում մարզվում է ստանդարտ autoencoder-ի մուտքերը միտումնավոր փչացնելու միջոցով: վերապատրաստվում է վերապատրաստման ընթացքում ստանդարտ autoencoder-ի մուտքերը միտումնավոր փչացնելու միջոցով: Աղմուկի ֆունկցիան μT հավանականության բաշխմամբ T:𝒳𝒳։ Այսինքն T ֆունկցիան վերցնում է x𝒳 հաղորֆագրությունը, և այն շեղում է T(x) աղմկոտ տարբերակի։ T ֆունկցիան ընտրվում է պատահականորեն μT հավանականության բաշխմամբ:

Կիրառություններ

Ավտոկոդավորիչների երկու հիմնական կիրառություններն են չափականության կրճատումը և տեղեկատվության վերհանումը,[11] սակայն ժամանակակից տարբերակները կիրառվել են այլ առաջադրանքների համար։

Չափականության կրճատում

Plot of the first two Principal Components (left) and a two-dimension hidden layer of a Linear Autoencoder (Right) applied to the Fashion MNIST dataset.[23] The two models being both linear learn to span the same subspace. The projection of the data points is indeed identical, apart from rotation of the subspace. While PCA selects a specific orientation up to reflections in the general case, the cost function of a simple autoencoder is invariant to rotations of the latent space.

Շափականության կրճատումը խորը ուսուցման առաջին կիրառություններից մեկն էր։ [11]

Չափականությունը ներկայացնելը կարող է բարելավել այնպիսի առաջադրանքների կատարումը, ինչպիսին դասակարգումն է: [11] Իրոք, չափականության կրճատման բնորոշ հատկանիշը, իմաստով առնչվող օրինակները միմյանց մոտ տեղադրելն է։[24]

Անոմալիայի հայտնաբերում

Ավտոկոդավորիչների մեկ այլ կիրառություն է անոմալիաների հայտնաբերումը։[2][25][26][27][28][29] Обучаясь воспроизводить наиболее существенные особенности в обучающих данных при некоторых ограничениях, описанных ранее, модель стремится научиться точно воспроизводить наиболее часто наблюдаемые характеристики.Սովորելով վերարտադրել ուսուցանող տվյալների ամենաէական հատկանիշները նախկինում նկարագրված որոշ սահմանափակումների ներքո, մոդելը ձգտում է սովորել ճշգրիտ վերարտադրել առավել հաճախ հանդիպող բնութագրերը: Անոմալիաների հետ հանդիպելիս մոդելը պետք է վատթարացնի իր վերակառուցման արդյունավետությունը: Շատ դեպքերում, միայն սովորական օրինակներով տվյալներն են օգտագործվում ավտոկոդավորիչին պատրաստելու համար. Մյուսներում, անոմալիաների հաճախականությունը փոքր է, այնպես որ դրա ազդեցությունը սովորած ներկայացման մեջ կարելի է անտեսել։ Դասընթացից հետո ավտոկոդավորիչը ճշգրտորեն կվերակազմի «նորմալ» տվյալները, մինչդեռ դա չի հաջողվում անել անծանոթ անոմալ տվյալների դեպքում։[27] Վերակառուցման սխալը (սխալը սկզբնական տվյալների և դրա ցածր չափականության վերակառուցման միջև) օգտագործվում է որպես անոմալիաների գնահատական՝ անոմալիաները հայտնաբերելու համար։[27]

Սակայն վերջերս հրատարակված գրականությունը ցույց է տվել, որ որոշ ինքնակոդավորման մոդելներ կարող են, հակառակ ինտուիցիային, անոմալ օրինակները վերակառուցելու մեջ շատ լավ լինել և, հետևաբարը։[30][31]

Պատկերի մշակում

Ավտոկոդավորիչների բնութագրերը օգտակար են պատկերների մշակման մեջ։

Օրինակներից մեկը կարելի է գտնել կորուստներով պատկերի սեղմման մեջ, որտեղ ինքնակոդավորիչները գերազանցում էին մյուս մոտեցումներին և մրցունակ էին JPEG 2000-ի դեմ։[32][33]

Ինքնակոդավորիչների մեկ այլ օգտակար կիրառություն պատկերների նախնական մշակման մեջ պատկերի աղմուկազերծումն է։[34][35][36]

Ավտոկոդավորիչներն օգտակար են ավելի պահանջկոտ համատեքստերում, ինչպիսիք են բժշկական պատկերների վիզուալիզացիան, որտեղ դրանք օգտագործվել են ինչպես պատկերների աղմուկազերծման[37] ինչպես նաև գերթողունակության համար։[38][39] Պատկերի օգնությամբ ախտորոշման ժամանակ ինքնակոդավորիչները կիրառվել են կրծքագեղձի քաղցկեղի հայտնաբերման[40] և Ալցհեյմերի հիվանդների մտավոր ունակությունների անկման և MRI-ով պատրաստված ավտոկոդավորիչի լատենտ հատկանիշների միջև կապը մոդելավորելու համար։[41]

Դեղամիջոցների հայտնաբերում

2019 թվականին վարիացիոն ինքնակոդավորիչներով ստեղծված մոլեկուլները փորձնականորեն ստուգվել են մկների վրա։[42][43]

Ժողովրդականության կանխատեսում

Վերջերս ավտոկոդավորիչի շրջանակը խոստումնալից արդյունքներ տվեց սոցիալական մեդիայի գրառումների ժողովրդականությունը կանխատեսելու հարցում,[44] ինչն օգտակար է առցանց գովազդային ռազմավարությունների համար։

Մեքենայական թարգմանություն

Ավտոկոդավորիչներ կիրառվել են մեքենայական թարգմանության մեջ, որը սովորաբար կոչվում է նեյրոնային մեքենայական թարգմանություն (NMT)։[45][46] Ի տարբերություն ավանդական ավտոկոդավորիչների, ելքը չի համընկնում մուտքագրման հետ, այն այլ լեզվով է: NMT-ում տեքստերը դիտվում են որպես հաջորդականություններ, որոնք պետք է կոդավորվեն ուսուցման ընթացակարգի մեջ, մինչդեռ ապակոդավորիչի կողմից ստեղծվում են թիրախային լեզվով (լեզուներով) հաջորդականություններ: Կոնկրետ լեզվի ինքնակոդավորիչները ուսուցման գործընթացում ներառում են լեզվական առանձնահատկություններ, այնպիսիք, ինչպիսիք են չինական կազմալուծման առանձնահատկությունները։[47] Մեքենայական թարգմանությունը դեռևս հազվադեպ է կատարվում ավտոկոդավորիչներով, ավելի արդյունավետ տրանսֆորմատորային ցանցերի առկայության պատճառով։

Ծանոթագրություններ

Կաղապար:Ծանցանկ

  1. 1,0 1,1 1,2 Կաղապար:Cite journal
  2. 2,0 2,1 2,2 Կաղապար:Cite journal
  3. Կաղապար:Cite book
  4. Կաղապար:Cite journal
  5. Hinton GE, Krizhevsky A, Wang SD. Transforming auto-encoders. In International Conference on Artificial Neural Networks 2011 Jun 14 (pp. 44-51). Springer, Berlin, Heidelberg.
  6. 6,0 6,1 Կաղապար:Cite book
  7. Կաղապար:Cite journal
  8. Կաղապար:Cite journal
  9. Քաղվածելու սխալ՝ Invalid <ref> tag; no text was provided for refs named :7
  10. 10,0 10,1 Կաղապար:Cite journal
  11. 11,0 11,1 11,2 11,3 11,4 11,5 Կաղապար:Cite book
  12. Կաղապար:Cite journal
  13. Կաղապար:Cite journal
  14. Կաղապար:Cite journal
  15. Hinton, G. E., & Zemel, R. S. (1994). Autoencoders, minimum description length and Helmholtz free energy. In Advances in neural information processing systems 6 (pp. 3-10).
  16. Կաղապար:Cite arXiv
  17. Generating Faces with Torch, Boesen A., Larsen L. and Sonderby S.K., 2015 Կաղապար:Url
  18. 18,0 18,1 Կաղապար:Cite book
  19. Կաղապար:Cite journal
  20. Կաղապար:Cite arXiv
  21. Քաղվածելու սխալ՝ Invalid <ref> tag; no text was provided for refs named :6
  22. Քաղվածելու սխալ՝ Invalid <ref> tag; no text was provided for refs named :4
  23. Կաղապար:Cite web
  24. Կաղապար:Cite journal
  25. Կաղապար:Cite book
  26. Կաղապար:Cite book
  27. 27,0 27,1 27,2 An, J., & Cho, S. (2015). Variational Autoencoder based Anomaly Detection using Reconstruction Probability. Special Lecture on IE, 2, 1-18.
  28. Կաղապար:Cite book
  29. Կաղապար:Cite journal
  30. Կաղապար:Cite arXiv
  31. Կաղապար:Cite journal
  32. Կաղապար:Cite arXiv
  33. Կաղապար:Cite book
  34. Cho, K. (2013, February). Simple sparsification improves sparse denoising autoencoders in denoising highly corrupted images. In International Conference on Machine Learning (pp. 432-440).
  35. Կաղապար:Cite arXiv
  36. Կաղապար:Cite journal
  37. Կաղապար:Cite book
  38. Կաղապար:Cite journal
  39. Կաղապար:Cite book
  40. Կաղապար:Cite journal
  41. Կաղապար:Cite journal
  42. Կաղապար:Cite journal
  43. Կաղապար:Cite magazine
  44. Կաղապար:Cite book
  45. Կաղապար:Cite arXiv
  46. Կաղապար:Cite arXiv
  47. Կաղապար:Cite arXiv