bidirektional GRU

En variant af GRU (Gated Recurrent Unit) der behandler sekvenser i både fremad- og bagudrettet retning for at fange kontekst fra begge sider.

Kort fortalt

En GRU der læser teksten fra både start og slut, så den kan forstå sammenhænge både før og efter et ord.

Kategori
arkitektur
Niveau
øvet

Betydninger

1
  1. 1

    En type tilbagevendende neuralt netværk (RNN) bestående af to GRU-celler, der læser en sekvens i henholdsvis normal og omvendt rækkefølge, og hvis uddata kombineres (typisk ved konkatenation eller summering) for at give hvert tidsskridt adgang til både tidligere og efterfølgende kontekst.

    • En bidirektional GRU kan forbedre forståelsen af sætninger ved at udnytte kontekst fra begge retninger.

Hvornår bruges det

Bruges i sekvensmodelleringsopgaver som maskinoversættelse og talegenkendelse, hvor adgang til kontekst fra begge sider forbedrer præcisionen. Implementeres typisk ved at køre to uafhængige GRU'er – én fremad, én bagud – og kombinere deres skjulte tilstande.

Kodeeksempel

import tensorflow as tf

model = tf.keras.Sequential([
    tf.keras.layers.Bidirectional(tf.keras.layers.GRU(64), input_shape=(None, 128)),
    tf.keras.layers.Dense(10, activation='softmax')
])

Eksempel på oprettelse af et bidirektionelt GRU-lag i Keras.

Oprindelse

Bidirektional GRU er en udvidelse af GRU (introduceret af Cho et al., 2014) inspireret af bidirektionelle RNN'er (Schuster & Paliwal, 1997).

Afledte ord

2

Kilder

2
  • Cho et al., 2014: Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation
  • Schuster & Paliwal, 1997: Bidirectional Recurrent Neural Networks