Dubbelriktade återkommande neurala nätverk

Dubbelriktade återkommande neurala nätverk ( BRNN ) kopplar två dolda lager av motsatta riktningar till samma utgång. Med denna form av generativ djupinlärning kan utgångsskiktet få information från tidigare (bakåt) och framtida (framåt) tillstånd samtidigt. Uppfanns 1997 av Schuster och Paliwal, BRNNs introducerades för att öka mängden indata tillgänglig för nätverket. Till exempel multilayer perceptron (MLPs) och time delay neural network (TDNN) begränsningar på indataflexibiliteten, eftersom de kräver att deras indata fixeras. Standard återkommande neurala nätverk (RNN) har också begränsningar eftersom framtida indata inte kan nås från det aktuella tillståndet. Tvärtom kräver BRNN inte att deras indata ska fixas. Dessutom är deras framtida indata tillgänglig från det aktuella tillståndet.

BRNN är särskilt användbara när sammanhanget för inmatningen behövs. Till exempel, i handskriftsigenkänning , kan prestandan förbättras genom kunskap om bokstäverna före och efter den aktuella bokstaven.

Arkitektur

Struktur för RNN och BRNN

Principen för BRNN är att dela upp neuronerna i en vanlig RNN i två riktningar, en för positiv tidsriktning (framåttillstånd), och en annan för negativ tidsriktning (bakåttillstånd). Dessa två tillstånds utgång är inte ansluten till ingångar i motsatt riktning. Den allmänna strukturen för RNN och BRNN kan avbildas i det högra diagrammet. Genom att använda två tidsriktningar kan indata från det förflutna och framtiden för den aktuella tidsramen användas till skillnad från standard RNN som kräver förseningar för att inkludera framtida information.

Träning

BRNNs kan tränas med liknande algoritmer som RNNs, eftersom de två riktade neuronerna inte har några interaktioner. Men när back-propagation genom tid tillämpas, behövs ytterligare processer eftersom uppdatering av in- och utgångsskikt inte kan göras på en gång. Allmänna rutiner för träning är som följer: För framåtpassning passeras framåttillstånd och bakåttillstånd först, sedan passerar utgående neuroner. För bakåtpassning passeras utgående neuroner först, sedan framåttillstånd och bakåttillstånd därefter. Efter att fram- och bakåtpassningar är gjorda uppdateras vikterna.

Ansökningar

Tillämpningar av BRNN inkluderar:

  • Översättning
  • Handskriven igenkänning
  • Förutsägelse av proteinstruktur
  • Ordspråktaggning
  • Beroendeanalys
  • Enhetsutvinning

externa länkar

  • [1] Implementering av BRNN/LSTM i Python med Theano