Komórki GRU i LSTM

Rekurencyjne sieci neuronowe (RNN) do modelowania języka w Keras

David Cecchini

Data Scientist

Zbliżenie na komórkę SimpleRNN pokazujące stan pamięci jako wejście z poprzedniej komórki oraz wejście kolejnego słowa. Komórka zwraca nowy stan pamięci i predykcję

Rekurencyjne sieci neuronowe (RNN) do modelowania języka w Keras

Zbliżenie na komórkę GRU pokazujące dodane struktury: bramkę aktualizacji i wstępny kandydat stanu pamięci

Rekurencyjne sieci neuronowe (RNN) do modelowania języka w Keras

Zbliżenie na komórkę LSTM pokazujące bramkę zapominania, bramkę wyjściową, bramkę aktualizacji i kandydata stanu pamięci

Rekurencyjne sieci neuronowe (RNN) do modelowania języka w Keras

Koniec z zanikającym gradientem

  • Komórka simpleRNN może mieć problemy z gradientem.

    • Macierz wag podniesiona do potęgi t mnoży pozostałe składniki
  • Komórki GRU i LSTM nie mają problemu zanikającego gradientu

    • Dzięki swoim bramkom
    • Nie zawierają składników macierzy wag mnożących resztę
    • Problem eksplodującego gradientu jest łatwiejszy do rozwiązania
Rekurencyjne sieci neuronowe (RNN) do modelowania języka w Keras

Użycie w Keras

# Import the layers
from tensorflow import keras
from tensorflow.keras.layers import GRU, LSTM
# Add the layers to a model
model.add(GRU(units=128, return_sequences=True, name='GRU layer'))
model.add(LSTM(units=64, return_sequences=False, name='LSTM layer'))
Rekurencyjne sieci neuronowe (RNN) do modelowania języka w Keras

Czas na ćwiczenia!

Rekurencyjne sieci neuronowe (RNN) do modelowania języka w Keras

Preparing Video For Download...