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
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}_tKodeeksempel
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.