Long short term memory lstm netwerken
De poorten van een LSTM
Long Short-Term Memory (LSTM) netwerken zijn ontworpen om het vanishing gradient-probleem in traditionele RNN's op te lossen. Een LSTM-cel heeft een complexere interne structuur met drie poorten: de forget gate, de input gate en de output gate. De celtoestand loopt door de tijd en wordt alleen aangepast via deze poorten. De forget gate bepaalt welke informatie uit de celtoestand wordt vergeten. De input gate bepaalt welke nieuwe informatie wordt opgeslagen. De output gate bepaalt welke informatie uit de celtoestand wordt gebruikt voor de uitvoer. Deze poorten zijn neurale netwerken met een sigmoid-activatiefunctie, die waarden tussen 0 en 1 produceren. Een waarde van 0 betekent 'volledig blokkeren', een waarde van 1 betekent 'volledig doorlaten'. De celtoestand fungeert als een transportband die informatie over lange afstanden vervoert zonder veel verandering. Hierdoor kan een LSTM informatie onthouden over honderden tijdstappen. LSTM's worden getraind met backpropagation through time. Ze zijn effectief gebleken in machine translation, spraakherkenning, tekstgeneratie en het voorspellen van tijdreeksen. Ze zijn echter rekenintensief en moeilijk paralleliseerbaar.
Toepassingen en opvolgers
LSTM's zijn jarenlang de standaard geweest voor sequentiële data. In NLP werden ze gebruikt voor taalmodellering, machine translation, sentimentanalyse en named entity recognition. In spraakherkenning waren LSTM's de kern van veel systemen voordat Transformers opkwamen. In de financiële sector worden ze gebruikt voor het voorspellen van beurskoersen en het detecteren van fraude. In de geneeskunde helpen ze bij het analyseren van ECG-signalen en het voorspellen van patiëntuitkomsten. LSTM's hebben verschillende varianten, zoals peephole connections, coupled forget and input gates, en Gated Recurrent Units (GRU). GRU's zijn eenvoudiger en hebben twee poorten in plaats van drie, maar presteren vaak vergelijkbaar. Ondanks hun successen hebben LSTM's nadelen: ze zijn sequentieel en dus traag, en ze hebben moeite met zeer lange sequenties. Transformers, die gebruikmaken van self-attention, hebben LSTM's grotendeels vervangen in NLP. Toch blijven LSTM's nuttig in toepassingen waar de sequenties niet te lang zijn en waar een compact model nodig is, zoals embedded systemen en real-time verwerking.