GRU
forkortelse for Gated Recurrent Unit
En GRU er en variant af en rekurrent neural netværksenhed, der bruger gate-mekanismer til at kontrollere informationsflow og afhjælpe forsvindende gradient-problemet.
Kort fortalt
GRU er en forenklet version af LSTM, der kombinerer glemmegate og inputgate til en opdateringsgate og har færre parametre, hvilket gør den hurtigere at træne.
- Kategori
- arkitektur
- Niveau
- øvet
- Udtale
- /dʒiː ɑːr juː/
Betydninger
1- 1
En GRU (Gated Recurrent Unit) er en rekurrent neural netværksenhed, der anvender opdaterings- og resetsgates til at styre, hvilken information der bibeholdes eller glemmes over tid, hvilket effektivt håndterer afhængigheder på tværs af sekvenser.
- GRU'en håndterer langtidsafhængigheder effektivt med færre parametre end LSTM. — Cho et al., 2014
Hvornår bruges det
GRU'er bruges ofte i sekvensmodelleringsopgaver som talegenkendelse, maskinoversættelse og sentimentanalyse, især når beregningsressourcer er begrænsede.
Formel
z_t = sigmoid(W_z·[h_{t-1}, x_t])
r_t = sigmoid(W_r·[h_{t-1}, x_t])
h~_t = tanh(W·[r_t * h_{t-1}, x_t])
h_t = (1 - z_t) * h_{t-1} + z_t * h~_tKodeeksempel
import torch
import torch.nn as nn
gru = nn.GRU(input_size=10, hidden_size=20, num_layers=2, batch_first=True)
x = torch.randn(32, 100, 10) # (batch, seq_len, input_size)
output, h_n = gru(x)Opretter et to-lags GRU med inputstørrelse 10 og skjult størrelse 20, og udfører et fremadrettet kald.
Oprindelse
Foreslået af Kyunghyun Cho et al. i 2014 som en forenkling af LSTM med færre porte og parametre.