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

深度学习之初识深度学习[下]

作者头像
李小白是一只喵
发布2020-04-23 15:30:36
9830
发布2020-04-23 15:30:36
举报
文章被收录于专栏:算法微时光算法微时光

注:本文内容摘自书籍<<Python深度学习 >>

深度学习的优势

深度学习从数据中进行学习时有两个基本特征: 第一,通过渐进的、逐层的方式形成越来越复杂的表示; 第二,对中间这些渐进的表示共同进行学习,每一层的变化都需要同时考虑上下两层的需要。

总之,这两个特征使得深度学习比先前的机器学习方法更加成功。

梯度提升机,用于浅层学习问题;深度学习,用于感知问题。

为什么是深度学习,为什么是现在

深度学习用于计算机视觉的两个关键思想,即卷积神经网络和反向传播,在 1989 年就已经为人们所知。

长短期记忆(LSTM,long short-term memory)算法是深度学习处理时间序列的基础,它在 1997 年就被开发出来了,而且此后几乎没有发生变化。那么为什么深度学习在2012 年之后才开始取得成功?这二十年间发生了什么变化?

总的来说,三种技术力量在推动着机器学习的进步: 1. 硬件 2. 数据集和基准 3. 算法上的改进

由于这一领域是靠实验结果而不是理论指导的,所以只有当合适的数据和硬件可用于尝试新想法时(或者将旧想法的规模扩大,事实往往也是如此),才可能出现算法上的改进。

机器学习不是数学或物理学,靠一支笔和一张纸就能实现重大进展。它是一门工程科学。

在 20 世纪 90 年代和 21 世纪前十年,真正的瓶颈在于数据和硬件。但在这段时间内发生了下面这些事情:互联网高速发展,并且针对游戏市场的需求开发出了高性能图形芯片。

硬件

从 1990 年到 2010 年,非定制 CPU 的速度提高了约 5000 倍。因此,现在可以在笔记本电脑上运行小型深度学习模型,但在 25 年前是无法实现的。

但是,对于计算机视觉或语音识别所使用的典型深度学习模型,所需要的计算能力要比笔记本电脑的计算能力高几个数量级。在 20 世纪前十年里,NVIDIA 和 AMD 等公司投资数十亿美元来开发快速的大规模并行芯片(图形处理器,GPU),以便为越来越逼真的视频游戏提供图 形显示支持。

这些芯片是廉价的、单一用途的超级计算机,用于在屏幕上实时渲染复杂的 3D 场景。

这些投资为科学界带来了好处。

2007 年, NVIDIA 推出了 CUDA,作为其 GPU 系列的编程接口。少量 GPU 开始在各种高度并行化的应用中替代大量 CPU 集群,并且最早应用于物理建模。

深度神经网络主要由许多小矩阵乘法组成,它也是高度并行化的。2011 年前后,一些研究人员开始编写神经网络的 CUDA 实现,而 Dan Ciresan a 和 Alex Krizhevsky b 属于第一批人。

这样,游戏市场资助了用于下一代人工智能应用的超级计算。

有时候,大事件都是从游戏开始的。

今天,NVIDIA TITAN X(一款游戏 GPU,在 2015 年底售价 1000 美元)可以实现单精度 6.6 TFLOPS 的峰值,即每秒进行 6.6 万亿次 float32 运算。这比一台现代笔记本电脑的速度要快约 350 倍。

使用一块 TITAN X 显卡,只需几天就可以训练出几年前赢得 ILSVRC 竞赛的 ImageNet 模型。

与此同时,大公司还在包含数百个 GPU 的集群上训练深度学习模型,这种类型的 GPU 是专门针对深度学习的需求开发的,比如 NVIDIA Tesla K80。

如果没有现代 GPU,这种集群的超级计算能力是不可能实现的。

此外,深度学习行业已经开始超越 GPU,开始投资于日益专业化的高效芯片来进行深度学习。

2016 年,Google 在其年度 I/O 大会上展示了张量处理器(TPU)项目,它是一种新的芯片设计,其开发目的完全是为了运行深度神经网络。

据报道,它的速度比最好的 GPU 还要快 10 倍,而且能效更高。

数据集和基准

人工智能有时被称为新的工业革命。 如果深度学习是这场革命的蒸汽机,那么数据就是煤炭,即驱动智能机器的原材料,没有煤炭一切皆不可能。

就数据而言,除了过去 20 年里存储硬件的指数级增长(遵循摩尔定律),最大的变革来自于互联网的兴起,它使得收集与分发用于机器学习的超大型数据集变得可行。

如今,大公司使用的图像数据集、视频数据集和自然语言数据集,如果没有互联网的话根本无法收集。

例如,Flickr 网站上用户生成的图像标签一直是计算机视觉的数据宝库。

YouTube 视频也是一座宝库。维基百科则是自然语言处理的关键数据集。

算法上的改进

除了硬件和数据之外,直到 20 世纪前十年的末期,我们仍没有可靠的方法来训练非常深的神经网络。

因此,神经网络仍然很浅,仅使用一两个表示层,无法超越更为精确的浅层方法,比如 SVM 和随机森林。

关键问题在于通过多层叠加的梯度传播。随着层数的增加,用于训练神 经网络的反馈信号会逐渐消失。

这一情况在 2009—2010 年左右发生了变化,当时出现了几个很简单但很重要的算法改进,可以实现更好的梯度传播。

  1. 更好的神经层激活函数(activation function)。
  2. 更好的权重初始化方案(weight-initialization scheme),一开始使用逐层预训练的方法,不过这种方法很快就被放弃了。
  3. 更好的优化方案(optimization scheme),比如 RMSProp 和 Adam。

只有这些改进可以训练 10 层以上的模型时,深度学习才开始大放异彩。

最后,在 2014 年、2015 年和 2016 年,人们发现了更先进的有助于梯度传播的方法,比如批标准化、残差连接和深度可分离卷积。今天,我们可以从头开始训练上千层的模型。

参考

书籍<<Python深度学习 >>

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 深度学习的优势
  • 为什么是深度学习,为什么是现在
    • 硬件
      • 数据集和基准
        • 算法上的改进
        • 参考
        相关产品与服务
        语音识别
        腾讯云语音识别(Automatic Speech Recognition,ASR)是将语音转化成文字的PaaS产品,为企业提供精准而极具性价比的识别服务。被微信、王者荣耀、腾讯视频等大量业务使用,适用于录音质检、会议实时转写、语音输入法等多个场景。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档