提交 46e5df5b 编写于 作者: W wizardforcel

2020-09-11 17:13:20

上级 c4fa3051
......@@ -32,7 +32,7 @@ TensorFlow 是一个开源软件库,用于实现机器学习和深度学习系
第 5 章,“深度学习”概述了深度学习算法。 直到最近几年,深度学习才收集了几年前难以想象的大量结果。 我们将展示如何实现两种基本的深度学习架构,即卷积神经网络(CNN)和循环神经网络(RNN),分别用于图像识别和语音翻译问题。
第 6 章,“GPU 编程和使用 TensorFlow”,展示了用于 *GPU* 计算的 TensorFlow 工具,并介绍了 *TensorFlow Serving*,一种高性能 针对机器学习模型的开源服务系统,该模型针对生产环境而设计,并针对 TensorFlow 进行了优化。
第 6 章,“GPU 编程和使用 TensorFlow”,展示了用于 *GPU* 计算的 TensorFlow 工具,并介绍了 *TensorFlow Serving*,一种针对机器学习模型的高性能开源服务系统,该模型针对生产环境而设计,并针对 TensorFlow 进行了优化。
# 这本书需要什么
......
......@@ -26,7 +26,7 @@
## 监督学习
监督学习是机器学习的最常见形式。 在监督学习的情况下,在*训练阶段*期间,将一组示例(训练集)作为输入提交给系统,其中,每个示例都被标记为相应的*期望输出值*。 例如,让我们考虑一个**分类问题**,其中系统必须将`N`个不同类别之一中的一些实验观察结果归因于已知的类别。 在此问题中,训练集被表示为类型为`{(X1, Y1), ....., (Xn, Yn)}`的成对序列,其中`Xi`是输入向量(*特征向量*),`Yi`代表相应输入的所需类别 向量。 大多数受监督的学习算法都有一个特征:通过最小损失函数(*成本函数*)的最小化来执行训练,该损失函数表示相对于所需输出系统的*输出误差*
监督学习是机器学习的最常见形式。 在监督学习的情况下,在*训练阶段*期间,将一组示例(训练集)作为输入提交给系统,其中,每个示例都被标记为相应的*期望输出值*。 例如,让我们考虑一个**分类问题**,其中系统必须将`N`个不同类别之一中的一些实验观察结果归因于已知的类别。 在此问题中,训练集被表示为类型为`{(X1, Y1), ....., (Xn, Yn)}`的成对序列,其中`Xi`是输入向量(*特征向量*),`Yi`代表相应输入的所需类别向量。 大多数受监督的学习算法都有一个特征:通过最小损失函数(*成本函数*)的最小化来执行训练,该损失函数表示相对于所需输出系统的*输出误差*
最常用于此类训练的成本函数计算所需输出与系统提供的输出之间的*标准差*。 训练后,在与训练集(即所谓的*验证集*)分离的一组示例中测量模型的*准确性*
......@@ -40,7 +40,7 @@
在无监督学习中,系统提供的训练示例*未使用相关所属类别标记*。 因此,该系统开发并组织数据,在其中寻找*共同特征*,然后根据其内部知识对其进行更改。
无监督学习算法特别用于*聚类问题*,其中存在许多输入示例,您不知道先验类,甚至不知道可能的类是什么,或者不知道有多少类 他们是。 当您无法使用监督学习时,这是很明显的情况,因为您不知道先验的班级数量。
无监督学习算法特别用于*聚类问题*,其中存在许多输入示例,您不知道先验类,甚至不知道可能的类是什么,或者不知道他们有多少类。 当您无法使用监督学习时,这是很明显的情况,因为您不知道先验的班级数量。
![Unsupervised learning](img/image_01_002.jpg)
......@@ -48,13 +48,13 @@
### 深度学习
深度学习技术代表了近几十年来机器学习所迈出的重要一步,它提供了许多应用程序从未见过的结果,例如图像和语音识别或**自然语言处理****NLP**)。 导致深度学习发展的原因有很多,仅在最近几十年中它才被置于机器学习领域的中心。 原因之一,也许是主要原因,可以肯定地以硬件的进步为代表,并且随着新处理器的出现,例如**图形处理单元****GPU**),它们大大减少了时间 训练网络所需的数据,将它们降低了 10 或 20 倍。另一个原因当然是训练系统所需的数据集越来越多,训练一定深度并具有高维度输入数据的架构所需的数据集。
深度学习技术代表了近几十年来机器学习所迈出的重要一步,它提供了许多应用程序从未见过的结果,例如图像和语音识别或**自然语言处理****NLP**)。 导致深度学习发展的原因有很多,仅在最近几十年中它才被置于机器学习领域的中心。 原因之一,也许是主要原因,可以肯定地以硬件的进步为代表,并且随着新处理器的出现,例如**图形处理单元****GPU**),它们大大减少了使用所需的数据训练网络的时间,将它们降低了 10 或 20 倍。另一个原因当然是训练系统所需的数据集越来越多,训练一定深度并具有高维度输入数据的架构所需的数据集。
![Deep learning](img/image_01_003.jpg)
深度学习工作流程
深度学习基于*人脑*处理信息和学习并对外部刺激做出反应的方式。 它包含在*几个表示级别*的机器学习模型中,其中更深的级别将先前级别的输出作为输入,对其进行转换并始终进行抽象。 在此假设模型中,每个级别对应于大脑皮层的不同区域:当大脑接收图像时,它将通过*边检测**形式感知*等各个阶段对其进行处理,即 *原语*表示级别到*最复杂的*。 例如,在图像分类问题中,每个块借助于*过滤操作*,以各种抽象级别逐渐提取*特征*,输入已经处理的数据。
深度学习基于*人脑*处理信息和学习并对外部刺激做出反应的方式。 它包含在*几个表示级别*的机器学习模型中,其中更深的级别将先前级别的输出作为输入,对其进行转换并始终进行抽象。 在此假设模型中,每个级别对应于大脑皮层的不同区域:当大脑接收图像时,它将通过*边检测**形式感知*等各个阶段对其进行处理,即从*原语*表示级别到*最复杂的*。 例如,在图像分类问题中,每个块借助于*过滤操作*,以各种抽象级别逐渐提取*特征*,输入已经处理的数据。
# TensorFlow –概述
......
......@@ -634,7 +634,7 @@ tf.initialize_all_variables().run()
```
为了计算 Julia 集的新值,我们将使用迭代公式`Z(n + 1) = Z(n)^2 + c`,其中初始点`c`等于虚数`0.75i`
为了计算 Julia 集的新值,我们将使用迭代公式`Z(n + 1) = Z(n)^2 + c`,其中初始点`c`等于虚数`0.75i`
```py
c = complex(0.0,0.75)
......@@ -914,7 +914,7 @@ plt.show()
# 求解偏微分方程
**偏微分方程****PDE**)是一个微分方程,涉及多个独立变量的未知函数的偏导数。 PDE 通常用于制定和解决从量子力学到金融市场等各个领域的重大物理问题。 在本节中,我们以[这里](https://www.TensorFlow.org/versions/r0.8/tutorials/pdes/index.html)为例,展示了 TensorFlow 在二维 PDE 中的使用 该解决方案可对方形池塘的表面进行建模,上面有几滴雨滴。 效果将是在池塘本身上产生二维波。 我们不会专注于问题的计算方面,因为这超出了本书的范围。 相反,我们将专注于使用 TensorFlow 定义问题。
**偏微分方程****PDE**)是一个微分方程,涉及多个独立变量的未知函数的偏导数。 PDE 通常用于制定和解决从量子力学到金融市场等各个领域的重大物理问题。 在本节中,我们以[这里](https://www.TensorFlow.org/versions/r0.8/tutorials/pdes/index.html)为例,展示了 TensorFlow 在二维 PDE 解决方案中的用法,它建模了方形池塘的表面,上面有几滴雨滴。 效果将是在池塘本身上产生二维波。 我们不会专注于问题的计算方面,因为这超出了本书的范围。 相反,我们将专注于使用 TensorFlow 定义问题。
起点是导入以下基本库:
......
......@@ -132,7 +132,7 @@ cost_function = tf.reduce_mean(tf.square(y - y_point))
梯度下降算法
我们还指出,梯度下降只是*局部函数最小值*,但它也可以用于搜索全局最小值,一旦找到了局部最小值,便会随机选择一个新的起点,然后重复 处理很多次。 如果函数的最小值的数量有限,并且尝试的次数非常多,则很有可能早晚确定全局最小值。
我们还指出,梯度下降只是*局部函数最小值*,但它也可以用于搜索全局最小值,一旦找到了局部最小值,便会随机选择一个新的起点,然后重复很多次。 如果函数的最小值的数量有限,并且尝试的次数非常多,则很有可能早晚确定全局最小值。
使用 TensorFlow,该算法的应用非常简单。 指令如下:
......@@ -270,7 +270,7 @@ with tf.Session() as session:
# MNIST 数据集
[MNIST 数据集](http://yann.lecun.com/exdb/mnist/)在机器学习领域中广泛用于培训和测试,我们将在示例中使用它 这本书。 它包含从 0 到 9 的手写数字的黑白图像。
[MNIST 数据集](http://yann.lecun.com/exdb/mnist/)在机器学习领域中广泛用于培训和测试,我们将在这本书的示例中使用它。 它包含从 0 到 9 的手写数字的黑白图像。
数据集分为两个组:60,000 个用于训练模型,另外 10,000 个用于测试模型。 将黑白的原始图像规格化以适合大小为 28×28 像素的盒子,并通过计算像素的质心来居中。 下图表示如何在 MNIST 数据集中表示数字:
......
......@@ -44,7 +44,7 @@ character --> word --> word group --> clause --> sentence --> story
因此,通过多级非线性转换,深度大约在 5 到 20 级之间,深度学习系统可以学习并实现极其复杂和复杂的功能,同时*对最小的相关细节非常敏感*,以及对输入数据无关方面的大变化非常不敏感,在对象识别的情况下,这些变化可能是:图像的背景,亮度或所表示对象的位置。
以下部分将借助 TensorFlow 说明两种重要的深度神经网络类型:**卷积神经网络****CNN**),主要针对 分类问题,然后针对**自然语言处理****NLP**)问题的**循环神经网络****RNNs**)问题。
以下部分将借助 TensorFlow 说明两种重要的深度神经网络类型:**卷积神经网络****CNN**),主要针对分类问题,然后针对**自然语言处理****NLP**)问题的**循环神经网络****RNNs**)问题。
## 卷积神经网络
......@@ -76,7 +76,7 @@ CNN 背后的概念之一是*本地连接*。 实际上,CNN 利用输入数据
本地连接的原因在于以下事实:在数组形式的数据(例如图像)中,值通常高度相关,从而形成了易于识别的不同数据组。
每个连接都学习一个权重(因此它将得到 5x5 = 25),而不是隐藏的神经元及其关联的连接会学习一个总偏差,然后我们将通过不时执行移位来将区域连接到单个神经元,如下 在以下图中:
每个连接都学习一个权重(因此它将得到 5x5 = 25),而不是隐藏的神经元及其关联的连接会学习一个总偏差,然后我们将通过不时执行移位来将区域连接到单个神经元,例如在以下图中:
![CNN architecture](img/B05474_05_04.jpg)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册