Deep Learning 训练/学习过程

转载 2013年12月05日 15:13:09

以下先抛出Deep Learning的训练过程,后续在讲解各类DNN时将具体例举。

1、deep learning训练过程

       如果对所有层同时训练,时间复杂度会太高;如果每次训练一层,偏差就会逐层传递。这会面临跟上面监督学习中相反的问题,会严重欠拟合(因为深度网络的神经元和参数太多了)。

       2006年,hinton提出了在非监督数据上建立多层神经网络的一个有效方法,简单的说,分为两步,一是每次训练一层网络,二是调优,使原始表示x向上生成的高级表示r和该高级表示r向下生成的x'尽可能一致。方法是:

1)首先逐层构建单层神经元,这样每次都是训练一个单层网络。

2)当所有层训练完后,Hinton使用wake-sleep算法进行调优。

       将除最顶层的其它层间的权重变为双向的,这样最顶层仍然是一个单层神经网络,而其它层则变为了图模型。向上的权重用于“认知”,向下的权重用于“生成”。然后使用Wake-Sleep算法调整所有的权重。让认知和生成达成一致,也就是保证生成的最顶层表示能够尽可能正确的复原底层的结点。比如顶层的一个结点表示人脸,那么所有人脸的图像应该激活这个结点,并且这个结果向下生成的图像应该能够表现为一个大概的人脸图像。Wake-Sleep算法分为醒(wake)和睡(sleep)两个部分。

1)wake阶段:认知过程,通过外界的特征和向上的权重(认知权重)产生每一层的抽象表示(结点状态),并且使用梯度下降修改层间的下行权重(生成权重)。也就是“如果现实跟我想象的不一样,改变我的权重使得我想象的东西就是这样的”。

2)sleep阶段:生成过程,通过顶层表示(醒时学得的概念)和向下权重,生成底层的状态,同时修改层间向上的权重。也就是“如果梦中的景象不是我脑中的相应概念,改变我的认知权重使得这种景象在我看来就是这个概念”。

 

2、deep learning训练过程具体如下:

1)使用自下上升非监督学习(就是从底层开始,一层一层的往顶层训练):

       采用无标定数据(有标定数据也可)分层训练各层参数,这一步可以看作是一个无监督训练过程,是和传统神经网络区别最大的部分(这个过程可以看作是feature learning过程):

       具体的,先用无标定数据训练第一层,训练时先学习第一层的参数(这一层可以看作是得到一个使得输出和输入差别最小的三层神经网络的隐层),由于模型capacity的限制以及稀疏性约束,使得得到的模型能够学习到数据本身的结构,从而得到比输入更具有表示能力的特征;在学习得到第n-1层后,将n-1层的输出作为第n层的输入,训练第n层,由此分别得到各层的参数;

2)自顶向下的监督学习(就是通过带标签的数据去训练,误差自顶向下传输,对网络进行微调):

       基于第一步得到的各层参数进一步fine-tune整个多层模型的参数,这一步是一个有监督训练过程;第一步类似神经网络的随机初始化初值过程,由于DL的第一步不是随机初始化,而是通过学习输入数据的结构得到的,因而这个初值更接近全局最优,从而能够取得更好的效果;所以deep learning效果好很大程度上归功于第一步的feature learning过程。


References

http://blog.csdn.net/zouxy09/article/details/8775518


Deep Learning(深度学习)学习笔记整理系列之(四)

Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 201...
  • zouxy09
  • zouxy09
  • 2013年04月09日 00:46
  • 270692

【行人检测】之Joint Deep Learning联合深度学习(附源码)

新近研究ICCV2013的一篇文章,《Joint Deep L》
  • delltdk
  • delltdk
  • 2014年04月30日 14:47
  • 10109

Deep Learning(深度学习)学习笔记整理系列之(三)

Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 201...
  • zouxy09
  • zouxy09
  • 2013年04月09日 00:37
  • 518206

Deep learning:三十一(数据预处理练习)

前言:   本节主要是来练习下在machine learning(不仅仅是deep learning)设计前的一些数据预处理步骤,关于数据预处理的一些基本要点在前面的博文Deep learning:...
  • mydear_11000
  • mydear_11000
  • 2016年03月13日 15:07
  • 697

Deep Learning(深度学习)代码/课程/学习资料整理

转载自:http://blog.csdn.net/u013854886/article/details/48177251 1. Deep Learning课程(由浅入深): 一个不错的中文...
  • u010963837
  • u010963837
  • 2017年04月19日 11:24
  • 465

Deep Learning(深度学习)学习笔记整理

http://blog.csdn.net/zouxy09/article/details/8775360 一、概述        Artificial Intelligence,也就是人工智能,就像长...
  • bluejoe2000
  • bluejoe2000
  • 2016年03月14日 12:10
  • 5290

<纯干货-5>Deep Reinforcement Learning深度强化学习_论文大集合

本文罗列了最近放出来的关于深度强化学习(Deep Reinforcement Learning,DRL)的一些论文。文章采用人工定义的方式来进行组织,按照时间的先后进行排序,越新的论文,排在越前面。希...
  • lqfarmer
  • lqfarmer
  • 2017年06月05日 16:22
  • 2305

为什么无监督的预训练可以帮助深度学习

本篇文章主要是review Dumitru Erhan∗,Yoshua Bengio,Aaron Courville,Pierre-Antoine Manzagol 在2010年发表的《why doe...
  • Richard_More
  • Richard_More
  • 2016年08月27日 11:17
  • 5518

Tag deep-learning 一大堆深度学习论文

Tag deep-learning [159 articles]  Recent papers classified by the tag deep-learning. Searc...
  • GarfieldEr007
  • GarfieldEr007
  • 2016年05月30日 21:30
  • 1952

深度学习学习指南

什么是深度学习? 总的来说,深度学习包括建立和训练一个大型的人工神经网络,该神经网络在输入和输出之间具有许多隐藏层。正是因为这些隐藏层,我们才称呼这些神经网络为"深度"。至少具有三层隐藏层才能叫深度神...
  • qq_29133371
  • qq_29133371
  • 2016年10月14日 16:18
  • 835
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Deep Learning 训练/学习过程
举报原因:
原因补充:

(最多只允许输入30个字)