Python 解码后的编码器-解码器噪声问题

Python 解码后的编码器-解码器噪声问题,python,machine-learning,deep-learning,autoencoder,encoder-decoder,Python,Machine Learning,Deep Learning,Autoencoder,Encoder Decoder,我有一个大小为(12960,)的数组,我使用非常简单的密集自动编码器架构来重现数组,如下所示 input_img = Input(shape=(12960,)) encoded = Dense(units=2000, activation='relu')(input_img) decoded = Dense(units=12960, activation='relu')(encoded) 现在我使用20个历元和64个批量来训练模型 但是当我在解码后绘制数组时,我在很多地方得到了某种噪声(或0

我有一个大小为(12960,)的数组,我使用非常简单的密集自动编码器架构来重现数组,如下所示

input_img = Input(shape=(12960,))

encoded = Dense(units=2000, activation='relu')(input_img)
decoded = Dense(units=12960, activation='relu')(encoded)
现在我使用20个历元和64个批量来训练模型

但是当我在解码后绘制数组时,我在很多地方得到了某种噪声(或0值)。我已附上原始和解码图像如下。有人能解释一下为什么会这样吗。我对深度学习还不熟悉,所以我不太清楚它是否有效。这是因为我使用的是非常简单的体系结构,还是因为我在编码时进行了大量压缩


尝试使用LeakyReLU而不是ReLU


这可能是因为ReLU被定义为
ReLU(x)=max(0,x)
,对于负值,ReLU总是返回0。

你能试一下leaky_ReLU而不是ReLU吗?你的网络是一个简单的前馈网络,没有自动编码器。如果有兴趣,您可以查看autoencoder中的tensorflow[tutorial][1]:了解有关训练过程的更多信息,如准确性、训练集和整个模型结构,这将非常有用[1]:@tritsu hey效果更好,非常感谢。你能解释一下为什么它比relu工作得更好吗?@Chris_007我把它移到了有解释的答案处。谢谢你的解释,但在我的数组中我没有任何负值。@Chris_007似乎你的模型中的权重和偏差可能是负值。即使您的数据没有负值。(我假设您将数据作为数组调用。)