GRU-celle
forkortelse for Gated Recurrent Unit
GRU-celle er en type tilbagevendende neural netværkscelle med to porte (reset og update), der regulerer informationsflowet og mindsker problemet med forsvindende gradienter.
Kort fortalt
En GRU-celle er en smartere version af en simpel RNN-celle, der bruger to 'porte' til at bestemme, hvad der skal huskes og hvad der skal glemmes.
- Kategori
- arkitektur
- Niveau
- øvet
Betydninger
1- 1
En GRU-celle er en gated enhed i et tilbagevendende neuralt netværk, der bruger en reset-port og en update-port til at styre informationsflowet, hvilket gør den i stand til at lære langtidsafhængigheder uden at lide under forsvindende gradienter.
- I stedet for en simpel RNN anvender modellen en GRU-celle for bedre at håndtere lange sekvenser. — fiktivt eksempel
- GRU-cellen har færre porte end LSTM-cellen, hvilket gør den hurtigere at træne. — fiktivt eksempel
Hvornår bruges det
GRU-celler bruges i sekvensmodellering som sprogmodeller, talegenkendelse og tidsserieanalyse, hvor de ofte foretrækkes frem for LSTM-celler på grund af færre parametre og hurtigere træning, samtidig med at de opnår sammenlignelig ydeevne.
Formel
z_t = σ(W_z · [h_{t-1}, x_t] + b_z)
r_t = σ(W_r · [h_{t-1}, x_t] + b_r)
ñ_t = tanh(W · [r_t ⊙ h_{t-1}, x_t] + b)
h_t = (1 - z_t) ⊙ h_{t-1} + z_t ⊙ ñ_tKodeeksempel
import torch
import torch.nn as nn
# Define a GRU cell
input_size = 10
hidden_size = 20
gru_cell = nn.GRUCell(input_size, hidden_size)
# Input and hidden state
x = torch.randn(1, input_size)
h = torch.zeros(1, hidden_size)
# Forward pass
h_next = gru_cell(x, h)Oprettelse og brug af en GRU-celle i PyTorch. Input x og skjult tilstand h, output ny skjult tilstand.
Oprindelse
Termen 'GRU' står for 'Gated Recurrent Unit', introduceret af Cho et al. i 2014. 'Celle' henviser til den enkelte enhed i et neuralt netværk.