《Python 深度学习》学习记录

1,212 阅读4分钟

第一部分 深度学习基础


第一章 什么是深度学习

1.1 人工智能、机器学习与深度学习

首先,我们通过一个图明确一下人工智能、机器学习和深度学习之间的关系

image.png

1.1.1 人工智能

1.1.2 机器学习

image.png

机器学习在经典编程之外提供一种新的编程范式。经典编程的输入是数据和定义在数据上的规则,输出是基于数据和规则推导出的答案。机器学习的输入是数据和答案,通过训练数据和答案的得到一个通用规则,这些规则可以应用与新的数据并使计算机自主生产答案。

1.1.3 从数据中学习表示

机器学习的三要素:

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

1.1.4 深度学习之“深度”

深度学习是机器学习的一个分支领域:它是从数据中学习表示的一种新方法,强调从连接的层中进行学习,这些层对应于越来越有意义的表示。深度学习中的深度值的是学习模型的层数。深度学习中,这些分层几乎都是通过神经网络模型来学习得到。

image.png 可以将深度网络看作多级信息蒸馏操作,信息穿过连续的过滤器,其纯度越来越高。数据每经过一层过滤其信息熵就较少一点,数据的意义也就更加明确

1.1.5用一张图片理解深度学习的工作原理

image.png

神经网络对每层数据所做的具体操作保存在该层的权重中,每层的数据变化由其权重来参数话,因此权重也被叫做参数。一个神经网络系统往往包含上百个参数甚至更多。而神经网络的学习目标就是为了找到这些权重的正确值。然而,要找到这上百个甚至上千个参数的正确值并不是一件容易的事,要知道每一个参数的微小变化最重都将导致整个系统的其他参数发生变化。 首先我们需要找到一个合适的函数来衡量系统输出的预测值和数据对应的真实目标值之间的距离。这个函数就是神经网络中的损失函数,也叫目标函数。通过损失函数可以计算出一个损失值,这个值用来衡量该网络在这个示例上的效果好坏。 深度学习的基本技巧就是利用这个损失值作为反馈信号来对权重参数进行微调,以降低当前示例对应的损失值。这种调节由优化器来完成,它实现了反向传播算法,这也是深度学习的核心算法。 最开始神经网络的参数都是随机赋值,损失值自然也偏大。但是随着神经网络处理的数据越来越多参数也会越来越趋向正确值,损失值也将越来越小。

1.1.6 深度学习之前的机器学习

深度学习之前常用的一些模型和算法:

  • 朴素贝叶斯算法: 用于解决分类问题。
  • logistic回归算法: 虽然名字中有“回归”但实则是一个分类算法以上两个算法至今仍然很有用
  • 支持向量机
  • 决策树
  • 随机森林
  • 提度提升机 以上这些算法将会在另一本书:**《机器学习实战》**的学习笔记中详细介绍,这里就先略过。

1.1.7 本节总结

  1. 理解深度学习的一般步骤和原理
  2. 掌握深度学习中的一些基本概念如:权重、参数、损失函数、反向传播、优化器

下一章:神经网络的数学基础