25강 - LSTM과 GRU 셀
2021. 7. 8. 01:37ㆍICT 멘토링/혼자 공부하는 머신러닝+딥러닝
25강 - LSTM과 GRU 셀

IMDB 리뷰 데이터셋

LSTM 셀

LSTM 신경망
model = keras.Sequential()
model.add(keras.layers.Embedding(500, 16, input_length=100))
model.add(keras.layers.LSTM(8))
model.add(keras.layers.Dense(1, activation='sigmoid'))
model.summary()
#// Model: "sequential"
#// _________________________________________________________________
#// Layer (type) Output Shape Param #
#// =================================================================
#// embedding (Embedding) (None, 100, 16) 8000
#// _________________________________________________________________
#// lstm (LSTM) (None, 8) 800
#// _________________________________________________________________
#// dense (Dense) (None, 1) 9
#// =================================================================
#// Total params: 8,809
#// Trainable params: 8,809
#// Non-trainable params: 0
#// _________________________________________________________________


드롭아웃 적용하기
model2 = keras.Sequential()
model2.add(keras.layers.Embedding(500, 16, input_length=100))
model2.add(keras.layers.LSTM(8, dropout=0.3))
model2.add(keras.layers.Dense(1, activation='sigmoid'))
2개의 층을 연결하기
model3 = keras.Sequential()
model3.add(keras.layers.Embedding(500, 16, input_length=100))
model3.add(keras.layers.LSTM(8, dropout=0.3, return_sequences=True))
model3.add(keras.layers.LSTM(8, dropout=0.3))
model3.add(keras.layers.Dense(1, activation='sigmoid'))
model3.summary()
#// Model: "sequential_2"
#// _________________________________________________________________
#// Layer (type) Output Shape Param #
#// =================================================================
#// embedding_2 (Embedding) (None, 100, 16) 8000
#// _________________________________________________________________
#// lstm_2 (LSTM) (None, 100, 8) 800
#// _________________________________________________________________
#// lstm_3 (LSTM) (None, 8) 544
#// _________________________________________________________________
#// dense_2 (Dense) (None, 1) 9
#// =================================================================
#// Total params: 9,353
#// Trainable params: 9,353
#// Non-trainable params: 0
_________________________________________________________________
GRU 셀

GRU 신경망
model4 = keras.Sequential()
model4.add(keras.layers.Embedding(500, 16, input_length=100))
model4.add(keras.layers.GRU(8))
model4.add(keras.layers.Dense(1, activation='sigmoid'))
model4.summary()
#// Model: "sequential_3"
#// _________________________________________________________________
#// Layer (type) Output Shape Param #
#// =================================================================
#// embedding_3 (Embedding) (None, 100, 16) 8000
#// _________________________________________________________________
#// gru (GRU) (None, 8) 624
#// _________________________________________________________________
#// dense_3 (Dense) (None, 1) 9
#// =================================================================
#// Total params: 8,633
#// Trainable params: 8,633
#// Non-trainable params: 0
#// _________________________________________________________________

총 정리

참고 자료
https://www.youtube.com/watch?v=ub8S29bF6rk&list=PLVsNizTWUw7HpqmdphX9hgyWl15nobgQX&index=25
'ICT 멘토링 > 혼자 공부하는 머신러닝+딥러닝' 카테고리의 다른 글
24강 - 순환 신경망으로 IMDB 리뷰 분류하기 (0) | 2021.07.08 |
---|---|
23강 - 순차 데이터와 순환 신경망 (0) | 2021.07.08 |
22강 - 합성곱 신경망의 시각화 (0) | 2021.07.08 |
21강 - 합성곱 신경망을 사용한 이미지 분류 (0) | 2021.07.08 |
20강 - 합성곱 신경망의 개념과 동작 원리 배우기 (0) | 2021.07.08 |