1.一种基于多重预训练的深层神经网络训练方法,其特征在于,包括以下步骤:
步骤1,随机选取神经网络的参数;
步骤2,用受限玻尔兹曼机对神经网络的参数进行逐层预训练;
步骤3,用去噪自编码器对神经网络的参数进行逐层预训练;
步骤4,用反向传播算法对神经网络的参数进行调整。
2.根据权利要求1所述的方法,其特征在于,步骤1中,随机选取神经网络输入层和第一隐层之间的权值矩阵W、输入变量偏置b和隐变量偏置c。
3.根据权利要求2所述的方法,其特征在于,步骤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。
4.根据权利要求3所述的方法,其特征在于,步骤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直到达到最大迭代次数。
5.根据权利要求4所述的方法,其特征在于,步骤4包括如下步骤:
步骤4-1,在步骤3得到的各层权值矩阵W、输入变量偏置b和隐变量偏置c的基础上,随机选择M个训练样本,将这M个样本按行排列,形成一个M列的矩阵,记为x,根据神经网络的计算公式,逐层计算各层神经网络节点的取值;
步骤4-2,根据反向传播公式,计算输出误差关于各层神经网络参数的梯度;
步骤4-3,选取学习步长∈,根据步骤4-2求取的梯度,对各层神经网络的参数进行更新。