Hopfield Neural Network

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 3 december 2019; kontroller kräver 5 redigeringar .

Hopfields neurala nätverk är ett helt  uppkopplat neuralt nätverk med en symmetrisk anslutningsmatris. Under driften konvergerar (konvergerar) dynamiken hos sådana nätverk till en av jämviktspositionerna. Dessa jämviktspositioner bestäms i förväg i inlärningsprocessen, de är lokala minima av det funktionella som kallas nätverkets energi (i det enklaste fallet lokala minima av en negativ bestämd kvadratisk form på en n-dimensionell kub). Ett sådant nätverk kan användas som ett autoassociativt minne , som ett filter och även för att lösa vissa optimeringsproblem . Till skillnad från många neurala nätverk som fungerar tills ett svar tas emot efter ett visst antal cykler, fungerar Hopfield-nätverk tills en jämvikt uppnås, när nästa tillstånd i nätverket är exakt lika med det föregående: initialtillståndet är en ingångsbild, och vid jämvikt erhålls en utgående bild [1] .

Dess variant är Hamming Neural Network .

Nätverksarkitektur

Hopfields neurala nätverk är utformat på ett sådant sätt att dess svar på de memorerade referens-"bilderna" består av dessa bilder själva, och om bilden är något förvrängd och appliceras på ingången, kommer den att återställas och den ursprungliga bilden kommer att tas emot i form av ett svar. Således utför Hopfield-nätverket fel- och bruskorrigering.

Hopfield-nätverket är enskiktigt och består av artificiella neuroner . Varje neuron i systemet kan ta ett av två tillstånd vid ingången och vid utgången (vilket liknar utgången från en neuron med en tröskelaktiveringsfunktion ):

På grund av sin bipolära natur kallas Hopfields neurala nätverk ibland som spins .

Varje neuron är kopplad till alla andra neuroner. Interaktionen mellan nätverksneuroner beskrivs med uttrycket:

där  är ett element i interaktionsmatrisen , som består av viktkoefficienterna för anslutningar mellan neuroner. I inlärningsprocessen bildas en utmatris som kommer ihåg referensen "bilder" - N -dimensionella binära vektorer: dessa bilder under driften av nätverket kommer att uttrycka systemets svar på insignaler, eller på annat sätt - de slutliga värdena av utgångarna efter en serie iterationer.

I Hopfield-nätverket är anslutningsmatrisen symmetrisk ( ), och de diagonala elementen i matrisen antas vara lika med noll ( ), vilket eliminerar effekten av neuronen på sig själv och är nödvändig för Hopfield-nätverket, men inte ett tillräckligt villkor för stabilitet i processen för nätverksdrift. Tillräckligt är det asynkrona driftsättet för nätverket. Sådana egenskaper definierar ett nära samband med verkliga fysiska ämnen, kallade spinglasögon .

Matrisen av interaktioner lagras på neuronerna själva i form av vikter när neuroner är kopplade till andra neuroner.

Så till exempel, om insignalen definieras av 10 parametrar, bildas Hopfields neurala nätverk av ett lager med 10 neuroner. Varje neuron ansluter till alla andra 9 neuroner, så det finns 90 (10 x 9) anslutningar i nätverket. För varje anslutning bestäms en viktningsfaktor . Alla tyngder av samband bildar matrisen av interaktioner, som fylls i under inlärningsprocessen.

Nätverksträning

Träningen av nätverket består i att hitta vikterna av interaktionsmatrisen på ett sådant sätt att de kommer ihåg vektorerna (referensbilder som utgör systemets "minne").

Beräkningen av koefficienterna baseras på följande regel: för alla lagrade bilder måste anslutningsmatrisen uppfylla ekvationen

eftersom det är under detta villkor som tillstånden i nätverket kommer att vara stabila - en gång i ett sådant tillstånd kommer nätverket att förbli i det.

Memorerade vektorer måste vara i binär form. Beräkningen av viktkoefficienter utförs enligt följande formel:

där är dimensionen av vektorerna, är antalet memorerade utdatavektorer, är numret på den memorerade utdatavektorn, är den i:te komponenten av den memorerade utsignalen j:te vektorn.

Detta uttryck kan bli tydligare om vi noterar att viktmatrisen kan hittas genom att beräkna den yttre produkten av varje memorerad vektor med sig själv och summera de så erhållna matriserna. Detta kan skrivas som

var är den i:te memorerade kolumnvektorn.

Beräkningen av dessa viktkoefficienter kallas nätverksträning, som utförs under endast en epok.

Funktioner i inlärningsprocessen i Hopfield-nätverket

Hopfield-nätverksinlärningsalgoritmen skiljer sig väsentligt från sådana klassiska perceptroninlärningsalgoritmer som felkorrigeringsmetoden eller felåterförökningsmetoden . Skillnaden ligger i det faktum att istället för successiv approximation till önskat tillstånd med felberäkning, beräknas alla matriskoefficienter enligt en formel, i en cykel, varefter nätverket omedelbart är redo för drift.

Vissa författare hänvisar Hopfield-nätverket till oövervakat lärande . Men detta är inte sant, eftersom oövervakat lärande innebär avsaknad av information om vilka klasser stimuli ska tilldelas. För Hopfield-nätverket, utan denna information, är det omöjligt att justera viktkoefficienterna, så här kan vi bara säga att ett sådant nätverk kan klassificeras som ett optimeringsnätverk (filter). En utmärkande egenskap hos filtren är att viktmatrisen en gång för alla justeras med en deterministisk algoritm, och sedan ändras inte vikterna längre. Detta kan vara praktiskt för den fysiska implementeringen av en sådan anordning, eftersom det är en storleksordning svårare att implementera en anordning med variabla viktkoefficienter på kretsnivå. Ett exempel på ett filter utan återkoppling är CC4 (Cornel classification)-algoritmen, författad av S.Kak.

Det finns återkopplingar i Hopfield-nätverket och därför måste stabilitetsproblemet lösas. Vikterna mellan neuroner i ett Hopfield-nätverk kan ses som en interaktionsmatris . Cohen och Grossberg [2] visade att ett återkopplingsnätverk är stabilt om dess matris är symmetrisk och har nollor på huvuddiagonalen. Det finns många andra typer av stabila system, såsom alla feed-forward-nätverk, såväl som moderna Jordan och Elman återkommande nätverk, för vilka symmetrivillkoret inte är nödvändigt. Men detta beror på att andra restriktioner läggs på återkopplingar. I fallet med ett Hopfield-nätverk är symmetrivillkoret nödvändigt, men inte tillräckligt, i den meningen att nätverkets driftsätt också påverkar uppnåendet av ett stabilt tillstånd. Det kommer att visas nedan att endast det asynkrona läget för nätverket garanterar uppnåendet av ett stabilt tillstånd för nätverket; i det synkrona fallet är oändlig växling mellan två olika tillstånd möjlig (denna situation kallas en dynamisk attraktion , medan ett stabilt tillstånd kallas vanligtvis en statisk attraktionsanordning).

Tillämpa ett tränat nätverk

När vikterna väl är givna blir det tränade nätverket i stånd att "känna igen" ingångssignalerna - det vill säga att bestämma vilka av de lagrade samplen de tillhör.

Ingångsvektorn går igenom ett visst antal iterationer tills konvergens uppnås. I detta fall bör delvis förvrängda eller ofullständiga prover kännas igen. Värdena för den initiala vektorn tilldelas först till nätverkets ingång (därför är beteckningen av ingångssynapserna i nätverksdiagrammet i en explicit form rent konventionell). Sedan ändrar nätverket sekventiellt sina tillstånd enligt formeln:

var  är aktiveringsfunktionen, och  är nätverkets nuvarande och nästa tillstånd, tills tillstånden och sammanfaller (eller, i fallet med synkron drift, tillstånden med och samtidigt med ). Denna process kallas nätverkskonvergens. Det resulterande stabila tillståndet (statisk attraktion), eller kanske, i det synkrona fallet, { }-paret (dynamisk attraktion), är nätverkets svar på den givna ingångsbilden.

Nätverkets utdata kan också vara en invers vektor (där värdena -1 och 1 i de lagrade samplen är omvända). Om systemet inte har hittat en lösning kan systemets utdata också vara triviala vektorer bestående av endast 1 eller endast -1.

Nätverksdrift i filtreringsläge (återställer skadade bilder)

Eftersom återkopplingsnätverk har vägar som sänder signaler från utgångar till ingångar, är svaret hos sådana nätverk dynamiskt, det vill säga efter applicering av en ny ingång beräknas utsignalen och, passerar genom återkopplingsnätverket, modifierar ingången. Resultatet räknas sedan om och processen upprepas om och om igen. För ett stabilt nätverk resulterar successiva iterationer i mindre och mindre förändringar i produktionen tills utsignalen slutligen blir konstant. För vissa nätverk tar processen aldrig slut, sådana nätverk kallas instabila. Problemet med stabilitet kommer att behandlas i nästa avsnitt, men här kommer vi att överväga nätverkets huvudcykel.

När vikterna väl är givna kan nätverket användas för att erhålla en inlärd utdatavektor från en given ingångsvektor, som kan vara delvis felaktig eller ofullständig. För att göra detta tilldelas utgångarna från nätverket först värdena för denna initiala vektor. Sedan ändrar nätverket sekventiellt sina tillstånd enligt formeln:

där F är aktiveringsfunktionen, och  är nätverkets nuvarande och nästa tillstånd, tills tillstånden och sammanfaller (eller, i fallet med synkron drift, tillstånden med och samtidigt med ). Denna process kallas nätverkskonvergens.

Detta kan också beskrivas genom att det så kallade lokala fältet verkar på neuronen från alla andra neuroner i nätverket: .

Efter beräkning av det lokala fältet för neuronen används detta värde för att beräkna utvärdet genom aktiveringsfunktionen, som i det här fallet är ett tröskelvärde (med en nolltröskel). Följaktligen beräknas värdet på utsignalen från neuronen i vid den aktuella tiden med formeln:

,

där  är viktkoefficienten mellan neuronerna i och j,  är utdatavärdena för neuron j vid föregående tidpunkt.

Under driften av Hopfield-nätverket är ett tecken på att hitta en lösning det ögonblick då en attraktion nås, statisk (när ett stabilt tillstånd upprepas vid varje nästa steg ) eller, möjligen, dynamiskt (när två olika tillstånd { } växlar annons oändlighet ). Detta är det slutliga tillståndet för nätverket och är dess reaktion på denna bild.

Det normala svaret är ett så stabilt tillstånd som sammanfaller med en av vektorerna som memoreras under träningen. Men under vissa förhållanden (särskilt med för många lagrade bilder) kan resultatet av arbetet bli den så kallade falska atttraktorn ("chimera"), bestående av flera delar av olika lagrade bilder. I synkront läge kan nätverket också komma till en dynamisk attraktion. Båda dessa situationer är i allmänhet oönskade, eftersom de inte motsvarar någon lagrad vektor - och följaktligen inte bestämmer den klass till vilken nätverket tilldelade ingångsbilden.

Hopfield nätverksdriftlägen

För Hopfield-nätverket kan det finnas två modifieringar som skiljer sig i signalöverföringstid : asynkrona och synkrona lägen. I praktiken används endast asynkront läge.

Synkron nätverksoperation

Om nätverket är modellerat på en enda processor, då i det synkrona läget, ses neuronerna sekventiellt, men deras tillstånd lagras separat och ändras inte förrän alla nervceller i nätverket har passerats. När alla neuroner ses ändras deras tillstånd samtidigt (det vill säga synkront, därav namnet) till nya. Således uppnås simulering av parallell drift med en sekventiell algoritm.

I verklig parallellsimulering betyder detta läge faktiskt att överföringstiden för varje länk mellan element och är densamma för varje länk, vilket gör att alla länkar fungerar parallellt, de ändrar sina tillstånd samtidigt, endast baserat på föregående punkt i tid. Närvaron av sådana synkrona klockor, som lätt kan identifieras och leder till en förståelse av det synkrona läget. I det synkrona läget är en oändlig växling av två tillstånd med olika energier möjlig (även om den långt ifrån alltid observeras) - den så kallade dynamiska atttraktorn. Därför används den synkrona moden praktiskt taget inte för Hopfield-nätverket, och betraktas endast som en grund för att förstå den mer komplexa asynkrona moden.

Asynkront nätverk

Om nätverksoperationen modelleras som en sekventiell algoritm, ändras neuronernas tillstånd i det asynkrona driftläget vid nästa tidsögonblick sekventiellt: det lokala fältet beräknas för den första neuronen vid tidpunkten , dess reaktion bestäms, och neuronen sätts till ett nytt tillstånd (vilket motsvarar dess produktion vid tidpunkten ), sedan beräknas det lokala fältet för den andra neuronen med hänsyn till det nya tillståndet för den första, tillståndet för den andra neuronen ändras, och så vidare - tillståndet för varje nästa neuron beräknas med hänsyn till alla förändringar i tillstånden för de tidigare betraktade neuronerna.

Faktum är att med den sekventiella implementeringen av Hopfield-nätverket är det inte tydligt synligt vad asynkronin är, men det kan ses om Hopfield-nätverket är implementerat med parallell beräkning. I det här fallet är det asynkrona läget för Hopfield-nätverket förenklat och är ett specialfall jämfört med den allmänna formen av asynkrona nätverk, där överföringstiden för varje anslutning mellan element är annorlunda , men konstant. För att överväga driften av ett nätverk i parallell implementering är det nödvändigt att introducera konceptet med en cykel - som den minsta tid för vilken en signal sänds över en anslutning, det vill säga vid . Under tidsintervallet mellan och ett visst antal cykler inträffar sedan N. Och det är inom tidsgränsen för N cykler som asynkron uppstår i flödet av signaler och utförandet av beräkningar. Det vill säga, till exempel, när du behöver beräkna tillståndet för neuron #3, måste du beräkna tillståndet för neuron #1 och tillståndet för neuron #2 och multiplicera detta med motsvarande vikter och . Men, som det visar sig, för att beräkna tillståndet för neuron #2, måste du känna till det uppdaterade tillståndet för neuron #1 och det gamla tillståndet för neuron #3, multiplicera dem med vikterna och . Det är tydligt att det är fysiskt omöjligt att beräkna tillståndet för neuron nr 1 och tillståndet för neuron nr 2 samtidigt, eftersom tillståndet för neuron nr 2 beror på tillståndet för neuron nr 1. Därför, kopplingen mellan neuron nr 1 och neuron nr 3 har en överföringstid och når neuron nummer 3 i två cykler. En sådan annorlunda sändningstid tillåter oss nämligen att tala om Hopfield-nätverket som ett nätverk med asynkront läge.

I asynkront läge är en dynamisk atttraktor omöjlig: oavsett antalet lagrade bilder och initialtillståndet kommer nätverket säkert att komma till ett stabilt tillstånd (statisk attraktion).

Ett exempel på att återställa en skadad bild

Om, under träning, en matris av viktkoefficienter (interneuronala anslutningar) bildas baserat på binära referensvektorer, kommer det neurala nätverket i drift under verkan av fälten som beskrivs ovan att ändra neuronernas tillstånd tills det växlar till ett av de stabila staterna.

Låt det finnas ett neuralt nätverk med dimension , en uppsättning svartvita bilder (−1 - svart, +1 - vit) skrivs i anslutningsmatrisen, bland vilka det finns en bild av en hund (figur till höger ). Om du ställer in det initiala tillståndet för nätverket nära denna vektor (figur till vänster, förvrängd bild), kommer det neurala nätverket under dynamiken att återställa den ursprungliga bilden (referens). I denna mening kan vi säga att Hopfield-nätverket löser problemet med mönsterigenkänning (även om den resulterande referensbilden strängt taget fortfarande måste omvandlas till ett klassnummer, vilket i vissa fall kan vara en mycket beräkningsintensiv uppgift).

förvrängd bild Referens

Nätverksstabilitet under drift

Den grundläggande skillnaden mellan de två arbetssätten för nätverk är att i det asynkrona fallet kommer nätverket nödvändigtvis att komma till ett stabilt tillstånd. Med synkron är situationer med en oändlig cyklisk övergång mellan två olika tillstånd möjliga.

Det är möjligt att avgöra om tillståndet hos en neuron är stabil eller inte baserat på den så kallade artificiella energin hos en neuron i ett givet fält . Om tecknet för utgången (+1 eller −1) från neuronen sammanfaller med riktningen för det lokala fältet ( ), är dess position energimässigt stabil och vid nästa tillfälle förblir tillståndet för neuronen oförändrat. Annars ( ), är neurons position instabil och den ändrar sitt tecken och övergår till ett tillstånd med energi .

Stabilitet med den asynkrona metoden uppnås genom att villkoret för nätets totala energi är uppfyllt . I det synkrona fallet ändras tillståndet något, nämligen: . I en situation där oändliga cykliska övergångar inträffar är energin för två olika tillstånd respektive lika med och . I det här fallet sammanfaller staterna och , samt och  —. Om ett sådant tillstånd bildas, kallas det en dynamisk attraktion. Om tillstånden och sammanfaller kallas attraktionen statisk. I de flesta fall är dynamiska attraktorer oönskade eftersom de inte motsvarar något speciellt nätverkssvar.

Associativt minne

Återkopplingsnätverket bildar ett associativt minne . Hopfield-nätverket kan hänföras till autoassociativt minne, det vill säga ett som kan komplettera eller korrigera en bild, men som inte kan associera den mottagna bilden med en annan bild. För att organisera ett stabilt autoassociativt minne med hjälp av ett nätverk med återkoppling, måste vikterna väljas så att de bildar energiminima vid önskade hörn av enhetens hyperkub .

Minimeringsproblem

Visuell bildbehandling (filtrering och associativt minne) är inte den enda tillämpningen av Hopfield-modellen. Den dynamiska proceduren som beskrivs ovan sänker energivärdet för det neurala nätverket vid varje steg. Detta gör att man kan lösa kombinatoriska optimeringsproblem om de kan formuleras som energiminimeringsproblem. Det klassiska problemet av denna typ är resandeförsäljarproblemet .

Att lösa problemet med resande säljare

( Problemet med resande säljare kan inte lösas med hjälp av Hopfields neurala nätverk) Hopfield-nätverket kan användas för att lösa problemet med resande säljare (du måste gå runt alla n städerna och återgå till den ursprungliga så att längden på den färdade rutten är minimal). För att göra detta kan du till exempel ställa följande krav på nätverket:

  1. Nätverket bör bestå av neuroner, som vi kommer att betrakta som en kvadrat av rader och kolumner.
  2. Nätverkssvaret bör endast innehålla en aktiv neuron i varje rad och varje kolumn.
  3. Den aktiva neuronen i den första kolumnen anger den första staden på rutten, i den andra kolumnen den andra staden på rutten, och så vidare.

Det visar sig att följande enkla överväganden räcker för att lösa detta problem:

Alla dessa villkor är uppfyllda av följande formel för att beräkna vikten mellan neuronen som motsvarar staden vid positionen i rutten och neuronen som motsvarar staden vid positionen :

där A, B, C, D är några konstanter,  är avståndet mellan städer och ,  är Kronecker-symbolen , som tar värdet 1 om x=y och värdet 0 annars. Som det är lätt att se är den första termen lika för alla kopplingar på samma linje ( ), förutom kopplingen mellan neuronen och sig själv (at ). Den andra termen är lika för alla länkar i samma kolumn ( ) förutom länken till sig själv ( ). Den tredje termen är proportionell mot avståndet mellan städer och om dessa städer ligger intill i rutten ( eller ).

Om ett sådant nätverk bringas till ett slumpmässigt initialt tillstånd, kan vi förvänta oss att det resulterande stabila tillståndet kommer att ge oss en suboptimal väg, vars längd inte överskrider den optimala för mycket (vägen i sig kan skilja sig väsentligt från den optimala ett). Följaktligen, för praktisk tillämpning, bör nätverket köras flera gånger och den bästa vägen väljas.

Lösningen på detta problem är intressant inte så mycket för dess kvalitet (det finns algoritmer som löser det mer effektivt [3] ), utan för själva inställningen till optimeringsproblem: om det är möjligt att översätta villkoren för ett visst problem till parametrar för kopplingar mellan neuroner, så kan det relativt väl lösas av nätverket utan någon eller ytterligare analys.

Nätverksbegränsningar

Tyvärr har Hopfields neurala nätverk ett antal nackdelar.

1. Relativt liten mängd minne, vars värde kan uppskattas med uttrycket:

Ett försök att spela in fler bilder leder till att det neurala nätverket slutar känna igen dem.

2. Att uppnå ett stabilt tillstånd garanterar inte nätverkets korrekta respons. Detta beror på det faktum att nätverket kan konvergera till de så kallade falska atttraktorerna, ibland kallade "chimärer" (som regel limmas chimärer ihop från fragment av olika bilder).

Se även

Anteckningar

  1. Hopfield knyter kontakt. Exempel på YouTube
  2. Cohen MA, Grossberg SG 1983. Absolut stabilitet för global mönsterbildning och parallell minneslagring av kompatibla neurala nätverk. IEEE Transactions on Systems, Man and Cybernetics 13:815-26.
  3. Lau, KM, Chan, SM, Xu, L. Jämförelse av Hopfield-schemat med hybriden av Lagrange och transformationsmetoder för att lösa problemet med resandeförsäljare. Proceedings of Intelligence in Neural and Biological Systems, 1995.

Litteratur

Länkar