GRU-netværk

forkortelse for Gated Recurrent Unit Network

GRU-netværk er en variant af et tilbagevendende neuralt netværk (RNN), der bruger opdaterings- og nulstille-porte til at kontrollere informationsstrømmen og afhjælpe forsvindende gradienter.

Kort fortalt

En GRU er en smart version af et RNN, der lærer hvornår den skal huske eller glemme information, så den bedre kan håndtere lange sekvenser.

Kategori
arkitektur
Niveau
øvet
Udtale
ɡruː ˈnɛtvɛʁk

Betydninger

1
  1. 1

    En type tilbagevendende neuralt netværksenhed med to porte (opdaterings- og nulstille-port), der regulerer, hvor meget af den tidligere skjulte tilstand der bevares og opdateres.

    • GRU-netværk har vist sig effektive til maskinoversættelse, hvor de håndterer varierende sætningslængder.Cho et al., 2014
    • I tidsserieanalyse kan et GRU-netværk modellere afhængigheder over flere tidssteps uden at lide af forsvindende gradienter som et almindeligt RNN.

Hvornår bruges det

GRU-netværk anvendes til sekvensmodellering såsom maskinoversættelse, talegenkendelse og tidsserieanalyse, især når man ønsker en enklere arkitektur end LSTM med sammenlignelig ydeevne.

Formel

z_t = σ(W_z · [h_{t-1}, x_t])   (update gate)
r_t = σ(W_r · [h_{t-1}, x_t])   (reset gate)
\tilde{h}_t = tanh(W · [r_t ⊙ h_{t-1}, x_t])
h_t = (1 - z_t) ⊙ h_{t-1} + z_t ⊙ \tilde{h}_t

Kodeeksempel

from tensorflow.keras.layers import GRU
from tensorflow.keras.models import Sequential

model = Sequential()
model.add(GRU(units=64, input_shape=(timesteps, features)))
model.add(Dense(1, activation='sigmoid'))
model.compile(optimizer='adam', loss='binary_crossentropy')

Oprettelse af et GRU-lag med 64 enheder i Keras, efterfulgt af et tæt lag til binær klassifikation.

Oprindelse

Termen GRU (Gated Recurrent Unit) blev introduceret af Kyunghyun Cho m.fl. i 2014 som en forenkling af LSTM-enheden, inspireret af behovet for færre parametre og hurtigere træning.

Afledte ord

2

Kilder

2