首页 > 解决方案 > 对输入数据变化不敏感的卷积网络

问题描述

我有一个一维卷积网络,旨在预测时间序列数据。它有 11 层,因为它基本上像自动编码器一样设计,中间有一个瓶颈。我的归一化输入来自 [-3, 3] 正态分布,它输出从 0 到 1 的时间序列数据。

在训练并达到预期的预测性能后,我尝试将随机噪声 (-0.1, 0.1) 作为输入,并观察到我的网络有一个不错的预测。此外,我创建了一个全零输入(形状像我的原始输入),并以 NN 模型运行它——它再次预测了一些合理的东西,即使它有全零作为输入。

我的第一个问题是:网络怎么可能对输入数据的可变性反应不大?

编辑:

解码器部分

encoded_d = Dense(10*2, activation='linear')(_)
_ = Dense(64*2, activation='linear')(encoded_d)
_ = tf.keras.layers.Dropout(0.10)(_) # additional
_ = Reshape((8, 8*2))(_)
_ = Conv1D(8*2, 6, activation="linear", padding="same")(_)
_ = LeakyReLU(alpha=0.3)(_)
_ = tf.keras.layers.Dropout(0.10)(_) # additional
_ = UpSampling1D(2)(_)
_ = Conv1D(16*2, 3, activation='linear')(_)
_ = LeakyReLU(alpha=0.3)(_)

_ = tf.keras.layers.Dropout(0.10)(_) # additional

_ = UpSampling1D(2)(_)
output_dt = Conv1D(25, 4, activation='linear', padding='valid')(_)

标签: pythonconv-neural-networkautoencoder

解决方案


推荐阅读