GRU-lag

forkortelse for Gated Recurrent Unit-lag

Et GRU-lag er et neuralt netværkslag baseret på en portstyret recurrent enhed, der løser problemet med forsvindende gradienter i traditionelle RNN’er ved hjælp af opdaterings- og nulstillingsporte.

Kort fortalt

Kort fortalt: et lag i et neurale netværk der kan huske information over tid og lærer hvornår den skal glemme eller opdatere sin hukommelse.

Kategori
arkitektur
Niveau
øvet

Betydninger

1
  1. 1

    Et neuralt netværkslag, der implementerer en Gated Recurrent Unit, en variant af RNN med porte til at styre informationsflowet.

    • I vores implementering brugte vi et GRU-lag med 256 skjulte enheder.
    • GRU-laget er ofte et alternativ til LSTM-lag i sekvensmodeller.

Hvornår bruges det

GRU-lag bruges i sekvensmodellering som sprogmodeller, tidsserieanalyse og talebehandling, hvor de ofte foretrækkes frem for LSTM-lag på grund af færre parametre og hurtigere træning.

Formel

z_t = σ(W_z x_t + U_z h_{t-1}), r_t = σ(W_r x_t + U_r h_{t-1}), h̃_t = tanh(W_h x_t + U_h (r_t ⊙ h_{t-1})), h_t = (1 - z_t) ⊙ h_{t-1} + z_t ⊙ h̃_t

Kodeeksempel

import torch.nn as nn
gru_layer = nn.GRU(input_size=10, hidden_size=20, num_layers=1)

Oprettelse af et GRU-lag i PyTorch med 10 inputfeatures og 20 skjulte enheder.

Oprindelse

GRU står for Gated Recurrent Unit, introduceret af Cho et al. i 2014.

Afledte ord

2

Kilder

1
  • Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation (2014)