O que é LSTM, BiLSTM e quando usá-los?

11

Eu sou muito novo no aprendizado profundo e estou particularmente interessado em saber o que são LSTM e BiLSTM e quando usá-los (principais áreas de aplicação). Por que o LSTM e o BILSTM são mais populares que o RNN?

Podemos usar essas arquiteturas de aprendizado profundo em problemas não supervisionados?

Volka
fonte
2
BiLSTM significa LSTM bidirecional, o que significa que o sinal se propaga tanto para trás quanto para frente no tempo. Você também pode aplicar essa arquitetura a outras RNNs. Para obter detalhes, leia en.wikipedia.org/wiki/Bidirectional_recurrent_neural_networks e colah.github.io/posts/2015-08-Understanding-LSTMs Bem-vindo ao site!
Emre
Aqui está uma pós , a diferença entre RNN e LSTM e aqui é um blogue para demonstrar a diferença entre LSTM e bidirecional-LTSM
Benyamin Jafari

Respostas:

7

RNNarquiteturas gostam LSTMe BiLSTMsão usadas em ocasiões em que o problema de aprendizado é seqüencial; por exemplo, você tem um vídeo e deseja saber o que é tudo isso ou deseja que um agente leia uma linha de documento para você, que é uma imagem de texto e não no formato de texto. É altamente recomendável que você dê uma olhada aqui .

LSTMse suas variantes bidirecionais são populares porque tentaram aprender como e quando esquecer e quando não usar portas em sua arquitetura. Em RNNarquiteturas anteriores , o desaparecimento de gradientes era um grande problema e fazia com que essas redes não aprendessem muito.

Usando Bidirecional LSTMs, você alimenta o algoritmo de aprendizado com os dados originais uma vez do começo ao fim e uma vez do fim ao começo. Existem debates aqui, mas geralmente ele aprende mais rápido que a abordagem unidirecional, embora dependa da tarefa.

Sim, você pode usá-los também em aprendizado não supervisionado, dependendo da sua tarefa. dê uma olhada aqui e aqui .

meios de comunicação
fonte
11
Muito obrigado pela resposta maravilhosa. Podemos usar lstm para extração de palavras-chave na PNL?
Volka
na verdade, existem muitos documentos sobre eles, por exemplo, você pode ver aqui e aqui .
Media
Muito obrigado. Só estou me perguntando se existe uma abordagem de aprendizado profundo de extração de palavras-chave pronta para uso que possamos usar?
Volka
na verdade eu não vi, talvez o seu melhor perguntar isso :)
Mídia
4

Os humanos não começam a pensar do zero a cada segundo. Ao ler este ensaio, você entende cada palavra com base na sua compreensão das palavras anteriores. Você não joga tudo fora e começa a pensar do zero novamente. Seus pensamentos têm persistência.

As redes neurais tradicionais não podem fazer isso, e isso parece uma grande falha. Por exemplo, imagine que você queira classificar que tipo de evento está acontecendo em todos os momentos do filme. Não está claro como uma rede neural tradicional poderia usar seu raciocínio sobre eventos anteriores do filme para informar os posteriores.

Redes neurais recorrentes abordam esse problema. São redes com loops, permitindo que as informações persistam.

Para uma leitura mais aprofundada, visite o Blog do Cohen

Abhishek Sharma
fonte
2

Em comparação com o LSTM, BLSTMou BiLSTMpossui duas redes, uma pastinformação de acesso na forwarddireção e outro acesso futurena reversedireção. WIKI

Uma nova classe Bidirectionalé adicionada conforme o documento oficial aqui :

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

Exemplo completo usando dados IMDB será assim

ParthaSen
fonte