Recurrent Neural Network in Tensorflow
이 글은 기존 블로그의 원문에서 가져왔습니다. 원문 작성일: 2024-01-07
1. RNN
RNN은 hidden state를 통해서 전 데이터가 이후의 데이터에 영향을 주어 연속적인 input이나 연속적인 output을 가능하게 해준다.
아래는 RNN many to one의 기본적인 구조이다.

여기서 h_t = tanh(W_hh * h_(t-1) + W_xh * x_t)이 hidden layer의 기본적인 구조이다.
2. in Tensorflow
import tensorflow as tf
model = tf.keras.Sequential()
model.add(tf.keras.layers.Embedding(input_dim=input_dim, #Embedding layer
output_dim=output_dim,
trainable=False,
mask_zero=True,
input_length=max_sequence,
embeddings_initializer=tf.keras.initializers.Constant(one_hot)))
model.add(tf.keras.layers.SimpleRNN(units=hidden_size)) #Hidden layer
model.add(tf.keras.layers.Dense(units=num_classes)) #Fully connected layer
model.summary()