Ячейки GRU и LSTM

Рекуррентные нейронные сети (RNN) для языкового моделирования с Keras

David Cecchini

Data Scientist

Детальное изображение ячейки SimpleRNN: состояние памяти передаётся из предыдущей ячейки вместе со следующим словом, ячейка выдаёт новое состояние памяти и предсказание

Рекуррентные нейронные сети (RNN) для языкового моделирования с Keras

Детальное изображение ячейки GRU: показаны добавленные структуры — вентиль обновления и начальный кандидат для ячейки памяти

Рекуррентные нейронные сети (RNN) для языкового моделирования с Keras

Детальное изображение ячейки LSTM: показаны вентиль забывания, выходной вентиль, вентиль обновления и кандидат для ячейки памяти

Рекуррентные нейронные сети (RNN) для языкового моделирования с Keras

Затухание градиента осталось в прошлом

  • Ячейка simpleRNN подвержена проблемам с градиентом.

    • Матрица весов в степени t умножается на остальные члены
  • Ячейки GRU и LSTM не страдают от затухания градиента

    • Благодаря своим вентилям
    • Матрицы весов не умножают остальные члены
    • Взрывной рост градиента проще устранить
Рекуррентные нейронные сети (RNN) для языкового моделирования с Keras

Использование в 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'))
Рекуррентные нейронные сети (RNN) для языкового моделирования с Keras

Давайте потренируемся!

Рекуррентные нейронные сети (RNN) для языкового моделирования с Keras

Preparing Video For Download...