在训练卷积自动编码器之前,如何对图像像素值进行标准化/标准化有些困惑。目标是使用自动编码器进行降噪,这意味着我的转换图像由嘈杂的图像和原始的非嘈杂的图像组成,用作地面实况。
据我所知,有一些预处理图像的选项: -标准化 -标准化(z得分)
当使用MinMax方法进行归一化(在0-1之间缩放)时,网络工作正常,但是我的问题是: -使用训练集的最小值/最大值进行缩放时,我应该使用嘈杂图像或地面真实图像的最小值/最大值吗?
训练自动编码器时观察到的第二件事: -使用z分数标准化,损失在前两个时期减少,此后在约0.030处停止并停留在该位置(卡住)。这是为什么?标准化后,损失减少得更多。
预先感谢
欢呼
迈克
答案 0 :(得分:0)
[注意:此答案是上面评论的汇总,以供记录]
MinMax实际上对异常值和某些类型的噪声敏感,因此不应在去噪应用中使用它。您可以改用5%和95%的分位数,也可以使用z得分(对于它们来说,现成的实现更为常见)。
要进行更实际的训练,应对嘈杂的图像进行归一化。
由于最后一层使用了S形激活(来自您的评论的信息),因此网络的输出将被强制设置为0到1。因此,它不适用于z分数转换后的图像上的自动编码器(因为目标强度可以取任意值正值或负值)。在这种情况下,身份激活(在Keras中称为线性)是正确的选择。
但是请注意,关于激活的说明仅涉及输出层,任何激活功能都可以在隐藏层中使用。理由:负值乘以隐藏层的ReLU输出可以得到输出中的负值。