[发明专利]一种基于多重预训练的深层神经网络训练方法有效
申请号: | 201610498635.8 | 申请日: | 2016-06-29 |
公开(公告)号: | CN106203625B | 公开(公告)日: | 2019-08-02 |
发明(设计)人: | 胡振;薛竹隐;贺成龙;宗士强;葛唯益;朱冰;李霄;徐琳;俞露;王羽;姜晓夏 | 申请(专利权)人: | 中国电子科技集团公司第二十八研究所 |
主分类号: | G06N3/08 | 分类号: | G06N3/08 |
代理公司: | 江苏圣典律师事务所 32237 | 代理人: | 胡建华 |
地址: | 210007 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于多重预训练的深层神经网络训练方法,在所述方法中,深层神经网络的预训练过程是通过依次用受限玻尔兹曼机和去噪自编码器为模型进行预训练来完成的。通过这种方式,使得预训练的结果,即深层神经网络参数的初始值具有不同模型的特点,从而为之后的训练提供一个更好的初始模型。由于方法只对不同预训练阶段开始时参数的值有约束,因此所述方法可以扩展到其他的逐层预训练模型上,如自编码器、收缩自编码器等。 | ||
搜索关键词: | 一种 基于 多重 训练 深层 神经网络 方法 | ||
【主权项】:
1.手写字符识别中基于多重预训练的深层神经网络训练方法,其特征在于,包括以下步骤:步骤1,随机选取神经网络的参数;步骤2,用受限玻尔兹曼机对神经网络的参数进行逐层预训练;步骤3,用去噪自编码器对神经网络的参数进行逐层预训练;步骤4,用反向传播算法对神经网络的参数进行调整;步骤1中,随机选取神经网络输入层和第一隐层之间的权值矩阵W、输入变量偏置b和隐变量偏置c;步骤2包括如下步骤:步骤2‑1,输入权值矩阵W、输入变量偏置b和隐变量偏置c,随机选择M个训练样本,将这M个样本按行排列,形成一个M列的矩阵,记为x;步骤2‑2,计算sigm(Wx+b),sigm表示用西格玛函数逐一作用到向量Wx+b的每个元素上,西格玛函数的表达式为:
步骤2‑3,以sigm(Wx+b)中的每一个元素为二项分布取1的概率,对每一个二项分布进行采样,得到隐变量h;步骤2‑4,计算sigm(WTh+c);步骤2‑5,以sigm(WTh+c)中的每一个元素为二项分布取1的概率,对每一个二项分布进行采样,得到重构的可见变量x’;步骤2‑6,计算sigm(Wx’+b);步骤2‑7,将权值矩阵W更新为W+∈(hxT‑sigm(Wx’+b)x′T),将输入变量偏置b更新为b+∈(h‑sigm(Wx’+b)),将隐变量偏置c更新为c+∈(x‑x′),∈为学习步长;步骤2‑8:重复步骤2‑1~步骤2‑7直到所有的样本都被选取过;步骤2‑9:重复步骤2‑1~步骤2‑8直到达到最大迭代次数,得到受限玻尔兹曼机预训练后的权值矩阵W、输入变量偏置b和隐变量偏置c;步骤3包括如下步骤:步骤3‑1,在步骤2得到的权值矩阵W、输入变量偏置b和隐变量偏置c的基础上,随机选择M个训练样本,将这M个样本按行排列,形成一个M列的矩阵,记为x;步骤3‑2,对于每个样本,随机选取20%的元素设置为0,得到污染后的样本,记为x’;步骤3‑3,计算h=sigm(Wx’+b);步骤3‑4,计算误差e=||x‑sigm(WTh+c)||2;步骤3‑5,将权值矩阵W更新为
将输入变量偏置b更新为
将隐变量偏置c更新为
其中
表示e关于参数θ的偏导数;步骤3‑6,重复步骤3‑1~步骤3‑5,直到所有的样本都被选取过;步骤3‑7,重复步骤3‑1~步骤3‑6直到达到最大迭代次数;步骤4包括如下步骤:步骤4‑1,在步骤3得到的各层权值矩阵W、输入变量偏置b和隐变量偏置c的基础上,随机选择M个训练样本,将这M个样本按行排列,形成一个M列的矩阵,记为x,根据神经网络的计算公式,逐层计算各层神经网络节点的取值;步骤4‑2,根据反向传播公式,计算输出误差关于各层神经网络参数的梯度;步骤4‑3,选取学习步长∈,根据步骤4‑2求取的梯度,对各层神经网络的参数进行更新;将步骤4调整参数后的深层神经网络用于计算机手写字符识别,包括如下步骤:第一步A:将数据划分为训练集、验证集和测试集,训练集包含50000张手写字符图片,验证集包含10000张手写字符图片,测试集包含10000张手写字符图片;第一步B:统一验证集中图片的尺寸为24像素*24像素;第二步A:随机选取输入层和第一隐层之间的权值矩阵W(1)、输入变量偏置b(1)和隐变量偏置c(1);第二步B:从训练集中选取10个样本作为输入变量,用对比散度算法,采取神经网络中约定的参数对输入层和第一隐层之间的权值矩阵、输入变量偏置和隐变量偏置进行优化;第二步C:重复第二步B,直到所有的训练样本都被选中过;第二步D:根据神经网络的计算公式,利用输入变量,权值矩阵W(1)和输入变量偏置b(1)来计算第一隐层的变量的值,作为第一隐层和第二隐层构成的受限玻尔兹曼机的输入;第三步:重复第二步的过程,优化第一隐层和第二隐层之间的权值矩阵W(2)、输入变量偏置b(2)和隐变量偏置c(2);第四步:重复第二步的过程,优化第二隐层和第三隐层之间的权值矩阵W(3)、输入变量偏置b(3)和隐变量偏置c(3);第五步A:从训练集中选取10个样本作为输入变量,以W(1)、b(1)和c(1)为初始值,根据去噪自编码器的优化函数和神经网络所约定的参数,得到更新后的参数![]()
和
第五步B:重复第五步A,直到所有的训练样本都被选中过;第五步C:根据神经网络的计算公式,利用输入变量,更新后的权值矩阵
和更新后的输入变量偏置
来计算第一隐层的变量的值,作为第一隐层和第二隐层构成的受限玻尔兹曼机的输入;第六步:重复第五步的过程,更新第一隐层和第二隐层之间的权值矩阵
输入变量偏置
和隐变量偏置
第七步:重复第五步的过程,更新第二隐层和第三隐层之间的权值矩阵
输入变量偏置
和隐变量偏置
第八步:以
和
为初始值,随机选择第三隐层和输出层之间的参数W(4)和b(4),用反向传播算法对神经网络进行优化;第九步:在验证集上测试优化后的神经网络的性能是否达到性能要求,如果没有,则重复第二~第八步。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国电子科技集团公司第二十八研究所,未经中国电子科技集团公司第二十八研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610498635.8/,转载请声明来源钻瓜专利网。