写在前面


开局一张图,你的清楚的认识到人工智能、机器学习、深度学习这些概念的关系,了解了之后,我们在进行接下来的讨论。

深度学习的要素

为了给出深度学习的定义并搞清楚深度学习与其他机器学习方法的区别,我们首先需要知道机器学习算法在做什么。我们有个大致的认识,给定包含预期结果的示例,机器学习将会发现执行一项数据处理任务的规则。因此,我们需要以下三个要素来进行机器学习。

  • 输入数据点。例如,你的任务是语音识别,那么这些数据点可能是记录人们说话的声音文件。如果你的任务是为图像添加标签,那么这些数据点可能是图像。
  • 预期输出的示例。对于语音识别任务来说,这些示例可能是人们根据声音文件整理生成 的文本。对于图像标记任务来说,预期输出可能是“狗”“猫”之类的标签。
  • 衡量算法效果好坏的方法。这一衡量方法是为了计算算法的当前输出与预期输出的差距。 衡量结果是一种反馈信号,用于调节算法的工作方式。这个调节步骤就是我们所说的学习。

机器学习模型将输入数据变换为有意义的输出,这是一个从已知的输入和输出示例中进行 “学习”的过程。因此,机器学习和深度学习的核心问题在于有意义地变换数据,换句话说,在于学习输入数据的有用表示(representation)——这种表示可以让数据更接近预期输出。

深度学习是啥样?

深度学习是机器学习的一个分支领域:它是从数据中学习表示的一种新方法,强调从连续的层(layer)中进行学习,这些层对应于越来越有意义的表示。“深度学习”中的“深度”指 的并不是利用这种方法所获取的更深层次的理解,而是指一系列连续的表示层。数据模型中包含多少层,这被称为模型的深度(depth)。这一领域的其他名称包括分层表示学习(layered representations learning)和层级表示学习(hierarchical representations learning)。

现代深度学习通常包含数十个甚至上百个连续的表示层,这些表示层全都是从训练数据中自动学习的。与此相反,其他机器学习方法的重点往往是仅仅学习一两层的数据表示,因此有时也被称为浅层学习(shallow learning)。看下面这张图,对深度学习有一个形象化的认识。

用三张图理解深度学习的工作原理

现在你已经知道,机器学习是将输入(比如图像)映射到目标(比如标签“猫”),这一过程是通过观察许多输入和目标的示例来完成的。你还知道,深度神经网络通过一系列简单的数据变换(层)来实现这种输入到目标的映射,而这些数据变换都是通过观察示例学习到的。下面来具体看一下这种学习过程是如何发生的。 神经网络中每层对输入数据所做的具体操作保存在该层的权重(weight)中,其本质是一 串数字。用术语来说,每层实现的变换由其权重来参数化权重有时也被称为该层的参数(parameter)。在这种语境下,学习的意思是为神经网络的所有层找到一组权重值,使得该网络能够将每个示例输入与其目标正确地一一对应。但重点来了:一个深度神经网络可能包含数千万个参数。找到所有参数的正确取值可能是一项非常艰巨的任务,特别是考虑到修改某个参数值将会影响其他所有参数的行为。下面是图例的直观描述。

想要控制一件事物,首先需要能够观察它。想要控制神经网络的输出,就需要能够衡量该输出与预期值之间的距离。这是神经网络损失函数(loss function)的任务,该函数也叫目标函数(objective function)。损失函数的输入是网络预测值与真实目标值(即你希望网络输出的结果),然后计算一个距离值,衡量该网络在这个示例上的效果好坏。下面是图例的直观描述。

深度学习的基本技巧是利用这个距离值作为反馈信号来对权重值进行微调,以降低当前示 例对应的损失值。这种调节由优化器(optimizer)来完成,它实现了所谓的反向传播(backpropagation)算法,这是深度学习的核心算法。下面是图例的直观描述。

一开始对神经网络的权重随机赋值,因此网络只是实现了一系列随机变换。其输出结果自然也和理想值相去甚远,相应地,损失值也很高。但随着网络处理的示例越来越多,权重值也 在向正确的方向逐步微调,损失值也逐渐降低。这就是训练循环(training loop),将这种循环重复足够多的次数(通常对数千个示例进行数十次迭代),得到的权重值可以使损失函数最小。具有最小损失的网络,其输出值与目标值尽可能地接近,这就是训练好的网络。再次强调,这是一个简单的机制,一旦具有足够大的规模,将会产生魔法般的效果。

用三张图理解深度学习的工作原理相关推荐

  1. 0基础怎样理解深度学习的工作原理?做个票价预测工具就懂了

    原作:Radu Raice 安妮 编译自 Medium 量子位 出品 | 公众号 QbitAI 这篇文章颇!具!人!气! 软件工程专业的学生Radu Raice近日发表了文章<Want to k ...

  2. P3 吴恩达推荐笔记:22张图总结深度学习全部知识

    吴恩达推荐笔记:22张图总结深度学习全部知识 本文简要的解释了深度学习中的基本概念,包括监督学习.逻辑回归.正则化等等. 并且,在了解了一些基本概念后,本文还对目标检测.人脸识别.自然语言处理进行了简 ...

  3. 深度学习的工作原理学习方式

    14天学习训练营导师课程: 李立宗<讲给入门者的深度学习> 工作原理 以培育水稻为例,影响水稻生长的因素包括:施肥量.灌溉量.施肥时间.插秧密度等. 想要获得影响生长因素的各项参数的最优值 ...

  4. 一文带你深入了解,什么是深度学习及其工作原理

    作者 | CraigStedman 编译 | CDA数据科学研究院 ​深度学习是机器学习(ML)和人工智能(AI)的一种,它模仿人类获取某些类型的知识的方式.深度学习是数据科学的重要元素,其中包括统计 ...

  5. 吴恩达推荐笔记:22 张图总结深度学习全部知识

    来源|Sophia@知乎 https://zhuanlan.zhihu.com/p/152362317 编辑 | 公众号极市平台 本文仅用于学术分享,如有侵权,联系后台作删文处理 最近在做笔记查阅内容 ...

  6. 三张图秒懂Redis集群设计原理

    Redis集群设计包括2部分:哈希Slot和节点主从,本篇博文通过3张图来搞明白Redis的集群设计. 节点主从: 主从设计不算什么新鲜玩意,在数据库中我们也经常用主从来做读写分离,直接上图: 图上能 ...

  7. 10张图了解UWB技术的工作原理

    关注.星标公众号,直达精彩内容 文章来源:网络 超宽带技术 (UWB) 是最佳定位跟踪技术,因为超宽带技术 (UWB) 的设计的初衷就是实现高精度测距估计,同时进行双向通信.所以 UWB 是当今最好. ...

  8. 综述:如何构建交通领域的基于图的深度学习架构

    How to Build a Graph-Based Deep Learning Architecture in Traffic Domain: A Survey 论文简介 摘要 本文贡献 相关工作 问 ...

  9. 前沿丨DeepMind提出神经元删除法:通过理解每个神经元来理解深度学习

    近日,DeepMind 发表博客介绍其对神经网络可解释性的最新研究成果.受神经科学启发,他们通过删除神经元来探索其对网络性能的影响.研究发现,和过去的经验直觉相反,选择性神经元(如「猫神经元」)对于网 ...

  10. 深入理解深度学习——图嵌入(Graph Embedding)

    分类目录:<深入理解深度学习>总目录 前面的文章介绍了由Word Embedding延伸出的Item Embedding等,这些延伸都建立在它们有序列特性的基础上.其实,可延伸的领域还有很 ...

最新文章

  1. 使用Python读写kafka
  2. UniCode 速查表
  3. java合并整形_java中2个int合并成一个long
  4. 基于DataFrame结构的词频表生成词云图
  5. 蓝牙4.0 vs 蓝牙4.1 vs 蓝牙4.2 vs 蓝牙5.0
  6. ElementUI项目请求SpringBoot后台项目时提示:Access to XMLHttpRequest at **from origin ** has been blocked by CORS
  7. iOS15仿微信详情二维码支持保存本地相册
  8. iframe懒加载_前端常见问题
  9. 推荐周立功先生的一本书
  10. 第29届IEEE IV 征稿启示
  11. 从疫情中看智慧医疗场景新应用,智慧医疗纵深发展还有哪些可能性?
  12. 有indexPath获取到cell对象
  13. cast函数 oracle 日期_从 Oracle 到 PostgreSQL ,某保险公司迁移实践
  14. 针式打印机风格英文字体_如何写得一手好看的花体英文
  15. Python解离散数学
  16. 暴力算法-BF(Brute Force)
  17. 计算电路门数和nand2的面积
  18. php批量mp3转换,flac转mp3软件,支持批量flac转mp3
  19. python怎么算积分_蒙特卡洛方法求定积分及python实现(转)
  20. Prime Number

热门文章

  1. LinkedIn 启用俄勒冈数据中心
  2. 力软 框架 转 mysql_开发框架-.Net:Learun(力软敏捷开发)
  3. 电脑模拟收银机_模拟超市的收银系统
  4. C语言易错知识点总结
  5. 固态硬盘安装记录之数据二次迁移
  6. 微电子专业深度盘点:哪所大学芯片最强?强在哪?(第3弹)
  7. 编写一个班级管理程序java_java课程设计(班级管理系统)
  8. 10个不错的免费在线翻译网站
  9. webstorm汉化怎样切回英文_webstorm 单词快捷翻译设置
  10. dev万能头文件_Dev c++ 支持bits/stdc++.h万能头文件吗