提交 463fc172 编写于 作者: W wizardforcel

2019-01-31 14:39:16

上级 5f943dd1
......@@ -49,41 +49,11 @@
* [附录 C、SVM 对偶问题](docs/C.SVM_对偶问题.md)
* [附录 D、自动微分](docs/D.自动微分.md)
## 联系方式
> 项目负责人
## 项目负责人
* [@SeanCheney](https://www.jianshu.com/u/130f76596b02): 731384963
* [@飞龙](https://github.com/wizardforcel): 562826179
* [@小瑶](https://github.com/chenyyx): 190442212
> 项目贡献者
| 标题 | 译者 | 校对 |
| --- | --- | --- |
| 前言 | [@小瑶](https://github.com/chenyyx) | [@小瑶](https://github.com/chenyyx) |
| **第一部分 机器学习基础** | - |
| 一、机器学习概览 | [@SeanCheney](https://www.jianshu.com/u/130f76596b02) | [@Lisanaaa](https://github.com/Lisanaaa) [@飞龙](https://github.com/wizardforcel) [@yanmengk](https://github.com/yanmengk) [@Liu Shangfeng](https://github.com/codershangfeng) |
| 二、一个完整的机器学习项目 | [@SeanCheney](https://www.jianshu.com/u/130f76596b02) | [@Lisanaaa](https://github.com/Lisanaaa) [@飞龙](https://github.com/wizardforcel) [@PeterHo](https://github.com/PeterHo) |
| 三、分类 | [@时间魔术师](https://github.com/hewind1992) | [@Lisanaaa](https://github.com/Lisanaaa) [@飞龙](https://github.com/wizardforcel) [@ZTFrom1994](https://github.com/ZTFrom1994) |
| 四、训练模型 | [@C-PIG](https://github.com/C-PIG) | [@PeterHo](https://github.com/PeterHo) [@飞龙](https://github.com/wizardforcel) |
| 五、支持向量机 | [@QiaoXie](https://github.com/QiaoXie) | [@飞龙](https://github.com/wizardforcel) [@PeterHo](https://github.com/PeterHo) [@yanmengk](https://github.com/yanmengk) |
| 六、决策树 | [@Lisanaaa](https://github.com/Lisanaaa) [@y3534365](https://github.com/y3534365) | [@飞龙](https://github.com/wizardforcel) |
| 七、集成学习和随机森林 | [@friedhelm739](https://github.com/friedhelm739) | [@飞龙](https://github.com/wizardforcel) [@PeterHo](https://github.com/PeterHo) [@yanmengk](https://github.com/yanmengk) |
| 八、降维 | [@loveSnowBest](https://github.com/zehuichen123) | [@飞龙](https://github.com/wizardforcel) [@PeterHo](https://github.com/PeterHo) [@yanmengk](https://github.com/yanmengk) |
| **第二部分 神经网络与深度学习** | - |
| 九、启动并运行 TensorFlow | [@akonwang](https://github.com/wangxupeng) [@WilsonQu](https://github.com/WilsonQu) | [@Lisanaaa](https://github.com/Lisanaaa) [@飞龙](https://github.com/wizardforcel) |
| 十、人工神经网络介绍 | [@akonwang](https://github.com/wangxupeng) [@friedhelm739](https://github.com/friedhelm739) | [@飞龙](https://github.com/wizardforcel) |
| 十一、训练深层神经网络 | [@akonwang](https://github.com/wangxupeng) [@飞龙](https://github.com/wizardforcel) | [@飞龙](https://github.com/wizardforcel) [@Zeyu Zhong](https://github.com/zhearing) |
| 十二、设备和服务器上的分布式 TensorFlow | [*@空白*](https://github.com/yhcheer) | [@飞龙](https://github.com/wizardforcel) |
| 十三、卷积神经网络 | [@akonwang](https://github.com/wangxupeng) [@WilsonQu](https://github.com/WilsonQu) | [@飞龙](https://github.com/wizardforcel) [@yanmengk](https://github.com/yanmengk) |
| 十四、循环神经网络 | [@akonwang](https://github.com/wangxupeng) [@alexcheen](https://github.com/alexcheen) [@飞龙](https://github.com/wizardforcel) | [@飞龙](https://github.com/wizardforcel) |
| 十五、自编码器 | [@akonwang](https://github.com/wangxupeng) | [@飞龙](https://github.com/wizardforcel) [@yanmengk](https://github.com/yanmengk) |
| 十六、强化学习 | [@friedhelm739](https://github.com/friedhelm739) | [@飞龙](https://github.com/wizardforcel) [@rickllyxu](https://github.com/rickllyxu) |
| **附录** | - | - |
| 附录 C、SVM 对偶问题 | [@rickllyxu](https://github.com/rickllyxu) |
| 附录 D、自动微分 | [@rickllyxu](https://github.com/rickllyxu) |
| 其它 | [@片刻](https://github.com/jiangzhonglian) |
* [@片刻](https://github.com/chenyyx): 529815144
## 编译
......
# 零、前言
> 译者:[@小瑶](https://github.com/chenyyx)
>
> 校对者:[@小瑶](https://github.com/chenyyx)
## 1、机器学习海啸
2006年,Geoffrey Hinton等人发表了一篇论文,展示了如何训练能够识别具有最新精度(> 98%)的手写数字的深度神经网络。他们称这种技术为“Deep Learning”。当时,深度神经网络的训练被广泛认为是不可能的,并且大多数研究人员自 20 世纪 90 年代以来就放弃了这个想法。这篇论文重新激起了科学界的兴趣,不久之后,许多新发表的论文表明,深度学习不仅是可能的,而且能够取得其他的 Machine Learning 技术都难以匹配的令人兴奋的成就(借助巨大的计算能力和大量的数据)。这种热情很快扩展到机器学习的许多的其他领域。
......
# 一、机器学习概览
> 译者:[@SeanCheney](https://www.jianshu.com/u/130f76596b02)
>
> 校对者:[@Lisanaaa](https://github.com/Lisanaaa)、[@飞龙](https://github.com/wizardforcel)、[@yanmengk](https://github.com/yanmengk)、[@Liu Shangfeng](https://github.com/codershangfeng)
大多数人听到“机器学习”,往往会在脑海中勾勒出一个机器人:一个可靠的管家,或是一个可怕的终结者,这取决于你问的是谁。但是机器学习并不是未来的幻想,它已经来到我们身边了。事实上,一些特定领域已经应用机器学习几十年了,比如光学字符识别 (Optical Character Recognition,OCR)。但是直到 1990 年代,第一个影响了数亿人的机器学习应用才真正成熟,它就是垃圾邮件过滤器(spam filter)。虽然并不是一个有自我意识的天网系统(Skynet),垃圾邮件过滤器从技术上是符合机器学习的(它可以很好地进行学习,用户几乎不用再标记某个邮件为垃圾邮件)。后来出现了更多的数以百计的机器学习产品,支撑了更多你经常使用的产品和功能,从推荐系统到语音识别。
机器学习的起点和终点分别是什么呢?确切的讲,机器进行学习是什么意思?如果我下载了一份维基百科的拷贝,我的电脑就真的学会了什么吗?它马上就变聪明了吗?在本章中,我们首先会澄清机器学习到底是什么,以及为什么你要使用它。
......
# 十、人工神经网络介绍
> 译者:[@akonwang](https://github.com/wangxupeng)、[@friedhelm739](https://github.com/friedhelm739)
>
> 校对者:[@飞龙](https://github.com/wizardforcel)
鸟类启发我们飞翔,牛蒡植物启发了尼龙绳,大自然也激发了许多其他发明。从逻辑上看,大脑是如何构建智能机器的灵感。这是启发人工神经网络(ANN)的关键思想。然而,尽管飞机受到鸟类的启发,但它们不必拍动翅膀。同样的,ANN 逐渐变得与他们的生物表兄弟有很大的不同。一些研究者甚至争辩说,我们应该完全放弃生物类比(例如,通过说“单位”而不是“神经元”),以免我们把我们的创造力限制在生物学的系统上。
人工神经网络是深度学习的核心。它们具有通用性、强大性和可扩展性,使得它们能够很好地解决大型和高度复杂的机器学习任务,例如分类数十亿图像(例如,谷歌图像),强大的语音识别服务(例如,苹果的 Siri),通过每天追踪数百万的用户的行为推荐最好的视频(比如 YouTube),或者通过在游戏中击败世界冠军,通过学习数百万的游戏,然后与自己对抗(DeepMind 的 AlgFaGo)。
......
# 十一、训练深层神经网络
> 译者:[@akonwang](https://github.com/wangxupeng)、[@飞龙](https://github.com/wizardforcel)
>
> 校对者:[@飞龙](https://github.com/wizardforcel)、[@ZeyuZhong](https://github.com/zhearing)
第 10 章介绍了人工神经网络,并训练了我们的第一个深度神经网络。 但它是一个非常浅的 DNN,只有两个隐藏层。 如果你需要解决非常复杂的问题,例如检测高分辨率图像中的数百种类型的对象,该怎么办? 你可能需要训练更深的 DNN,也许有 10 层,每层包含数百个神经元,通过数十万个连接来连接。 这不会是闲庭信步:
+ 首先,你将面临棘手的梯度消失问题(或相关的梯度爆炸问题),这会影响深度神经网络,并使较低层难以训练。
......
# 十二、设备和服务器上的分布式 TensorFlow
> 译者:[@空白](https://github.com/yhcheer)
>
> 校对者:[@飞龙](https://github.com/wizardforcel)
在第 11 章,我们讨论了几种可以明显加速训练的技术:更好的权重初始化,批量标准化,复杂的优化器等等。 但是,即使采用了所有这些技术,在具有单个 CPU 的单台机器上训练大型神经网络可能需要几天甚至几周的时间。
在本章中,我们将看到如何使用 TensorFlow 在多个设备(CPU 和 GPU)上分配计算并将它们并行运行(参见图 12-1)。 首先,我们会先在一台机器上的多个设备上分配计算,然后在多台机器上的多个设备上分配计算。
......
# 十三、卷积神经网络
> 译者:[@akonwang](https://github.com/wangxupeng)、[@WilsonQu](https://github.com/WilsonQu)
>
> 校对者:[@飞龙](https://github.com/wizardforcel)、[@yanmengk](https://github.com/yanmengk)
​尽管 IBM 的深蓝超级计算机在1996年击败了国际象棋世界冠军 Garry Kasparvo,直到近几年计算机都不能可靠地完成一些看起来较为复杂的任务,比如判别照片中是否有狗以及识别语音。为什么这些任务对于人类而言如此简单?答案在于感知主要发生在我们意识领域之外,在我们大脑中的专门视觉,听觉和其他感官模块内。当感官信息达到我们的意识时,它已经被装饰了高级特征;例如,当你看着一只可爱的小狗的照片时,你不能选择不看这只小狗,或不注意它的可爱。你也不能解释你如何认出这是一只可爱的小狗,这对你来说很明显。因此,我们不能相信我们的主观经验:感知并不是微不足道的,理解它我们必须看看感官模块是如何工作的。
​卷积神经网络(CNN)是从大脑视觉皮层的研究中出现的,自 20 世纪 80 年代以来它们一直用于图像识别。在过去的几年里,由于计算能力的增加,可用训练数据的数量以及第 11 章介绍的训练深度网络的技巧,CNN 致力于在某些复杂的视觉任务中做出超出人类的表现。他们使图像搜索服务,自动驾驶汽车,视频自动分类系统等变得强大。此外,CNN 并不局限于视觉感知:它们在其他任务中也很成功,如语音识别或自然语言处理(NLP); 然而,我们现在将专注于视觉应用。
......
# 十四、循环神经网络
> 译者:[@akonwang](https://github.com/wangxupeng)、[@alexcheen](https://github.com/alexcheen)、[@飞龙](https://github.com/wizardforcel)
>
> 校对者:[@飞龙](https://github.com/wizardforcel)
击球手击出垒球,你会开始预测球的轨迹并立即开始奔跑。你追踪着它,不断调整你的移动步伐,最终在观众的一片雷鸣声中抓到它。无论是在听完朋友的话语还是早餐时预测咖啡的味道,你时刻在做的事就是在预测未来。在本章中,我们将讨论循环神经网络 -- 一类预测未来的网络(当然,是到目前为止)。它们可以分析时间序列数据,诸如股票价格,并告诉你什么时候买入和卖出。在自动驾驶系统中,他们可以预测行车轨迹,避免发生交通意外。更一般地说,它们可在任意长度的序列上工作,而不是截止目前我们讨论的只能在固定长度的输入上工作的网络。举个例子,它们可以把语句,文件,以及语音范本作为输入,使得它们在诸如自动翻译,语音到文本或者情感分析(例如,读取电影评论并提取评论者关于该电影的感觉)的自然语言处理系统中极为有用。
更近一步,循环神经网络的预测能力使得它们具备令人惊讶的创造力。你同样可以要求它们去预测一段旋律的下几个音符,然后随机选取这些音符的其中之一并演奏它。然后要求网络给出接下来最可能的音符,演奏它,如此周而复始。在你知道它之前,你的神经网络将创作一首诸如由谷歌 Magenta 工程所创造的《The one》的歌曲。类似的,循环神经网络可以生成语句,图像标注以及更多。目前结果还不能准确得到莎士比亚或者莫扎特的作品,但谁知道几年后他们能生成什么呢?
......
# 十五、自编码器
> 译者:[@akonwang](https://github.com/wangxupeng)
>
> 校对者:[@飞龙](https://github.com/wizardforcel)、[@yanmengk](https://github.com/yanmengk)
自编码器是能够在无监督的情况下学习输入数据的有效表示(叫做编码)的人工神经网络(即,训练集是未标记)。这些编码通常具有比输入数据低得多的维度,使得自编码器对降维有用(参见第 8 章)。更重要的是,自编码器可以作为强大的特征检测器,它们可以用于无监督的深度神经网络预训练(正如我们在第 11 章中讨论过的)。最后,他们能够随机生成与训练数据非常相似的新数据;这被称为生成模型。例如,您可以在脸部图片上训练自编码器,然后可以生成新脸部。
令人惊讶的是,自编码器只需学习将输入复制到其输出即可工作。 这听起来像是一件小事,但我们会看到以各种方式约束网络可能会让它变得相当困难。例如,您可以限制内部表示的大小,或者可以向输入添加噪声并训练网络以恢复原始输入。这些约束防止自编码器将输入直接复制到输出,这迫使它学习表示数据的有效方法。 简言之,编码是自编码器在某些限制条件下尝试学习恒等函数的副产品。
......
# 十六、强化学习
> 译者:[@friedhelm739](https://github.com/friedhelm739)
>
> 校对者:[@飞龙](https://github.com/wizardforcel)、[@rickllyxu](https://github.com/rickllyxu)
强化学习(RL)如今是机器学习的一大令人激动的领域,当然之前也是。自从 1950 年被发明出来后,它在这些年产生了一些有趣的应用,尤其是在游戏(例如 TD-Gammon,一个西洋双陆棋程序)和及其控制领域,但是从未弄出什么大新闻。直到 2013 年一个革命性的发展:来自英国的研究者发起了一项 Deepmind 项目,这个项目可以学习去玩任何从头开始的 Atari 游戏,甚至多数比人类玩的还要好,它仅使用像素作为输入而没有使用游戏规则的任何先验知识。这是一系列令人惊叹的壮举中的第一个,并在 2016 年 3 月以他们的系统阿尔法狗战胜了世界围棋冠军李世石而告终。从未有程序能勉强打败这个游戏的大师,更不用说世界冠军了。今天,RL 的整个领域正在沸腾着新的想法,其都具有广泛的应用范围。DeepMind 在 2014 被谷歌以超过 5 亿美元收购。
那么他们是怎么做到的呢?事后看来,原理似乎相当简单:他们将深度学习运用到强化学习领域,结果却超越了他们最疯狂的设想。在本章中,我们将首先解释强化学习是什么,以及它擅长于什么,然后我们将介绍两个在深度强化学习领域最重要的技术:策略梯度和深度 Q 网络(DQN),包括讨论马尔可夫决策过程(MDP)。我们将使用这些技术来训练一个模型来平衡移动车上的杆子,另一个玩 Atari 游戏。同样的技术可以用于各种各样的任务,从步行机器人到自动驾驶汽车。
......
# 二、一个完整的机器学习项目
> 译者:[@SeanCheney](https://www.jianshu.com/u/130f76596b02)
>
> 校对者:[@Lisanaaa](https://github.com/Lisanaaa)、[@飞龙](https://github.com/wizardforcel)、[@PeterHo](https://github.com/PeterHo)
本章中,你会假装作为被一家地产公司刚刚雇佣的数据科学家,完整地学习一个案例项目。下面是主要步骤:
1. 项目概述。
......
# 三、分类
> 译者:[@时间魔术师](https://github.com/hewind1992)
>
> 校对者:[@Lisanaaa](https://github.com/Lisanaaa)、[@飞龙](https://github.com/wizardforcel)、[@ZTFrom1994](https://github.com/ZTFrom1994)
在第一章我们提到过最常用的监督学习任务是回归(用于预测某个值)和分类(预测某个类别)。在第二章我们探索了一个回归任务:预测房价。我们使用了多种算法,诸如线性回归,决策树,和随机森林(这个将会在后面的章节更详细地讨论)。现在我们将我们的注意力转到分类任务上。
## MNIST
......
# 四、训练模型
> 译者:[@C-PIG](https://github.com/C-PIG)
>
> 校对者:[@PeterHo](https://github.com/PeterHo)、[@飞龙](https://github.com/wizardforcel)
在之前的描述中,我们通常把机器学习模型和训练算法当作黑箱子来处理。如果你实践过前几章的一些示例,你惊奇的发现你可以优化回归系统,改进数字图像的分类器,你甚至可以零基础搭建一个垃圾邮件的分类器,但是你却对它们内部的工作流程一无所知。事实上,许多场合你都不需要知道这些黑箱子的内部有什么,干了什么。
然而,如果你对其内部的工作流程有一定了解的话,当面对一个机器学习任务时候,这些理论可以帮助你快速的找到恰当的机器学习模型,合适的训练算法,以及一个好的假设集。同时,了解黑箱子内部的构成,有助于你更好地调试参数以及更有效的误差分析。本章讨论的大部分话题对于机器学习模型的理解,构建,以及神经网络(详细参考本书的第二部分)的训练都是非常重要的。
......
# 五、支持向量机
> 译者:[@QiaoXie](https://github.com/QiaoXie)
>
> 校对者:[@飞龙](https://github.com/wizardforcel)、[@PeterHo](https://github.com/PeterHo)、[@yanmengk](https://github.com/yanmengk)
支持向量机(SVM)是个非常强大并且有多种功能的机器学习模型,能够做线性或者非线性的分类,回归,甚至异常值检测。机器学习领域中最为流行的模型之一,是任何学习机器学习的人必备的工具。SVM 特别适合应用于复杂但中小规模数据集的分类问题。
本章节将阐述支持向量机的核心概念,怎么使用这个强大的模型,以及它是如何工作的。
......
......@@ -2,6 +2,10 @@
# 六、决策树
> 译者:[@Lisanaaa](https://github.com/Lisanaaa)、[@y3534365](https://github.com/y3534365)
>
> 校对者:[@飞龙](https://github.com/wizardforcel)
和支持向量机一样, 决策树是一种多功能机器学习算法, 即可以执行分类任务也可以执行回归任务, 甚至包括多输出(multioutput)任务.
它是一种功能很强大的算法,可以对很复杂的数据集进行拟合。例如,在第二章中我们对加利福尼亚住房数据集使用决策树回归模型进行训练,就很好的拟合了数据集(实际上是过拟合)。
......
# 七、集成学习和随机森林
> 译者:[@friedhelm739](https://github.com/friedhelm739)
>
> 校对者:[@飞龙](https://github.com/wizardforcel)、[@PeterHo](https://github.com/PeterHo)、[@yanmengk](https://github.com/yanmengk)
假设你去随机问很多人一个很复杂的问题,然后把它们的答案合并起来。通常情况下你会发现这个合并的答案比一个专家的答案要好。这就叫做*群体智慧*。同样的,如果你合并了一组分类器的预测(像分类或者回归),你也会得到一个比单一分类器更好的预测结果。这一组分类器就叫做集成;因此,这个技术就叫做集成学习,一个集成学习算法就叫做集成方法。
例如,你可以训练一组决策树分类器,每一个都在一个随机的训练集上。为了去做预测,你必须得到所有单一树的预测值,然后通过投票(例如第六章的练习)来预测类别。例如一种决策树的集成就叫做随机森林,它除了简单之外也是现今存在的最强大的机器学习算法之一。
......
# 八、降维
> 译者:[@loveSnowBest](https://github.com/zehuichen123)
>
> 校对者:[@飞龙](https://github.com/wizardforcel)、[@PeterHo](https://github.com/PeterHo)、[@yanmengk](https://github.com/yanmengk)
很多机器学习的问题都会涉及到有着几千甚至数百万维的特征的训练实例。这不仅让训练过程变得非常缓慢,同时还很难找到一个很好的解,我们接下来就会遇到这种情况。这种问题通常被称为维数灾难(curse of dimentionality)。
幸运的是,在现实生活中我们经常可以极大的降低特征维度,将一个十分棘手的问题转变成一个可以较为容易解决的问题。例如,对于 MNIST 图片集(第 3 章中提到):图片四周边缘部分的像素几乎总是白的,因此你完全可以将这些像素从你的训练集中扔掉而不会丢失太多信息。图 7-6 向我们证实了这些像素的确对我们的分类任务是完全不重要的。同时,两个相邻的像素往往是高度相关的:如果你想要将他们合并成一个像素(比如取这两个像素点的平均值)你并不会丢失很多信息。
......
# 九、启动并运行 TensorFlow
> 译者:[@akonwang](https://github.com/wangxupeng)、[@WilsonQu](https://github.com/WilsonQu)
>
> 校对者:[@Lisanaaa](https://github.com/Lisanaaa)、[@飞龙](https://github.com/wizardforcel)
TensorFlow 是一款用于数值计算的强大的开源软件库,特别适用于大规模机器学习的微调。 它的基本原理很简单:首先在 Python 中定义要执行的计算图(例如图 9-1),然后 TensorFlow 使用该图并使用优化的 C++ 代码高效运行该图。
![](../images/chapter_9/9-1.png)
......
# 附录 C、SVM 对偶问题
> 译者:[@rickllyxu](https://github.com/rickllyxu)
为了理解对偶性,你首先得理解拉格朗日乘子法。它基本思想是将一个有约束优化问题转化为一个无约束优化问题,其方法是将约束条件移动到目标函数中去。让我们看一个简单的例子,例如要找到合适的 ![x](../images/tex-9dd4e461268c8034f5c8564e155c67a6.gif) 和 ![y](../images/tex-415290769594460e2e485922904f345d.gif) 使得函数 ![f(x, y) = x^2 + 2y](../images/tex-ec2b11c28f337d90d1a55c83bd738475.gif) 最小化,且其约束条件是一个等式约束:![3x + 2y + 1 = 0](../images/tex-08bc7e7224cfe0e39e04b69d4ed96298.gif)。使用拉格朗日乘子法,我们首先定义一个函数,称为**拉格朗日函数**:![g(x, y, \alpha) = f(x, y) - \alpha(3x + 2y + 1)](../images/tex-e78acaa101dc94594e813eab3f01f428.gif)。每个约束条件(在这个例子中只有一个)与新的变量(称为拉格朗日乘数)相乘,作为原目标函数的减数。
Joseph-Louis Lagrange 大牛证明了如果 ![(\bar{x}, \bar{y})](../images/tex-fe85b05b6cd2641c29612bc75a270208.gif) 是原约束优化问题的解,那么一定存在一个 ![\bar{\alpha}](../images/tex-d9c29791dd3b792c7702ed2b7cf5ac40.gif),使得 ![(\bar{x}, \bar{y}, \bar{\alpha})](../images/tex-ac2d6cc9cbad11acc20ba9f6dd0ef830.gif) 是拉格朗日函数的驻点(驻点指的是,在该点处,该函数所有的偏导数均为 0)。换句话说,我们可以计算拉格朗日函数 ![g(x, y, \alpha) ](../images/tex-c663f5d534674fc3f1b13074c6ae467b.gif) 关于 ![x, y](../images/tex-2317793a8de61ab32c0f17adff9ea8d4.gif) 以及 ![\alpha](../images/tex-7b7f9dbfea05c83784f8b85149852f08.gif) 的偏导数;然后我们可以找到那些偏导数均为 0 的驻点;最后原约束优化问题的解(如果存在)一定在这些驻点里面。
......
# 附录 D、自动微分
> 译者:[@rickllyxu](https://github.com/rickllyxu)
这个附录解释了 TensorFlow 的自动微分功能是如何工作的,以及它与其他解决方案的对比。
假定你定义了函数 ![f(x, y) = x^2y + y + 2](../images/tex-162751afe7e0aa904426973dbac3654e.gif),需要得到它的偏导数 ![\frac{\partial f}{\partial x}](../images/tex-f6e0346d1d3410b0fbe32b41b85999aa.gif) 和 ![\frac{\partial f}{\partial y}](../images/tex-408378e8bc55170258126d10000c53d9.gif),以用于梯度下降或者其他优化算法。你的可选方案有手动微分法,符号微分法,数值微分法,前向自动微分,和反向自动微分。TensorFlow 实现的反向自动微分法。我们来看看每种方案。
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册