Սիամական նեյրոնային ցանցեր

Վիքիպեդիայից՝ ազատ հանրագիտարանից

Սիամական նեյրոնային ցանց[1][2] (կամ երկվորյակ նեյրոնային ցանց) արհեստական նեյրոնային ցանց է, որն օգտագործում է նույն կշիռները(պարամետրերը) `զուգահեռաբար աշխատելով երկու տարբեր մուտքային վեկտորների վրա` ելքային համադրելի վեկտորները հաշվարկելու համար։ Հաճախ ելքային վեկտորներից մեկը նախապես հաշվարկվում է, ձևավորելով ելակետային բազա, որի հետ համեմատվում է ելքային մյուս վեկտորները։ Սիամական նեյրոնային ցանցերում թարմացած բազային պարամետրերի արժեքները նույնանման արտացոլվում են նաև մյուս ենթահամակարգերում(ցանցերում)։ Սա նման է մատնահետքերի համեմատությանը, բայց, ավելի ընդլայնված մեկնաբանելով, ելակետային վեկտորներից մեկի համեմատությունը մյուս ելակետային վեկտորի (բազայի) հետ բնութագրվում է որպես հեռավորության չափման գործառույթ տեղայնորեն զգայուն հաշ ֆունկցիաների (locality-sensitive hashing) մեթոդի համար։

Սիամական նեյրոնային ցանցերի միջոցով լուծվում են այնպիսի խնդիրներ, ինչպիսիք են ձեռագիր փաստաթղթերի նույնականացումը, տեսախցիկի պատկերներում դեմքերի ինքնաբերաբար հայտնաբերումը և ինդեքսավորված փաստաթղթերին համապատասխան հարցումների(անգլերեն՝ query) վերագրումը։ Երկվորյակ ցանցերի թերևս ամենահայտնի կիրառությունը դեմքի ճանաչումն(անգլերեն՝ face recognition) է, որտեղ ցանցը մարդկանց դեմքի պատկերները նախապես "սովորում" է, և այդ պատկերները համեմատվում են նմանատիպ նոր պատկերների հետ։ Սակայն ասյտեղ ի հայտ են գալիս որոշակի խնդիրներ, որոնցից առաջինը կապված է կոնկրետ մարդուն տարբերել բազմաթիվ մարդկանց մեջ, մյուսը ՝ արդյոք ներկայացված նոր պատկերը համապատասխանում է "սովորած" պատկերի հետ։

Ցանցի ուսուցում[խմբագրել | խմբագրել կոդը]

Սիամական նեյրոնային ցանցերից յուրաքանչյուրն ունակ է սովորել մուտքային վեկտորի ներքին կապերը(անգլերեն՝ hidden representations): Այդ երկու նեյրոնային ցանցերը զուգահեռաբար աշխատում են տանդեմում և վերջում համեմատում են իրենց արդյունքները, սովորաբար կոսինուսային հեռավորության միջով։

Ուսուցումը երկվորյակ ցանցերում իրականացվում է թրիփլետ(անգլերեն՝ triplet loss) կամ հակադրողական(անգլերեն՝ contrastive loss) կորստի ֆունկցիաների միջոցով։ Թրիփլետ կորստի ֆունկցիայի միջոցով սովորելուց բազային վեկտորը("սովորած" պատկեր) համեմատվում է դրական վեկտորի(ճշմարիտ պատկեր) և բացասական վեկտորի(սխալ պատկեր) հետ։ Բացասական վեկտորների շնորհիվ ցանցը կշարունակի սովորել, իսկ դրական վեկտորները կհանդիսանան որպես կարգավորիչներ(անգլերեն՝ regularizer). Հակադրողական կորուստի ֆունկցիայի դեպքում անհրաժեշտ է որպեսզի կշիռները գնալով նվազեն(նորմավորվեն)։

Կորստի ֆունկցիան պետք է ունենա հետևյալ հատկությունները[3]

  • Ոչ բացասական․
  • Սիմետրիկ․
  • Տարբերակվող․
  • Բավարարի եռանկյունաչափական անհավասարմանը․

Մասնավորապես, թրիփլետ ալգորիթմը հաճախ որպես գնահատված և իրական փոփոխականների միչև հեռավորության չափման միավոր օգտագործում է քառակուսային Էվկլիդյան հեռավորությունը, որը չի բավարարում եռանկյունաչափական անհավասարության պայմանին։

Առավելություններ[խմբագրել | խմբագրել կոդը]

  • Ի տարբերություն սովորական նեյրոնային ցանցերի, սիամական նեյրոնային ցանցերը ավելի քիչ մուտքային տվյալների կարիք ունեն ուսուցման պրոցեսում։
  • Արդյունավետ են տարատեսակ պատկերների նույնականացման կամ ճանաչման խնդիրներում։

Ծանոթագրություններ[խմբագրել | խմբագրել կոդը]

  1. Chicco, Davide (2020), "Siamese neural networks: an overview", Artificial Neural Networks, 2190 (3rd ed.), New York City, New York, USA: Springer Protocols, Humana Press, p. 73-94, doi:10.1007/978-1-0716-0826-5_3, ISBN 978-1-0716-0826-5
  2. Chopra, S.; Hadsell, R.; LeCun, Y. (June 2005). "Learning a similarity metric discriminatively, with application to face verification". 2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR'05). 1: 539–546 vol. 1. doi:10.1109/CVPR.2005.202. ISBN 0-7695-2372-2.
  3. Chatterjee, Moitreya; Luo, Yunan. "Similarity Learning with (or without) Convolutional Neural Network" (PDF). Retrieved 2018-12-07.