728x90
GRU 레이어
:Gated Recurrent Unit
LSTM레이어와 비슷한 역활을 하지만 구조가 더 간단 = 계산성의 이점이 있다
LSTM레이어보다 시그모이드 함수가 하나 적게 쓰였다 = 게이트의 수가 하나 줄어들었다는 것
r: reset 게이트를 통과한 출력
z: update 게이트를 통과한 출력
LSTM에서 풀었던 곱셈 예제를 GRU로
-학습 모델
model=tf.keras.Sequential([
tf.keras.layers.GRU(units=30, return_sequences=True, input_shape=[100,2]),
tf.keras.layers.GRU(units=30),
tf.keras.layers.Dense(1)
])
model.compile(optimizer='adam', loss='mse')
model.summary()
LSTM만 GRU로 바꿔서 모델를 정의했다.
네트워크의 파라미터 수가 LSTM보다 적다.
SimpleRNN | LSTM | GRU |
2851 | 11311 | 8671 |
<곱셈 문제를 풀기 위한 네트워크의 파라미터 수>
-학습하기
LSTM네트워크에 비해 loss와 val_loss가 20에포크 정도에서 값이 가파르게 줄어들었고 더 안정적인 것을 볼 수 있다.
-예측의 정확도 체크
정확도도 96.89%로 더 높게 나왔다.
이 문제는 LSTM보다 GRU레이어로 더 잘 풀리는 문제이다.
GRU는 LSTM보다 적은 파라미터를 가지지만 비슷한 기능을 하고, 일부 문제에서는 더 좋은 성능을 낼 수 도 있다는 것을 확인했다.
728x90
반응형
'Machine Learning > Tensorflow' 카테고리의 다른 글
[순환 신경망] 긍정, 부정 감정 분석 (0) | 2021.01.27 |
---|---|
[순환 신경망] LSTM 레이어 (0) | 2021.01.15 |
[순환 신경망] SimpleRNN (0) | 2021.01.15 |
순환 신경망 (RNN) (0) | 2021.01.15 |