关闭

123

标签: 深度学习
183人阅读 评论(0) 收藏 举报
分类:

深度学习综述

  1. 深度学习起源(简要回顾,重点说明为什么要提出深度学习)

(1) 早期神经网络取得的成就及其机器学习的出现
a) 深蓝计算机在国际象棋比赛中战胜了世界冠军,是早前神经网络的比较成功的运用。
采用的方法是穷举法。根据国际象棋的规则,穷尽所有出棋的结果。从这些结果中选取最能指向成功的那个方法。由于国际象棋的棋盘只有64个位置,在循环下棋的过程中只有32?需要进行预测,所以它的计算量是相当小的。
b) 基于知识的方法并没有都取得成功。
i. CycL
ii. 因为有些规则过于复杂所以很难让机器理解。所以如何将复杂的知识让机器自己能够学习成为了研究热点-机器学习
c) 简单的机器学习算法
i. 逻辑回归
ii. 简单贝叶斯方法
iii. 表征学习-表征学习算法是自编码的,包括编码和解码。将新的表征用原始格式来表示
(2) 神经网络,传统机器学习方法的局限。
a) 学习特征的算法,目标是分离变化的因素来表示原来的数据。也就是特征
b) 特征的选取需要人工操作,而不能够让机器自行完成(只能进行监督学习)
c) 使用表征学习算法后,可以实现简单的监督学习却无法去完成复杂的监督学习
(3) 从神经网络到深度神经网络(深度学习的提出)
a) 深度学习主要解决的问题就算表征学习中只能表述简单的表征的问题
b) 主要算法
i. 前向深度网络
ii. 多层感知机(MLP)
c) 深度学习能够逐层抽象,来表述复杂的表征问题
d) AI中个学习方法的层次
e) 传统学习与深度学习间的不同
(4) 深度学习的历史
a) 深度学习拥有悠久的历史
i. 控制论,1940s~1960s
ii. 联结主义,1980s~1990s
iii. 深度学习,2006~至今
iv. 曾经深度学习还被称为-智能神经网络(ANNs)
由此可见,对于深度学习的研究在计算机出现之时就已经开始。现今的深度学习也不过是‘新瓶装旧酒’
(5) 现有深度学习经典模型/方法简介
a) Deep feedforward networks(深度前向网络)
i. 深度前向网络通常还被称为前向神经网络或者多层感知机(MLPs),这是一个典型的深度学习模型。前向网络的目标是接近函数f*。比如,对于一个分类器,y=f*(x)映射了输入x到分类y.而一个前行网络定义的映射是y=f(x;θ)同时通过学习 θ来得到最好的函数接近。
ii. 这个模型之所以称为前向网络是因为该模型在输出后并没有返回链接来进行反馈调整各层结点的参数。对于拓展了反馈功能的前向网络,我们称之为回归神经网络(RNN)。
iii. 前向网络是非常重要的深度学习模型之一,它有着许多重要的运用。比如,从图片中识别对象的脑回神经网络就算一个特殊的前向神经网络。以前向神经网络为基础发展而成的回归神经网络(RNN)在自然语言研究上成绩斐然。
b) Convolutional Networks-卷积神经网络
i. 卷积网络(LeCun,1989)也被称为卷积神经网络或者CNNs,是一种为了处理数据的特别的神经网络,一种类网格拓扑学。例如它可以通过一维网格在规定的时间间隔中提取时间序列信息,对于图像可以通过二维网格像素来获取信息。
ii. ‘卷积神经网络’指出了神经网络中运用了一种数学方法-卷积。卷积是一种特别的线性操作。卷积神经网络是一种运用卷积至少替换一层常规矩阵乘法的简单神经网络。
c) RNN-循环神经网络
(6) 深度学习的优势
a) 只需要更少的数据就可以达到其他神经网络相同的效果
i. 研究表明,针对特定的任务,如果模型的深度不够,其所需要的计算单元会呈指数增加。这意味着虽然浅层模型可以表达相同的分类函数,但其需要的参数和训练样本要多得多。浅层模型提供的是局部表达。它将高维图像空间分成若干个局部区域,每个局部区域至少存储一个从训练数据中获得的模板。浅层模型将一个测试样本和这些模板逐一匹配,根据匹配的结果预测其类别。例如,在支持向量机模型中,模板是支持向量;在最近邻分类器中,模板是所有的训练样本。随着分类问题复杂度的增加,需要将图像空间划分成越来越多的局部区域,因而需要越来越多的参数和训练样本。尽管目前许多深度模型的参数量已经相当巨大,但如果换成浅层神经网络,其所需要的参数
要大出多个数量级才能达到相同的数据拟合效果,以至于很难实现。
深度模型之所以能减少参数的关键在于重复利用中间层的计算单元。以人脸识别为例,深度学习可以针对人脸图像的分层特征表达进行:最底层从原始像素开始学习滤波器,刻画局部的边缘和纹理特征;中层滤波器通过将各种边缘滤波器进行组合,描述不同类型的人脸器官;最高层描述的是整个人脸的全局特征。
深度学习提供的是分布式的特征表示。在最高的隐含层,每个神经元代表一个属性分类器,例如性别、人种和头发颜色等。每个神经元将图像空间一分为二,N个神经元的组合就可以表达2N个局部区域,而用浅层模型表达这些区域的划分至少需要2N个模板。由此可以看出,深度模型的表达能力更强,效率更高。
b) 自动学习特征的能力
i. 深度学习与传统模式识别方法的最大不同在于它所采用的特征是从大数据中自动学习得到,而非采用手工设计。好的特征可以提高模式识别系统的性能。过去几十年,在模式识别的各种应用中,手工设计的特征一直处于统治地位。手工设计主要依靠设计者的先验知识,很难利用大数据的优势。由于依赖手工调参数,因此特征的设计中所允许出现的参数数量十分有限。深度学习可以从大数据中自动学习特征的表示,可以包含成千上万的参数。
一个模式识别系统包括特征和分类器两部分。在传统方法中,特征和分类器的优化是分开的。而在神经网络的框架下,特征表示和分类器是联合优化的,可以最大程度地发挥二者联合协作的性能。
既然特征学习如此重要,那么,什么是好的特征呢?一幅图像中,各种复杂的因素往往以非线性的方式结合在一起。例如人脸图像中就包含了身份、姿态、年龄、表情、光线等各种信息。深度学习的关键就是通过多层非线性映射将这些因素成功分开,例如在深度模型的最后一个隐含层,不同神经元代表了不同因素。如果将这个隐含层当作特征表示,人脸识别、姿态估计、表情识别、年龄估计就会变得非常简单,因为各个因素之间变成了简单的线性关系,不再彼此干扰。
c) 提取全局特征和上下文的能力
i. 深度模型具有强大的学习能力和高效的特征表达能力,更重要的优点是从像素级原始数据到抽象的语义概念逐层提取信息,这使得它在提取图像的全局特征和上下文信息方面具有突出的优势,为解决传统的计算机视觉问题(如图像分割和关键点检测)带来了新的思路。

(7) 深度学习的经典应用
在机器视觉、多媒体、自然语言处理,自然科学(生物,材料领域)、及大规模问题求解(如AlphaGo)中的成功应用案例,简要汇总即可。
a) 大规模深度学习
i. AlphaGo
b) 计算机视觉
i. face++
ii. sensetime
iii. 指纹识别
iv. 人脸识别
c) 语音识别
i. 百度语音助手
ii. 语音输入法
d) 自然语言处理
i. Fackbook的DeepText
e) 推荐系统
i. Netlifx
ii. Google搜索
f) 多媒体
i. 视频预测
ii. 不同风格图像合成-Image Synthesis
g) 工业系统
i. 代替肉眼检查作业,实现製造检查智能化和无人化
ii. 大幅改善工业机器人的作业性能,提升製造流程的自动化和无人化

  1. 深度学习模型(详细说明现有深度学习热点方法,经典模型)
    可能的要点:
    (1) 深度学习模型的分类(监督/非监督/半监督)
    a) MLPs
    (2) CNN (解决的问题/原理/训练方法/优点/缺点)-卷积神经网络
    a) 解决:多层感知机在输入参数过多的情况下导致参数数量膨胀,这不仅导致训练时间加长还容易引起过拟合和陷入局部最小值。
    b) 原理:
    i. 上下层神经元不是直接进行全连接而是通过一个‘卷积核’为中介。同一个卷积核在所有图像内是共享的,图像通过卷积操作后仍然保留原先的位置关系。
    ii. 池化操作?
    c) 训练方法:
    i. 将输入参数生成卷积核,一层层卷积操作。
    ii. 池化处理
    iii. 采用原来的全连接方法进行操作
    d) 特别适合用来处理一块区域的变量。像是图片
    (3) DNN (原理/训练方法/优点/缺点)
    (4) RNN (原理/训练方法/优点/缺点)(时间递归神经网络)
    a) 解决:多层感知机无法对序列上的变化进行建模,用来预测序列数据。
    b) 原理:
    i. RNN是指一类深度神经网络模型。这类模型用来处理序列数据,包括固定长度的序列也包括变长度的序列。
    ii. 一个神经元在m时刻(位置)的输入,除了前一层神经元在m时刻(位置)的输出外还有该神经元自身在m-1时刻(位置)的输出,这两个输出共同成为该神经元在m时刻(位置)的输入。
    c) 训练方法
    i. 不断循环的使用m-1时刻(位置)的输出作为m时刻(位置)的输入,直至原输入序列全部输入。
    d) 优点
    i. t+1时刻(位置)网络的最终结果O(t+1)是该时刻输入和所有历史输出共同作用的结果,从而对序列的变化进行建模。
    e) 缺点
    i. 序列过长可能出现的“梯度消失”现象,导致最后的结果只是部分历史结果的作用。
    ii. 同时输入太多成分会导致结果出现特殊的非线性情况
    iii. 数据量小的时候可以很快收敛。而获得长期依赖还算一个问题
    (5) LSTM (原理/训练方法/优点/缺点)
    a) 解决:RNN模型中,当序列过长可能导致的“梯度消失”现象
    b) 原理:
    i. 增加了CEC-常数误差流和输入控制门和输出控制门,防止误差变小。
    ii. 增加忘记控制门,反之CEC可能的一直增大
    iii. 增加Peephole,使当前CEC的状态影响到input gate,output gate下一刻的输出
    c) 训练方法:
    d) 优点:
    i. 解决了RNNs模型的‘梯度消失’问题
    (6) GRU(原理/训练方法/优点/缺点)
    (7) 其它深度模型(非神经网络模型) (原理/训练方法/优点/缺点)
    a) SVM
    b) Boosting
    c) 贝叶斯。。
    (8) 神经网络模型调优的技巧和过程
    a) 06,Hinton采用‘预训练’的方法缓解了局部最优解的问题(将隐含层推动到7层)。
    b) 梯度裁剪
    (9) 经典模型的变体
    a) ReNet
    i. 采用递归神经网络(RNN)代替卷积神经网络中的卷积层和池化(pooling)层
    b) recurrent attentional convolutional-deconvolution neural network (RACDNN)。
    i. 用于检测图像中的显著区域
    c) recurrent face aging (RFA) 
    i. 解决一个比较难的问题,即跨年龄人脸的验证和识别问题。可以确定0~80岁的人脸变化
    d) Hhighway network-高速公路算法
    e) Deep residual learning-深度残差学习
    i. 进一步避免梯度消失
    f) Bidirectional RNNs-双向RNNs
    i. 当层的输出不仅仅与先前的序列有关,还和之后的序列有关系。
    ii. 用途:根据上下文来进行推断
    g) GRU
    i. 类似与LSTM但是只有两个门,一个重置门一个更新门。

  2. 深度学习计算资源(简要汇总深度学习计算的软件、硬件平台)
    (1) 开源平台(caffe,tensorflow等)
    a) Theano
    Theano是在BSD许可证下发布的一个开源项目,是由LISA集团(现MILA)在加拿大魁北克的蒙特利尔大学(Yoshua Bengio主场)开发。它是用一个希腊数学家的名字命名的。
    Python的核心Theano是一个数学表达式的编译器。它知道如何获取你的结构,并使之成为一个使用numpy、高效本地库的非常高效的代码,如BLAS和本地代码(C++),在CPU或GPU上尽可能快地运行。
    它巧妙的采用一系列代码优化从硬件中攫取尽可能多的性能。如果你对代码中的数学优化的基本事实感兴趣,看看这个有趣的名单。
    Theano表达式的实际语法是象征性的,可以推送给初学者用于一般软件开发。具体来说,表达式是在抽象的意义上定义,编译和后期是用来进行计算。
    它是为深度学习中处理大型神经网络算法所需的计算而专门设计的。它是这类库的首创之一(发展始于2007年),被认为是深度学习研究和开发的行业标准。
    b) Tensorflow
    i.
    (2) 深度学习与GPU编程
    (3) 针对深度学习的开放数据集

  3. 深度学习未来发展趋势(重点阅读,认真思考,这部分将是你研究生工作的重点)
    (1) 深度学习模型训练方法的改进策略
    (2) 深度学习与迁移学习(重点)
    (3) 深度学习与强化学习(重点)
    (4) 深度学习与主动学习
    (5) 其它最新的模型改进。

  4. 总结

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:42687次
    • 积分:787
    • 等级:
    • 排名:千里之外
    • 原创:32篇
    • 转载:12篇
    • 译文:1篇
    • 评论:11条
    最新评论