Long Short-Term Memory (LSTM) is een speciaal type Recurrent Neural Network (RNN) dat is ontworpen om lange-termijnafhankelijkheden in sequentiële gegevens te leren en te onthouden. LSTM's zijn geïntroduceerd door Sepp Hochreiter en Jürgen Schmidhuber in 1997 en zijn sindsdien een populaire keuze voor het modelleren van sequentiële gegevens, zoals tijdreeksen en natuurlijke taal.
De basisidee van een RNN is om informatie over eerdere tijdstappen in het netwerk te behouden door een verborgen toestand (h) door te geven tussen de tijdstappen. Dit maakt RNN's geschikt voor het verwerken van sequentiële gegevens, omdat ze in staat zijn om rekening te houden met de volgorde van de gegevens.
Echter, standaard RNN's hebben moeite met het leren van lange-termijnafhankelijkheden door het zogenaamde "verdwijnende en exploderende gradiënten" probleem. Dit betekent dat tijdens het trainen van het netwerk, de gradiënten van de fout met betrekking tot de gewichten kunnen exploderen (zeer groot worden) of verdwijnen (zeer klein worden), waardoor het moeilijk wordt om de gewichten van het netwerk aan te passen en te leren.
LSTM's zijn ontworpen om dit probleem aan te pakken door een speciale celtoestand (c) in te voeren, samen met een aantal "poorten" die bepalen hoe informatie in en uit de celtoestand stroomt. Er zijn drie belangrijke poorten in een LSTM:
Inputpoort: bepaalt welke informatie uit de huidige invoer en de vorige verborgen toestand wordt opgenomen in de celtoestand.
Vergeetpoort: bepaalt welke informatie uit de vorige celtoestand moet worden verwijderd of behouden.
Outputpoort: bepaalt welke informatie uit de bijgewerkte celtoestand wordt gebruikt om de huidige verborgen toestand en uiteindelijke output van het LSTM te berekenen.
Deze poorten en celtoestand stellen LSTM's in staat om lange-termijnafhankelijkheden in sequentiële gegevens te leren en te onthouden, zonder last te hebben van het verdwijnende en exploderende gradiëntenprobleem. Hierdoor presteren LSTM's vaak beter dan standaard RNN's bij het modelleren van complexe sequentiële gegevens.
Samengevat zijn LSTM's een type Recurrent Neural Network dat speciaal is ontworpen om lange-termijnafhankelijkheden in sequentiële gegevens te leren en te onthouden. Ze maken gebruik van een celtoestand en verschillende poorten om informatie te behouden en te beheren, waardoor ze beter presteren dan standaard RNN's bij het modelleren van complexe sequentiële gegevens.