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. 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~_t

Kodeeksempel

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.

Afledte ord

2

Kilder

2