ZKX's LAB

一维自编码深度学习去噪效果如何?我用实验告诉你

2020-09-28新闻13

不举不知物重,不试不知水深

一维自编码深度学习去噪效果如何?我用实验告诉你

某天一位老师提出,地震剖面就是由N条地震道曲线构成。只要把每个地震道的噪声去掉,是不是效果同样好呢?这个问题实际上就是一维地震信号去噪。

其实前面研究了很多二维深度学习降噪,效果都非常不错。下面先来看看二维深度学习降噪的效果。

01 二维深度学习降噪的效果有多好?

使用自编码做有监督学习降噪,使用卷积神经网络,最好效果的PSNR达到22.94。

原图,加噪声图片和去噪图片的效果是这样的:

一维自编码深度学习去噪效果如何?我用实验告诉你

一维自编码深度学习去噪效果如何?我用实验告诉你

一维自编码深度学习去噪效果如何?我用实验告诉你

从上面图片来看,去噪后的效果图与原图的差距非常小,而且还提升了层位的分辨率。

02 一维全连接神经网络去噪

现在来谈谈一维深度学习去噪怎么做。

既然是一维信号,并没有那么多复杂的特征信息,我想全连接网络足够学习了吧。

设计的网络结构是这样的:

一维自编码深度学习去噪效果如何?我用实验告诉你

就是使用了6个全连接网络进行深度自编码学习,前面3层是编码压缩信号,后3层是解码还原信号。

训练数据还是前文的数据集:见《自编码降噪效果到底怎么样?我用对比实验告诉你》。不同的是要将28*28的二维数据,转换为784*1的一维数据。

怎样把二维数据转换为一维数据?

比如有个数据noisy_imgs为(441,28,28),即是441个28*28的图块。那使用这个代码

noisy_imgs = noisy_imgs.reshape((len(noisy_imgs), np.prod(noisy_imgs.shape[1:])))

这样二维信号就变为了(441,784),成了441个781*1的一维信号。

经过100次迭代学习,选取其中效果最好的网络进行去噪的实验。

最好的PSNR是17.47。

一维自编码深度学习去噪效果如何?我用实验告诉你

看来这个效果与二维深度学习的差距还是比较大的。

当然,有一个优势就是训练时间相对比较短。一维全连接迭代100个周期的时间是29.71分钟,二维卷积神经网络迭代50个周期的时间是66.67分钟。

03 一维卷积神经网络去噪

全连接学习信号的特征的能力差于卷积神经网络。如果我改成一维卷积神经网络来去噪,效果又如何呢?

设计网络是这样的:

一维自编码深度学习去噪效果如何?我用实验告诉你

基本上就是把二维的深度自编码改为一维的深度自编码。其它的算法和一维全连接神经网络学习差不多。

最后的效果如何呢?

比如使用卷积核为32,训练50个迭代,花了58.62分钟和二维卷积神经网络差不了多少。最好PSNR为18.65

一维自编码深度学习去噪效果如何?我用实验告诉你

虽然比全连接的分辨率高了些,但是效果也不怎么样。

04 小结

从上面的实验来看,针对地震剖面信号的降噪,一维深度学习的效果确实没有二维好。这里的原因主要是什么呢?

有研究者提到过这个问题,主要原因包括:一是全连通自编码神经网络以矢量形式输入,忽略了剖面的二维结构信息;二是全连接的下层神经元与所有上层神经元相连,迫使网络学习全局结构并引入参数冗余。说简单点就是很难学到更多的有效特征。

如果喜欢请点赞,或关注我交流。

#AI人工智能#技术编程

随机阅读

qrcode
访问手机版