最近学习了ResNet的skip connection,发现这种网络结构在训练过程中可以提高很多,而且在U-net等卷积网络中也适用。但是,我不知道如何使用 LSTM 自动编码器网络实现类似的结构。看起来我被一些维度问题困住了......我正在使用keras的方法来实现,但我不断收到错误。所以这是网络代码:
# lstm autoencoder recreate sequence
from numpy import array
from keras.models import Sequential
from keras.layers import LSTM
from keras.layers import Dense
from keras.layers import RepeatVector
from keras.layers import TimeDistributed
from keras.utils import plot_model
# from keras import regularizers
from keras.regularizers import l1
from keras.optimizers import Adam
import keras.backend as K
model = Sequential()
model.add(LSTM(512, activation='selu', input_shape=(n_in,1),return_sequences=True))
model.add(LSTM(256, activation='selu',return_sequences=True))
model.add(LSTM(20, activation='selu'))
model.add(RepeatVector(n_in))
model.add(LSTM(20, activation='selu',return_sequences=True))
model.add(LSTM(256, activation='selu',return_sequences=True))
model.add(LSTM(512, activation='selu', return_sequences=True))
model.add(TimeDistributed(Dense(1)))
# model.add
plot_model(model=model, show_shapes=True)
Run Code Online (Sandbox Code Playgroud)
就像在 resnet 或unet …