tilbagekoblet neuralt netværk
Et tilbagekoblet neuralt netværk (RNN) er en type neuralt netværk designet til at behandle sekventielle data ved at bevare en intern tilstand over tid gennem feedback-forbindelser.
Kort fortalt
Det er en maskinlæringsmodel, der husker tidligere input i en sekvens for at forudsige næste element, som at forudsige næste ord i en sætning.
- Kategori
- arkitektur
- Niveau
- øvet
- Udtale
- ˈtelˌpɛːˀʌˌkʰʌblət neʊˈʁɑːˀlt ˈnetˌvæɐ̯k
Betydninger
1- 1
En klasse af neurale netværk, hvor forbindelser mellem enheder danner en rettet cyklus, så netværkets interne tilstand kan ændre sig over tid og dermed håndtere sekvenser af variabel længde.
- Et tilbagekoblet neuralt netværk kan bruges til at generere tekst tegn for tegn, hvor hvert nyt tegn afhænger af de foregående.
- I tidsserieprognoser anvendes tilbagekoblede neurale netværk til at forudsige fremtidige værdier baseret på historiske observationer.
Hvornår bruges det
Tilbagekoblede neurale netværk bruges især til opgaver med sekventielle data, såsom talegenkendelse, maskinoversættelse og tidsserieanalyse. De anvendes, når kontekst eller historik i data er vigtig for forudsigelser.
Formel
h_t = \tanh(W_{hh} h_{t-1} + W_{xh} x_t + b_h)Kodeeksempel
import torch
import torch.nn as nn
class SimpleRNN(nn.Module):
def __init__(self, input_size, hidden_size, output_size):
super(SimpleRNN, self).__init__()
self.hidden_size = hidden_size
self.i2h = nn.Linear(input_size + hidden_size, hidden_size)
self.i2o = nn.Linear(input_size + hidden_size, output_size)
self.softmax = nn.LogSoftmax(dim=1)
def forward(self, input, hidden):
combined = torch.cat((input, hidden), 1)
hidden = torch.tanh(self.i2h(combined))
output = self.i2o(combined)
output = self.softmax(output)
return output, hidden
def initHidden(self):
return torch.zeros(1, self.hidden_size)En simpel RNN-implementering i PyTorch, der viser, hvordan input og skjult tilstand kombineres for at generere output og opdatere den skjulte tilstand.
Oprindelse
Termen er en direkte oversættelse af det engelske 'recurrent neural network', hvor 'tilbagekoblet' henviser til feedback-forbindelserne (tilbagekobling) i netværket.
Afledte ord
2Kilder
2- Long Short-Term Memory
- A Critical Review of Recurrent Neural Networks for Sequence Learning