array(2) { ["docs"]=> array(10) { [0]=> array(10) { ["id"]=> string(3) "428" ["text"]=> string(77) "Visual Studio 2017 单独启动MSDN帮助(Microsoft Help Viewer)的方法" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(8) "DonetRen" ["tagsname"]=> string(55) "Visual Studio 2017|MSDN帮助|C#程序|.NET|Help Viewer" ["tagsid"]=> string(23) "[401,402,403,"300",404]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400964" ["_id"]=> string(3) "428" } [1]=> array(10) { ["id"]=> string(3) "427" ["text"]=> string(42) "npm -v;报错 cannot find module "wrapp"" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(4) "zzty" ["tagsname"]=> string(50) "node.js|npm|cannot find module "wrapp“|node" ["tagsid"]=> string(19) "[398,"239",399,400]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400760" ["_id"]=> string(3) "427" } [2]=> array(10) { ["id"]=> string(3) "426" ["text"]=> string(54) "说说css中pt、px、em、rem都扮演了什么角色" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(12) "zhengqiaoyin" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400640" ["_id"]=> string(3) "426" } [3]=> array(10) { ["id"]=> string(3) "425" ["text"]=> string(83) "深入学习JS执行--创建执行上下文(变量对象,作用域链,this)" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "Ry-yuan" ["tagsname"]=> string(33) "Javascript|Javascript执行过程" ["tagsid"]=> string(13) "["169","191"]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511399901" ["_id"]=> string(3) "425" } [4]=> array(10) { ["id"]=> string(3) "424" ["text"]=> string(30) "C# 排序技术研究与对比" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(9) "vveiliang" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(8) ".Net Dev" ["catesid"]=> string(5) "[199]" ["createtime"]=> string(10) "1511399150" ["_id"]=> string(3) "424" } [5]=> array(10) { ["id"]=> string(3) "423" ["text"]=> string(72) "【算法】小白的算法笔记:快速排序算法的编码和优化" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(9) "penghuwan" ["tagsname"]=> string(6) "算法" ["tagsid"]=> string(7) "["344"]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511398109" ["_id"]=> string(3) "423" } [6]=> array(10) { ["id"]=> string(3) "422" ["text"]=> string(64) "JavaScript数据可视化编程学习(二)Flotr2,雷达图" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "chengxs" ["tagsname"]=> string(28) "数据可视化|前端学习" ["tagsid"]=> string(9) "[396,397]" ["catesname"]=> string(18) "前端基本知识" ["catesid"]=> string(5) "[198]" ["createtime"]=> string(10) "1511397800" ["_id"]=> string(3) "422" } [7]=> array(10) { ["id"]=> string(3) "421" ["text"]=> string(36) "C#表达式目录树(Expression)" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(4) "wwym" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(4) ".NET" ["catesid"]=> string(7) "["119"]" ["createtime"]=> string(10) "1511397474" ["_id"]=> string(3) "421" } [8]=> array(10) { ["id"]=> string(3) "420" ["text"]=> string(47) "数据结构 队列_队列实例:事件处理" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "idreamo" ["tagsname"]=> string(40) "C语言|数据结构|队列|事件处理" ["tagsid"]=> string(23) "["246","247","248",395]" ["catesname"]=> string(12) "数据结构" ["catesid"]=> string(7) "["133"]" ["createtime"]=> string(10) "1511397279" ["_id"]=> string(3) "420" } [9]=> array(10) { ["id"]=> string(3) "419" ["text"]=> string(47) "久等了,博客园官方Android客户端发布" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(3) "cmt" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511396549" ["_id"]=> string(3) "419" } } ["count"]=> int(200) } 222 梯子网络半监督学习简介(Introduction to Semi-Supervised Learning with Ladder Networks) - 爱码网

今天,深度学习主要是关于纯粹的监督学习。监督学习的一个主要缺点是,它需要大量的标记数据,而且收集这些数据是相当昂贵的。所以,未来的深度学习应该不受监督,更像人。

"我们预计,从长远来看,无人监督的学习将变得更加重要。人类和动物的学习基本上是不受监督的:我们通过观察世界来发现它的结构,而不是通过被告知每个物体的名字来发现它。
• 勒昆, 本吉奥, 欣顿, 自然 2015

半监督式学习

半监督学习是一类受监督的学习任务和技术,它们也利用未标记的数据进行培训 - 通常是少量带标签的数据,以及大量未标记的数据。

那么,未标记的数据如何帮助分类呢?考虑以下示例(取自这些幻灯片),该示例仅包含两个带标签的数据点。

梯子网络半监督学习简介(Introduction to Semi-Supervised Learning with Ladder Networks)

 

你如何标记这一点?

梯子网络半监督学习简介(Introduction to Semi-Supervised Learning with Ladder Networks)

 

如果您看到所有未标记的数据,会怎么样?

为了

未标记的数据进行任何使用,我们必须对数据的基础
分布进行某种结构处理。标签在人口稠密的空间中是同质的,即彼此靠近的数据点属于同一类(平滑度假设)。在数据点上遍您一遍,直到为所有数据点分配一个标签,
 
梯子网络半监督学习简介(Introduction to Semi-Supervised Learning with Ladder Networks)
 

梯子网络半监督学习简介(Introduction to Semi-Supervised Learning with Ladder Networks)

梯子网络半监督学习简介(Introduction to Semi-Supervised Learning with Ladder Networks)

梯子网络半监督学习简介(Introduction to Semi-Supervised Learning with Ladder Networks)

梯子网络半监督学习简介(Introduction to Semi-Supervised Learning with Ladder Networks)

人们发现,使用未标记的数据以及少量标记数据可以显著提高准确性。与标记数据相比,未标记数据的收集成本低廉。通常标记的数据很少,未标记的数据也很多。在这种情况下,可以使用半监督式学习。此外,大部分人类学习涉及少量的直接指令(标记数据)和大量的观察(未标记的数据)。因此,半监督式学习是人类学习的一个合理模式。

梯子网络

梯级网络在深度神经网络中将监督学习与无人监督学习相结合。通常,非监督学习仅用于网络预培训,然后是正常的监督学习。对于梯形网络,它经过培训,可同时通过反传播来最小化受监督和非监督成本函数的总和,从而避免需要分层前培训。除了所有标签的置换不变的 MNIST 分类外,梯子网络还能够在半监督的 MNIST 和 CIFAR-10 分类中实现最先进的性能。

关键方面

与监督方法的兼容性

它可以添加到现有的前馈神经网络。无监督部分侧重于监督学习发现的相关细节。它也可以扩展到循环神经网络。

本地学习产生的可扩展性

除了顶层的监督学习目标外,该模型在每个层上都有局部的无人监督学习目标,因此适合非常深的神经网络。

计算效率

添加解码器(梯形网络的一部分)在训练期间的计算大约是三倍,但不一定是训练时间,因为通过更好地利用可用信息可以更快地获得相同的结果。

实现

这是对 Ladder 网络实现情况的简要介绍。在《梯子网络半监督学习》一书中,可以详细而深入地解释梯子网络

实施梯子网络所涉及的步骤通常如下:

  1. 以作为编码器的督导式模型。网络由 2 个编码器路径组成 - 干净且损坏的编码器。唯一的区别是损坏的编码器在所有层中都会添加高斯噪声。
  2. 添加一个解码器,该解码器可以反转编码器每一层的映射,并支持无监督学习。解码器使用去功能重建每个层的**,给定损坏的版本。每个层的目标都是**的干净版本,重建和干净版本之间的差异是该层的去去化成本。
  3. 监督成本是根据损坏的编码器的输出和输出目标计算的。无监督成本是按表示每个图层重要性的超参数缩放的所有图层的去诺化成本的总和。最终成本是监督成本和无人监督成本的总和。
  4. 使用标准优化技术(如随机梯度下降)在完全标记或半监督设置中训练整个网络,以最大限度地降低成本。

作为 2 层阶梯网络的一
梯子网络半监督学习简介(Introduction to Semi-Supervised Learning with Ladder Networks)

个图示,Batch 规范化应用于每个预**,包括最顶层,以改善收敛(由于减少协变量移位),并防止去诺化成本鼓励琐碎的解决方案(编码器输出恒定值,因为这些是最容易去取消诺伊化的)。使用图层与其解码重建之间的直接连接。网络称为梯子网络,因为生成的编码器/解码器体系结构类似于梯子。
 
 
梯子网络半监督学习简介(Introduction to Semi-Supervised Learning with Ladder Networks)
  
 

结论

Ladder 网络的性能令人印象深刻。在 MNIST 上,仅使用 100 个标记示例,可实现 1.06% 的错误率!这比之前公布的结果好得多,这表明该方法能够充分利用无人监督的学习。但是,同一模型也实现了最先进的结果,并且与在排列不变的 MNIST 分类中具有完整标签的基准线模型有显著改进,这表明无监督任务不会干扰监督学习。

梯子网络简单易用,具有许多现有的前馈架构,因为培训基于从简单的成本函数进行回送。由于批批规范化,训练速度快,收敛快。

本文参考自:https://rinuboney.github.io/2016/01/19/ladder-network.html

Related papers

Semi-supervised learning using Ladder networks was introduced in this paper:

Ladder network was further analyzed and some improvements that attained an even better performance were suggested in this paper:

and finally, these are the papers that led to the development of Ladder networks:

相关文章:

  • 2020-03-13
  • 2021-08-24
  • 2017-12-13
  • 2019-10-27
  • 2017-12-09
  • 2018-01-22
  • 2020-10-06
  • 2018-04-23
猜你喜欢
  • 2021-11-01
  • 2020-04-10
  • 2019-10-23
  • 2019-10-31
  • 2019-10-24
  • 2018-10-09
  • 2021-11-08
  • 2020-03-28
相关资源
相似解决方案