본문으로 건너뛰기

recurrent-neural-network

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()