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

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


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

Ոչ բացասական․ 
  
    
      
        δ
        (
        x
        ,
        y
        )
        ⩾
        0
      
    
    {\displaystyle \delta (x,y)\geqslant 0}
  
Սիմետրիկ․ 
  
    
      
        δ
        (
        x
        ,
        y
        )
        =
        0
        ⟺
        x
        =
        y
      
    
    {\displaystyle \delta (x,y)=0\Longleftrightarrow x=y}
  
Տարբերակվող․ 
  
    
      
        δ
        (
        x
        ,
        y
        )
        =
        δ
        (
        y
        ,
        x
        )
      
    
    {\displaystyle \delta (x,y)=\delta (y,x)}
  
Բավարարի եռանկյունաչափական անհավասարմանը․ 
  
    
      
        δ
        (
        x
        ,
        z
        )
        ⩽
        δ
        (
        x
        ,
        y
        )
        +
        δ
        (
        y
        ,
        z
        )
      
    
    {\displaystyle \delta (x,z)\leqslant \delta (x,y)+\delta (y,z)}
  Մասնավորապես, թրիփլետ ալգորիթմը հաճախ որպես գնահատված և իրական փոփոխականների միչև հեռավորության չափման միավոր օգտագործում է քառակուսային Էվկլիդյան հեռավորությունը, որը չի բավարարում եռանկյունաչափական անհավասարության պայմանին։


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


== Հետագա ընթերցանություն ==
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
Siamese Neural Networks, Wikipedia,https://en.wikipedia.org/wiki/Siamese_neural_network


== Գրականություն ==