深度学习知识脉络初探

------------内 容------------

1.深度学习的历史

1.1 深度学习背景

1.2 深度学习四大天王

2.深度学习知识脉络

2.1 线性回归

2.2 非线性回归

2.3 神经网络

3.机器学习应用场景

3.1 分类问题

3.2 目标探测

3.3 自动驾驶

3.4 语句生成

3.5 图片标注

--------------------------------

1.深度学习的历史1.1 深度学习背景

可以说是Alpago将深度学习推上了新的热点,普及了这个概念,实际上深度学习的历史可谓是悠久,可以追溯到上个世纪:

20世纪40年代~60年代,深度学习的代名词是控制论;

20世纪80年代,深度学习的名词是连接机制;

1990年,比较有影响力的是 Yann Lecun 关于CNN(卷积神经网络)文章;

1997,IBM 的深蓝(Deep Blue)国际象棋系统在 1997 年击败了世界冠军Garry Kasparov。

2009年,ImageNet(目前世界上图像识别最大的数据库)大型分类数据集发布;

2012年,AlexNet提出GPU训练的深度学习网络,获得ImageNet冠军;

2016年,Google DeepMind围棋程序Alhpa Go战胜人类顶尖选手;

1.2 深度学习四大天王

1.Geoffrey Hinton

多伦多大学的特聘教授,Google AI团队领军人(左边第二个是Hinton),Hinton在人工智能领域中无人不知无人不晓是因为其在人工神经网络(Artificial Neural Networks)中所作出的贡献,Hinton和他的团队强力将“神经网络”从垂死边缘一步步带入到当今的研究与应用的热潮,变成了炙手可热的的学术界课题,将“深度学习”从边缘课题变成了Google等互联网巨头仰赖的核心技术。目前神经网络与深度学习已在自然语言处理、语音处理以及计算机视觉等领域中得到了空前广泛与成功地应用。

2.Yann Lecun

纽约大学终身教授,Facebook AI实验室负责人,Lecun在多伦多大学随Hinton读博士后,没错,他是Hinton的学生,另一个神经网络与深度学习大拿。他在皮埃尔玛丽居里大学攻读计算机科学博士学位期间提出后向传播算法。在加盟Facebook之前,Lecun已在贝尔实验室工作超过20年,期间他开发了一套能够识别手写数字的系统,叫作LeNet,用到了卷积神经网络(Cnvolutional Neural Networks, CNN),已开源。他研发了很多关于深度学习的项目,并且拥有14项相关的美国专利。他甚至开发了一种开源的面向对象编程语言Lush,比Matlab功能还要强大,并且也是一位Lisp高手。他在机器学习、深度学习、计算机视觉、计算神经科学领域进行了深度研究。

3.Yoshua Bengio

蒙特利尔大学终身教授,CIFAR项目负责人

他是ApSTAT技术的发起人与研发大牛。他也是蒙特利尔大学(Université de Montréal)的终身教授,任教超过22年,是机器学习实验室(MILA)的负责人,是CIFAR项目的负责人之一,负责神经计算和自适应感知器等方面。

4.Andrew Ng

斯坦福大学副教授,曾就职于谷歌,百度

2.深度学习知识脉络

之前断断续续零零碎碎,听过很多概念,CNN,增强学习、对抗网络、知识学习等等,很多都是离散的、不连贯的,高大上的词汇听完后,根本就消化不了。实际上,概念和概念之间是有联系的,这个关联关系也很少有人跟我们讲, 因此,学习起来非常迷茫。这里有一张图片我觉得非常好,能很好的表示出深度学习各个知识点之间的关系。

接下来,我用自己的一些浅薄理解,来解析这些概念以及概念之间的关联关系。

2.1 线性回归

1.线性回归概念

回归,其实是一种解题方法,是根据结果推出原因的方法。在机器学习领域,最常用的回归有2种:线性回归和非线性归回。那什么是线性回归,字面上不不是很好理解,那好,换个方式表达,方程,总知道吧,就是这个玩意:y = ax + b,输入一个数x,就可以对应出一个y来了。所谓线性回归就是给你一堆数据,你不管用什么方法,给我用方程给我表示出来,这一堆数据,通过方程式表达的越精准越好,这个弄出一个y=ax+b这样一个方程的过程,就是线性回归。到计算机领域,这样的y=ax+b换个好听点的名字就是模型。实际上,还有很多的场景并不是线性回归模型可以表达出来的,它是非线性的。因此为了表示这些非线性的东西,就在线性的基础之上加上非线性的激励,这样就可以表示出非线性的了。

如何根据一堆数据计算出一个线性的方程,一般可以用最小二乘法、或者梯度下降法梯度下降法的原理:假设给出一个系数,然后拟合出来一个模型,再给一个x得出一个y,让y去和真实的值去比较,然差距做到最小。

2.2 非线性回归

线性回归只能解决线性问题,实际很多问题是非线性的,非线性的就要加一些非线性激励,从而解决非线性的问题,进行非线性拟合,一个方程只要是可到的,存在梯度,就可以用梯度下降方法扩展到神经网络中。

非线性回归=线性回归+非线性激励

2.3 神经网络

这个常用的CNN,RNN,神经网络,神经元,计算过程中是简单的

CNN:卷积神经网络,运算在空间上扩展,就是卷积神经网络

RNN: 递归神经网络,运算在实践上扩展,递归神经网络,可以记住前一刻,但是记不住更前的传统神经网络只考虑当前状态,递归还要考虑上一个或者之前的状态

LTSM:可以考虑好久好久之前的,考虑的更久更多,记忆量更多了。

CNN:主要是做图像相关的例子,

目标分类:互联网是做目标分类,给你一个图片,告诉我是什么东西,是猫还是狗,是直接生成,你给它数据,给神经网络的模型,就可以得到目标的

在基础模型之上,进行迁移学习,人脸识别、物品识别、场景识别、文字识别

目标检测:或者目标探测,给图片,很多时候图片的质量是很不好的

如给你一个有人物的图片,你去找人在哪个地方,安防,自动驾驶,探测什么东西在什么地方

RNN的扩展:是带有时间域属性的,时域相关的用RNN效果很好,如人的说话,在时域就用的非常好,有前后的时间关系,可以理解时间概念上的行为,可以直接用于NLP,不管是语气、翻译、阅读理解,AI等都依赖这样的模型。

CNN和RNN是可以结合的,有些任务既有空间的信息也有时间的信息,如视频,有前后依赖的关系,想知道图片的关系还想知道图片与图片之间的关系,就可以结合,或者用CNN提取特征作为LSTM的输入,得到输入或者用LSTM提取,送给CNN来处理,这样结合起来

生成对抗网络:也是用CNN的东西,生成一张图片,判断是不是生成对的,然后用CNN来判断生成的是不是正确的

判别网络:用来判断图片是生成的,还是不是生成的,有些任务就是用来生成,有些可以用于别的

增强学习:模拟人类思考的过程,模拟行为的工具,如游戏超级玛丽做不同的动作就有不同的分数,分数作为反馈来做训练,某个场景下做什么行为是最好的

人工神经网络和LSTM结合,有时间、空间信息,就可以做文章,如看图说话

用一句话概括这个图片,这就是自然语言处理的过程,就是CNN的东西,看图说话.

对抗网络,可以生产大量的图片,用新图片来训练模型,识别搜索,视屏分类,做的好,就不用再文本的搜索了,直接用视频就可以进行搜索了

3.机器学习应用场景3.1 分类问题

对未知的目标对象进行识别,常见的场景如人脸识别、物品识别、文字识别等

3.2目标探测

1)RCCNN系列

特征是有大量的候选区域、基于区域特征提取、种类确定位置回归;产生大量的候选区域,一个一个的去试,用强大的识别能力去处理、计算出是什么东西,速度会差一个量级

1)SSD

无需候选区域,提前分割好,自适应调整;种类确定位置回归,这个识别的速度会更快一点

3.3 自动驾驶

自动驾驶也是深度学习的经典应用场景,自动驾驶需要对周边的情进行识别,如果只用二维图像是不靠谱,再结合三维的视频来结合判断,激光雷达,三维对空间感觉更好,二维的图片+三维的激光雷达;二维图片擅长什么东西在什么地方,三维擅长对距离的计算无人驾驶车辆定位的问题 ,这个要结合起来判断真实空间。

3.4 语句生成

卷积神经网络RNN用于语句生成,自然语言处理比较基本的算法sequence2sequence。语句生成的一般步骤都是以单词为单位,通过训练,输出下一个单词,形成一个词,词和词之前通过学习和算法,生成下一个词。比如:

How are you ,在训练过程中,不是直接how are you 给你,i am fine就出来了。而是

1)先来一个I作为输入,然后am形成输出,

2)I am 是输入,fine是输出,是这样一个过程

有个前提,产生第一个词,第一个词再作为输入,产生第二个词,直到最后结束

再提一下另一个word2vec算法:把所有的句子,抽象成vec,每个单词有个vec,然后将单词vec输进去,输出新的vec,变成新的句子。不是把string输入,而是抽象成特征,word2vec特征,著名的句子就是智能对话系统,如siri

3.5 图片标注

这是RNN和CNN结合起来的应用,具体一点:看图片,就知道这个图片发生了什么事情,用。方法是特征和语言特征进行融合,得到新的特征,训练,得出这个图片的内容是在干什么用语言描述和图片进行训练,图片变成1000维的向量。

本文内容来源于互联网,由梅峰谷编辑和整理,更多大数据、机器学习、人工智能资料,请关注公众号,二维码如下

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180122G0HD8000?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券