微调多层自编码算法

微调多层自编码算法

Contents

 [hide]
  • 1 介绍
  • 2 一般策略
  • 3 使用反向传播法进行微调
  • 4 中英文对照
  • 5 中文译者

介绍

微调是深度学习中的常用策略,可以大幅提升一个栈式自编码神经网络的性能表现。从更高的视角来讲,微调将栈式自编码神经网络的所有层视为一个模型,这样在每次迭代中,网络中所有的权重值都可以被优化。

一般策略

幸运的是,实施微调栈式自编码神经网络所需的工具都已齐备!为了在每次迭代中计算所有层的梯度,我们需要使用稀疏自动编码一节中讨论的反向传播算法。因为反向传播算法可以延伸应用到任意多层,所以事实上,该算法对任意多层的栈式自编码神经网络都适用。

使用反向传播法进行微调

为方便读者,以下我们简要描述如何实施反向传播算法:


1. 进行一次前馈传递,对 \textstyle L_2 层、\textstyle L_3 层直到输出层 \textstyle L_{n_l},使用前向传播步骤中定义的公式计算各层上的激活值(激励响应)。


2. 对输出层(\textstyle n_l 层),令
\begin{align}\delta^{(n_l)}= - (\nabla_{a^{n_l}}J) \bullet f'(z^{(n_l)})\end{align}
(当使用softmax分类器时,softmax层满足:\nabla J = \theta^T(I-P),其中 \textstyle I 为输入数据对应的类别标签,\textstyle P 为条件概率向量。)


3. 对 \textstyle l = n_l-1, n_l-2, n_l-3, \ldots, 2
\begin{align}                 \delta^{(l)} = \left((W^{(l)})^T \delta^{(l+1)}\right) \bullet f'(z^{(l)})                 \end{align}


4. 计算所需的偏导数:
\begin{align}\nabla_{W^{(l)}} J(W,b;x,y) &= \delta^{(l+1)} (a^{(l)})^T, \\\nabla_{b^{(l)}} J(W,b;x,y) &= \delta^{(l+1)}.\end{align}
\begin{align}J(W,b)&= \left[ \frac{1}{m} \sum_{i=1}^m J(W,b;x^{(i)},y^{(i)}) \right]\end{align}


注:我们可以认为输出层softmax分类器是附加上的一层,但是其求导过程需要单独处理。具体地说,网络“最后一层”的特征会进入softmax分类器。所以,第二步中的导数由 \delta^{(n_l)} = - (\nabla_{a^{n_l}}J) \bullet f'(z^{(n_l)}) 计算,其中 \nabla J = \theta^T(I-P)


中英文对照

栈式自编码神经网络(可以考虑翻译为“多层自动编码机”或“多层自动编码神经网络”) Stacked autoencoder
微调 Fine tuning
反向传播算法 Backpropagation Algorithm
前馈传递 feedforward pass
激活值 (可以考虑翻译为“激励响应”或“响应”) activation

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/566036.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【OpenCV 例程200篇】22. 图像添加非中文文字(cv2.putText)

『youcans 的 OpenCV 例程200篇 - 总目录』 【youcans 的 OpenCV 例程200篇】22. 图像添加非中文文字 函数 cv2.putText() 用于在图像上绘制文本字符串,即添加文字。 OpenCV 不支持显示中文字符,使用 cv2.putText() 时添加的文本字符串不能包含中文字符…

自我学习

自我学习 今天让我们来完成自我学习的代码。完成这个代码需要结合稀疏自编码和softmax分类器,具体的可以看我以前的博客。依赖MNIST DatasetSupport functions for loading MNIST in MatlabStarter Code (stl_exercise.zip) 第一步:生成相应的输入和测试数据集这需要…

【OpenCV 例程200篇】23. 图像添加中文文字(ImageDraw.Draw)

『youcans 的 OpenCV 例程200篇 - 总目录』 【youcans 的 OpenCV 例程200篇】23. 图像添加中文文字 OpenCV 不支持显示中文字符,使用 cv2.putText() 时添加的文本字符串不能包含中文字符(包括中文标点符号)。在图像中添加中文字符&#xff0…

【OpenCV 例程200篇】24. 图像的仿射变换(cv2.warpAffine)

『youcans 的 OpenCV 例程200篇 - 总目录』 【youcans 的 OpenCV 例程200篇】24. 图像的仿射变换 几何变换的可以分为等距变换、相似变换、仿射变换和投影变换。在很多书籍中把等距变换、相似变换都称为仿射变换,常见的仿射变换包括平移、旋转、缩放、翻转、斜切等…

从自我学习到深层网络

从自我学习到深层网络 在前一节中,我们利用自编码器来学习输入至 softmax 或 logistic 回归分类器的特征。这些特征仅利用未标注数据学习获得。在本节中,我们描述如何利用已标注数据进行微调,从而进一步优化这些特征。如果有大量已标注数据&a…

【OpenCV 例程200篇】25. 图像的平移(cv2.warpAffine)

『youcans 的 OpenCV 例程200篇 - 总目录』 【youcans 的 OpenCV 例程200篇】25. 图像的平移 平移是物体位置在水平和垂直方向的移动。 像素点 (x,y) 沿 x 轴平移 dx、沿 y 轴平移 dy,可以由以下公式描述: [x~y~1]MAT[xy1],MAT[10dx01dy001]\begin{bmat…

JavaScript 灯泡暗亮

程序解说:点击灯泡之后切换灯泡明暗; 点击暗的灯泡的时候灯泡会随之发亮,并且下方会输出灯泡打开时间, 点击亮的灯泡的时候灯泡会随之熄灭,并且下方会输出灯泡关闭时间. 点击图片亮暗发生变化(准备两张图片…

【OpenCV 例程200篇】26. 图像的旋转(以原点为中心)

『youcans 的 OpenCV 例程200篇 - 总目录』 【youcans 的 OpenCV 例程200篇】26. 图像的旋转(以原点为中心) 图像以原点 (0, 0) 为中心、顺时针旋转角度 θ 进行旋转操作,可以由以下公式描述: [x~y~1]MAR[xy1],MAR[cosθ−sinθ0s…

电脑滑动关机

如何让你的电脑可以像手机一样滑动关机 只需点击下拉,让你享用更快更炫酷的关机方法(滑动关机) 新建一个记事本(滑动关机.txt) 打开滑动关机.txt文件,在该文件中写入 slidetoshutdown 代码段并保存文件。…

php里面的MySql

php里面的MySql SQL 是一种标准 - 但是... SQL是一门 ANSI 的标准计算机语言,用来访问和操作数据库系统。SQL语句用于取回和更新数据库中的数据。SQL可与数据库程序协同工作,比如 MS Access、DB2、Informix、MS SQL Server、Oracle、Sybase以及其他数据…

【OpenCV 例程200篇】27. 图像的旋转(以任意点为中心)

『youcans 的 OpenCV 例程200篇 - 总目录』 【youcans 的 OpenCV 例程200篇】27. 图像的旋转(以任意点为中心) 图像以任意点 (x0, y0) 为旋转中心、顺时针旋转角度 θ 的旋转操作,可以先将原点平移到旋转中心 (x0, y0) ,然后按照原…

OC里面的类

OC里面的类 类的定义 不指定方法的返回值 -(id)initWithObject:(id)obj; - initWithObject:obj; 省略返回值时,默认的类型是id,也就是上面两条等价,在c语言中默认是int 接口 类公开给外部的,关于使用这个类的消息叫接口。 类的定…

人员信息管理

使用Jsp Servlet Tomcat 实现对sqlServer数据库中人员信息的管理:(MVC架构) 准备相应的数据库 链接数据库 实现对数据库中人员信息的增删改查 页面总体效果如下所示: 点击删除之后会删除掉选中的这一行只显示剩下几行内容&a…

【OpenCV 例程200篇】28. 图像的旋转(直角旋转)cv2.rotate

『youcans 的 OpenCV 例程200篇 - 总目录』 【youcans 的 OpenCV 例程200篇】28. 图像的旋转(直角旋转) 旋转角度为 90,180,270 度时,可以用 cv2.rotate(src, rotateCode) 函数实现,该方法实际上是通过矩阵…

爱心表白

程序员并不是没有一点乐趣整天枯燥无味的游走在代码中的,在这里给大家提供了一个表白代码 功能描述: 1:能够计算任意两个时间的之间相隔的天数,2:在相隔天数下面输出心形并且心形里面还有英文我爱你字样。相信你已经迫…

OC与C混合编程

OC与C混合编程 oc中使用c语言函数 类的实现文件中可以定义c语言风格的函数,但仅限于implementation的前面,implementation和end之间,end之后 如果函数的作用域仅限于这个文件,那么给函数加上static修饰符比较好。 函数不能之间调用…

2021爱智先行者—(1)开箱点评

【本文正在参与"2021爱智先行者-征文大赛"活动】,活动链接:https://bbs.csdn.net/topics/602601454 2021爱智先行者—(1)开箱点评 欢迎关注 『Python小白的项目实战』 系列,持续更新 2021爱智先行者—&…

随机抽取

随机抽取程序是对数字字母的随机抽取,可用作抽奖程序中中奖号码的选择也可用于老师在课堂上随机点名随机抽人回答问题。 请大家先欣赏效果: 程序解读: 定义数组存储需要抽取的数据设置相应按键,继续或者结束的按钮输出提示文字…

OC里面的类类型

OC里面的类类型 类类型 比如说Volume *v1,*v2 v1和v2都是Volume类型,实际上就是一个指针,如果把v1赋值给v2后,那么v2和v1有相同的属性 空指针nil 返回值为id的类型的方法中,如果出错的话,一般会返回nil 调用端会采用如…

【youcans 的图像处理学习课】5. 图像的几何变换

专栏地址:『youcans 的图像处理学习课』 文章目录:『youcans 的图像处理学习课 - 总目录』 【youcans 的图像处理学习课】5. 图像的几何变换 文章目录【youcans 的图像处理学习课】5. 图像的几何变换1. 几何变换简介1.1 仿射变换基本例程:1.3…