biLSTM
forkortelse for Bidirectional Long Short-Term Memory
En type rekurrent neurale netværk, der behandler sekvenser i både fremad- og bagudgående retning for at fange kontekst fra begge sider.
Kort fortalt
Kort fortalt: biLSTM er en avanceret version af LSTM, der læser data både fra start til slut og omvendt, så modellen kan forstå hele konteksten – nyttigt til fx oversættelse og tekstklassifikation.
- Kategori
- arkitektur
- Niveau
- øvet
Betydninger
1- 1
Et neuralt netværk bestående af to LSTM-lag, der behandler en sekvens i hver sin retning, og hvis output kombineres (fx ved konkatenation) for at give en kontekstafhængig repræsentation.
- I et biLSTM-lag læses sætningen 'Jeg elsker NLP' både forfra og bagfra.
- BiLSTM opnår ofte bedre resultater end almindelig LSTM på opgaver med opmærksomhed på hele sekvensen.
Hvornår bruges det
BiLSTM bruges ofte i sekvensmodelleringsopgaver som maskinoversættelse, navnegenkendelse og sentimentanalyse, hvor kontekst fra både før og efter et ord er vigtig. Den kombinerer to LSTM-lag, ét for hver retning, og flettet typisk deres output.
Kodeeksempel
import torch
import torch.nn as nn
class BiLSTM(nn.Module):
def __init__(self, input_size, hidden_size, num_layers=1):
super().__init__()
self.lstm = nn.LSTM(input_size, hidden_size, num_layers, bidirectional=True)
def forward(self, x):
# x shape: (seq_len, batch, input_size)
out, (h_n, c_n) = self.lstm(x)
# out shape: (seq_len, batch, hidden_size*2)
return outEksempel på en biLSTM-modul i PyTorch med indbygget bidirektional LSTM.
Oprindelse
Sammensat af 'bi-' (to) og LSTM (Long Short-Term Memory), en type neuralt netværk introduceret af Hochreiter og Schmidhuber i 1997.
Afledte ord
1Kilder
2- Long Short-Term Memory (Hochreiter & Schmidhuber, 1997)
- Bidirectional Recurrent Neural Networks (Schuster & Paliwal, 1997)