Հեմինգի նեյրոնային ցանց

Հեմինգի նեյրոնային ցանցը նեյրոնային ցանցի տեսակ է, որն օգտագործվում է երկուական վեկտորները դասակարգելու համար, որի հիմնական չափանիշը Հեմինգի հեռավորությունն է։ Այն Հոփֆիլդի նեյրոնային ցանցի զարգացում է։

Ցանցն օգտագործվում է երկուական վեկտորը կապելու համար x = {x1, x2, x3…xm}, որտեղ xi = {-1, 1}, ստանդարտ պատկերներից մեկի հետ (յուրաքանչյուր դաս ունի իր սեփական պատկերը), կամ որոշի, թե որ վեկտորը չի համապատասխանում ստանդարտներից ոչ մեկին։ Ի տարբերություն Հոփֆիլդ ցանցի, Հեմինգի ցանցը արտածում է ոչ թե հենց նմուշը, այլ դրա համարը։
Ցանցն առաջարկվել է Ռիչարդ Լիպմանի կողմից 1987 թ. Այն հանդիսանում էր որպես հետերոասոցիատիվ պահեստավորման մասնագիտացված սարք։


== Կառուցվածք ==
Առաջին շերտի քաշի մատրիցը ստացվում է պատկերի ստանդարտ մատրիցից X ինչպես wi j = 
  
    
      
        (
        x
        (
        i
        ,
        j
        )
        )
        
          /
        
        2
      
    
    {\displaystyle (x(i,j))/2}
  , որտեղ ստանդարտ պատկերի մատրիցը K× M մատրից է, որի յուրաքանչյուր տող համապատասխան ստանդարտ երկուական վեկտոր է։ Ակտիվացման ֆունկցիան սահմանվում է որպես f(s) = 
  
    
      
        
          
            {
            
              
                
                  0
                  ,
                  s
                  ≤
                  t
                
              
              
                
                  s
                  ,
                  0
                  <
                  s
                  ≤
                  t
                
              
              
                
                  t
                  ,
                  s
                  >
                  T
                
              
            
            
          
        
      
    
    {\displaystyle {\begin{cases}0,s\leq t\\s,0<s\leq t\\t,s>T\end{cases}}}
  , որտեղ T = 
  
    
      
        
          
            M
            2
          
        
      
    
    {\displaystyle {M \over 2}}
  :
Երկրորդ շերտի քաշի մատրիցան ունի K×K չափսը և սահմանվում է որպես 

  
    
      
        
          
            [
            
              
                
                  1
                
                
                  −
                  ϵ
                
                
                  .
                  .
                  .
                
                
                  ϵ
                
              
              
                
                  −
                  ϵ
                
                
                  1
                
                
                  .
                  .
                  .
                
                
                  −
                  ϵ
                
              
              
                
                  .
                  .
                  .
                
                
                  .
                  .
                  .
                
                
                  .
                  .
                  .
                
                
                  .
                  .
                  .
                
              
              
                
                  −
                  ϵ
                
                
                  −
                  ϵ
                
                
                  .
                  .
                  .
                
                
                  1
                
              
            
            ]
          
        
      
    
    {\displaystyle {\begin{bmatrix}1&-\epsilon &...&\epsilon \\-\epsilon &1&...&-\epsilon \\...&...&...&...\\-\epsilon &-\epsilon &...&1\end{bmatrix}}}
  
որտեղ 𝟄  (0, 
  
    
      
        
          
            1
            K
          
        
      
    
    {\displaystyle {1 \over K}}
  ]:
Այսպիսով, ուսուցումն իրականացվում է մեկ ցիկլով։


== Ցանցի աշխատանքը ==
Մուտքի համար տրվում է դասակարգված վեկտոր  
  
    
      
        
          
            
              
                x
                
                  ∗
                
              
              →
            
          
        
      
    
    {\displaystyle {\vec {x^{*}}}}
  : Առաջին շերտի նեյրոնների կարգավիճակը հաշվարկվում է որպես s1 j = wji xi*: Առաջին շերտի նեյրոնների ելքը ստացվում է կարգավիճակի վրա ակտիվացման ֆունկցիան կիրառելով և դառնում է երկրորդ շերտի համապատասխան նեյրոնների նախնական արժեք։ Այնուհետև, երկրորդ շերտի նեյրոնների վիճակները ստացվում են իրենց նախորդ վիճակից `հիմնվելով երկրորդ շերտի կշռման գործակիցների մատրիցի վրա, և ընթացակարգը իտերացվելով կրկնվում է մինչև երկրորդ շերտի ​​վեկտորի կայունացումը` մինչև երկու վեկտորների միջև հաջորդական կրկնությունների տարբերության նորմը դառնա որոշակի Emax արժեքից պակաս (գործնականում բավարար են 0.1 կարգի արժեքներ)։
Այն դեպքում, եթե վեկտորներից մեկը դրական է, իսկ մնացածը՝ բացասական, այն ցույց է տալիս համապատասխան օրինակը։ Իսկ եթե մի քանի վեկտոր դրական են և նրանից ոչ մեկը չի գերազանցում Emax արժեքը, դա նշանակում է, որ նեյրոնային ցանցը չի կարող դասակարգել վեկտորը որևէ դասի, բայց դրական արդյունքները ցույց են տալիս առավել նման ստանդարտները։


== Օրինակներ ==
Ցանցը կարող է օգտագործվել պատկերներ ճանաչելու համար, որոնց կազմված են սև և սպիտակ պիքսելներից, ինչպես օրինակ ծրարի ծածկագրային կնիքի ինդեքսը։


== Աղբյուրներ ==
https://cyberleninka.ru/article/n/neyronnye-seti-hemminga-i-hebba-sposobnye-doobuchatsya
https://neuronus.com/theory/nn/965-nejronnye-seti-khemminga.html
https://basegroup.ru/community/articles/assoc


== Գրականություն ==
Neural Networks: A Systematic Introduction
Neural Network Methods in Natural Language Processing
An introduction to neural networks