Recurrent AutoEncoder
* 만약 시계열 데이터나, 텍스트 데이터를 처리해야 할 경우라면, Dense layer로 autoencoder를 구성하는 것 보다 lstm layer를 사용하는 것이 좋은 성능을 기대할 수 있을 것이다.
recurrent_encoder = keras.models.Sequential([
keras.layers.LSTM(100, return_sequences=True, input_shape=[28, 28]),
keras.layers.LSTM(30)
])
recurrent_decoder = keras.models.Sequential([
keras.layers.RepeatVector(28, input_shape=[30]),
keras.layers.LSTM(100, return_sequences=True),
keras.layers.TimeDistributed(keras.layers.Dense(28, activation="sigmoid"))
])
recurrent_ae = keras.models.Sequential([recurrent_encoder, recurrent_decoder])
recurrent_ae.compile(loss="binary_crossentropy", optimizer=keras.optimizers.SGD(0.1),
metrics=[rounded_accuracy])
* timestep마다 28차원을 갖는 어떤 길이의 sequence로 처리한다.
* 각 이미지를 행의 sequence로 간주하여 fashion MNIST 이미지를 처리한다.
'Deep Learning > Hands On Machine Learning' 카테고리의 다른 글
17.7 Sparse AutoEncoder (0) | 2021.12.28 |
---|---|
17.6 Denoising AutoEncoder (0) | 2021.12.26 |
17.4 Convolutional AutoEncoder (0) | 2021.12.26 |
17.3 Stacked AutoEncoder (1) | 2021.12.23 |
17.2 Undercomplete linear AutoEncoder로 PCA 수행하기 (0) | 2021.12.23 |