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