Deep-Learning-Papers-Reading-Roadmap: [1] LeCun, Yann, Yoshua Bengio, and Geoffrey Hinton. "Deep learning." (2015) (Three Giants' Survey)

Review

机器学习在当下有很多应用:从网络搜索的内容过滤到电商的商品推荐,以及在手持设备相机和智能手机上的应用。机器学习系统用来做图像识别,语音转换,推送符合用户兴趣的内容。这些应用逐渐地开始不仅仅使用机器学习,越来越多的使用深度学习。

传统的机器学习在处理原始自然数据(raw form)方面能力有所限制。

  • 几十年来,构建一个模式识别或机器学习系统要求由精心的、全面的专家设计一个特征抽取器:把原始数据(如图片的像素值)转换成学习算法能识别的内部表示或者向量形式。

表示学习是一系列允许机器接受原始数据并自动转换成监测或分类任务能处理的形式的方法。

深度学习方法是有多层表示的表示学习方法,由简单的非线性模块组成,上一层的转换结果作为下一层的输入继续进行转换表示(变得更抽象)。

举例来说,对于一张图片,以像素值数组形式送到网络中。第一层学到的表示结果为图片中特定方向、特定位置的边的有无;第二层学到的表示结果为通过将边组合而形成的图形;第三层学到的表示结果为将上层的图像集成,对应于物体的局部特征。

深度学习的关键在于特征层并不是专家工程师设计的,而是使用学习算法从数据中学到的。

深度学习可以在科学研究、商业以及政府任务上。而且在图像识别、语音识别以及分析DNA构造方面取得了很大的进展,在自然语言处理方面也有很好的应用前景,比如主题分类、语义分析以及问答系统和翻译。

由于深度学习不需要大量的专家工程师设计相应的特征表示,而且可用数据的增多、计算能力的增强,深度学习一定会取得更多的成功。

Supervised learning

机器学习算法中最常见的形式为监督学习。比如我们想搭建一个图片分类系统,区分马、汽车、人和宠物四类。首先收集这四类的图片,然后打上标签。在训练过程中,对于输入的图片会输出一个得分向量,一类一个得分。我们想要目标分类在所有分类中拥有最高的得分,但是在训练之前不能知道目标分类的得分。设计的目标函数:比较算法输出和目标分数之间的差距。机器学习算法然后通过修改中间参数(weights权重系数)来最小化误差,即目标函数。

深度学习网络中有成百万的权重系数,成百万的训练样本。而为了调整权重系数,学习算法计算关于每个权重的梯度向量---意味着误差关于权重的变化率大小。

深度学习梯度计算方法:SGD随机梯度下降法。

传统机器学习需要精心设计特征抽取器,而这个过程往往需要大量的专业技能和丰富的邻域知识。

深度学习则可以避免这一繁琐的过程:特征可以通过学习算法自动学习得到。而这正是深度学习的关键之处。

Backpropagation to train multilayer architectures

从模式识别的早期时代开始,科学家就想通过可训练的多层网络替代手工选定特征,但是直到20世纪80年代中期才找到合适的解决方案----多层网络可以通过简单SGD来训练。只要是关于输入和中间权重的平滑函数,都可以通过BP反向传播算法计算梯度向量。这一想法在20世纪70年代和80年代由几个研究小组提出。

反向传播计算目标函数关于各个层权重系数的导数应用了导数的链式法则。

反向传播的核心思想:目标函数关于模块输入的导数可以通过该模块输出的导数来计算得到。

在20世纪90年代晚期,神经网络和反向传播一直被机器学习社区、计算机视觉以及语音识别社区团体所摒弃、忽略。当时普遍认为在利用很少的先验知识情况下,学到的多级特征抽取器并不可靠。而且,梯度下降算法会陷在局部最小值处。

最近通过理论研究以及实验结果显示,局部最优解并不是最严峻的问题,而是梯度消失问题。

大约在2006年,从CIFAR研究小组的提取的非监督学习算法开始,科学家关于深度前馈网络的兴趣才开始复苏。

与全连接的前馈网络相比CNN(卷积神经网络)--一种特殊的深度前馈神经网络,训练更容易。

Convolutional neural networks

卷积神经网络是设计用来处理多维数组形式的数据,比如2D的彩色图片。许多数据形式都是通过多维数组来表示的:1D的信号、序列以及语言;2D的图像和音频;3D的视频以及带声音的图片。

ConvNets卷积神经网络的4个关键在于:局部连接、权重共享、池化以及多层处理。

典型的卷积神经网络结构分为多个阶段。起始阶段主要是两种网络层:卷积层和池化层。卷积层中的神经元形成feature maps(特征图),feature maps里的每个神经元与前一层feature maps里的局部神经元通过filter(一系列权重系数)进行连接。这种局部连接得到的权重和之后通过一个非线性函数(如ReLU)。feature map里的所有神经元共享权重系数,即filter。这样设计的原因由两个:

  1. 数组形式的数据,如图片,局部值之间是高度相关的,形成容易检测的各种局部图形;
  2. 图片和其他信号数据的局部统计特征对于位置具有不变性。

卷积层的作用在于检测本层与前一层网络的局部连接,而池化层的作用在于将语义上相似的特征整合成一个。

卷积神经网络的反向梯度计算和常规的深度网络计算一样简单。

许多自然信息都是分层形成的--高级的特征可以通过低维特征整合形成,深度学习正是利用了这一特点。

在图像中,局部的边整合形成图形,图形集成为图像的小区域,小区域形成物体。在语音和文本中也存在分级现象,如声音、音素和音节,单词和句子。

当前一层中的输入数据位置和表现有变化的时候,池化操作可以允许这些特征表示出现这些变化(鲁棒性)。

卷积神经网络中的卷积层和池化层灵感来自于视觉神经科学中简单细胞和复杂细胞的经典概念。当卷积神经网络和猴子面对相同的图片时,卷积神经网络的激活单元情况解释 了猴子下颞叶皮质中随机160个神经元的变化情况。卷积神经网络与神经认知有渊源,它们的网络架构有点相似,但是神经认知中没有类似于反向传播算法这种端到端的监督学习算法。

在20世纪90年代早期,基于卷积神经网络出现了大量的应用,以基于时延神经网络的语音识别和文档阅读开始。卷积神经网络也用来做物体检测,比如人脸识别。

Deep Learning综述[上]的更多相关文章

  1. Deep Learning综述[下]

    Image understanding with deep convolutional networks 直到2012年ImageNet大赛之前,卷积神经网络一直被主流机器视觉和机器学习社区所遗弃.2 ...

  2. 【深度学习Deep Learning】资料大全

    最近在学深度学习相关的东西,在网上搜集到了一些不错的资料,现在汇总一下: Free Online Books  by Yoshua Bengio, Ian Goodfellow and Aaron C ...

  3. 深度学习(deep learning)

    最近deep learning大火,不仅仅受到学术界的关注,更在工业界受到大家的追捧.在很多重要的评测中,DL都取得了state of the art的效果.尤其是在语音识别方面,DL使得错误率下降了 ...

  4. 机器学习(Machine Learning)&深度学习(Deep Learning)资料(Chapter 2)

    ##机器学习(Machine Learning)&深度学习(Deep Learning)资料(Chapter 2)---#####注:机器学习资料[篇目一](https://github.co ...

  5. Paper List ABOUT Deep Learning

    Deep Learning 方向的部分 Paper ,自用.一 RNN 1 Recurrent neural network based language model RNN用在语言模型上的开山之作 ...

  6. (转)深度学习(Deep Learning, DL)的相关资料总结

    from:http://blog.sciencenet.cn/blog-830496-679604.html 深度学习(Deep Learning,DL)的相关资料总结 有人认为DL是人工智能的一场革 ...

  7. Deep Learning方向的paper

    转载 http://hi.baidu.com/chb_seaok/item/6307c0d0363170e73cc2cb65 个人阅读的Deep Learning方向的paper整理,分了几部分吧,但 ...

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

    申明:本文非笔者原创,原文转载自:http://www.sigvc.org/bbs/thread-2187-1-3.html 4.2.初级(浅层)特征表示 既然像素级的特征表示方法没有作用,那怎样的表 ...

  9. 【转载】Deep Learning(深度学习)学习笔记整理

    http://blog.csdn.net/zouxy09/article/details/8775360 一.概述 Artificial Intelligence,也就是人工智能,就像长生不老和星际漫 ...

随机推荐

  1. HBase 负载均衡

    HBase 可以根据当前集群的负载以region为单位进行rebalance.在HMaster中,后台会起一个线程定期检查是否需要进行rebalance,线程叫做BalancerChore.线程每隔  ...

  2. oracle动态添加一条记录

    /// <summary> /// 添加一个实体 /// </summary> /// <typeparam name="T">实体名称< ...

  3. Vue2学习笔记:实例

    1.实例 <!DOCTYPE html> <html> <head> <title></title> <script src=&quo ...

  4. 初始docker

    什么是docker? 很多人都是使用docker但是对docker的理解其实并没有这么透彻,只知道怎么用但是不知道为什么用 什么时候去用. 一.环境配置的难题 软件开发最大的麻烦事之一,就是环境配置. ...

  5. windows安装及配置mysql5.7

    引子 mysql官方网站上没有 windows mysql5.7 64位版本msi的安装包下载,我们可以通过zip版本解压缩后手动安装配置环境. msi安装的话有32位的,基本上就是看着图形界面来一步 ...

  6. October 03rd 2017 Week 40th Tuesday

    Don't make promises you can't keep. But those are the best kind. 不要许下做不到的承诺,但是我们做不到的承诺往往是最好的. The be ...

  7. fun() 的 拆分和 for 遍历 的结合---------> 函数容器

    fun() 的 拆分和 for 遍历 的结合--------->  函数容器

  8. 个人技术博客(1/2)android布局技巧

    (1)weight属性的合理应用 当使用match_parent(fill_parent)时,需要经过计算,否则会出现如下情况 代码: <LinearLayout xmlns:android=& ...

  9. super深究

    super的入门使用: 在类的继承中,如果定义某个方法,该方法会覆盖父类的同名方法,但有时候我们希望能同时实现父类的功能,这时,我们就需要调用父类的方法了,可以通过使用super来实现.比如: cla ...

  10. python第二十五课——闭包

    满足闭包的三个条件: 1).有外部函数和内部函数这样的结构 2).外部函数中定义的变量被内部函数所使用 3).内部函数对象作为返回值被外部函数返回 演示闭包的定义和使用: def outer(): a ...