2020-3-24 深度学习笔记15 - 表示学习 1(贪心逐层无监督预训练-目前已经不太使用)

2023-05-16

第十五章 表示学习

官网
英文

很多信息处理任务可能非常容易,也可能非常困难,这取决于信息是如何表示的。

在机器学习中,到底是什么因素决定了一种表示比另一种表示更好呢? 一般而言,一个好的表示可以使后续的学习任务更容易。 选择什么表示通常取决于后续的学习任务。

表示学习的概念将许多深度学习形式联系在了一起。 前馈网络和循环网络,自编码器和深度概率模型都在学习和使用表示。 学习最佳表示仍然是一个令人兴奋的研究方向。

贪心逐层无监督预训练Greedy Layer-Wise Unsupervised Pretraining

http://deeplearning.stanford.edu/wiki/index.php?title=Deep_Networks:_Overview&action=edit
https://blog.csdn.net/dcxhun3/article/details/48131745

通过引入深度网络(含有多个隐藏层的神经网络),我们可以计算更多复杂的输入特征。因为每一个隐藏层可以对上一层的输出进行非线性变换,因此深度神经网络拥有比“浅层”网络更加优异的表达能力(例如:可以学习到更加复杂的函数关系)。

那么,我们应该如何训练深度网络呢?逐层贪婪训练方法是取得一定成功的一种方法。

简单来说,逐层贪婪算法的主要思路是每次只训练网络中的一层,即我们首先训练一个只含一个隐藏层的网络,仅当这层网络训练结束之后才开始训练一个有两个隐藏层的网络,以此类推。
在这里插入图片描述

在每一步中,我们把已经训练好的前k-1层固定,然后增加第k层(也就是将我们已经训练好的前k-1的输出作为输入)。每一层的训练可以是有监督的(例如:将每一步的分类误差作为目标函数),但更通常使用无监督方法(例如:自编码器)。
在这里插入图片描述

这些各层单独训练所得到的权重被用来初始化最终(或者说全部)的深度网络的权重,然后对整个网络进行“微调”(即把所有层放在一起来优化有标签训练集上的训练误差)。

+++++++++++++++++++++++++++++++++++
以上是补充内容,以下是《机器学习》内容
+++++++++++++++++++++++++++++++++++

无监督学习在深度神经网络的复兴上起到了关键的、历史性的作用,它使研究者首次可以训练不含诸如卷积或者循环这类特殊结构的深度监督网络。 我们将这一过程称为无监督预训练,或者更精确地,贪心逐层无监督预训练。

贪心逐层无监督预训练依赖于单层表示学习算法,例如:RBM(目前很少使用)、单层自编码器(目前很少使用)、稀疏编码模型或其他学习潜在表示的模型。 每一层使用无监督学习预训练,将前一层的输出作为输入,输出数据的新的表示。 这个新的表示的分布(或者是和其他变量比如要预测类别的关系)有可能是更简单的。

基于无监督标准的贪心逐层训练过程,早已被用来规避监督问题中深度神经网络难以联合训练多层的问题。

贪心逐层无监督预训练被称为贪心的,是因为它是一个贪心算法, 这意味着它独立地优化解决方案的每一个部分,每一步解决一个部分,而不是联合优化所有部分。

它被称为逐层的,是因为这些独立的解决方案是网络层。 具体地,贪心逐层无监督预训练每次处理一层网络,训练第 k k k层时保持前面的网络层不变。 特别地,低层网络(最先训练的)不会在引入高层网络后进行调整。

它被称为无监督的,是因为每一层用无监督表示学习算法训练。

它也被称为预训练pretraining,是因为它只是在联合训练算法精调所有层之前的第一步。 通常而言,”预训练”不仅单指预训练阶段,也指 结合预训练监督学习 的两阶段学习过程。 监督学习阶段可能会使用预训练阶段得到的顶层特征训练一个简单分类器,或者可能会对预训练阶段得到的整个网络进行监督精调。 不管采用什么类型的监督学习算法和模型,在大多数情况下,整个训练过程几乎是相同的。 虽然无监督学习算法的选择将明显影响到细节,但是大多数无监督预训练应用都遵循这一基本方法。

预训练的意思就是提前已经给你一些初始化的参数,这个参数不是随机的,而是通过其他类似数据集上面学得的,然后再用你的数据集进行学习,得到适合你数据集的参数

贪心逐层无监督预训练也能用作其他无监督学习算法的初始化,比如 深度自编码器和具有很多潜变量层的概率模型。

何时以及为何无监督预训练有效?
在很多分类任务中,贪心逐层无监督预训练能够在测试误差上获得重大提升。但是在很多其他问题上,无监督预训练不能带来改善,甚至还会带来明显的负面影响。 因此很有必要了解它何时有效以及有效的原因,以确定它是否适合用于特定的任务。

  • 从无监督预训练作为学习一个表示的角度来看,我们可以期望无监督预训练在初始表示较差的情况下更有效。
  • 从无监督预训练作为正则化项的角度来看,我们可以期望无监督预训练在标注样本数量非常小时很有帮助。
  • 当我们要学习的函数非常复杂时,无监督预训练可能会非常有用。
  • 无监督预训练通常用来改进分类器,减少测试集误差
  • 无监督预训练可以用于改进优化,而不仅仅只是作为正则化项

何时预训练效果最好?——预训练的网络越深,测试误差的均值和方差下降得越多。

与无监督学习的其他形式相比,无监督预训练的缺点是其使用了两个单独的训练阶段。
无监督预训练没有一种明确的方法来调整无监督阶段正则化的强度。 相反,无监督预训练有许多超参数,但其效果只能之后度量,通常难以提前预测。
在无监督预训练的情况下,没有一种灵活调整正则化强度的方式——要么监督模型初始化为预训练的参数,要么不是。

具有两个单独的训练阶段的另一个缺点是每个阶段都具有各自的超参数。 第二阶段的性能通常不能在第一阶段期间预测,因此在第一阶段提出超参数和第二阶段根据反馈来更新之间存在较长的延迟。

如今,大部分算法已经不使用无监督预训练了

  • 基于监督学习的深度学习技术,通过Dropout或批标准化来正则化,能够在很多任务上达到人类级别的性能,但仅仅是在极大的标注数据集上。
  • 在中等大小的数据集(例如:CIFAR-10 和 MNIST,每个类大约有5,000个标注样本)上,这些技术的效果比无监督预训练更好。
  • 在极小的数据集,例如:选择性剪接数据集,贝叶斯方法要优于基于无监督预训练的方法。

现在所常说的预训练 ,其实专指 migration learning迁移学习了。迁移学习中的监督预训练流行于在ImageNet数据集上使用卷积网络预训练。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

2020-3-24 深度学习笔记15 - 表示学习 1(贪心逐层无监督预训练-目前已经不太使用) 的相关文章

  • C语言结构体和链表结合,C语言结构体与链表

    C语言结构体与链表 第 10章 CHAPTER 10 结构体与共用体 学习目标 本章主要介绍结构体的定义和使用方法 xff0c 然后介绍链表的概念和相关操作 xff0c 最后介绍两种新的数据类型 共用体和枚举 通过本章的学习 xff0c 需
  • 关机一直显示正在关闭服务器,Win7系统关机速度慢一直显示“正在关机”怎么解...

    win7系统关闭速度慢的问题一直困扰着许多用户 xff0c 开机 关机速度快都是很重要的 有些使用win7旗舰版一段时间后 xff0c 发现关机速度很慢 xff0c 屏幕一直显示 正在关机 要等待很久才可以真正关闭 xff0c 浪费很长时间
  • linux 开源路由器,OpenWrt 18.06.4 发布 开源路由器项目

    OpenWrt Project 是一个针对嵌入式设备的 Linux 操作系统 xff0c 它用于取代供应商提供的各种无线路由器和非网络设备固件 W I R E L E S S F R E E D O M
  • 大智慧行情服务器在哪个文件夹,【大智慧】大智慧公式在哪个文件夹?

    以前重装系统和重股票软件自选股 公式都得重来一次烦死了 xff0c 这里给股友整理一下 xff0c 希望对股友有用 xff1a 大智慧L2的公式指标是在 dzh2 userdata SELFN DT 大智慧中的自选股放在 dzh cfg n
  • 微型计算机硬件组成一般包括,微机的硬件组成试题解析

    微机的硬件系统指构成微机系统的物理实体或物理装置 从系统构成来说 xff0c 微型计算机与其他类型的计算机既有共同之处 xff0c 也有其自身的特点 xff0c 主要表现在集成的微处理芯片以及总线结构上 从用户角度看 xff0c 微机硬件系
  • 用sci-hub的文献检索方法

    很多文献在知网上下载要付费 xff0c sci hub上有很多不用付费并且独有的数据库文献资源 可以作为文献检索的补充 下面是一些具体方 一 下载网址 SCI Hub论文下载可用网址链接 xff08 实时更新 xff09 YoviSun工具
  • ubuntu及shell脚本常用命令入门

    一 Shell命令 二 ubuntu软件安装方法 三 Ubuntu文件系统结构 四 ubuntu磁盘文件 五 Linux下常用的压缩格式 六 linux用户和用户组 七 Ubuntu Linux文件权限 八 linux连接文件 九 vim编
  • linux 内存 动态加载,Static_Module: 本项目在MCU(STM32)平台实现类似于Linux内核模块的动态加载功能,但不是将模块加载到内存(SRAM)而是加载到Flash。 所以叫做...

    Static Module Demo 介绍 本项目在MCU STM32 平台实现类似于Linux内核模块的动态加载功能 xff0c 但不是将模块加载到内存 SRAM 而是加载到Flash 所以叫做静态加载 xff0c 而被加载的模块就叫静态
  • 大数据学习心得与总结

    作业一 hadoop搭建伪分布式 1 关闭防火墙 systemctl disable firewalld 2 传输JDK和HADOOP压缩包 版本自行留意 这里建议使用xshell和xftp6 3 解压JDK HADOOP 这里解压安装至o
  • docker--容器和镜像的导入导出及部署

    一 镜像导出 save 1 查看镜像 docker images 2 导出镜像 docker save o test tar image name 或 docker save image name gt test tar 二 容器导出 ex
  • 项目经验介绍的STAR法则--面试

    STAR法则 这几天面试其他人的时候 xff0c 找出来了这个STAR法则 xff0c 我一般也是这么去面试和引导面试者的 xff0c 分享出来 xff0c 供大家参考 什么是STAR法则 xff0c STAR 是SITUATION xff
  • 浮点数的二进制表示方法

    浮点数的二进制表示 Double型 xff0c 64位 例一 xff1a 已知 xff1a double类型38414 4 xff0c 求 xff1a 其对应的二进制表示 分析 xff1a double类型共计64位 xff0c 折合8字节
  • PHP解决http和https跨域,PHP解决HTTP和HTTPS跨域共享session的方法及代码实例

    HTTP HTTPS协议下跨域解决session共享的办法 xff0c 也许不是最好的 xff0c 但是比较实用 如下是具体的解决方案 阿里西西小编给您推荐这个PHP解决HTTP和HTTPS跨域共享session的方法及代码实例 xff0c
  • ucosii使用

    当需要同时跑多个任务的时候裸机显然不能很好的完成使命 xff0c 这个时候我们可以给单片机上系统 xff0c 创建多任务 xff0c 完成复杂逻辑 一 首先移植uocii在我们的板上 xff0c 根据mcu型号移植ucosii xff0c
  • QT以POST方法上传文件(文本、图片、excel文件等)

    最近项目需要用QT上传文件给HTTP服务器 之前服务器接收的数据格式都是json xff0c 这次是form data 经查找资料 xff0c 需要用到QHttpMultiPart和QHttpPart这两个类 xff0c 看QT的实例教程可
  • js数组删除元素

    var arr 61 39 a 39 39 b 39 39 c 39 若要删除其中的 39 b 39 有两种方法 xff1a 1 delete方法 delete arr 1 这种方式数组长度不变 此时arr 1 变为undefined了 但
  • 回调函数简单使用

    一 回调函数是什么 xff0c 我们为什么要用它 xff1f 回调函数就是一个通过函数指针调用的函数 如果你把函数的指针 xff08 地址 xff09 作为参数传递给另一个函数 xff0c 当这个指针被用来调用其所指向的函数时 xff0c
  • pwm控制电机原理

    首先我们要明白电机的原理 电机 简单来说就是 实现电能与机械能相互转换的电工设备 那么我们经常使用的直流电机原理就是 xff1a 电生磁 xff1a 通电导线会产生磁场 也就是电磁感应 旋转磁场带动转子转动 电动机是由定子和转子组成 xff
  • FLASH操作记录

    使用的单片机为GD403系列 xff0c 要操作的数据flash地址位于bank1 xff0c 最小操作单位为一页 xff0c 即4k 下面程序演示操作一页中部分内存空间 span class token macro property sp
  • MCU启动异常分析记录

    一 问题背景 量产的产品在品质抽检中出现设备概率无法正常使用的问题 xff0c 经过初步定位确定是MCU上电未正常启动 二 问题分析以及定位 在产品中考虑到MCU程序升级 RF SUB 1G升级 xff0c NB IOT等无线升级方法 xf

随机推荐

  • u-BOOT启动流程

    1 u boot入口 xff1a 入口即第一行程序 xff0c 程序的链接是由链接脚本决定的 xff0c 编译uboot之后 xff0c 可以在根目录下生成u boot lds文件 打开lds文件可以看到代码当前入口点 xff1a xff1
  • qt字符串与字符串数组操作

    QString定义 QString s1 61 abc QString s2 hello 字符串连接 QString s 61 s1 43 s2 组包 s 61 QString a 61 1 b 61 2 c 61 3 arg 250 ar
  • QT中16进制二进制字符串的转换

    最近使用串口通信操作nfc卡的扇区内的内容设及到了很多数据类型之间的转换 xff0c 今天总结一下 1 10进制16进制字符串相互显示 10 gt 16 int a 61 10 Qstring b 61 QString 34 1 34 ar
  • 使用vs安装qt插件过程中遇到的问题

    一直在用qtcreater开发程序 最近安装了vs2017 xff0c 想着慢慢改用vs xff0c 毕竟功能强大嘛 按照网上大神的教程安装qt vs tools 过程中遇到了 qt in the given path was built
  • verilog基础语法 {}

    1 的作用 xff1f 起拼接的作用 如 a 61 b 5 b 4 0 意思为 b的最高位和b的低五位拼接起来 xff0c 组成的a为6位 2 数字表达式 4 d15 4 xff1a 代表位宽 d xff1a 代表进制 15 xff1a 代
  • 从程序员的角度,来拆解物联网系统中的开发工作

    物联网的概念已经被炒了好多年了 xff0c 奇怪的是 xff1a 市场中对这个概念的反应总是不愠不火 随着5G 的迅速普及 xff0c 不知道是否能够再次把这个领域带火起来 但是不管怎样 xff0c 很多大学已经把物联网这个专业给坐实了 前
  • amixer命令用于设置系统音量

    该句为 c选择0的声卡 xff08 貌似 xff09 xff0c PCMvolume设置为增加60 2 61 120 xff08 value值变为加上120 xff09 xff0c 60dB 就是减小60 2 61 120 xff0c 如果
  • jetson nano配置远程桌面连接

    一 jetson nano 远程桌面设置 默认jetson nano 的 Desktop Sharing是打不开的需要进行如下配置 xff1a 1 编辑org gnome Vino gschema xml文件 sudo vi span cl
  • 如何修改访问vnc服务器的密码,修改VNC访问的密码

    vncserver iptables I INPUT p tcp dport j ACCEPT 客户端方式 iptables I INPUT p tcp dport j ACCEPT 浏览器方式 vi root vnc xstartup 注
  • sensor配置项解释

    主要介绍 sensor 的配置项 json 里面的 data 类型 都是 10进制的 以 a 43 g sensor 介绍 所有平台特定的配置文件在 JSON 文件顶层均包含 config 组 json 开头的 就是 config 组 这里
  • xp ie清除css缓存,如何清空浏览器的CSS缓存

    项目需求 xff1a 请求一个网站时 xff0c 浏览器会缓存CSS xff0c 导致每次更新网站的代码后 xff0c 不会自动更新样式 xff0c 甚至需要手动去清空浏览器的缓存 xff0c 但是用户不可能每次都清空缓存 xff0c 这就
  • mysql语义分析_简单分析SQL注入语义分析库

    一 前言 这次主要讲开源SQL注入语义分析库libinjection xff0c 如果有发现其他开源SQL语义分析库的欢迎告知 libinjection的程序分析由Simon友情提供 xff0c 需要看完整报告的可以加群看 二 libinj
  • 单片机STM与linux通信,一种STM32单片机与Linux系统高速串口抗干扰通讯方法

    主权项 xff1a 1 一种STM32单片机与Linux系统高速串口抗干扰通讯方法 xff0c 其特征在于 xff1a 它包括一个STM32单片机数据读写步骤和一个Linux系统数据读写步骤 xff0c 所述的STM32单片机数据读写步骤包
  • 树莓派4开发板无屏幕WIFI连接配置

    小白树莓派4开发板安装Raspbian系统教程 xff1a https blog csdn net weixin 42550800 article details 102797542 最近入手了一块树莓派4的开发板 xff0c 图省钱没有买
  • java段注释_Java的注释

    Java的注释 xff1a 注释不是用来执行的 xff0c 是用来给程序员看的 注释不会参与编译也不会参与运行 一共有3种注释 xff1a 1 单行注释 xff0c 通常对某一行代码进行解释说明 语法 xff1a 注释的内容 2 多行注释
  • 员工转正申请书_员工转正申请书

    申请书是个人或集体向组织 机关 企事业单位或社会团体表述愿望 提出请求时使用的一种文书 申请书的使用范围广泛 xff0c 申请书也是一种专用书信 xff0c 它同一般书信一样 xff0c 也是表情达意的工具 下面是小编收集整理的员工转正申请
  • nodemcu刷鸿蒙系统,ESP01S刷入NodeMCU固件

    一开始我看别家的教程的时候走了很多歪路 搞的时候挺困难的 xff0c 花了我大半天 xff0c 但成功之后发现 xff1a 哇 xff0c 其实挺简单一个东西 挺小一个 直入主题 开搞 一 准备工作 1 这里用到USB TTL 某宝10块钱
  • WeDrivePlugin64_24.dll 引发win7系统不能进入桌面

    C Program Files x86 WXDrive extensions x64 WeDrivePlugin64 24 xxx 在命令行模式 修改WeDrivePlugin64 24 dll的文件名为 WeDrivePlugin64 2
  • qgc开发文档_QGC地面站二次开发教程二

    上一次带大家进行了ubuntu下的Q Ground Control安装与编译 xff0c 这次教大家对地面站的页面进行修改 xff0c 对按钮或者页面进行删减 xff0c 如何添加下次再说吧 xff0c 我还没研究明白 一开始打开qgrou
  • 2020-3-24 深度学习笔记15 - 表示学习 1(贪心逐层无监督预训练-目前已经不太使用)

    第十五章 表示学习 官网 英文 很多信息处理任务可能非常容易 xff0c 也可能非常困难 xff0c 这取决于信息是如何表示的 在机器学习中 xff0c 到底是什么因素决定了一种表示比另一种表示更好呢 xff1f 一般而言 xff0c 一个