来源:非正式组织

概要:在Yann LeCun、Yoshua Bengio和Geoffrey Hinton三巨头nature深度学习综述《deep learning》文章中提到,这段期间神经网络模型被主流的计算机视觉和学术界所抛弃。

一、前言

深度学习的发展大致分为这么几个学期:

  • 萌芽期:从BP算法的发明(1970s-1980s)到2006年期间。

  • 迅速发展期:从2006年栈式自编码器+BP微调提出之后。

  • 爆发期:从2012年Hintont团队的Alexnet模型在ImageNet竞赛取得惊人成绩之后。

萌芽期

在Yann LeCun、Yoshua Bengio和Geoffrey Hinton三巨头nature深度学习综述《deep learning》文章中提到,这段期间神经网络模型被主流的计算机视觉和学术界所抛弃。

这期间,学者们试图用有监督学习的方式训练深度神经网络,然而方法不是十分奏效,陷入了困境,在Andrew的教程中可以找到大概这几点原因:数据获取

  • 数据获取问题。有监督训练依赖于有标签的数据才能进行训练。然而有标签的数据通常是稀疏的,因此对于许多问题,很难获得足够多的样本来拟合一个复杂模型的参数。例如,考虑到深度网络具有强大的表达能力,在不充足的数据上进行训练将会导致过拟合。

  • 局部极值问题。使用监督学习方法来对浅层网络(只有一个隐藏层或者没有隐藏层)进行训练通常能够使得参数收敛到合理的范围内。但是当用这种方法来训练深度网络的时候,并不能取得很好的效果。特别的,使用监督学习方法训练神经网络的时候,通常会涉及到求解一个高度非凸的优化问题。对深度网络而言,这种非凸优化问题的搜索区域中充斥着大量“坏”的局部极值,因而使用梯度下降法(或者像共轭梯度下降法,L-BFGS等方法)效果并不好。

  • 梯度弥散问题(或者梯度消失)。梯度下降法在使用随机初始化权重的深度网络上效果不好的技术原因是:梯度会变得非常小。具体而言,当使用反向传播方法计算导数的时候,随着网络的深度的增加,反向传播的梯度(从输出层到网络的最初几层)的幅度值会急剧的减小,结果就造成了整体的损失函数相对于最初几层的权重的导数特别小。这样,当使用梯度下降法的时候,最初几层的权重变化非常缓慢,以至于他们不能够从样本中进行有效的学习。这种问题通常被称为“梯度的弥散”或者梯度消失。

因为一直没有找到有效的解决这些问题的方法,这期间,深度神经网络的发展一直不温不火。或者说在2001年Hochreiter的Gradient flow in recurrent nets: the difficulty of learning long-term dependencies(好像是这篇)提出了神经网络存在的几个问题后,在接下来的几年内神经网络的发展陷入了低谷。而那几年流行的机器学习算法是SVM和集成模型(随机森林、adaboost等)。

迅速发展期

2006年hinton在nature上发表了一篇文章Reducing the dimensionality of data with neural networks,针对上面提到的三个深度学习的问题,提出了栈式自编码器+BP微调的解决方案。在一定程度上解决了上面的三个问题。

  • 栈式自编码神经网络是无监督学习算法。因而不需要规模很大的有标签样本。

  • 经过自编码神经网络训练后的参数已经落在一个较优的位置上,从这个位置开始BP微调,不用担心局部极值问题。

  • 自编码神经网络训练已经使得深度网络的前几层具有表达能力了,比如可以提取出图片的边,局部组建等等,即使有梯度弥散问题,前几层参数不再更新,也不会影响最终深度网络的表达能力。

从此,深度学习开启崭新的浪潮。

爆发期

在12年的ILSVRC竞赛中,Hinton团队的Alexnet模型Imagenet classification with deep convolutional neural networks将1000类分类的top-5误差率降低到了15.3%,碾压了第二名使用SVM算法的26.2%,开启了深度学习的革命,从此之后,深度学习走上了指数式的发展道路。

回到Hilton团队的Alexnet模型上,仅仅使用了有监督的训练,貌似没涉及无监督的预训练。不是在之前说有监督的深度学习训练存在很多问题吗,大概是因为这几条原因,导致了有监督训练的可行:

  • 大规模标注数据的出现。在ILSVRC使用的数据集包括120万的训练图片,5万张验证图片和15万张测试图片。这些图片都是有标注的(属于1000类),而在imagenet出现之前,这样规模的标注数据是不存在的。

  • 对于局部极值的问题,nature综述中,三个大牛作者的说法是:对于深度网络来说,局部极值从来都不是一个问题,从任意的初始参数值开始训练网络,最后都能达到相似的分类效果。这也是被最近的理论和实践所证明的。

  • 对于梯度弥散导致的收敛速度慢的问题,Alexnet模型的两大利器:ReLu激活函数和GPU并行加速,前者使SGD有6倍的加速,后者使用两块CTX580GPU也极大的加快了SGD的收敛速度,两者的效果相乘,使得无监督预训练几乎是多余的了,梯度弥散问题也不再是一个很大问题。

总结

对于06-12年期间的深度神经网络主要以无监督预训练为主流,从12年以后,这时数据库足够大(上万级别),模型足够先进(ReLU激活函数,dropout等等),同时计算速度足够快(GPU)加速,使得无监督预训练(自编码神经网络)在很多应用场景中失去了存在的价值,有监督训练已经足够完成任务。

一句话总结,06年的无监督预训练开启了深度学习的纪元,在之后深度学习快速发展的过程中,大数据的获取、计算机硬件的发展以及深度模型的升级使得有监督训练重新走上舞台,无监督训练也算是完成了历史使命。

那么预训练还有用吗?答案是肯定的,比如我们有一个分类任务,数据库很小,这时还是需要通过预训练来避免过拟合的问题,只不过预训练是通过在一个大的数据库上,通过有监督来完成的,这种有监督预训加小的数据库上的微调的模型称为Transfer learning。

深度学习发展简要笔记相关推荐

  1. (d2l-ai/d2l-zh)《动手学深度学习》pytorch 笔记(2)前言(介绍各种机器学习问题)以及数据操作预备知识Ⅰ

    开源项目地址:d2l-ai/d2l-zh 教材官网:https://zh.d2l.ai/ 书介绍:https://zh-v2.d2l.ai/ 笔记基于2021年7月26日发布的版本,书及代码下载地址在 ...

  2. 吴恩达《神经网络与深度学习》精炼笔记(4)-- 浅层神经网络

    上节课我们主要介绍了向量化.矩阵计算的方法和python编程的相关技巧.并以逻辑回归为例,将其算法流程包括梯度下降转换为向量化的形式,从而大大提高了程序运算速度.本节课我们将从浅层神经网络入手,开始真 ...

  3. Coursera吴恩达《神经网络与深度学习》课程笔记(3)-- 神经网络基础之Python与向量化

    红色石头的个人网站:redstonewill.com 上节课我们主要介绍了逻辑回归,以输出概率的形式来处理二分类问题.我们介绍了逻辑回归的Cost function表达式,并使用梯度下降算法来计算最小 ...

  4. 阿里云天池大赛赛题解析(深度学习篇)--阅读笔记1--赛题一

    阿里云天池大赛赛题解析(深度学习篇)–阅读笔记1 [x]表示遇到不懂的知识,将在[知识补充]给出具体讲解. 文章目录 阿里云天池大赛赛题解析(深度学习篇)--阅读笔记1 前言 赛题一 瑞金医院MMC人 ...

  5. 纽约大学深度学习PyTorch课程笔记(自用)Week6

    纽约大学深度学习PyTorch课程笔记Week6 Week 6 6.1 卷积网络的应用 6.1.1 邮政编码识别器 使用CNN进行识别 6.1.2 人脸检测 一个多尺度人脸检测系统 6.1.3 语义分 ...

  6. AI大佬“互怼”:Bengio和Gary Marcus隔空对谈深度学习发展现状

    编译 | AI科技大本营编辑部 出品 | AI科技大本营(ID:rgznai100) 去年以来,由于纽约大学教授 Gary Marcus 对深度学习批评,导致他在社交媒体上与许多知名的 AI 研究人员 ...

  7. 吴恩达《神经网络与深度学习》精炼笔记(5)-- 深层神经网络

    上节课我们主要介绍了浅层神经网络.首先介绍神经网络的基本结构,包括输入层,隐藏层和输出层.然后以简单的2 layer NN为例,详细推导了其正向传播过程和反向传播过程,使用梯度下降的方法优化神经网络参 ...

  8. 深度学习算法简要综述(下)

    点击上方"算法猿的成长",关注公众号,选择加"星标"或"置顶" 总第 124 篇文章,本文大约 3731 字,阅读大约需要 10 分钟 原文 ...

  9. 完结撒花!吴恩达DeepLearning.ai《深度学习》课程笔记目录总集

    作者: 大树先生 博客: http://blog.csdn.net/koala_tree 知乎:https://www.zhihu.com/people/dashuxiansheng GitHub:h ...

最新文章

  1. ResNet网络的训练和预测
  2. LNMP安装目录及配置文件位置
  3. HTML5 新标签总汇
  4. python导入模块有几种_Python中几种导入模块的方式总结
  5. 作业帮:给定一个整数数组,找出其中两个数相加等于目标值(去重set)
  6. python编程考试题目大全
  7. C++:无法打开包括文件:“xxxx.h“
  8. [手机分享]黑莓手机7系列分享之——黑莓7290
  9. WIN2K XP 2K3 下红警不能联机的完美解决方案(转)
  10. Android CameraX 使用入门
  11. 【JS】问题——解决JS文件页面更新不生效问题
  12. Windows 10 缺少 efi 分区无法启动的修复
  13. 【观察】星环科技重构数据云平台,持续释放数据红利和价值
  14. 商用三相水表行业调研报告 - 市场现状分析与发展前景预测
  15. 【转】国内外优秀的计算机视觉团队汇总
  16. 让第一个版本的系统混乱一点,或许是件好事
  17. DPCM编码解码的原理
  18. C++求1到10这10个数之和
  19. 步进伺服电机加减速 及 位置速度控制关键程序
  20. Distance correlation(距离相关系数)

热门文章

  1. 智源发布!《人工智能的认知神经基础白皮书》
  2. 新书上市 | 豆瓣评分8.4,美国数学学会推荐必读经典,重版再现!
  3. 一个切割PDF文件的简单的方法 -只需要chrome浏览器
  4. 独家 | 2021年打破了零日黑客攻击的记录
  5. 入选Gartner全球AI魔力象限,阿里云解读AI工程化为什么需具备这三大基础能力?...
  6. 清华大学大数据研究中心给您拜年啦!
  7. 原创 | 一文详解阿里云《人工智能红利渗透与爆发》技术趋势
  8. PhD养成记 | 于歆杰:如何有效获取、归档和阅读文献
  9. 干货 | 清华大学郑方:语音技术用于身份认证的理论与实践
  10. 福利 | 13篇精选国外资源合集(技术指南、大咖经验、资源分享...)