深度学习(1)——sae(稀疏自动编码机)

合集下载

深度学习(1)——sae(稀疏自动编码机)

深度学习(1)——sae(稀疏自动编码机)

• •
if i+1==n % 倒数第二层,即最后一个隐含层 d{i} = (d{i + 1} * nn.W{i} + sparsityError) .* d_act; % d_act = nn.a{i} .* (1 - nn.a{i});
• else %此外 • d{i} = (d{i + 1}(:,2:end) * nn.W{i} + sparsityError) .* d_act; • if(nn.dropoutFraction>0)% nn.dropOutMask{i}在nnff中已求得,必须与它相同 • d{i} = d{i} .* [ones(size(d{i},1),1) nn.dropOutMask{i}];(清零) 二、求dW{i} • if i+1==n • nn.dW{i} = (d{i + 1}' * nn.a{i}) / size(d{i + 1}, 1); • else • nn.dW{i} = (d{i + 1}(:,2:end)' * nn.a{i}) / size(d{i + 1}, 1); • (以往的bp网络,△W=-ƞ*de/dw,这里多了稀疏项,以及Dropout 的处理,在下一步的 nnapplygrads中还多了权值惩罚以及权值动量)
nntest • 调用函数nnpredict进行分类 • 看看分类结果与类标不同的有多少个,将它个数除以测试样本个数, 得到偏差。
nnpredict.m
• 令nn.test=1,然后把测试样本代进nnff函数中。得到输出。再令 nn.test=0。 • 找出此次代入nnff后的最后一层的每行的最大值所在的位置
• if(nn.nonSparsityPenalty>0)% 在nnbp中用到 • nn.p{i} = 0.99 * nn.p{i} + 0.01 * mean(nn.a{i}, 1);

深度学习知识:神经网络的稀疏表示

深度学习知识:神经网络的稀疏表示

深度学习知识:神经网络的稀疏表示神经网络是一种强大的机器学习工具,它通过一系列神经元和权重之间的连接来构建模型。

目前,神经网络已经在多个领域展现出了强大的应用能力。

但是,神经网络本身也存在一些问题,其中之一就是如何处理稀疏表示的数据。

在本文中,我们将探讨稀疏表示以及神经网络如何处理这种类型的数据。

什么是稀疏表示?稀疏表示是指数据中的许多元素都是0,或者接近于0,而只有少数几个元素具有非零值。

这种情况在实际问题中非常普遍,例如在语音识别中的语音信号就是一种稀疏表示。

如何处理稀疏表示?现代的神经网络通常使用全连接层,在这种情况下,输入数据的每个元素都将连接到每个神经元。

这种方法在处理稠密表示的数据时非常有效,但是,在处理稀疏表示数据时,它可能会导致一些问题。

例如,在处理图像数据时,每个像素都可以被认为是一个输入元素。

然而,在大多数图像中,像素值都非常小,类似于稀疏表示数据。

采用全连接神经网络进行图像分类任务,这将导致非常大的模型大小和处理时间,而且很容易出现过拟合的问题。

因此,处理稀疏表示数据的算法通常需要特定的方法。

其中一种解决方法是采用稀疏编码,这是一种用于处理稀疏表示数据的技术。

稀疏编码是一种无监督学习方法,它通过对数据进行组合来生成一个小的编码向量。

由于编码向量非常小,这种方法可以提高神经网络处理稀疏表示数据的效率。

例如,如果我们用一个稀疏编码将输入数据从1000维降至100维,则神经网络的全连接层将变得小得多,处理速度也将更快。

稀疏编码还有另一个好处,即它可以减少噪声的影响。

如果有许多输入特征都是无效的或没有意义的,那么这些特征将会产生噪声,从而降低神经网络的性能。

稀疏编码可以帮助神经网络过滤掉这些噪音数据,只保留最重要的数据特征。

另外一种方法是使用卷积神经网络。

卷积神经网络是专门针对图像处理、语音处理等领域,它能够对输入进行分层的处理。

卷积神经网络的核心思想是对输入进行卷积操作,然后将结果输入到下一层。

基于堆叠稀疏自动编码器的手写数字分类

基于堆叠稀疏自动编码器的手写数字分类

基于堆叠稀疏自动编码器的手写数字分类林少飞;盛惠兴;李庆武【摘要】将稀疏自动编码器(Sparse Autoencoder,SAE )模型应用于数字识别中,并通过多个稀疏自动编码器的堆叠构建了深度网络,采用非监督贪婪逐层训练算法(Greedy Layer -Wise Unsu-pervised Learning Algorithm)初始化网络权重,使用反向传播算法优化网络参数。

利用堆叠稀疏自动编码器学习数字图像的特征,使用 softmax 分类器进行数字分类。

经实验证明,与其它浅层学习模型对比,深度网络不仅进一步学习了数据的高层特征,同时还降低了特征维数,提高了分类器的分类精度,最终改善了手写数字的分类效果。

%In this paper,the sparse autoencoders (Sparse Autoencoder,SAE)model is applied to the digital recognition,and a deep network is constructed by stacking a plurality of sparse autoencoders, using Greedy Layer -Wise Unsupervised Learning algorithm to initialize the weights of the network and back propagation algorithm to optimize the parameters of the network .The stacked sparse autoencoders are used to learn the features of the digital image,and the softmax classifier is used to conduct the digital classification.The experiments show that,comparing with other shallow learning models,the deep network not only studies the high -level features of the data,but also reduces the feature dimension and improves the precision of the classifier,which finally improves the classification effect of handwritten digits.【期刊名称】《微处理机》【年(卷),期】2015(000)001【总页数】5页(P47-51)【关键词】堆叠稀疏编码器;非监督贪婪逐层训练;反向传播算法;softmax 分类器【作者】林少飞;盛惠兴;李庆武【作者单位】河海大学物联网工程学院,常州213022;河海大学物联网工程学院,常州 213022;河海大学物联网工程学院,常州 213022【正文语种】中文【中图分类】TP391手写数字识别(Handwritten Numeral Recognition,简称HNR)是模式识别学科的一个传统研究领域,主要研究如何利用计算机自动辨识手写的阿拉伯数字。

深度学习介绍 ppt课件

深度学习介绍 ppt课件

自编码器的建立
建立AutoEncoder的方法是:
对于m个数据的输入,有:
Code编码:使用非线性激活函数,将维输入数据映射到维隐含层(隐含节点表示特 征)
其中W是一个的权重矩阵,b是一个d'维的偏移向量 Decode解码:通过反向映射,对映射后的数据进行重建
hi
yi
SAE网络每一次训练输入都会得到映射后的 与解码后的 。通过对代价函数的最优
深层带来的好处
为什么采用层次网络
预训练与梯度消失现象
主要内容
自编码器结构
单层自动编码器网络(AutoEncoder)实质上是一个三层的反向传播神经网络。它逐 层采用无监督学习的方式,不使用标签调整权值,将输入映射到隐含层上,再经过反 变换映射到输出上,实现输入输出的近似等价。
X1 X2 X3 X4 X5 +1
RBM网络有几个参数,一个是可视层与隐含 层之间的权重矩阵,一个是可视节点的偏移 量b,一个是隐含节点的偏移量c,这几个参 数决定了RBM网络将一个m维的样本编码成 一个什么样的n维的样本。
受限玻尔兹曼机
RBM介绍

RBM训练
一般地,链接权重Wij可初始化为来自正态分布N(0,0.01)的随机数,隐 单元的偏置cj初始化为0; 对于第i个可见单元,偏置bj初始化为log[pi/(1-pi)] 。pi表示训练样本中 第i个特征处于激活状态所占的比率 学习率epsilon至关重要,大则收敛快,但是算法可能不稳定。小则 慢。为克服这一矛盾引入动量,使本次参数值修改的方向不完全由当 前样本似然函数梯度方向决定,而是上一次参数值修改方向与本次梯 度方向的结合可以避免过早的收敛到局部最优点
激活函数
y f (x)

基于堆栈式稀疏自编码器的高光谱影像分类

基于堆栈式稀疏自编码器的高光谱影像分类

基于堆栈式稀疏自编码器的高光谱影像分类戴晓爱;郭守恒;任淯;杨晓霞;刘汉湖【摘要】为挖掘高光谱影像数据的内在光谱特征,该文基于深度学习理论,引用堆栈式稀疏自编码器构建原始数据的深层特征表达。

首先通过稀疏自编码器,得到原始数据的稀疏特征表达。

其次通过逐层学习稀疏自编码器构建深度神经网,输出原始数据的深度特征。

最后将其连接到支持向量机分类器,完成模型的精调。

实验结果分析表明:基于堆栈式稀疏自编码器的最优分类模型,总体精度可达87.82%,优于实验中的其他方法,证明了深度学习方法在高光谱影像处理中具有良好的分类性能。

%To extract rich features of hyperspectral image, this study explores the deep features of the raw data by using a stacked sparse autoencoderin the deep learning theory. First we create a sparse expression of raw hyperspectral image using sparse autoencoder. Then a deep neural network generating the deep features of raw data is built through learning stacked sparse autoencoder layer by layer. In addition, the deep feature-related model parameters are precisely calibrated by the statistical learning algorithm of the support vector machine (SVM). The performance of the experiment indicates that the overall accuracy of classification model based on stacked sparse autoencoder reaches 87.82%, superior to other experimental methods. From our experiments, it follows that the deep learning theory and stacked sparse autoencoder are of high potential in hyperspectral remote sensing image classification.【期刊名称】《电子科技大学学报》【年(卷),期】2016(045)003【总页数】5页(P382-386)【关键词】深度神经网;特征提取;高光谱影像分类;堆栈式稀疏自编码器;支持向量机【作者】戴晓爱;郭守恒;任淯;杨晓霞;刘汉湖【作者单位】成都理工大学地学空间信息技术国土资源部重点实验室成都610059;成都理工大学地学空间信息技术国土资源部重点实验室成都 610059;成都理工大学地学空间信息技术国土资源部重点实验室成都 610059;成都理工大学地学空间信息技术国土资源部重点实验室成都 610059;成都理工大学地学空间信息技术国土资源部重点实验室成都 610059【正文语种】中文【中图分类】TP751.1高光谱影像分类是高光谱影像处理中的重要环节,由于Hughes现象[1]的影响,在不进行降维处理的情况下传统分类算法很难在高光谱影像分类中取得理想结果[2]。

深度学习(1)——sae(稀疏自动编码机)

深度学习(1)——sae(稀疏自动编码机)

test_example_SAE.m
• 一、训练隐含层(例中为单个隐含层)
• • • • 1.调用saesetup设置网络参数( 结构为[784 100]的两层网络) 2.在第1步基础上修改网络参数(这里是修改第一组的 激活函数类型、学习 率、输入加噪率、训练迭代次数、batchsize) 3.调用saetrain,让它对各个隐含层进行逐层训练(例子中给的隐含层数为 1层,100个节点,输入输出同是train_x。每次进行nntrain来训练隐含层都为 三层网络,输入层和输出层一样) 4.对第一组权值进行可视化,看看学习结果。(由于例中的网络只有一个 100节点隐含层,故可视化为一张100个特征块图片。第一组权值W{1}用于编 码,第二组W{2}用于解码)
nnapplygrads.m
• 梯度下降法计算作为更新值的nn.W。 • 当设置nn.weightPenaltyL2>0,则 • dW = nn.dW{i} +… • nn.weightPenaltyL2 * [zeros(size(nn.W{i},1),1) nn.W{i}(:,2:end)]; • 当设置nn.weightPenaltyL2=0,则dW = nn.dW{i} • • • • • • 再让dW乘以学习率(或称 步长) 如果权值动量momentum>0,则 nn.vW{i} = nn.momentum*nn.vW{i} + dW; dW = nn.vW{i}; 最后nn.W{i} = nn.W{i} - dW; 1。惩罚项方法是一种间接修剪网络的办法,其原理是在传统的误差函数中加 入一衡量网络结构复杂程度的“复杂度项”。应用到权值更新规则后,该项 在训练过程中起到防止权值增长太大和驱使不重要权值逐渐减小到零的作用。 尽管那些接近零的连接权没有从网络中被删除。但它们对网络输出几乎没有 影响,已相当于从网络中被删除了。这样一来,训练后的神经网络实际上已 是被修剪过的小网络了。可见,惩罚项法在没有破坏网络结构的同时又达到 网络修剪的目的,从而是提高神经网络泛化能力的一个重要方法。 .2。权值动量是为了解决 “步长大收敛快,但是容易引起不稳定;步长小可避免 振荡,但是收敛慢”的矛盾。

稀疏编码算法 详解

稀疏编码算法详解稀疏编码算法是一种无监督学习方法,它用于寻找一组“超完备基(over-complete bases)”来更高效地表示样本数据。

这个算法通过找到一组基向量,使得输入向量能够被这些基向量的线性组合所表示,而其中的系数大部分为0,因此称为“稀疏”。

超完备基的好处是它们能更有效地找出隐含在输入数据内部的结构与模式。

然而,对于超完备基来说,系数不再由输入向量唯一确定。

因此,稀疏编码算法中引入了“稀疏性”来解决因超完备而导致的退化问题。

“稀疏性”定义为只有很少的几个非零元素或只有很少的几个远大于零的元素。

在稀疏编码算法中,稀疏性要求对于一组输入向量,我们只想有尽可能少的几个系数远大于零。

选择使用具有稀疏性的分量来表示我们的输入数据是有原因的,因为绝大多数的感官数据,比如自然图像,可以被表示成少量基本元素的叠加。

同时,这也与初级视觉皮层的类比过程相符。

稀疏编码算法的具体步骤可能会因不同的实现方式而略有不同,但一般来说,它们都会涉及到以下步骤:1. 初始化一组基向量。

这些基向量可以是随机的,也可以是根据一些先验知识进行初始化。

2. 对于每个输入向量,用这些基向量进行线性组合,形成对输入向量的逼近。

这一步通常会用到最小二乘法等优化方法。

3. 对形成的线性组合系数进行稀疏化处理。

这一步通常会用到一些稀疏编码技术,比如Lasso回归、岭回归等。

4. 重复以上步骤,直到满足停止条件为止。

停止条件可以是迭代次数达到预设值,或者误差达到预设值等。

总的来说,稀疏编码算法是一种有效的数据表示方法,它能够更有效地找出隐含在输入数据内部的结构与模式。

同时,由于其稀疏性特点,稀疏编码算法也具有很强的鲁棒性和泛化能力。

稀疏自编码器SAE


DL Model
• 自动编码器(ห้องสมุดไป่ตู้utoEncoder) 稀疏自动编码器(Sparse AutoEncoder) 降噪自动编码器(Denoising AutoEncoders)
• 限制波尔兹曼机(Restricted Boltzmann Machine)
• 深信度网络(Deep Belief Networks) • 卷积神经网络(Convolutional Neural Networks)
Sparse AutoEncoder
为什么能稀疏?
1、减小编码后隐藏层神经元个数。 比如,后一层比前一层神经元个数少。
2、隐藏层的任何一个神经元不应该总是高度激活 。
怎么衡量某个隐藏神经元的激活度?
取平均就好了
Sparse AutoEncoder
为隐藏单元 j 的平均激活值
(2) (2) (2) ˆ ˆ ˆ a a a 1 3 3 如左图, 1 2 2
征,以发现数据的分布式特征表示。
• 特点:通过构建多隐层的模型和海量训练数据,来学习
更有用的特征,从而最终提升分类或预测的准确性。
一般含多隐层的多层感知器就是一种深度学习结构。
DL Model
“深度模型”是手段,“特征学习”是目的。 DL强调模型结构的深度,通常有5-10多层的 隐层节点,
BP、SVM是只含有一层隐层节点的浅层模型。
autoencoder将input输入一个encoder编码器就会得到一个code这个code也就是输入的一个表示再加一个decoder解码器这时候decoder就会输出一个信息那么如果输出的这个信息和一开始的输入信号input是很像的理想情况下就是一样的就有理由相信这个code是靠谱的

2013 科学技术与工程 稀疏自动编码器在文本分类中的应用研究_秦胜君

第 13 卷 第 31 期 2013 年 11 月 1671 — 1815 ( 2013 ) 31-9422-05







Science Technology and Engineering
Vol. 13 No. 31 Nov. 2013 2013 Sci. Tech. Engrg.
稀疏自动编码器在文本分类中的应用研究
随着网络技术的不断发展, 互联网成为了人们 发布和获取文本信息的重要途径。 然而, 文本数量 持续地递增, 使文本排序变得杂乱无章, 人们很难 如何对大量 快速而准确地获取所需的信息。 因此, 的文本进行有效的组织, 帮助用户尽快找到所需的 信 息成 为 当 代 信 息 科 学 技 术 领 域 的 重 要 研 究 课题
图2 DBN 结构图
发平台为 eclipse。 3. 2 分类性能评价 P) 文本分类的性能评价采用准确率 ( precision, R ) 两个指标进行评估。 和召回率( racall, P = a a ; R = 。 a +b a +c
DBN 的训练最开始通过对比分歧 ( contrastive divergence) 方法进行预训练获得生成模型的权值。 然后使用 Gibbs 采样, 隐含层单元和可视层输入之 间的相关性差别作为权值更新的主要依据 。 使用 Gibbs 采样之后, 训练时间会显著减少, 只需要单个 步骤就可以接近最大似然学习, 降低了网络训练时 DBN 通过利用带标签数据对判别性 间。另一方面, 能做调整, 在分类任务中, 其性能比单纯的 BP 算法 训练的网络好。DBN 的训练是一个复杂的过程, 在 8] 。 此不再详述, 详情可参见文献[ 通过 SEA 算法可以获取输入数据特征, 而 DBN 具有较好的分类效果。因此, 本文结合 SEA 和 DBN 算法, 形成 SD 算法进行文本分类, 整个算法主要过 程描述如下:

稀疏编码的编码过程详解

稀疏编码的编码过程详解稀疏编码是一种重要的数据压缩技术,它在信号处理、图像处理、机器学习等领域中被广泛应用。

本文将详细介绍稀疏编码的编码过程,以帮助读者更好地理解这一技术。

稀疏编码的核心思想是利用数据的冗余性,通过寻找最小表示来实现压缩。

在编码过程中,我们首先需要建立一个字典,也称为码本,它是由一组基向量组成的。

这些基向量可以是任意的,但通常会根据数据的特性进行选择。

字典的选择对于稀疏编码的性能有着重要的影响。

编码过程中的第一步是信号的分解。

给定一个待编码的信号,我们需要将其分解为基向量的线性组合。

这个过程可以用数学公式表示为:x = ∑xxxx其中x是待编码的信号,xx是基向量的系数,xx是字典中的基向量。

我们的目标是找到最小的系数xx,使得分解后的信号x能够尽可能地接近原始信号。

为了实现稀疏性,我们需要引入一个稀疏性约束。

这个约束可以是xx的L0范数(非零元素的个数)或L1范数(绝对值之和)。

在实际应用中,由于L0范数很难求解,通常会选择L1范数作为稀疏性约束。

因此,我们的目标可以转化为一个优化问题:min ||x - ∑xxxx||₂² + λ||x||₁其中||x - ∑xxxx||₂²表示重构误差,λ是控制稀疏性的超参数。

通过求解这个优化问题,我们可以得到最优的系数xx,从而实现信号的稀疏表示。

在求解优化问题时,可以使用多种方法。

其中最常用的是基于迭代的方法,如追踪最小化算法(OMP)和正交匹配追踪算法(OMP)。

这些算法通过迭代地选择基向量,更新系数xx,从而逐步逼近最优解。

除了迭代方法,还有一些其他的稀疏编码算法,如基于凸优化的方法和基于字典学习的方法。

这些方法在不同的应用场景中具有各自的优势和适用性。

在实际应用中,稀疏编码可以用于信号压缩、图像去噪、图像恢复等任务。

通过将信号表示为稀疏系数,我们可以实现对信号的高效表示和处理。

此外,稀疏编码还与深度学习相结合,形成了一种强大的数据表示和处理框架。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
。 数后增加一个正则项,以使经验风险最小化 把不重要的项的参数
保留,但是令其系数为零)
• 2.给输入层a{1}加噪,以及对隐含层a{i}进行Dropout (按比例随机清 零。)
二、针对训练快慢与稳定性的矛盾 应用权值动量辅助调整权值
三、针对以往一个bp网络不能太多层 先逐个逐个隐含层进行无监督训练(实际还是用bp),即调用 saesetup.m以及saetrain.m。 然后得到各个隐含层的参数才对完整的 网络进行有监督训练。
若是需要训练两个隐含层,那么这 里的a{2}则作为下个三层网络的输入 以及输出
nnsetup.m
nn.size = architecture; %要设置的各层节点结构,如[784 100 784] nn.n = numel(nn.size); %层数,当[784 100 784],则为3 nn.activation_function = ‘tanh_opt’; %激活函数,或称传递函数 nn.learningRate = 2; %学习率,或称步长,就是决定每次梯度下降的长度 nn.momentum = 0.5; % 权值动量 nn.scaling_learningRate = 1; %在nntrain中出现,是每代间,学习率的关系倍数 nn.weightPenaltyL2 = 0; %权值惩罚(L2正则化),在nnapplygrads中用到 nn.nonSparsityPenalty = 0; %稀疏惩罚项,在nnbp中用到。 nn.sparsityTarget = 0.05; %稀疏目标,在nnbp中用到。 nn.inputZeroMaskedFraction = 0; %用于加噪 nn.dropoutFraction = 0; %每一次mini-batch样本输入训练时,随机扔掉0%的隐 含层节点
• 1.调用nnsetup,设置整个网络(结构是[784 100 10]) • 2.设置网络的激活函数和学习率 • 3.第一步中,把用于编码的W(实际包括阈值b和权值W)赋给此网络。
• 三、训练前向网络
• 1. 设置训练次数、batchsize。 • 2.调用nntrain训练整个网络(此时因期望输出是train_y,为有监督的训练) • 3.调用nntest测试整个网络
深度学习(1)——
稀疏自动编码机(SAE)网络
广东工业大学
13级控制工程 1019408133@
传统神经网络
• 1)比较容易过拟合,参数比较难调整;
• 2)训练速度比较慢,在层次比较少(小于等于3)的情况下效果 并不比其它方法更优;
BP算法存在的问题:
• (1)梯度越来越稀疏:从顶层越往下,误差校正信号越来越小;
• 实验中,这里的i=1,因而就是得到sae.ae{1}.W{1}、sae.ae{1}.W{2}, 而最后只取用sae.ae{1}.W{1}
784 100 +1 +1 784 阈值B
+1 +1 a{1} a{2}
这里a{1}=train_x
a{2}=sigm(nn.a{1} * nn.W{1}‘),作为训 练第二个隐含层的输入,但是这里只有一 个隐含层,所以a{2}在这里并没用
test_example_SAE.m
• 一、训练隐含层(例中为单个隐含层)
• 1.调用saesetup设置网络参数( 结构为[784 100]的两层网络) • 2.在第1步基础上修改网络参数(这里是修改第一组的 激活函数类型、学习
率、输入加噪率、训练迭代次数、batchsize) • 3.调用saetrain,让它对各个隐含层进行逐层训练(例子中给的隐含层数为
nn.p{i} 让无验证数据输入)
• 大循环逐numepochs(训练代数)
• 小循环逐numbatches(每代的样本批次,每批样本100个,它们共同 决定更新一次权值。。。。。不同代的同个批次中的样本不会相同, 因为被随机打乱了。)
• 1 故有numepochs* numbatches次执行下列(这么多次更新权值)
1层,100个节点,输入输出同是train_x。每次进行nntrain来训练隐含层都为 三层网络,输入层和输出层一样) • 4.对第一组权值进行可视化,看看学习结果。(由于例中的网络只有一个 100节点隐含层,故可视化为一张100个特征块图片。第一组权值W{1}用于编 码,第二组W{2}用于解码)
• 二、初始化网络(为第三步初始化)
• (2)收敛到局部最小值:尤其是从远离最优区域开始的时候(随机 值初始化会导致这种情况的发生);
• (3)一般,我们只能用有标签的数据来训练:但大部分的数据是没 标签的,而大脑可以从没有标签的的数据中学习;
一、针对过拟合现象的处理 • 1.惩罚项(Penalty,正则化方法,正则化的一般形式是在整个目标函
nn.testing = 0; %设置此时网络有无测试 nn.output = ‘sigm’; %输出接什么函数,还有'softmax' and 'linear‘
以下i 为从第 2 到最后一层 nn.n
nn.W{i - 1} 随机给出网络权值初始值
nn.vW{i - 1} 让它初值=0 %用于更新参数时的临时参数
saesetup.m
这里sae.setup中的输入是[784 100],令architecture=[784 10 784] ,调 用nnsetup进行网络参数设置。
x
h
x
W1 W1’ b1 b1’
saetrain.m
• 逐个隐含层进行nntrain(sae.ae{i}, x, x, opts)训练更新sae.ae{i}参数, 其实就是更新sae.ae{i}.W{1}、sae.ae{i}.W{2}
• 判断inputZeroMaskedFraction,看看是否要加噪,是的话,按此比 例随机把输入值清零。
• nn = nnff(nn, batch_x, batch_y);%前向网络
• nn = nnbp(nn);
% 反向传播网络
• nn = nnapplygrads(nn); %梯度下降
相关文档
最新文档