Gentagende neurale netværk ( RNS , eng. Recurrent neural network ; RNN ) - en type neurale netværk , hvor forbindelser mellem elementer danner en rettet sekvens. Dette gør det muligt at bearbejde en række begivenheder i tid eller successive rumlige kæder. I modsætning til flerlagsperceptroner kan tilbagevendende netværk bruge deres interne hukommelse til at behandle sekvenser af vilkårlig længde. Derfor er RNN'er anvendelige i sådanne opgaver, hvor noget integreret er opdelt i dele, for eksempel: håndskriftsgenkendelse [1] eller talegenkendelse [2][3] . Mange forskellige arkitektoniske løsninger er blevet foreslået til tilbagevendende netværk, lige fra simple til komplekse. For nylig er langtids- og korttidshukommelsesnetværket (LSTM) og den kontrollerede tilbagevendende enhed (GRU) blevet de mest udbredte.
John Hopfield foreslog Hopfield Network i 1982 . I 1993 var et neuralt system til lagring og komprimering af historiske data i stand til at løse et "meget deep learning"-problem, hvor mere end 1000 på hinanden følgende lag udfoldede sig i et tilbagevendende netværk. [fire]
Long Short Term Memory (LSTM)Netværk med langtids- og korttidshukommelse ( eng. Langtidshukommelse, LSTM) ; LSTM ). [5] har fundet anvendelse i forskellige applikationer.
Fra og med 2007 vandt LSTM popularitet og var i stand til at tage talegenkendelse til næste niveau , hvilket viste en betydelig forbedring i forhold til traditionelle modeller. [6] I 2009 dukkede Connectionist Temporal Classification (CTC) tilgangen op. Denne metode gjorde det muligt for tilbagevendende netværk at inkludere kontekstanalyse i håndskriftsgenkendelse. [7] I 2014 var Encyclopedia of China og søgemaskinen Baidu ved hjælp af CTC-trænede tilbagevendende netværk i stand til at tage Switchboard Hub5'00 til et nyt niveau, foran traditionelle metoder. [otte]
LSTM har også ført til forbedringer i talegenkendelse med store ordbøger [2] [3] og forbedringer i tekst-til-tale [9] , og har også fundet anvendelse i Google Android -operativsystemet . [10] I 2015 øgede Googles talegenkendelse sine resultater markant op til 49 %, grunden til dette var brugen af et særligt CTC-baseret LSTM-træningssystem i Googles stemmesøgnings- system . [elleve]
LSTM har bragt kvaliteten af maskinoversættelse , [12] opbygning af sprogmodeller og [13] flersproget tekstbehandling til et nyt niveau. [14] Kombinationen af LSTM med Convolutional Neural Networks (CNN'er) har forbedret automatisk billedbeskrivelse. [femten]
Der er mange varianter, løsninger og konstruktive elementer af tilbagevendende neurale netværk.
Vanskeligheden ved det tilbagevendende netværk ligger i, at hvis hvert tidstrin tages i betragtning, så bliver det nødvendigt for hvert tidstrin at skabe sit eget lag af neuroner, hvilket forårsager alvorlige beregningsmæssige vanskeligheder. Derudover viser flerlagsimplementeringer sig at være beregningsmæssigt ustabile, da vægte normalt forsvinder eller forsvinder fra skalaen i dem. Hvis beregningen er begrænset til et fast tidsvindue, vil de resulterende modeller ikke afspejle langsigtede tendenser. Forskellige tilgange forsøger at forbedre modellen for historisk hukommelse og mekanismen til at huske og glemme.
Denne grundlæggende arkitektur blev udviklet i 1980'erne. Netværket er bygget af noder, som hver især er forbundet med alle andre noder. For hver neuron ændres aktiveringstærsklen over tid og er et reelt tal. Hver forbindelse har en variabel reel vægt. Noder er opdelt i input, output og skjulte.
For diskret-tidsovervåget læring tilføres inputknudepunkter ved hvert (diskrete) tidstrin data, og andre noder fuldfører deres aktivering, og udgangssignaler forberedes til transmission af neuronen til næste niveau. Hvis netværket f.eks. er ansvarligt for talegenkendelse, sendes der allerede labels (genkendte ord) til outputknuderne.
I forstærkende læring er der ingen lærer, der leverer målsignaler til netværket, i stedet bruges nogle gange en fitnessfunktion (fitness) eller en belønningsfunktion, som evaluerer kvaliteten af netværket, mens outputværdien påvirker netværkets adfærd ved inputtet. Især hvis netværket implementerer et spil, måles outputtet ved antallet af gevinst- eller positionsscorepoint.
Hvert trin beregner fejlen som den samlede afvigelse af netværkets output. Hvis der er et sæt træningsprøver, beregnes fejlen under hensyntagen til fejlene for hver enkelt prøve.
Rekursive neurale netværk er et mere generelt tilfælde af tilbagevendende netværk, når signalet i netværket passerer gennem en struktur i form af et træ (normalt binære træer). [16] De samme vægtmatricer bruges rekursivt i hele grafen i henhold til dens topologi. [17] [18] Rekursive neurale netværk finder anvendelse i naturlige sprogbehandlingsopgaver . [19] Der er også tensor rekursive neurale netværk (RNTN, Recursive Neural Tensor Network), som bruger tensorfunktioner til alle noder i træet. [tyve]
Et Hopfield-netværk er en type tilbagevendende netværk, hvor alle forbindelser er symmetriske. Opfundet af John Hopfield i 1982, er det garanteret, at dynamikken i et sådant netværk konvergerer til en af ligevægtspositionerne. Hvis Hebbian learning bruges ved oprettelse af forbindelser , så kan Hopfield-netværket fungere som en pålidelig associativ hukommelse , der er modstandsdygtig over for skiftende forbindelser.
En variation på Hopfield-netværket er tovejs associativ hukommelse (BAM) . BAM har to lag, som hver kan fungere som input, finde (huske) en association og generere et resultat for det andet lag. [21] [22] [23]
Elmans neurale netværk er et tre-lags neuralt netværk. I illustrationen er lagene i netværket mærket x , y og z . Netværket indeholder også et sæt "kontekstbokse" ( u i illustrationen), der gemmer de tidligere værdier af skjulte lagnoder. For at gøre dette er det skjulte lag forbundet med kontekstblokkene ved direkte links med en fast vægt lig med én. [24] For hvert trin modtages information ved inputtet, som passerer en direkte vej til outputlaget i overensstemmelse med indlæringsreglerne. Faste tilbagemeldinger fra kontekstblokkene formidler værdierne af de tidligere tilstande af noderne i det skjulte lag (før det skjulte lag ændrer værdien under indlæringsprocessen). På denne måde bevarer netværket sin tidligere tilstand og giver således sekvensforudsigelse, som ligger uden for en flerlagsperceptrons muligheder.
Jordans neurale netværk ligner Elmans netværk. Kontekstboksene er dog ikke knyttet til det skjulte lag, men med outputlaget. Kontekstblokke bevarer således netværkets tidligere tilstand og muliggør tilbagevendende kommunikation i netværket. [24]
Elman- og Jordan-netværk kaldes også "simple recurrent networks" (SRN'er).
Elman netværk [25] Jordan netværk [26]Variable og funktionsnotationer:
Ekko-netværk ( engelsk echo state network ; ESN ) er karakteriseret ved ét skjult lag (som kaldes et reservoir) med tilfældige sparsomme forbindelser mellem neuroner. I dette tilfælde er forbindelserne inde i reservoiret faste, men forbindelserne med outputlaget er underlagt træning. Tankens tilstand (tilstand) beregnes gennem tankens tidligere tilstande, såvel som de tidligere tilstande for input- og outputsignalerne. Da ekko-netværk kun har ét skjult lag, har de en forholdsvis lav beregningsmæssig kompleksitet, men kvaliteten af simuleringen er meget afhængig af de indledende indstillinger, som er nogenlunde tilfældige. Ekko-netværk fungerer godt ved gengivelse af tidsserier . [27] En variation af ekko-netværk er impuls-(spids-) neurale netværk , også kendt som flydende neurale netværk ("flydende" netværk er navngivet ved hjælp af metaforen om divergerende cirkler på vand fra en faldende sten, som karakteriserer korttidshukommelsen fra en inputhændelse). [28]
Den neurale kompressor af historiske data er en blok, der giver dig mulighed for i en komprimeret form at gemme de væsentlige historiske træk ved processen, som er en slags stak af et tilbagevendende neuralt netværk dannet i processen med selvindlæring . [29] På inputniveauet forsøger den neurale historiekompressor at forudsige det næste input fra de historiske data. Det næste niveau af det tilbagevendende netværk modtager kun de input, der ikke kunne forudsiges, og som samtidig bidrager til en ændring i kompressorens tilstand. Hvert næste lag af netværket lærer også komprimeret historisk information fra tidligere lag på samme måde. Således kan inputsekvensen rekonstrueres nøjagtigt ud fra repræsentationen af efterfølgende lag.
Systemet forsøger at minimere størrelsen af beskrivelsen eller bruger negative logaritmer til at estimere sandsynligheden for dataene. [30] Ved at bruge trænerbar forudsigelighed i den indkommende datasekvens kan RNN-netværket på næste niveau, der anvender allerede overvåget læring, allerede klassificere selv dybe sekvenser med store tidsintervaller mellem nøglebegivenheder.
RNN-netværket kan således opdeles i to niveauer af lag: "bevidst" (højere niveau) og "underbevidst" automatisering (lavere niveau). Når først topniveauet har lært at forudsige og komprimere input (som er uforudsigelige) ved hjælp af automatoren, så kan automatoren så tvinges i næste fase af at lære at forudsige sig selv eller efterligne gennem yderligere eller skjulte blokke af den langsommere forandring højeste niveau. Dette forenkler automatorens arbejde og giver mulighed for langsigtede, men sjældent skiftende minder. Til gengæld hjælper dette automatoren med at gøre mange af sine engang uforudsigelige input forudsigelige, så det øverste lag kan fokusere på de resterende uforudsigelige begivenheder. [29]
Et netværk med langtids- og korttidshukommelse ( engelsk Long short term memory, LSTM) er et dybt læringssystem , hvis implementering formåede at omgå problemet med at forsvinde eller gå ud over skalaen af gradienter i læringsprocessen ved hjælp af tilbageformeringsmetode . LSTM-netværket modereres typisk med tilbagevendende gates kaldet "glem"-gates. [31] Fejl forplanter sig bagud i tiden gennem et potentielt ubegrænset antal virtuelle lag. På denne måde finder læring sted i LSTM [32], mens hukommelsen om tusinder og endda millioner af tidsintervaller i fortiden bevares. Topologier af LSTM-netværk kan udvikles i henhold til processens specifikationer. [33] I et LSTM-netværk kan der tages højde for selv store forsinkelser mellem væsentlige hændelser, og dermed kan højfrekvente og lavfrekvente komponenter blandes.
Mange tilbagevendende netværk bruger datastakke, der er iboende i LSTM [34] Netværk kan trænes ved hjælp af "Connectionist Temporal Classification (CTC)" [ 35 ] for at finde en sådan vægtmatrix, hvor sandsynligheden for en sekvens af etiketter i sætprøverne ved de relevante inputstrøm er minimeret. CTC giver dig mulighed for at opnå både bestilling og anerkendelse.
LSTM kan også trænes til at genkende kontekstfølsomme sprog, i modsætning til tidligere modeller baseret på Hidden Markov Model (HMM) og lignende ideer. [36]
Andenordens tilbagevendende netværkAndenordens tilbagevendende netværk bruger højere ordens vægte i stedet for almindelige vægte , og input- og tilstandsparametrene kan fås som et produkt. I dette tilfælde transformeres netværket (mapping) til en tilstandsmaskine både i læreprocessen og under stabilisering og præsentation. [37] [38] Lang korttidshukommelse har i dette tilfælde ikke en sådan transformations- og stabilitetstest.
Gated recurrent unit ( Gated recurrent units ; GRU ) er en tilbagevendende netværksstyringsmekanisme, der blev foreslået i 2014 . GRU-ydeevne i talesignal- eller polyfoniske musikmodeller blev fundet at være sammenlignelig med langtidshukommelsen (LSTM). [39] Denne model har færre parametre end LSTM og mangler outputkontrol. [40]
Typer af kunstige neurale netværk | |
---|---|
|
Machine learning og data mining | |
---|---|
Opgaver | |
At lære med en lærer | |
klyngeanalyse | |
Dimensionalitetsreduktion | |
Strukturel prognose | |
Anomali detektion | |
Grafer sandsynlighedsmodeller | |
Neurale netværk | |
Forstærkende læring |
|
Teori | |
Tidsskrifter og konferencer |
|