Py学习  »  机器学习算法

10万日本人读过的技术书,本年度最好的深度学习入门书!

图灵教育 • 5 年前 • 635 次点击  

第一次在日亚的网站上看到这本书时,完全被评论吸睛了,评论阵容大概是这样的。

......

后面五星好评更是数不胜数。看过宣传语才知道,这本书上市不到 2 年,就已经印刷 10 万册了,这个惊人的数字让我感到震惊。日本人口数量不大,但是却有这么多人读过这本书,况且它不是一本写真集,是实实在在的技术书,让我觉得很不可思议。一方面说明深度学习确实是大热,另一方面也说明这本书的内容确实有能打动大家的地方。看过评论对这本书的大致印象是,好懂、压倒性好懂、好懂得可怕!竟然有人说文科生也能看得懂,这也越发地激起了我的好奇心。被日本网友称为“神本”(即神作)的这本深度学习入门书究竟好在哪里?我们今天就来给大家展示一下。

这本书一共 285 页,不薄不厚,售价 59,纸质很好,阅读体验五颗星。全书分为 8 章内容,使用 Python 3,在尽量不依赖外部库或工具的情况下,从零创建一个深度学习模型。 

第一章,Python入门

作为全书的开篇,本章是每本书都会有的常规章节,简单介绍了 Python 以及其使用方法,如果你已经掌握了 Python、NumPy、Matplotlib 的相关知识,这章你是完全可以跳过的,直接去读后边的章节。如果你零基础入门的话,建议你从头看起,了解一下 Python 语言的相关内容。

第二章,感知机

这章会介绍到感知机 (perceptron)这一算法。感知机是由美国学者 Frank Rosenblatt 在 1957 年提出来的。为何我们现在还要学习这一很久以前就有的算法呢?因为感知机也是作为神经网络(深度学习)的起源的算法。因此,学习感知机的构造也就是学习通向神经网络和深度学习的一种重要思想。

第三章,神经网络

这一部分主要介绍神经网络相关知识,神经网络的一个重要性质是它可以自动地从数据中学习到合适的权重参数。这章中首先介绍神经网络的概要,然后重点关注神经网络进行识别时的处理。

第四章,神经网络的学习

这章的主题是神经网络的学习。这里所说的“学习”是指从训练数据中自动获取最优权重参数的过程。为了使神经网络能进行学习,将导入损失函数这一指标。而学习的目的就是以该损失函数为基准,找出能使它的值达到最小的权重参数。为了找出尽可能小的损失函数的值,作者利用了函数斜率的梯度法。

第五章,误差反向传播法

数值微分虽然简单,也容易实现,但缺点是计算上比较费时间。这章会引入一个能够高效计算权重参数的梯度的方法——误差反向传播法。正确理解误差反向传播法,我个人认为有两种方法:一种是基于数学式;另一种是基于计算图(computational graph)。前者是比较常见的方法,机器学习相关的图书中多数都是以数学式为中心展开论述的。因为这种方法严密且简洁,所以确实非常合理,但如果一上来就围绕数学式进行探讨,会忽略一些根本的东西,止步于式子的罗列。因此,这一章希望大家通过计算图,直观地理解误差反向传播法。然后,再结合实际的代码加深理解,相信大家一定会有种“原来如此!”的感觉。

第六章,与学习相关的技巧

这章会介绍神经网络学习中的一些重要观点,主题涉及寻找最优权重参数的最优化方法、权重参数的初始值、超参数的设定方法等。此外,为了应对过拟合,本章还将介绍权值衰减、Dropout 等正则化方法,并进行实现。最后将对近年来众多研究中使用的 Batch Normalization 方法进行简单的介绍。使用本章介绍的方法,可以高效地进行神经网络(深度学习)的学习,提高识别精度。

第七章,卷积神经网络

这部分的主题是卷积神经网络(Convolutional Neural Network,CNN)。CNN 被用于图像识别、语音识别等各种场合,在图像识别的比赛中,基于深度学习的方法几乎都以 CNN 为基础。这章将详细介绍 CNN 的结构,并用 Python 实现其处理内容。

第八章,深度学习

关于神经网络,我们已经学了很多东西,比如构成神经网络的各种层、学习时的有效技巧、对图像特别有效的 CNN、参数的最优化方法等,这些都是深度学习中的重要技术。基于之前介绍的网络,只需通过叠加层,就可以创建深度网络。这章会涉及深度学习的性质、课题和可能性,然后对当前的深度学习进行概括性的说明。


怎么样?相信小伙伴对这本书的内容已经有了一个大概的了解,如果想要真的入门深度学习的话,理论知识是一方面,另一方面还是要时刻动手实践起来。如果你觉得市面上的深度学习图书太深,那么强烈建议你先来入个门。

如果把这本书比作一本关于汽车的书,那么它并不会教你怎么开车,其着眼点不是汽车的驾驶方法,而是要让你理解汽车的原理。为了让你理解汽车的结构,必须打开汽车的引擎盖,把零件一个一个地拿在手里观察,并尝试操作它们。之后,用尽可能简单的形式提取汽车的本质,并组装汽车模型。通过制造汽车模型的过程,让你感受到自己可以实际制造出汽车,并在这一过程中熟悉汽车相关的技术。就是这本书的目的了。


Deep Learning from Scratch
作者:斋藤康毅
译者:陆宇杰

  • 日本深度学习入门经典畅销书,原版上市不足 2 年印刷已达 100 000 册

  • 长期位列日亚“人工智能”类图书榜首,超多五星好评

  • 使用 Python 3,尽量不依赖外部库或工具,从零创建一个深度学习模型

  • 相比 AI 圣经“花书”,本书更合适入门

本书是深度学习真正意义上的入门书,深入浅出地剖析了深度学习的原理和相关技术。书中使用 Python3,尽量不依赖外部库或工具,从基本的数学知识出发,带领读者从零创建一个经典的深度学习网络,使读者在此过程中逐步理解深度学习。

书中不仅介绍了深度学习和神经网络的概念、特征等基础知识,对误差反向传播法、卷积神经网络等也有深入讲解,此外还介绍了深度学习相关的实用技巧,自动驾驶、图像生成、强化学习等方面的应用,以及为什么加深层可以提高识别精度等“为什么”的问题。


作译者简介

斋藤康毅 (作者):东京工业大学毕业,并完成东京大学研究生院课程。现从事计算机视觉与机器学习相关的研究和开发工作。是Introducing PythonPython in PracticeThe Elements of Computing SystemsBuilding Machine Learning Systems with Python 的日文版译者。

陆宇杰(译者):众安科技 NLP 算法工程师。主要研究方向为自然语言处理及其应用,对图像识别、机器学习、深度学习等领域有密切关注。Python爱好者。



第1章 Python入门  1

1.1 Python是什么  1

1.2 Python的安装  2

1.3 Python解释器  4

1.4 Python脚本文件  9

1.5 NumPy  11

1.6 Matplotlib  16

1.7 小结  19

第2章 感知机  21

2.1 感知机是什么  21

2.2 简单逻辑电路  23

2.3 感知机的实现  25

2.4 感知机的局限性  28

2.5 多层感知机  31

2.6 从与非门到计算机  35

2.7 小结  36

第3章 神经网络 

3.1 从感知机到神经网络  37

3.2 激活函数  42

3.3 多维数组的运算  50

3.4 3层神经网络的实现  56

3.5 输出层的设计  63

3.6 手写数字识别  69

3.7 小结  79

第4章 神经网络的学习  81

4.1 从数据中学习  81

4.2 损失函数  85

4.3 数值微分  94

4.4 梯度  100

4.5 学习算法的实现  109

4.6 小结  118

第5章 误差反向传播法  121

5.1 计算图  121

5.2 链式法则  126

5.3 反向传播  130

5.4 简单层的实现  135

5.5 激活函数层的实现  139

5.6 Affine/Softmax层的实现  144

5.7 误差反向传播法的实现  154

5.8 小结  161

第6章 与学习相关的技巧  163

6.1 参数的更新  163

6.2 权重的初始值  176

6.3 Batch Normalization  184

6.4 正则化  188

6.5 超参数的验证  195

6.6 小结  200

第7章 卷积神经网络  201

7.1 整体结构  201

7.2 卷积层  202

7.3 池化层  214

7.4 卷积层和池化层的实现  216

7.5 CNN的实现  224

7.6 CNN的可视化  228

7.7 具有代表性的CNN  231

7.8 小结  233

第8章 深度学习  235

8.1 加深网络  235

8.2 深度学习的小历史  242

8.3 深度学习的高速化  248

8.4 深度学习的应用案例  253

8.5 深度学习的未来  258

8.6 小结  264

扫一扫,京东购

扫一扫,当当购

扫一扫,亚马逊购

文末福利
本期送出 5 本《深度学习入门》,小伙伴留言说说你对深度学习的理解。正在从事深度学习相关工作的小伙伴可以来给大家科普一下,你都在做什么?那还没入门的小伙伴可以说说是什么阻碍你入门深度学习?精选留言选出 5 位获得赠书。截止2018.7.30。


点击【 阅读原文】查看深度学习书单


今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/dW3wPfCvy7
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/21611
 
635 次点击