豆瓣9.5,它不是教材,却比市面上绝大多数教材讲得更清楚!

22 阅读7分钟

最近抽出几天时间,把《深度学习入门:基于Python的理论与实现》看完了。很多人习惯叫它“鱼书”,之前总是看到有人推荐这本书,说它适合入门、特别通俗,但我一直没翻!现在看完才发现,确实,它很适合像我这样,已经掌握了一些 Python 基础,但对深度学习一知半解、甚至有点怕的“门外汉”。

这本书是我朋友推荐我的。他知道我之前啃《西瓜书》和《花书》啃到脑壳疼,建议我先别硬上高阶理论,换本轻一点、能跑起来代码的试试看。

我一开始也半信半疑,觉得“简单的书会不会太水”,但读了之后发现,“鱼书”并不是“简化了就粗糙”,它是在不堆公式、不炫难度的前提下,把深度学习里那些容易让人卡壳的概念讲得特别顺,尤其是通过代码一步步推进的方式,看得懂也能跟得上,给了我一种“我也能学会”的信心。

全书只有 8 章,我花了四天时间,每天一点点推进,居然读得毫无压力。


这本书到底哪里打动了我?

1 理论不重,细节不少,代码能跑

这本书不是一股脑儿的堆公式,而是先告诉你“这玩意儿是干啥的”,再讲“它是怎么实现的”,最后“你也来试试”。以“手写数字识别”这个项目为主线,一步步引出神经网络中最常见的结构和操作,比如感知机、激活函数、误差反向传播、权重初始化等。通过逐步讲解新的技术,并不断更新迭代程序。

最开始我只是照着读代码,没怎么亲手去写。但终于,在第 4、5 章的时候,迎来了自己动手的时候。 

这两章的程序都是两层结构的网络,我尝试改成三层、四层,或是更换激活函数、调整各层的神经元数量,第 5 章没有图形显示我还自己给加上了。

通过这些简单的修改,我不仅学会了如何使用 numpy 和 matplotlib,也收获了不少乐趣。(特别是第 3 章用 matplotlib 成功显示 MNIST 数据时,非常开心——视觉相关的内容真的很让人感动。)

作者特意留下了一些可以手动改动、添加内容的“余地”。

我也终于理解了,所谓学习,就是观察梯度,调整参数以减少损失;从一个广阔的初始空间出发,通过训练找到合适的参数。

虽然书中不可能涵盖所有找到参数的方法,但它所讲的内容已经非常清晰,让我终于“看见”了神经网络。

这种“写出来就能看到结果”的学习方式,比单纯记公式强太多了。就好像你在搭积木,而不是在死背定理。

2 不怕数学,但也不硬塞数学

我数学不算好,尤其对矩阵运算、偏导什么的容易一脸懵。但“鱼书”并没有逼着我去死抠推导,而是用直观的方式解释核心概念。比如讲 ReLU 的时候,不讲极限和收敛,直接说:“它让神经网络在 0 以下的区域不响应,这有助于解决梯度消失的问题。”我当时脑袋一拍,秒懂。

对于“Xavier 初始化”这种,作者也只是告诉你“这么初始化效果更稳定”,并给出参考论文,而不是强行推公式,如果你感兴趣可以自己去补充学习。它让你觉得数学是工具,不是门槛。

3 真正用得上的例子*

这本书在第 6 章还讲了权值衰减、Dropout 等正则化方法,并进行实现。最后将对近年来众多研究中使用的 Batch Normalization 方法进行简单的介绍。 我实际试了一下,确实能看到过拟合减轻,准确率上升。这种“边学边试”的体验,成就感满满,真正把理论学以致用。

另外,第 7 章讲卷积神经网络(CNN),虽然篇幅不长,但结合前面内容阅读完全没有压力。我甚至照着它的逻辑,用 PyTorch 重写了一遍自己的 CNN,作为作业项目交了上去——别说,分还挺高的。

4 给你一个“AI工程思维”的雏形

这本书不只是教你怎么搭模型,更潜移默化地教你一种思维方式——比如如何看待模型效果、怎样调试参数、什么时候该简化模型、什么时候又该使用更复杂的结构。这种“不是为了考试,而是为了做事”的视角,是我从其他教材里很少感受到的。

“鱼书”并不是某种终极教程,它没有把每个知识点都讲到极致,但它就像一位耐心的朋友,用简洁的语言、好理解的例子、可运行的代码,带你真正跨过了深度学习的门槛。

读完它,你会对神经网络的整体结构有个清晰认识,也能跑出一个简单的模型,这种“搭得起来、跑得动”的实感,是任何入门者最需要的鼓励。

对我来说,《深度学习入门》是一次非常舒服的学习体验。它不仅让我弄懂了过去总觉得“好遥远”的 AI 技术,也让我发现,原来我也可以写一个能识别手写数字的小模型,原来我也可以继续学下去。

如果你也对 AI 感兴趣,想找一本不劝退、能起步的好书,这本“鱼书”值得你安静读完。👇

图片

《深度学习入门:基于Python的理论与实现》

斋藤康毅 | 著

陆宇杰 | 译

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

作译者简介

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

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

“鱼书”同系列其他图书

图片

《深度学习入门2:自制框架》

[日]斋藤康毅 | 著

郑明智 | 译

豆瓣评分 9.6,深度学习鱼书姊妹篇,这套书做到了真正意义上的“入门”!书中没有使用内容不明的黑盒,而是从我们能理解的最基础的知识出发,一步一步地实现最先进的深度学习技术。

图片

《深度学习进阶:自然语言处理》

[日]斋藤康毅 | 著

陆宇杰 | 译

豆瓣评分 9.7 ,“鱼书”系列第 3 部,带你快速直达自然语言处理领域!本书内容精炼,聚焦深度学习视角下的自然语言处理,延续前作的行文风格,采用通俗的语言和大量直观的示意图详细讲解,帮助读者加深对深度学习技术的理解,轻松入门自然语言处理。

图片

《深度学习入门4:强化学习》

斋藤康毅 | 著

郑明智 | 译

豆瓣评分 9.5,深受读者喜爱的“鱼书”系列第四弹,深度学习入门经典,从零开始掌握强化学习。沿袭“鱼书”系列风格,提供实际代码,边实践边学习,无须依赖外部库,从零开始实现支撑强化学习的基础技术。