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. 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 ⊙ ñ_t

Kodeeksempel

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.

Afledte ord

3

Kilder

2