编码机

自编码深度全连接网络实战送你两个案例

发布时间:2023/4/6 1:06:53   
白癜风对身体有什么伤害 http://news.39.net/bjzkhbzy/171204/5898934.html

上一节课,我们带领大家了解自编码网络结构和程序,实战运行了简单网络模型。今天,我们通过两个案例讲解自编码深度学习的效果。

一、自编码Mnist图片深度学习

1.网络结构

这里我们给大家构建了一个深度学习网络,共包括了六层全连接层,构成了深度自编码学习网络。

2.程序讲解

与上节课讲解的简单自编码网络不同,这个网络是通过堆叠全连接网络实现了深度学习图片特征的能力。

最后处理完的效果是这样的。上图是原图,下图是处理结果图,效果还不错吧。

下面我们再来通过对比图,看看与简单自编码程序处理效果谁更好。上图是深度学习处理结果,下图是简单学习处理结果。可以看到对于某些数字的细节部分,还原效果确实是更好了。

二、自编码地震剖面深度学习

好了,自编码学习除了处理图片,还可以在地震信号方面大显身手。下面我们来举一个地震信号处理的案例,讲解一些更复杂的数据处理方法。

1.地震剖面仿真数据

我们准备了一个地震剖面仿真数据。主要参数包括:道,采样点,采样率4毫秒。数据的尺寸是×。

2.程序讲解

(1)训练数据集准备

在Mnist程序中,训练集和测试集是自带软件包准备好的,其中包括了训练集为张28×28的图片和测试集张28×28的图片。其中二维图片在一维进行展开,就成了大小为的数据。

现在为了训练地震数据,我们就需要自己来准备训练集。

这里我们自己写了一个getPath的程序,用来生成训练集。这个程序比较复杂就不细讲了,最后结果就是生成了个64×64的地震训练数据。

读取到数据后,我们将二维图片在一维空间展开。

(2)深度全连接网络构建和训练

这里的网络结构与前面的Mnist结果类似,但有四点不同。

一是数据的尺寸变为了,就是大小为64×64的图片在一维空间的展开就是。

二是中间的网络结构增多,这是因为输入图片尺寸较大,需要更多网络来学习特征。

三是最后一层的激活函数为tanh,而不是前面的sigmoid。因为地震数据远比Mnist图片数据复杂,使用逻辑激活函数不能满足要求。

四是损失函数使用绝对均方差,也是为了复杂的深度学习需要。

这次我们训练了个周期,是为了尽量多的学习信号的特征。

(3)结果检验

首先,我们找到了训练集之外的另外一个工区的仿真数据。把数据进行归一化,并在一维进行展开。

然后,我们把测试数据放入到训练好的模型进行预测处理。并把处理结果还原到二维空间。

最后我们使用matplotlib来画出地震数据处理的效果图。

左图是测试原图,右图是模型处理的结果。

从图上来看,模型处理后的信号基本还原了原来特征,但效果不算好。

这里主要原因包括:一是训练样本的数量较少,还不到个。二是训练图片的尺寸较大,一般是32左右较好。这些问题都不利于神经网络有效的学习到信号的特征。

以上就是今天的全部内容,如果你想获取代码,或有问题讨论,都欢迎联系我交流。下一节,我们将讲解深度卷积自编码网络,下节课再见。

如果喜欢请点赞,或

转载请注明:http://www.aideyishus.com/lktp/3960.html

------分隔线----------------------------