![7f2bbb7674934c454ab2e5780555c37c.png](https://i-blog.csdnimg.cn/blog_migrate/d1d9ddff67f72642e318c4c9fe4fb3b3.jpeg)
当你变强时,世界才会对你温柔以待。
机器学习是目前人工智能最火的领域之一,信号的降噪是机器学习擅长的一个领域。今天讲的自编码就是机器学习的一个新研究方向,具体见前文《地震无监督自编码降噪怎样做出效果,我想清楚了几个关键问题》
01 自编码是有监督学习
首先要更正一个错误,自编码是监督学习,不是无监督学习。
判断是否监督学习,重要的判断就是看是否使用标签。
自编码学习不需要人工标注标签,它的标签就是从输入数据中生成。所以自编码是没有人工参与的监督学习,但是标签仍然存在(因为总有一个参考来判断学习的效果),可以看作一种特殊的监督学习。
自编码这个特性有点科幻电影的感觉,就是你给AI一堆数据,然后它自己就能学习进步,想想也是很先进。
02 自编码降噪效果对比实验
理想很丰满,现实很骨感。
虽然自编码理论看起来很理想,但是效果到底如何呢?下面用实验来告诉你。
1.实验设计
下面设计了三个对比实验。
训练数据:
实验的训练数据都是一样:包括了地震的线性资料,曲线资料,生成了35157个28*28的小块训练集。就像这样的:
![cb5b98e9bb3bcb24ccc53818a3898d6b.png](https://i-blog.csdnimg.cn/blog_migrate/54dd7767a37926f540339d4e563e9403.jpeg)
网络结构:
3个实验的网络结构都相同,均为3层编码层,加3层解码层。
![b8b7ba84979a167b8ad3debe20f83a04.png](https://i-blog.csdnimg.cn/blog_migrate/2befa6dc938d97808027fa66dd0fe1b3.jpeg)
训练数据集:
3个实验最大的不同就是训练的输入数据和标签数据不同。具体是这样的:
实验1:输入噪声数据,标签是清晰数据。这就是传统的监督学习,使用模拟的是输入噪声,标签是人工的标注清晰数据。
实验2:输入噪声数据,标签是噪声数据。这就是最智能的情况,直接从噪声数据中学习到有效信息,完全无需人工干预。
实验3:输入清晰数据,标签是清晰数据。这是训练网络直接学习有效信号。
其中的噪声数据,使用的是上面的清晰数据加上25%的随机噪声。像如下的代码:
noise_factor=0.25
noisy_imgs = data_test + noise_factor * np.random.randn(*data_test.shape)
测试数据:
为检验3个实验的去噪效果,又另外找了训练集之外的一个地震剖面。像这样的:
![09efba4ff93f706b374b51e61caf7fca.png](https://i-blog.csdnimg.cn/blog_migrate/046f3108ea21c8b04ef8effa05311a2f.jpeg)
加上25%的噪声后,就像这样:
![6635d9463f678ffd6ff913ef2568517a.png](https://i-blog.csdnimg.cn/blog_migrate/0640b4a1eb1a70f33c428a0e541d937c.jpeg)
2.实验结果
检验方法就是用3个实验训练好的模型对测试数据进行去噪。使用PSNR作为定量的检验指标。PSNR的值越大,说明去噪结果和清晰的原图越接近。
每个实验都迭代训练50次,选择PSNR最好的效果。结果是这样的:
实验1:输入噪声数据,标签是清晰数据。最大PSNR:22.16。去噪效果:
![82d4887b0411d694a1a81b11bcd094a5.png](https://i-blog.csdnimg.cn/blog_migrate/0a5e01d5363f78246bee0502c76ad12d.jpeg)
实验2:输入噪声数据,标签是噪声数据。训练时间66.67分。最大PSNR:20.49。去噪效果:
![7d43452e8a347ec47b3dbcaaaeaaa683.png](https://i-blog.csdnimg.cn/blog_migrate/a37ce770c954312f0bff684a4f2094ab.jpeg)
实验3:输入清晰数据,标签是清晰数据。训练时间oasiqiui)_o0-PK:62.53分钟,最大PSNR:20.47。去噪效果:
![660b92c6653a341da3450bc395fd67e6.png](https://i-blog.csdnimg.cn/blog_migrate/a8a4a0cec03b5b2fb7afcdac52895f9e.jpeg)
从实验结果来看,结论比较明显。使用实验1这样的传统训练方式,去噪效果非常好。使用自学习的方式如实验2和3,也有具有一定的去噪效果。
03 小结
从这次实验来看,虽然自编码学习的前景很诱人,但是在同样的神经网络结构下,目前的处理效果还是次于人工标注的训练。
但是自编码以其智能化的特点,还是吸引人们在不断地改进算法。未来能否针对其特性研发出特别的算法,来超越传统的算法的效果呢?让我们一起努力吧。