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. MySQL8.0初体验

    MySQL8.0的官方社区开源版出来有段时间了,而percona的8.0版本还没有正式对外发布(已发布测试版),一直以来也没安装体验下这个号称质的飞跃的版本,今天正好有些时间就下了安装体验体验. 一. ...

  2. .net core 配置swagger遇到的坑

    Swagger能成为最受欢迎的REST APIs文档生成工具之一,有以下几个原因: Swagger 可以生成一个具有互动性的API控制台,开发者可以用来快速学习和尝试API. Swagger 可以生成 ...

  3. Python实例---CRM管理系统分析180331

    注意:一个项目基本都设计增删改查,且第一个需要做的就是设计表结构 思维导图: 组件使用: Django  +   bootStrap  +   Jquery 数据库表结构设计: 外键关联: 2种方式, ...

  4. Linux优化远程SSH连接

    优化远程SSH连接 1.Linxu和Window的ssh连接区别 Windom默认3389端口,管理员administartor 普通是guest Linux 默认22端口 管理员root 普通一堆 ...

  5. Bootstrap后台管理框架

    B-JUI http://www.xknaan.com/ B-JUI 前端框架,基于Bootstrap的Jquery UI框架,核心思想脱胎于DWZ(j-ui).   BJUI_SSM_DEMO 基于 ...

  6. shell study

    目录 shell记录 执行脚本 变量使用 注释 shell传递参数 运算符 echo printf test 流程控制 if ... else ... for while until case 跳出循 ...

  7. RabbitMQ学习以及与Spring的集成(一)

    本文记录RabbitMQ服务的搭建过程. 想要使用RabbitMQ消息中间件服务.首先要安装RabbitMQ,可以在:https://www.rabbitmq.com/download.html根据安 ...

  8. jquery根据字符切割字符串

    var str=new String(); var arr=new Array(); str="ddd,dsd,3,dd,g,k"; //可以用字符或字符串分割 arr=str.s ...

  9. mysql 数据库数据迁移 The user specified as a definer ('root'@'%') does not exist 解决方法

    从一个数据库数据迁移到本地localhost 程序在调用到数据库的视图时报错,直接在数据库中打开视图时也报错,类似: mysql 1449 : The user specified as a defi ...

  10. Day10 MVC

    经典三层 表述层(表示层):  前台交互,调用后台   web 业务逻辑层:   处理业务              service 数据持久层:   与数据库之间进行交互  dao 面向对象原则 面 ...