Tidsfördröjning neurala nätverk
Tidsfördröjningsneurala nätverk ( TDNN ) är en artificiell neural nätverksarkitektur i flera lager vars syfte är att 1) klassificera mönster med skiftinvarians och 2) modellera kontext vid varje lager i nätverket.
Skiftinvariant klassificering innebär att klassificeraren inte kräver explicit segmentering innan klassificeringen. För klassificeringen av ett tidsmönster (såsom tal) undviker TDNN således att behöva bestämma början och slutpunkterna för ljud innan de klassificeras.
För kontextuell modellering i en TDNN får varje neural enhet i varje lager input inte bara från aktivering/funktioner i lagret nedan, utan från ett mönster av enhetsutdata och dess sammanhang. För tidssignaler får varje enhet som indata aktiveringsmönstren över tiden från enheterna nedan. Tillämpad på tvådimensionell klassificering (bilder, tids-frekvensmönster) kan TDNN tränas med skiftinvarians i koordinatrummet och undviker exakt segmentering i koordinatrummet.
Historia
TDNN introducerades i slutet av 1980-talet och användes för en uppgift med fonemklassificering för automatisk taligenkänning i talsignaler där den automatiska bestämningen av exakta segment eller särdragsgränser var svår eller omöjlig. Eftersom TDNN känner igen fonem och deras underliggande akustiska/fonetiska egenskaper, oberoende av position i tid, förbättrade den prestandan jämfört med statisk klassificering. Det applicerades också på tvådimensionella signaler (tidsfrekvensmönster i tal och koordinatrumsmönster i OCR).
Max pooling
År 1990, Yamaguchi et al. introducerade konceptet max pooling. De gjorde det genom att kombinera TDNN med max pooling för att realisera ett talaroberoende isolerat ordigenkänningssystem.
Översikt
Time Delay Neural Network, liksom andra neurala nätverk, fungerar med flera sammankopplade lager av perceptroner och implementeras som ett neuralt nätverk för feedforward . Alla neuroner (vid varje lager) i en TDNN tar emot indata från utgångarna från neuroner i lagret nedan men med två skillnader:
- Till skillnad från vanliga flerskiktsperceptroner får alla enheter i en TDNN, vid varje lager, indata från ett kontextuellt fönster med utdata från lagret nedan. För tidsvarierande signaler (t.ex. tal) har varje enhet kopplingar till utgången från enheterna nedan men även till de tidsfördröjda (tidigare) utgångarna från dessa samma enheter. Detta modellerar enheternas tidsmönster/bana. För tvådimensionella signaler (t.ex. tids-frekvensmönster eller bilder) observeras ett 2D-kontextfönster vid varje lager. Högre lager har indata från bredare sammanhangsfönster än lägre lager och modellerar därför generellt grövre abstraktionsnivåer.
- Skiftinvarians uppnås genom att uttryckligen ta bort positionsberoendet under träning för backpropagation . Detta görs genom att göra tidsförskjutna kopior av ett nätverk över dimensionen invarians (här: tid). Felgradienten beräknas sedan genom backpropagation genom alla dessa nätverk från en övergripande målvektor, men innan viktuppdateringen utförs, medelvärdesbildas de felgradienter som är associerade med skiftade kopior och delas sålunda och begränsningen är lika. Allt positionsberoende från backpropagation-träning genom de skiftade kopiorna tas alltså bort och de kopierade nätverken lär sig de mest framträdande dolda egenskaperna skift-invariant, dvs oberoende av deras exakta position i indata. Skiftinvarians utökas också lätt till flera dimensioner genom att införa liknande viktdelning över kopior som flyttas längs flera dimensioner.
Exempel
I fallet med en talsignal är ingångar spektrala koefficienter över tiden.
För att lära sig kritiska akustisk-fonetiska egenskaper (till exempel formantövergångar, skurar, frikationer, etc.) utan att först kräva exakt lokalisering, tränas TDNN:n tidsförskjutning-invariant. Tidsförskjutningsinvarians uppnås genom viktdelning över tiden under träning: Tidsförskjutna kopior av TDNN görs över inmatningsområdet (från vänster till höger i fig. 1). Återförökning utförs sedan från en övergripande klassificeringsmålvektor (se TDNN-diagram, tre fonemklassmål (/b/, /d/, /g/) visas i utgångsskiktet), vilket resulterar i gradienter som i allmänhet kommer att variera för var och en av de tidsförskjutna nätverkskopiorna. Eftersom sådana tidsförskjutna nätverk endast är kopior, tas dock positionsberoendet bort genom viktdelning. I det här exemplet görs detta genom att man beräknar ett genomsnitt av gradienterna från varje tidsförskjuten kopia innan viktuppdateringen utförs. I tal visades time-shift invariant träning lära sig viktmatriser som är oberoende av exakt positionering av inmatningen. Viktmatriserna skulle också kunna visa sig detektera viktiga akustiskt-fonetiska egenskaper som är kända för att vara viktiga för mänsklig taluppfattning, såsom formantövergångar, skurar, etc. TDNNs kan också kombineras eller odlas med hjälp av förträning.
Genomförande
Den exakta arkitekturen för TDNN (tidsfördröjningar, antal lager) bestäms mestadels av designern beroende på klassificeringsproblemet och de mest användbara sammanhangsstorlekarna. Fördröjningarna eller sammanhangsfönstren väljs specifikt för varje applikation. Arbete har också gjorts för att skapa anpassningsbara TDNN med tidsfördröjning där denna manuella inställning elimineras.
Toppmodern
TDNN-baserade fonemigenkännare jämfördes positivt i tidiga jämförelser med HMM-baserade telefonmodeller. Moderna djupa TDNN-arkitekturer inkluderar många fler dolda lager och delprov eller poolanslutningar över bredare sammanhang på högre lager. De uppnår upp till 50 % minskning av ordfel jämfört med GMM -baserade akustiska modeller. Medan de olika lagren av TDNN är avsedda att lära sig funktioner för att öka kontextbredden, modellerar de lokala sammanhang. När relationer och mönstersekvenser på längre avstånd måste bearbetas är inlärningstillstånd och tillståndssekvenser viktiga och TDNN kan kombineras med andra modelleringstekniker.
Ansökningar
Taligenkänning
TDNN brukade lösa problem inom taligenkänning som introducerades 1989 och inledningsvis fokuserade på skiftinvariant fonemigenkänning. Tal lämpar sig väl för TDNNs eftersom talade ljud sällan är av enhetlig längd och exakt segmentering är svårt eller omöjligt. Genom att skanna ett ljud över det förflutna och framtiden kan TDNN konstruera en modell för nyckelelementen i det ljudet på ett oföränderligt sätt. Detta är särskilt användbart eftersom ljud smetas ut genom efterklang. Stora fonetiska TDNN kan konstrueras modulärt genom förträning och genom att kombinera mindre nätverk.
Stort ordförråd taligenkänning
Taligenkänning med stort ordförråd kräver att man känner igen sekvenser av fonem som utgör ord som är föremål för begränsningarna för ett stort uttalsvokabulär. Integrering av TDNN i taligenkännare av stort ordförråd är möjlig genom att införa tillståndsövergångar och sökning mellan fonem som utgör ett ord. Det resulterande multi-tillståndets tidsfördröjningsneurala nätverket (MS-TDNN) kan tränas diskriminerande från ordnivån, och därigenom optimera hela arrangemanget mot ordigenkänning istället för fonemklassificering.
Talarens oberoende
Tvådimensionella varianter av TDNN föreslogs för talaroberoende. Här appliceras skiftinvarians på tiden såväl som på frekvensaxeln för att lära sig dolda egenskaper som är oberoende av exakt plats i tid och frekvens (det senare beror på högtalarvariabilitet).
Eko
Ett av de ihållande problemen med taligenkänning är att känna igen tal när det är korrumperat av eko och efterklang (som är fallet i stora rum och avlägsna mikrofoner). Efterklang kan ses som korrumperande tal med fördröjda versioner av sig själv. I allmänhet är det dock svårt att avreverberera en signal eftersom impulssvarsfunktionen (och därmed faltningsbruset som upplevs av signalen) inte är känt för något godtyckligt utrymme. TDNN visade sig vara effektivt för att känna igen tal robust trots olika nivåer av efterklang.
Läppläsning – audiovisuellt tal
TDNN användes också framgångsrikt i tidiga demonstrationer av audiovisuellt tal, där talljuden kompletteras med visuellt avläsning av läpprörelser. Här använde TDNN-baserade igenkännare visuella och akustiska egenskaper tillsammans för att uppnå förbättrad igenkänningsnoggrannhet, särskilt i närvaro av brus, där kompletterande information från en alternativ modalitet kunde smältas samman fint i ett neuralt nät.
Handskriftsigenkänning
TDNN har använts effektivt i kompakta och högpresterande handskriftsigenkänningssystem . Skift-invarians anpassades också till rumsliga mönster (x/y-axlar) i offline-handskriftsigenkänning.
Videoanalys
Video har en tidsdimension som gör en TDNN till en idealisk lösning för att analysera rörelsemönster. Ett exempel på denna analys är en kombination av fordonsdetektering och igenkänning av fotgängare. När du granskar videor matas efterföljande bilder in i TDNN som indata där varje bild är nästa bildruta i videon. Styrkan hos TDNN kommer från dess förmåga att undersöka objekt som förskjuts i tid framåt och bakåt för att definiera ett objekt som kan detekteras när tiden ändras. Om ett objekt kan kännas igen på detta sätt kan en applikation planera för att objektet ska hittas i framtiden och utföra en optimal åtgärd.
Bildigenkänning
Tvådimensionella TDNN applicerades senare på andra bildigenkänningsuppgifter under namnet " Convolutional Neural Networks ", där skiftinvariant träning tillämpas på x/y-axlarna i en bild.
Gemensamma bibliotek
- TDNN kan implementeras i praktiskt taget alla maskininlärningsramverk med hjälp av endimensionella faltningsneurala nätverk, på grund av metodernas likvärdighet.
- Matlab : Verktygslådan för det neurala nätverket har explicit funktionalitet utformad för att producera ett neuralt nätverk med tidsfördröjning som ger stegstorleken för tidsfördröjningar och en valfri träningsfunktion. Standardträningsalgoritmen är en Supervised Learning-back-propagation-algoritm som uppdaterar filtervikter baserat på Levenberg-Marquardt-optimeringarna. Funktionen är timedelaynet(delays, hidden_layers, train_fnc) och returnerar en tidsfördröjd neural nätverksarkitektur som en användare kan träna och ge indata till.
- Kaldi ASR Toolkit har en implementering av TDNN med flera optimeringar för taligenkänning.
Se även
- Konvolutionellt neuralt nätverk – ett faltningsneuralt nät där faltningen utförs längs datas tidsaxel är mycket lik en TDNN.
- Återkommande neurala nätverk – ett återkommande neuralt nätverk hanterar också tidsdata, om än på ett annat sätt. Istället för en tidsvarierad ingång upprätthåller RNN:er interna dolda lager för att hålla reda på tidigare (och i fallet med dubbelriktade RNN:er, framtida) ingångar.