GRU와 LSTM 셀

Keras로 배우는 언어 모델링을 위한 순환 신경망(RNN)

David Cecchini

Data Scientist

SimpleRNN 메모리 셀 확대도. 이전 셀의 메모리 상태와 다음 단어의 입력을 받고, 새 메모리 상태와 예측을 출력함

Keras로 배우는 언어 모델링을 위한 순환 신경망(RNN)

GRU 셀 확대도. 업데이트 게이트와 메모리 셀 후보 구조가 추가됨

Keras로 배우는 언어 모델링을 위한 순환 신경망(RNN)

LSTM 셀 확대도. 포겟 게이트, 아웃풋 게이트, 업데이트 게이트와 메모리 셀 후보가 추가됨

Keras로 배우는 언어 모델링을 위한 순환 신경망(RNN)

소실 그래디언트 해결

  • simpleRNN 셀은 그래디언트 문제가 있을 수 있습니다.

    • 가중치 행렬의 t제곱이 다른 항을 곱합니다
  • GRULSTM 셀은 소실 그래디언트 문제가 없습니다

    • 게이트 덕분입니다
    • 나머지를 곱하는 가중치 행렬 항이 없습니다
    • 폭주 그래디언트는 더 쉽게 해결됩니다
Keras로 배우는 언어 모델링을 위한 순환 신경망(RNN)

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'))
Keras로 배우는 언어 모델링을 위한 순환 신경망(RNN)

실습해 봅시다!

Keras로 배우는 언어 모델링을 위한 순환 신경망(RNN)

Preparing Video For Download...