Python深度学习-U1:什么是深度学习

1. AI、ML、DL的关系

  • 人工智能(Artificial Intelligence, AI)、机器学习(Machine Learning, ML)、深度学习(Deep Learning, DL)的关系
    在这里插入图片描述
    • 人工智能(AI)的简洁定义:努力将通常由人类完成的智力任务自动化
    • 机器学习(ML)中的学习是指:寻找更好数据表示的自动搜索过程。ML系统是训练出来的,而不是明确地用程序编写出来的,机器学习是一种新的编程范式。
    • 深度学习(DL)中的深度指的并不是利用这种方法所获取的更深层次的理解, 而是指一系列连续的表示层。深度学习是从数据中学习表 示的一种数学框架。数据模型中包含多少层,这被称作模型的深度(Depth)其他的机器学习方法重点往往仅仅是学习一两层的数据表示,因此也被为浅层学习(shallow learning)
      在这里插入图片描述

2. 深度学习的工作原理

在深度学习中,这些分层表示几乎总是通过叫作神经网络(neural network)的模型来学习得到的。神经网络的结构是逐层堆叠。虽然深度学习的一些核心概念是从人们对大脑的理解中汲取部分灵感而形成的,但深度学习模型不是大脑模型。没有证据表明大脑的学习机制与现代深度学习模型所使用的相同。

神经网络中每层对输入数据所做的具体操作保存在该层的权重(weight)中,其本质是一串数字。用术语来说,每层实现的变换由其权重来参数化(parameterize,见图 1-7)。权重有时也被称为该层的参数(parameter)。在这种语境下,学习的意思是为神经网络的所有层找到一组权重值,使得该网络能够将每个示例输入与其目标正确地一一对应。但重点来了:一个深度神经网络可能包含数千万个参数。找到所有参数的正确取值可能是一项非常艰巨的任务,特别是考虑到修改某个参数值将会影响其他所有参数的行为

  • 损失函数
    神经网络损失函数(loss function)也叫目标函数(objective function)的作用:衡量神经网络的输出与预期值之间的距离,以便控制、调节参数。如下图所示,损失函数的输入是网络预测值和真实目标值,然后计算一个距离值,该距离值衡量该网络在这个示例上的效果好坏。

  • 调节过程
    最开始对神经网络的权重随机赋值,深度学习的基本技巧:利用这个距离值作为反馈信号来对权重值进行微调,以降低当前示例对应的损失值。这种调节由优化器(optimizer)来完成, 它实现了反向传播(backpropagation)算法,这是深度学习的核心算法。
    在这里插入图片描述
    多个层链接在一起组成了网络,将输入数据映射为预测值。然后损失函数将这些预测值与目标进行比较,得到损失值,用于衡量网络预 测值与预期结果的匹配程度。优化器使用这个损失值来更新网络的权重

3. 冷静、客观的对待深度学习

  • 当前深度学习已经在很多方向接近超过人类,这都是机器学习历史上非常困难的领域:

    • 图像分类
    • 语音识别
    • 手写文字转录
    • 机器翻译
    • 文本到语音的转换
    • 数字助理,eg:亚马逊 Alexa
    • 自动驾驶
    • 定向广告
    • 更好的网络搜索结果
    • 围棋上战胜人类
  • 深度学习取得了这些令人瞩目的成就,但人们对这一领域在未来十年间能够取得的成就似乎期望过高,我们尤其不应该把达到人类水平的通用智能(human-level general intelligence)的讨论太当回事

  • 当前工业界所使用的绝大部分机器学习算法都不是深度学习算法。深度学习不一定总是解决问题的正确工具:有时没有足够的数据,深度学习不适用;有时用其他算法可以更好地解决问题。

  • 近几年,人工智能研究进展很大,但进展却很少能够转化为改变世界的产品和流程。深度学习的大多数研究成果尚未得到应用,至少尚未应用到它在各行各业中能够解决的所有问题上。人工智能仍需进一步转变为我们工作、思考和生活的核心。

  • 不要相信短期的炒作,但一定要相信长期的愿景。人工智能可能需要一段时间才能充分发 挥其潜力。这一潜力的范围大到难以想象,但人工智能终将到来,它将以一种奇妙的方式改变 我们的世界。

4. 机器学习的现状

在 2016 年和 2017 年,Kaggle 上主要有两大方法:梯度提升机和深度学习。具体而言,梯度提升机用于处理结构化数据的问题,而深度学习则用于图像分类等感知问题。使用前一种方法的人几乎都使用优秀的 XGBoost 库, 它同时支持数据科学最流行的两种语言:Python 和 R。 使用深度学习的 Kaggle 参赛者则大多使用 Keras 库, 因为它易于使用, 非常灵活, 并且支持 Python。
在这里插入图片描述
要想在如今的应用机器学习中取得成功,你应该熟悉这两种技术:梯度提升机,用于浅层学习问题;深度学习,用于感知问题。用术语来说,你需要熟悉 XGBoost 和 Keras,它们是目前主宰 Kaggle 竞赛的两个库。有了本书,你已经向这个目标迈出了一大步。

与随机森林类似, 梯度提升机(gradient boosting machine) 也是将弱预测模型(通常是决策树)集成的机器学习技术。它使用了梯度提升方法,通过迭代地训练新模型来专门解决 之前模型的弱点,从而改进任何机器学习模型的效果。

5. 深度学习发展迅速的原因?

原因有两点,主要原因在于DL在很多问题上都表现出更好的性能。第二点。将特征工程完全自动化,让解决问题变得更加简单。

  • 深度学习用于计算机视觉的两个关键思想,即卷积神经网络和反向传播,在 1989 年就已经 为人们所知。 长短期记忆(LSTM,long short-term memory)算法是深度学习处理时间序列的 基础, 它在 1997 年就被开发出来了, 而且此后几乎没有发生变化。

  • 为什么是现在?

    • 三种技术力量在推动ML的进步:硬件、数据集和基准、算法上的改进。
    • 硬件上: C P U − − − > 快 350 倍 G P U − − − > 快 10 倍 T P U CPU \stackrel{快350倍}{--->} GPU \stackrel{快10倍}{--->} TPU CPU>350GPU>10TPU
    • 数据上:数据是工业革命中的煤炭,是驱动智能机器的原材料。
      • ImageNet数据集是DL兴起的催化剂
      • 维基百科是自然语言处理的关键数据集。
    • 算法上:09-10年几个很简单但很重要的原发改进,可以实现更好的梯度传播,避免梯度消失问题。
      • 更好的激活函数
      • 更好的权重初始化方案
      • 更好的优化方案,eg:RMSProp 和 Adam
  • 科学发展速度的S曲线:首先是一个快速发展时期,接着随着研究人员受到严重限制二转将稳定下来,然后进一步的改进又会逐渐增多。DL在2017年处于这条S形曲线的前半部分,在未来纪念将会取得更多进展。
    在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值