提交 c7bb6d3d 编写于 作者: M muli

add preface

上级 fbfe1cba
......@@ -7,6 +7,7 @@
.. toctree::
:maxdepth: 2
preface
deep-learning-intro
how-to-use
......
# 前言
2004年高三毕业的那个暑假,我去拜访了即将加入的上海交通大学的ACM-ICPC(ACM国际大学生程序设计竞赛)队。因为在此之前只接触过一个月编程,入队预选赛也是碰巧通过,所以领队俞勇老师在我走前给了一本《算法导论》让我好好读一读。开学后他问我读得怎么样,我甚是得意的说,感觉挺容易,一个月不到就看完了。其实也没完全说大话,我高中参加过数学竞赛,习惯了绕脑筋的数学踢后再来读逻辑更为简单的算法题确实感觉很顺畅。俞老师很惊讶:那好啊,参加队内比赛吧。
事实上是,了解一个算法只是第一步,不通过大量的练习很难在短时间内正确将它实现出来。这跟数学很是不同。因为数学的主要困难在解题,而将解写下来则容易很多。所以很长时间里我在队内比赛都是垫底。虽然算法都懂,但老是调不出代码的异常。
2006年夏天我进入吕宝粮老师实验室,研究方向是通过机器学习来从人的脑电波里进行识别思维信号。我是通过自学《模式识别和机器学习》和《统计学习基础》来入门。我对这两本书深深着迷,很长时间内都醉心于对书中的公式进行反复推倒。之后又着迷于读各类论文。结果到2008年临近本科毕业才觉得理论够了,可以开始动手做实验来写论文了。可惜的是,即使有很多想法和理论,但就是调不出所要的模型精度。直到两年后才终于上了路如何做实验。
从这两个经历中我学到重要一点:计算机科学是动手的学科,没有足够的动手能力难以取得很好的成果。可以不确切打个这样的比喻:如果算法能力对应一台机器的内存大小,动手能力则是机器的CPU的频率。内存决定了能跑多么复杂的程序,CPU则决定你能多块的完成它。两者都不能缺。
吸取了这个教训后,在后面博士期间似乎要顺利许多。为了研究能有效处理大量训练样本的机器学习算法,我选择了分布式系统作为博士研究方向之一;为了更好了解深度学习,我参与了Apache MXNet项目的开发。通过大量的实践,不仅保证稳定的产出,同时也启发了很多新的思路。
博士毕业后加入了亚马逊云计算部门,旨在让更多的人能更容易的使用深度学习。在这两年中我接触了很多年轻的学生和工程师,他们渴望了解深度学习并希望将它应用各自的工作和研究中去。当我被问到如何开始学习的时候,我发现当时所知道的教材要么过于学院派(例如关注数学上的算法描述)要么过于实践派(例如介绍某个深度学习框架如何使用),而我理想中的教材是能很好的权衡算法和实践。
在2017年9月的某个晚上,我突然萌发了我来动手做一个的冲动。开始的时候,我是将Zack给Apache MXNet写的教程修改了后翻译成中文,然后每周在将门创投的直播间给大家讲一讲。每一讲一般覆盖几个算法,对每个算法先讲原理然后演示实现。很快Zack的内容用光了,就只能自己动手写新的内容。幸运的是随后Aston加入了这个项目并接手了后半部。这个每周的讲课持续了5个月,期间近3千名同学参与了讨论,贡近5千多有价值的讨论。特别是其中几个参加比赛实战的练习很受欢迎。
这个课程的受欢迎程度出乎我们的意料。我们想也许更多的人会对这个结合算法和实现的教程感兴趣。于是我们在之后花了7个月几乎重写了每一个小节,希望能将准确性和易读性再提上一个台阶。所有的材料我们一直都放在网上,允许大家随意下载和传播。同时我们也觉得出版成纸质书能让更多人来知道它,所以我们联系了人民邮电出版社来帮忙出版。正如我的初衷是想让更多的人能更容易的使用深度学习,我们作者不收取出版稿费,从而可以让大家以较低的价格购买本书。
诚然,我们水平有限,同时也是尽量利用工作空余时间写作,难免有很多疏忽的地方。还请大家原谅,并希望能通过每一节后面的二维化向我们反映问题。
最后,衷心希望本书能对你的深度学习之旅有所帮助。附上陆游的一句诗作为勉励:
> 纸上得来终觉浅,绝知此事要躬行。
李沐(2018年9月)
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册