Ինքնակոդավորիչ
Կաղապար:ՎՏՔ Ինքնակոդավորիչ արհեստական նեյրոնային ցանցի մի տեսակ, որն օգտագործվում է չպիտակավորված տվյալների արդյունավետ կոդավորումը սովորելու համար (չվերահսկվող ուսուցում)[1][2]։ Ինքնակոդավորիչը սովորում է երկու ֆունկցիա՝ կոդավորման ֆունկցիա, որը փոխակերպում է մուտքային տվյալները, և ապակոդավորման ֆունկցիա, որը վերստեղծում է մուտքային տվյալները կոդավորված ներկայացումից: Ինքնակոդավորիչը սովորում է արդյունավետ ներկայացում (կոդավորում) տվյալների շարքի համար, որպես կանոն, չափականության կրճատման համար, որպեսզի ստեղծի ավելի ցածր չափականության ներկառուցումներ՝ մեքենայական ուսուցման այլ ալգորիթմների կողմից հետագա օգտագործման համար[3]։
Կան տարբերակներ, որոնք ուղղված են ստիպելու սովորած ներկայացումներն ընդունել որպես օգտակար հատկություններ։ Դրանց օրինակներ են կանոնավորացված ինքնակոդավորիչները (Sparse, Denoising and Contractive), որոնք արդյունավետ են հետագա դասակարգման առաջադրանքների համար ներկայացումներ սովորելիս, և Վարիացիոն ինքնակոդավորիչները, որոնք կիրառվում են որպես գեներատիվ մոդելներ[4]։ Ավտոկոդավորիչները կիրառվում են բազմաթիվ խնդիրների, այդ թվում՝ դեմքի ճանաչման[5], առանձնահատկությունների հայտնաբերման[6], անոմալիաների հայտնաբերման և բառերի իմաստի ուսումնասիրման համար[7][8]։ Ավտոկոդավորիչները նաև գեներատիվ մոդելներ են, որոնք կարող են պատահականորեն ստեղծել նոր տվյալներ, որոնք նման են մուտքային տվյալներին (սովորեցնող տվյալներ)[6]։
Մաթեմատիկական սկզբունքներ
Սահմանում
Ավտոկոդավորիչը սահմանվում է հետևյալ բաղադրիչներով.
Երկու բազմություն․ վերծանված հաղորդագրությունների տարածություն
, կոդավորված հաղորդագրությունների տարածություն
։ Typic
and
aՈրպես կանոն
և
-ը էվկլիդյան տարածություններ են, այսինքն.
with
Ֆունկցիաների երկու պարամետրիզացված ընտանիքներ․ կոդավորիչների ընտանիքը․
, պարամետրիզացված ըստ
; ապակոդավորիչների ընտանիքը
, պարամետրիզացված ըստ
.
Ցանկացած
-ի համար, մենք սովորաբար գրում ենք
, և հղվում դրան որպես կոդ, լատենտ փոփոխական, լատենտ ներկայացում, լատենտ վեկտոր և այլն: Ընդհակառակը, ցանկացած
-ի համար, մենք սովորաբար գրում ենք
, և նշում այն որպես (վերծանված) հաղորդագրություն:
Սովորաբար, և՛ կոդավորիչը, և՛ ապակոդավորիչը սահմանվում են որպես բազմաշերտ պերցեպտրոններ (MLP): Օրինակ, -ն միաշերտ MLP կոդավորիչ է․
որտեղ -ն տարրական ակտիվացման ֆունկցիա է, -ը «կշիռ» մատրիցա է, և -ը «bias» վեկտոր է:
Ավտոկոդավորչի ուսուցում
Ինքնակոդավորիչը բաղկացած է երկու ֆունկցիաներից։ Դրա որակը դատելու համար մեզ խնդիր է անհրաժեշտ։ Առաջադրանքը որոշվում է հավանականությունների բաշխմամբ -ի նկատմամբ, և «վերակառուցման որակի» ֆունկցիայով, այնպես որ չափում է, թե որքան է տարբերվում -ից։
Դրանց օգնությամբ մենք կարող ենք որոշել ավտոկոդավորիչի կորստի ֆունկցիան՝ առաջադրանքի օպտիմալ ինքնակոդավորիչը -ն է։ Օպտիմալ ինքնակոդավորիչի որոնումը կարող է իրականացվել մաթեմատիկական օպտիմալացման ցանկացած մեթոդի միջոցով, բայց սովորաբար գրադիենտ ծագում: Որոնման այս գործընթացը կոչվում է «ավտո կոդավորչի ուսուցում»։
Շատ դեպքերում էտալոն բաշխումը տվյալների հավաքածուով տրված էմպիրիկ բաշխում է, , այնպես որ
որտեղ is the Dirac ճափում է, որակի ֆունկցիան պարզապես L2 , and կորուստը էվկլիդյան նորմ է։ Ուստի օպտիմալ ինքնակոդավորիչ փնտրելու խնդիրը բերվում է նվազագույն քառակուսիներ օպտիմալացմանը․
Մեկնաբանություն

Ավտոկոդավորիչն ունի երկու հիմնական մաս՝ կոդավորիչ, որը հաղորդագրությունը համապատասխանեցնում է կոդի, և ապակոդավորիչ, որը կոդից վերակառուցում է հաղորդագրությունը: Оптимальный автокодировщик будет выполнять реконструкцию, максимально близкую к идеальной, с «близостью к идеальной», определяемой функцией качества реконструкции Օպտիմալ ինքնակոդավորիչը կատարյալին հնարավորինս մոտ վերակառուցում կկատարի։ «Կատարյալին մոտ» որոշվում է վերակառուցման որակի ֆունկցիայով։
Պատճենման խնդրի իրականացման պարզագույն ազդանշանի կրկնումն է։ Այդ վարքագիծը բացառելու համար, կոդի տարածության չափականությունը սովորաբար ավելի ցածր է, քան հաղորդագրությունների տարածությունը։
Նման ինքնակոդավորիչը կոչվում է թերլրացված: Այն կարող է մեկնաբանվել որպես տվյալների սեղմում կամ դրա չափականության նվազեցում։[1][9]
Իդեալական թերի ինքնակոդավորչի սահմանն է կոդերի տարածության բոլոր հնարավոր ծածկագրերը օգտագործվում են հաղորդագրությունը կոդավորելու համար, որն իսկապես հայտնվում է բաշխման մեջ, և ապակոդավորիչը նույնպես կատարյալ է․ ։ Այս իդեալական ինքնակոդավորիչը կարող է այնուհետև օգտագործվել իրական հաղորդագրություններից չտարբերվող հաղորդագրություններ ստեղծելու համար՝ ապակոդավորիչի մուտքին կամայական կոդ տալով և հաղորդագրություն ստանալով, որը հաղորդագրություն է. իսկապես հայտնվում է։
Եթե ծածկագրի տարածքի չափականությունն ավելի մեծ (overcomplete) կամ հավասար է հաղորդագրությունների տարածության չափականությանը, կամ թաքնված միավորներին բավականաչափ հզորություն է տրված, ապա ինքնակոդավորիչը կարող է սովորել նույնական ֆունկցիան և դառնալ անօգուտ: Այնուամենայնիվ, փորձերի արդյունքները պարզել են, որ չափազանց ամբողջական ինքնակոդավորիչները կարող են դեռ օգտակար հատկություններ սովորել։[10]
Իդեալական կարգավորման դեպքում կոդի չափը և մոդելի հզորությունը կարող են սահմանվել՝ հիմնվելով մոդելավորվող տվյալների բաշխման բարդության վրա: Դա անելու ստանդարտ եղանակ է հիմնական ինքնակոդավորիչում փոփոխություններ ավելացնելը, որը մանրամասն կներկայացվի ստորև։[11]
Պատմություն
Ավտոկոդավորիչն առաջին անգամ առաջարկվել է Կրամերի կողմից, որպես հիմնական բաղադրիչների վերլուծության (PCA) ոչ գծային ընդհանրացում:[1] Ավտոկոդավորիչը նաև կոչվում է ավտոասոցիատոր,[12] կամ Diabolo ցանց։[13][10] Դրա առաջին կիրառությունները թվագրվում են 1990-ականների սկզբին։[11][14][15] Դրանց առավել ավանդական կիրառումը չափումների կրճատումն էր կամ հատկանիշների ուսուցումը, սակայն հայեցակարգը սկսեց լայնորեն կիրառվել տվյալների գեներատիվ մոդելներ սովորելու համար։[16][17] 2010-ականների ամենահզոր ԱԻ-ներից մի քանիսը ներառում էին ինքնակոդավորիչներ, որոնք ներկառուցված էին խորը նեյրոնային ցանցերում։[18]
Վարիացիաներ
Կանոնավորվող ինքնակոդավորիչներ
Գոյություն ունեն տարբեր տեխնիկաներ՝ կանխելու ինքնակոդավորիչներին սովորելու նույնական ֆունկցիան և բարելավելու նրանց կարողությունը՝ վերցնել կարևոր տեղեկատվություն և սովորել ավելի հարուստ ներկայացումներ։
Նոսր ինքնակոդավորիչ
Նոսր ինքնակոդավորիչները (SAE) ավտոկոդավորիչների տարբերակներ են, այնպիսին, որ հաղորդագրությունների
կոդերը հակված են լինել «նոսր կոդեր», այսինքն՝
գրառումների մեծ մասում մոտ է զրոյի: Նոսր ինքնակոդավորիչները կարող են ներառել ավելի շատ թաքնված միավորներ, քան մուտքային, բայց թաքնված միավորների միայն փոքր թվով թաքնված միավորների փոքր է թույլատրվում միաժամանակ ակտիվ լինել։[18] Նոսրության խրախուսումը բարելավում է դասակարգման առաջադրանքների կատարողականը։[19]

Նոսրության ապահովման երկու հիմնական եղանակ գոյություն ունի։ Ճանապարհներից մեկը՝ լատենտ կոդի բոլոր ակտիվացումները, բացառությամբ ամենաբարձր-k-ի, պարզապես զրո դնելն է: Սա k-նոսր ավտոկոդավորիչն է։[20]
Մյուս ճանապարհը k-Նոսր ինքնակոդավորիչի հանգստացված տարբերակն է: Նոսրությունը պարտադրելու փոխարեն մենք ավելացնում ենք 'նոսրության կանոնավորացման կորուստ, այնուհետև օպտիմալացնում ենք որտեղ չափում է, թե որքան սակավություն ենք ուզում կիրառել։[21]
Աղմուկը նվազեցնող Ինքնակոդավորիչ
Աղմուկը նվազեցնող ինքնակոդավորիչները (DAE) փորձում են «լավ» ներկայացման հասնել՝ փոխելով «վերակառուցման չափանիշը»։[11][22]
DAE-ն, որն ի սկզբանե կոչվում էր «առողջ ավտոասոցիատիվ ցանց»,[2] վերապատրաստման ընթացքում մարզվում է ստանդարտ autoencoder-ի մուտքերը միտումնավոր փչացնելու միջոցով: վերապատրաստվում է վերապատրաստման ընթացքում ստանդարտ autoencoder-ի մուտքերը միտումնավոր փչացնելու միջոցով: Աղմուկի ֆունկցիան հավանականության բաշխմամբ ։ Այսինքն ֆունկցիան վերցնում է հաղորֆագրությունը, և այն շեղում է աղմկոտ տարբերակի։ ֆունկցիան ընտրվում է պատահականորեն հավանականության բաշխմամբ:
Կիրառություններ
Ավտոկոդավորիչների երկու հիմնական կիրառություններն են չափականության կրճատումը և տեղեկատվության վերհանումը,[11] սակայն ժամանակակից տարբերակները կիրառվել են այլ առաջադրանքների համար։
Չափականության կրճատում

Շափականության կրճատումը խորը ուսուցման առաջին կիրառություններից մեկն էր։ [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,0 1,1 1,2 Կաղապար:Cite journal
- ↑ 2,0 2,1 2,2 Կաղապար:Cite journal
- ↑ Կաղապար:Cite book
- ↑ Կաղապար:Cite journal
- ↑ 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,0 6,1 Կաղապար:Cite book
- ↑ Կաղապար:Cite journal
- ↑ Կաղապար:Cite journal
- ↑ Քաղվածելու սխալ՝ Invalid
<ref>tag; no text was provided for refs named:7 - ↑ 10,0 10,1 Կաղապար:Cite journal
- ↑ 11,0 11,1 11,2 11,3 11,4 11,5 Կաղապար:Cite book
- ↑ Կաղապար:Cite journal
- ↑ Կաղապար:Cite journal
- ↑ Կաղապար:Cite journal
- ↑ 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).
- ↑ Կաղապար:Cite arXiv
- ↑ Generating Faces with Torch, Boesen A., Larsen L. and Sonderby S.K., 2015 Կաղապար:Url
- ↑ 18,0 18,1 Կաղապար:Cite book
- ↑ Կաղապար:Cite journal
- ↑ Կաղապար:Cite arXiv
- ↑ Քաղվածելու սխալ՝ Invalid
<ref>tag; no text was provided for refs named:6 - ↑ Քաղվածելու սխալ՝ Invalid
<ref>tag; no text was provided for refs named:4 - ↑ Կաղապար:Cite web
- ↑ Կաղապար:Cite journal
- ↑ Կաղապար:Cite book
- ↑ Կաղապար:Cite book
- ↑ 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.
- ↑ Կաղապար:Cite book
- ↑ Կաղապար:Cite journal
- ↑ Կաղապար:Cite arXiv
- ↑ Կաղապար:Cite journal
- ↑ Կաղապար:Cite arXiv
- ↑ Կաղապար:Cite book
- ↑ Cho, K. (2013, February). Simple sparsification improves sparse denoising autoencoders in denoising highly corrupted images. In International Conference on Machine Learning (pp. 432-440).
- ↑ Կաղապար:Cite arXiv
- ↑ Կաղապար:Cite journal
- ↑ Կաղապար:Cite book
- ↑ Կաղապար:Cite journal
- ↑ Կաղապար:Cite book
- ↑ Կաղապար:Cite journal
- ↑ Կաղապար:Cite journal
- ↑ Կաղապար:Cite journal
- ↑ Կաղապար:Cite magazine
- ↑ Կաղապար:Cite book
- ↑ Կաղապար:Cite arXiv
- ↑ Կաղապար:Cite arXiv
- ↑ Կաղապար:Cite arXiv