Återkommande neurala nätverk ( RNS , eng. Recurrent neural network ; RNN ) - en typ av neurala nätverk , där kopplingar mellan element bildar en riktad sekvens. Detta gör det möjligt att bearbeta en serie händelser i tid eller successiva rumsliga kedjor. Till skillnad från flerskiktsperceptroner kan återkommande nätverk använda sitt interna minne för att bearbeta sekvenser av godtycklig längd. Därför är RNN:er tillämpliga i sådana uppgifter där något integrerat är uppdelat i delar, till exempel: handskriftsigenkänning [1] eller taligenkänning [2] [3] . Många olika arkitektoniska lösningar har föreslagits för återkommande nätverk, allt från enkla till komplexa. På senare tid har långtids- och korttidsminnesnätverket (LSTM) och den kontrollerade återkommande enheten (GRU) blivit de mest utbredda.
John Hopfield föreslog Hopfield Network 1982 . År 1993 kunde ett neuralt system för lagring och komprimering av historisk data lösa ett problem med "mycket djupinlärning" där mer än 1000 på varandra följande lager vecklades ut i ett återkommande nätverk. [fyra]
Long Short Term Memory (LSTM)Nätverk med långtids- och korttidsminne ( eng. Långtidsminne, LSTM) ; LSTM ). [5] har hittat tillämpning i olika tillämpningar.
Från och med 2007 blev LSTM populär och kunde ta taligenkänning till nästa nivå , vilket visade en betydande förbättring jämfört med traditionella modeller. [6] Under 2009 uppstod den Connectionist Temporal Classification (CTC)-metoden. Denna metod gjorde det möjligt för återkommande nätverk att inkludera kontextanalys i handskriftsigenkänning. [7] 2014 kunde Encyclopedia of China och sökmotorn Baidu , med hjälp av CTC-tränade återkommande nätverk, ta Switchboard Hub5'00 till en ny nivå, före traditionella metoder. [åtta]
LSTM har också lett till förbättringar i taligenkänning med stora ordböcker [2] [3] och förbättringar i text-till-tal [9] , och har även hittat applikationer i operativsystemet Google Android . [10] Under 2015 ökade Googles taligenkänning avsevärt sina poäng upp till 49 %, anledningen till detta var användningen av ett speciellt CTC-baserat LSTM-utbildningssystem i Googles röstsöksystem . [elva]
LSTM har fört till en ny nivå kvaliteten på maskinöversättning , [12] bygga språkmodeller och [13] flerspråkig textbehandling. [14] Genom att kombinera LSTM med Convolutional Neural Networks (CNN) har den automatiska bildbeskrivningen förbättrats. [femton]
Det finns många varianter, lösningar och konstruktiva delar av återkommande neurala nätverk.
Svårigheten med det återkommande nätverket ligger i det faktum att om varje tidssteg beaktas, så blir det nödvändigt för varje tidssteg att skapa sitt eget lager av neuroner, vilket orsakar allvarliga beräkningssvårigheter. Dessutom visar sig flerskiktsimplementeringar vara beräkningsmässigt instabila, eftersom vikter vanligtvis försvinner eller går ur skalan i dem. Om beräkningen är begränsad till ett fast tidsfönster kommer de resulterande modellerna inte att spegla långsiktiga trender. Olika tillvägagångssätt försöker förbättra modellen för historiskt minne och mekanismen för att minnas och glömma.
Denna grundläggande arkitektur utvecklades på 1980-talet. Nätverket är uppbyggt av noder som var och en är ansluten till alla andra noder. För varje neuron ändras aktiveringströskeln över tiden och är ett reellt tal. Varje förening har en variabel verklig vikt. Noder är indelade i input, output och dolda.
För tidsdiskret övervakad inlärning , vid varje (diskret) tidssteg, matas ingångsnoder data, och andra noder fullbordar sin aktivering, och utsignaler förbereds för överföring av neuronen till nästa nivå. Om till exempel nätverket ansvarar för taligenkänning, som ett resultat, skickas redan etiketter (igenkända ord) till utmatningsnoderna.
I förstärkningsinlärning finns det ingen lärare som tillhandahåller målsignaler för nätverket, istället används ibland en fitnessfunktion (fitness) eller en belöningsfunktion, som utvärderar nätverkets kvalitet, medan utgångsvärdet påverkar nätverkets beteende vid ingången. I synnerhet, om nätverket implementerar ett spel, mäts resultatet av antalet vinst- eller positionspoäng.
Varje steg beräknar felet som den totala avvikelsen för nätverksutgångarna. Om det finns en uppsättning träningsprov, beräknas felet med hänsyn till felen för varje enskilt prov.
Rekursiva neurala nätverk är ett mer allmänt fall av återkommande nätverk, när signalen i nätverket passerar genom en struktur i form av ett träd (vanligtvis binära träd). [16] Samma viktmatriser används rekursivt i hela grafen enligt dess topologi. [17] [18] Rekursiva neurala nätverk kan användas i naturliga språkbehandlingsuppgifter . [19] Det finns även tensorrekursiva neurala nätverk (RNTN, Rekursive Neural Tensor Network), som använder tensorfunktioner för alla noder i trädet. [tjugo]
Ett Hopfield-nätverk är en typ av återkommande nätverk där alla anslutningar är symmetriska. Uppfann av John Hopfield 1982, är det garanterat att dynamiken i ett sådant nätverk konvergerar till en av jämviktspositionerna. Om Hebbian learning används när man skapar anslutningar kan Hopfield-nätverket fungera som ett pålitligt associativt minne som är motståndskraftigt mot ändrade anslutningar.
En variant av Hopfield-nätverket är dubbelriktat associativt minne (BAM) . BAM har två lager, som vart och ett kan fungera som en input, hitta (kom ihåg) en association och generera ett resultat för det andra lagret. [21] [22] [23]
Elmans neurala nätverk är ett trelagers neuralt nätverk. I illustrationen är lagren i nätverket märkta x , y och z . Nätverket innehåller också en uppsättning "kontextrutor" ( u i illustrationen) som lagrar tidigare värden för dolda lagernoder. För att göra detta kopplas det dolda lagret till kontextblocken genom direktlänkar med en fast vikt lika med ett. [24] För varje steg tas information emot vid ingången, som passerar en direkt väg till utlagret i enlighet med inlärningsreglerna. Fasta återkopplingar från kontextblocken förmedlar värdena för de tidigare tillstånden för noderna i det dolda lagret (innan det dolda lagret ändrar värdet under inlärningsprocessen). På detta sätt behåller nätverket sitt tidigare tillstånd, vilket ger sekvensprediktion, vilket är bortom kapaciteten hos en flerskiktsperceptron.
Jordans neurala nätverk liknar Elmans nätverk. Kontextrutorna är dock inte associerade med det dolda lagret, utan med utdatalagret. Kontextblock bevarar alltså nätverkets tidigare tillstånd och möjliggör återkommande kommunikation i nätverket. [24]
Elmans och Jordaniens nätverk kallas också "enkla återkommande nätverk" (SRN).
Elman nätverk [25] Jordan Network [26]Variabel- och funktionsbeteckningar:
Ekonätverk ( engelsk echo state network ; ESN ) kännetecknas av ett dolt lager (som kallas en reservoar) med slumpmässiga glesa kopplingar mellan neuroner. I det här fallet är anslutningarna inuti behållaren fasta, men anslutningarna med utgående skikt är föremål för träning. Tankens tillstånd (tillstånd) beräknas genom tankens tidigare tillstånd, såväl som tidigare tillstånd för in- och utsignalerna. Eftersom ekonätverk bara har ett dolt lager har de en ganska låg beräkningskomplexitet, men kvaliteten på simuleringen är starkt beroende av de initiala inställningarna, som är ungefär slumpmässiga. Ekonätverk fungerar bra när du återger tidsserier . [27] En variant av ekonätverk är impuls- (spik-) neurala nätverk , även kända som flytande neurala nätverk ("vätskenätverk är namngivna med hjälp av metaforen om divergerande cirklar på vatten från en fallande sten, vilket kännetecknar korttidsminnet från en ingångshändelse). [28]
Den neurala kompressorn av historisk data är ett block som låter dig lagra i en komprimerad form de väsentliga historiska egenskaperna hos processen, som är en sorts stack av ett återkommande neuralt nätverk som bildas i processen för självinlärning . [29] På ingångsnivån försöker neuralhistoria-kompressorn förutsäga nästa ingång från historiska data. Nästa nivå i det återkommande nätverket tar bara emot de ingångar som inte kunde förutsägas, och som samtidigt bidrar till en förändring i kompressorns tillstånd. Varje nästa lager i nätverket lär sig också komprimerad historisk information från tidigare lager på samma sätt. Således kan inmatningssekvensen noggrant rekonstrueras från representationen av efterföljande lager.
Systemet försöker minimera storleken på beskrivningen, eller använder negativa logaritmer för att uppskatta sannolikheterna för data. [30] Genom att använda träningsbar förutsägbarhet i den inkommande datasekvensen kan nästa nivås RNN-nätverk, som tillämpar redan övervakad inlärning, redan klassificera även djupa sekvenser med stora tidsintervall mellan nyckelhändelser.
Således kan RNN-nätverket delas in i två nivåer av lager: "medveten" (högre nivå) och "undermedveten" automatisering (lägre nivå). När toppnivån har lärt sig att förutsäga och komprimera ingångar (som är oförutsägbara) med hjälp av automatorn, då kan automatorn sedan tvingas i nästa steg av att lära sig att förutsäga sig själv eller härma genom ytterligare eller dolda block av långsammare förändring högsta nivån. Detta förenklar automatörens arbete, vilket möjliggör långsiktiga, men sällan föränderliga minnen. Detta hjälper i sin tur automatören att göra många av sina en gång oförutsägbara ingångar förutsägbara, så att det översta lagret kan fokusera på de återstående oförutsägbara händelserna. [29]
Ett nätverk med långtids- och korttidsminne ( engelska Long short term memory, LSTM) är ett djupt inlärningssystem , vars implementering lyckades kringgå problemet med att försvinna eller gå utanför skalan av gradienter i inlärningsprocessen med hjälp av metod för återförökning . LSTM-nätverket modereras vanligtvis med återkommande grindar som kallas "glöm"-grindar. [31] Fel sprids bakåt i tiden genom ett potentiellt obegränsat antal virtuella lager. På detta sätt sker inlärning i LSTM [32] samtidigt som minnet av tusentals och till och med miljontals tidsintervall i det förflutna behålls. Topologier för LSTM-nätverk kan utvecklas i enlighet med processens detaljer. [33] I ett LSTM-nätverk kan även stora förseningar mellan betydande händelser tas med i beräkningen, och därmed kan högfrekventa och lågfrekventa komponenter blandas.
Många återkommande nätverk använder datastackar som är inneboende i LSTM [34] Nätverk kan tränas med hjälp av "Connectionist Temporal Classification (CTC)" [ 35 ] för att hitta en sådan viktmatris där sannolikheten för en sekvens av etiketter i uppsättningsproverna vid lämpligt ingångsströmmen minimeras. CTC låter dig uppnå både beställning och erkännande.
LSTM kan också tränas i att känna igen sammanhangskänsliga språk, till skillnad från tidigare modeller baserade på Hidden Markov Model (HMM) och liknande idéer. [36]
Andra ordningens återkommande nätverkAndra ordningens återkommande nätverk använder högre ordningens vikter istället för vanliga vikter , och ingångs- och tillståndsparametrarna kan erhållas som en produkt. I detta fall omvandlas nätverket (mappning) till en tillståndsmaskin både i inlärningsprocessen och under stabilisering och presentation. [37] [38] Långt korttidsminne har i detta fall inte ett sådant transformations- och stabilitetstest.
Gated recurrent unit ( Gated recurrent units ; GRU ) är en återkommande nätverkshanteringsmekanism som föreslagits 2014 . GRU-prestanda i talsignaler eller polyfoniska musikmodeller visade sig vara jämförbara med långtidsminne (LSTM). [39] Denna modell har färre parametrar än LSTM och saknar utgångskontroll. [40]
Typer av artificiella neurala nätverk | |
---|---|
|
Maskininlärning och datautvinning | |
---|---|
Uppgifter | |
Att lära sig med en lärare | |
klusteranalys | |
Dimensionalitetsreduktion | |
Strukturell prognos | |
Anomali upptäckt | |
Grafisk probabilistiska modeller | |
Neurala nätverk | |
Förstärkningsinlärning |
|
Teori | |
Tidskrifter och konferenser |
|