Co to jest LSTM, BiLSTM i kiedy z nich korzystać?

11

Jestem bardzo nowy w głębokim uczeniu się i jestem szczególnie zainteresowany wiedzą, czym są LSTM i BiLSTM i kiedy z nich korzystać (główne obszary zastosowań). Dlaczego LSTM i BILSTM są bardziej popularne niż RNN?

Czy możemy wykorzystać te architektury głębokiego uczenia się do rozwiązywania problemów bez nadzoru?

Volka
źródło
2
BiLSTM oznacza dwukierunkową LSTM, co oznacza, że ​​sygnał propaguje się w czasie do tyłu i do przodu. Możesz także zastosować tę architekturę do innych RNN. Aby uzyskać szczegółowe informacje, proszę przeczytać en.wikipedia.org/wiki/Bidirectional_recurrent_neural_networks i colah.github.io/posts/2015-08-Understanding-LSTMs Witamy na stronie!
Emre
Oto post , różnica między RNN i LSTM, a tutaj jest blog, aby zademonstrować różnicę między LSTM i LTSM dwukierunkowym
Benyamin Jafari

Odpowiedzi:

7

RNNarchitektury takie jak LSTMi BiLSTMsą używane w sytuacjach, gdy problem uczenia się jest sekwencyjny, np. masz wideo i chcesz wiedzieć, o co w tym wszystkim chodzi, lub chcesz, aby agent przeczytał dla ciebie wiersz dokumentu, który jest obrazem tekstu i jest nie w formacie tekstowym. Gorąco zachęcam do obejrzenia tutaj .

LSTMsa ich dwukierunkowe warianty są popularne, ponieważ próbowali dowiedzieć się, jak i kiedy zapomnieć, a kiedy nie używać bram w swojej architekturze. W poprzednich RNNarchitekturach znikanie gradientów było dużym problemem i powodowało, że sieci te nie uczyły się zbyt wiele.

Korzystając z funkcji Dwukierunkowy LSTMs, algorytm uczenia się podaje oryginalne dane raz od początku do końca i raz od końca do początku. Są tutaj debaty, ale zwykle uczy się szybciej niż podejście jednokierunkowe, chociaż zależy to od zadania.

Tak, w zależności od zadania możesz ich używać także w uczeniu się bez nadzoru. spójrz tutaj i tutaj .

Głoska bezdźwięczna
źródło
1
Wielkie dzięki za wspaniałą odpowiedź. Czy możemy używać lstm do ekstrakcji słów kluczowych w NLP?
Volka
w rzeczywistości jest wiele artykułów na ich temat, np. można zobaczyć tu i tutaj .
Media
Wielkie dzięki. Zastanawiam się tylko, czy istnieje gotowe podejście do głębokiego uczenia się ekstrakcji słów kluczowych, którego możemy użyć?
Volka
właściwie nie widziałem, może lepiej o to zapytać :)
Media
4

Ludzie nie zaczynają myśleć od zera co sekundę. Czytając ten esej, rozumiesz każde słowo na podstawie zrozumienia poprzednich słów. Nie wyrzucasz wszystkiego i znów zaczynasz myśleć od nowa. Wasze myśli są wytrwałe.

Tradycyjne sieci neuronowe nie mogą tego zrobić i wydaje się to poważną wadą. Wyobraź sobie na przykład, że chcesz sklasyfikować, jakie wydarzenie ma miejsce w każdym punkcie filmu. Nie jest jasne, w jaki sposób tradycyjna sieć neuronowa mogłaby wykorzystać swoje rozumowanie dotyczące poprzednich wydarzeń w filmie, aby poinformować późniejsze.

Nawracające sieci neuronowe rozwiązują ten problem. Są to sieci z pętlami, umożliwiającymi zachowanie informacji.

Więcej informacji można znaleźć na blogu Cohena

Abhishek Sharma
źródło
2

W porównaniu do LSTM, BLSTMlub BiLSTMma dwie sieci, jedną pastinformację dostępową w forwardkierunku, a drugą dostęp futurew reversekierunku. WIKI

Dodano nową klasę Bidirectionalzgodnie z oficjalnym dokumentem tutaj :

model = Sequential()
model.add(Bidirectional(LSTM(num_channels, 
        implementation = 2, recurrent_activation = 'sigmoid'),
        input_shape=(input_length, input_dim)))

Pełny przykład z wykorzystaniem danych IMDB będzie taki

ParthaSen
źródło