前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >深度学习笔记

深度学习笔记

原创
作者头像
焦红平
修改2017-07-27 10:25:51
2.2K0
修改2017-07-27 10:25:51
举报
文章被收录于专栏:焦红平的专栏焦红平的专栏

1 概念

  • 人工智能(Artificial Intelligence) ————为机器赋予人的智能
  • 机器学习(Machine Learning) ———— 一种实现人工智能的方法
  • 深度学习(Deep Learning) ———— 一种实现机器学习的技术

2 单层神经网络

机器学习可以通过神经网络来实现。可以将深度学习简单理解为,就是使用深度方法应用在神经网络的机器学习方法。目前深度架构大部分时候就是指深度神经网络。

2.1神经元

1943 年,心理学家 McCulloch 和数学家 Pitts 参考了生物神经元的结构,发表了抽象的神经元模型 MP。

神经元模型是一个包含输入,输出与计算功能的模型。

其中的 Sgn 为激活函数

图中 Sum 求和圆圈和符号函数组成一个神经元。 连接是神经元中最重要的东西。每一个连接上都有一个权重。

一个神经网络的训练算法就是让权重的值调整到最佳,以使得整个网络的预测效果最好。

MP 模型虽然简单,但是是神经网络大厦的地基。

2.2 单层神经网络(感知器)

1958 年,计算科学家 Rosenblatt 提出了由两层神经元组成的神经网络。他给它起了一个名字—"感知器"(Perceptron)。

在原来 MP 模型的"输入"位置添加神经元节点,标志其为"输入单元"。其余不变,便有了最简单的神经网络。

假如我们要预测的目标不再是一个值,而是一个向量,例如 [2,3]。那么可以在输出层再增加一个"输出单元"。

感知器中的权值是通过训练得到的。所谓训练,就是根据已有的输入和输出,找出最合适的权重参数。

利用感知器,可以很好的完成线性分类任务。

下图显示了在二维平面中划出决策分界的效果,也就是感知器的分类效果。

1969 年 Minsky 出版了一本叫《Perceptron》的书,里面用详细的数学证明了感知器的弱点, 感知器只能做简单的线性分类任务。

3 两层神经网络

Minsky 说过单层神经网络无法解决异或问题;两层神经网络可以解决异或问题,且具有非常好的非线性分类效果,但两层神经网络的计算是一个问题,没有一个较好的解法。

3.1 两层神经网络(多层感知器)

1986 年,Rumelhar 和 Hinton 等人提出了反向传播(Backpropagation,BP)算法,解决了两层神经网络所需要的复杂计算量问题,从而带动了业界使用两层神经网络研究的热潮。

图中输入与输出的节点数是可以根据需要修改的。 同时为了让计算更合理,每一层都会增加一个常量的偏置单元。

使用矩阵运算来表达整个计算公式的话如下:(其中 W/a/z 都为矩阵)

g(W(1) a(1) b(1)) = a(2); g(W(2) a(2) b(2)) = z;

理论证明,两层神经网络可以无限逼近任意连续函数。也就是说,面对复杂的非线性分类任务,两层神经网络可以分类的很好。

下面就是一个 例子,红色的线与蓝色的线代表数据。而红色区域和蓝色区域代表由神经网络划开的区域,两者的分界线就是决策分界。

可以看到,这个两层神经网络的决策分界是非常平滑的曲线,而且分类的很好。

3.2 反向传播算法(BP)

机器学习模型训练的目的,就是使得参数尽可能的与真实的模型逼近。具体做法是这样的。首先给所有参数赋上随机值。我们使用这些随机生成的参数值,来预测训练数据中的样本。样本的预测目标为 yp,真实目标为 y。那么,定义一个值 loss,计算公式如下:

loss = (yp - y)^2

这个值称之为损失(loss),我们的目标就是使对所有训练数据的损失和尽可能的小。

此时这个问题就被转化为一个优化问题。一个常用方法就是高等数学中的求导,但是这里的问题由于参数不止一个,求导后计算导数等于 0 的运算量很大,所以一般来说解决这个优化问题使用的是梯度下降算法。梯度下降算法每次计算参数在当前的梯度,然后让参数向着梯度的反方向前进一段距离,不断重复,直到梯度接近零时截止。一般这个时候,所有的参数恰好达到使损失函数达到一个最低值的状态。

在神经网络模型中,由于结构复杂,每次计算梯度的代价很大。因此还需要使用反向传播算法。反向传播算法是利用了神经网络的结构进行的计算。不一次计算所有参数的梯度,而是从后往前。首先计算输出层的梯度,然后是第二个参数矩阵的梯度,接着是中间层的梯度,再然后是第一个参数矩阵的梯度,最后是输入层的梯度。计算结束以后,所要的两个参数矩阵的梯度就都有了。

反向传播算法可以直观的理解为下图。梯度的计算从后往前,一层层反向传播。前缀 E 代表着相对导数的意思。

4 深度学习

  • 随着 BP 算法的提出,神经网络也重新得到人们的重视,开始发力于语音识别,图像识别,自动驾驶等多个领域。
  • 但是神经网络仍然存在若干的问题:尽管使用了 BP 算法,一次神经网络的训练仍然耗时太久,而且困扰训练优化的一个问题就是局部最优解问题,这使得神经网络的优化较为困难。同时,隐藏层的节点数需要调参,这使得使用不太方便,工程和研究人员对此多有抱怨。
  • 90 年代中期,由 Vapnik 等人发明的 SVM(Support Vector Machines,支持向量机)算法诞生,很快就在若干个方面体现出了对比神经网络的优势:无需调参;高效;全局最优解。基于以上种种理由,SVM 迅速打败了神经网络算法成为主流。
  • 2006 年,Hinton 在《Science》和相关期刊上发表了论文,首次提出了"深度信念网络"的概念。与传统的训练方式不同,"深度信念网络"有一个"预训练"(pre-training)的过程,这可以方便的让神经网络中的权值找到一个接近最优解的值,之后再使用"微调"(fine-tuning) 技术来对整个网络进行优化训练。这两个技术的运用大幅度减少了训练多层神经网络的时间。他给多层神经网络相关的学习方法赋予了一个新名词—"深度学习"。
  • 很快,深度学习在语音识别领域崭露头角。接着,2012 年,深度学习技术又在图像识别领域大展拳脚。Hinton 与他的学生在 ImageNet 竞赛中,用多层的卷积神经网络成功地对包含一千类别的一百万张图片进行了训练,取得了分类错误率 15%的好成绩,这个成绩比第二名高了近 11 个百分点,充分证明了多层神经网络识别效果的优越性。

多层神经网络如下:

通过研究发现,在参数数量一样的情况下,更深的网络往往具有比浅层的网络更好的识别效率。这点也在 ImageNet 的多次大赛中得到了证实。从 2012 年起,每年获得 ImageNet 冠军的深度神经网络的层数逐年增加,2015 年最好的方法 GoogleNet 是一个多达 22 层的神经网络。

在最近的 ImageNet 大赛上,目前拿到好成绩的 MSRA 团队的方法使用的更是一个深达 152 层的网络!

目前,深度神经网络在人工智能界占据统治地位。但凡有关人工智能的产业报道,必然离不开深度学习。神经网络界当下的四位引领者除了前文所说的 Ng,Hinton 以外,还有 CNN 的发明人 Yann Lecun,以及《Deep Learning》的作者 Bengio。

5 回顾

从单层神经网络(感知器)开始,到包含一个隐藏层的两层神经网络,再到多层的深度神经网络,一共有三次兴起过程。

下图说明了,随着网络层数的增加,以及激活函数的调整,神经网络所能拟合的决策分界平面的能力。

一个成功的技术与方法,不仅需要内因的作用,还需要时势与环境的配合。神经网络的发展背后的外在原因可以被总结为:

  • 更强的计算性能
  • 更多的数据
  • 以及更好的训练方法。

6 其他

6.1 量子计算

随着深度学习需要的计算量越来越大,目前的计算水平无法满足深度学习的要求,量子计算的发展,可能会一定程度决定机器学习的发展。

6.2 人工智能

虽然现在人工智能非常火热,但是距离真正的人工智能还有很大的距离。就拿计算机视觉方向来说,面对稍微复杂一些的场景,以及易于混淆的图像,计算机就可能难以识别。个人认为,目前人工智能全面替代人还有很长的路要走。的路要走。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 概念
  • 2 单层神经网络
    • 2.1神经元
      • 2.2 单层神经网络(感知器)
      • 3 两层神经网络
        • 3.1 两层神经网络(多层感知器)
          • 3.2 反向传播算法(BP)
          • 4 深度学习
          • 5 回顾
          • 6 其他
            • 6.1 量子计算
              • 6.2 人工智能
              相关产品与服务
              语音识别
              腾讯云语音识别(Automatic Speech Recognition,ASR)是将语音转化成文字的PaaS产品,为企业提供精准而极具性价比的识别服务。被微信、王者荣耀、腾讯视频等大量业务使用,适用于录音质检、会议实时转写、语音输入法等多个场景。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档