《深度学习轻松学:核心算法与视觉实践》介绍了深度学习基本算法和视觉领域的应用实例。书中以轻松直白的语言,生动详细地介绍了深层模型相关的基础知识,并深入剖析了算法的原理与本质。同时,书中还配有大量案例与源码,帮助读者切实体会深度学习的核心思想和精妙之处。除此之外,书中还介绍了深度学习在视觉领域的应用,从原理层面揭示其思路思想,帮助读者在此领域中夯实技术基础。
《深度学习轻松学:核心算法与视觉实践》十分适合对深度学习感兴趣,希望对深层模型有较深入了解的读者阅读。
深入剖析卷积神经网络核心:全连接层和卷积层
深入分析Caffe源码实现架构,了解框架背后的运行机理
详尽介绍网络结构与训练细节,解密复杂运算的基本原理
经典实践场景:图像语意分割,图像生成。GAN模型的详细分析与推导
样例代码采用C++和Python两种语言编写
语言轻松幽默易于理解,特别适合初学者快速掌握深度学习核心思想
从你拿起这本书的那一刻开始,我就和你一起踏上了这段有关深度学习的冒险之旅。本书中有简单直白的叙述,也有复杂冗长的证明;有调皮的调侃,也有深刻的沉思。所有的一切,都是为了帮助你更轻松地对深度学习有更多了解、更多感悟。
本书的前身是我在知乎上的《无痛的机器学习》专栏(https://zhuanlan.zhihu.com/hsmyy)。作为在路上前进的一枚“小白”,我一直有写读书笔记的习惯。早期,我会把笔记写在阅读的文献上,在这些篇章的关键处做标记、写好注释。时间一长,当我想再读这些曾经阅读过的文献时,那些注释竟然变得莫名其妙起来。当初难以理解的概念又回到难以理解的状态,于是我不得不再次阅读原文,重新获得其中的感悟,这样周而复始,一次次在这个循环中打转。
后来,我选择彻底甩掉曾经阅读过的文献——既然它给我带来了那么多痛苦,为什么每次回顾时还要与它相对?于是我开始尝试将文献的所有内容重新组织成一篇短小的文章,文章中列出文献中的关键内容。这种文章简明扼要、直击重点,看着很清爽,可以帮助我快速回顾阅读的内容,又不用再回到原文,所以这种方法很快就替代了以前的那种方法。
再后来,我发现了新的问题。虽然我摆脱了晦涩的论文内容,但摆脱不了自己重述的文字。尤其是这些浓缩后的“精华”文字,理解起来并不比原始文献强多少,而且由于缺少很多细节,一旦遇到理解困难的状况,我不得不回到原文搜寻答案,于是这样的痛苦又得经历一次。
这时,我想起了父亲曾对我的教导:“书要先读厚,然后再读薄”。所谓的读厚,就是给阅读的书增加更多的内容,例如注释、自己的理解等。当自己能完全掌握书中的内容时,再将书中的细枝末节慢慢砍掉,将主体思想保留在心中,这就是读薄的过程。这样就完成了对一本书的深入阅读,其中读薄的过程和《倚天屠龙记》中张三丰教授张无忌太极拳剑的过程很相似。如果站在信息论的角度看,所谓的“重意不重形”,可以看作保证低频信息的正确性,依概率分布生成高频信息的一种“招式”生成模式。能达到这等境界,方可谓之大成。
对我来说,面对潮水般涌来的深度学习知识,想淡定从容应对是不可能的。也就是说,一开始就把书读薄是不可能的。所以,浓缩版的总结文章也慢慢被我否定了。那么只剩下一个选择了,就是把书读厚,把文章写得拖沓冗长一些。于是我开始尝试用拖沓但细致的语言做文献的总结,经过一次次地尝试,文章的易读性确实有了明显提升,因为文章描述不清楚而回看原文的次数也越来越少。与此同时,我发现写作这个过程让我对问题有了更深入的理解。
拖沓式写法通过写作驱动,更容易发现知识点与知识点之间的沟壑。要想详细描述自己阅读的内容,就得确定文章中的逻辑自己是否真的明白了。有时探究这些逻辑所花费的时间远比自己想象得长,但是它确实让我感受到了进步与成长。
渐渐地,拖沓式文章越写越多,我也逐渐将其中一些文章公开,希望能够与大家分享:希望大家能和我对同一个问题产生共鸣,同时也可以在阅读中指出文章中的错误。
不到一年,我见证了我写的文章被越来越多的人关注、讨论,在交流的过程中我收获了又一次成长。
在完成了几十篇文章后,本书的编辑郑柳洁女士联系到我,问我是否有兴趣将这些文章集结,变成一本出版印刷的书。在此之前我并没有仔细想过这件事儿,但是她的建议让我觉得这也许是又一次证明自己、使自己成长的机会,而且出版书籍在我心中也是一件神圣的事儿,于是我接受了这个建议,开始了整理书稿的工作。
整理书稿并没有想象中那么简单。网上的文章都是单独出现的,而书中的文章需要有一定的整体性;网上的文章可以用比较随意的语言叙述,而书中的语言需要尽量正式、客观。这些挑战使我修改了放在网络上的很多文字,为了确保表达清晰准确、语言通顺流畅,有些文章基本被重新写了一遍。整理这些文章花费了很多业余时间,但功夫不负有心人,这项工作被一点点地完成了。
本书主要介绍了深度学习,尤其是卷积神经网络相关的基础知识,以及计算机视觉的部分应用内容。书中既包含深度学习中的基础知识,也包含部分进阶内容,同时也包含一些较新颖的概念与模型,适合不同人群阅读。对初学者来说,本书十分详细地介绍了很多基本概念,对自学入门深度学习很有帮助;对有一定经验的从业人员来说,本书可以梳理领域内的知识点,也可以作为工具书使用。
本书中的示例代码由C++ 和Python 两种语言实现,读者只要对两种语言有基本的了解即可。本书主要使用了Caffe 这个第三方开源框架,在此向Caffe 的作者表示感谢。
现在有很多优秀的开源框架,这些框架各有优劣,但本质上有很多共性。对没有使用过Caffe 的读者来说,阅读本书时不会有大的困扰。
最后聊聊本书的书名。最初想使用“无痛”这个词,无奈这个词太容易引发联想,不适合作为一本严肃的出版物的书名。“学习”这个词自古以来就不是轻松的代名词。“学习”的“习”字曾写作“習”,意思为鸟类挥动翅膀一次次试飞,其中暗含了反复练习的过程;在日语中“学习”被写作“勉強する”,从大家能看懂的两个字就可以看出,学习中的艰辛;在韩语中“学习”又被写作“공부하다”,它前两个字的发音和“恐怖”二字很像,也许当初这个词背后的含义和恐怖有关。这样看来,东北亚的这几个国家都学习这件事都充满了敬畏之心,学习这件事是绝对不会轻松的,更不会是无痛的,经历过多年教育的读者相信也会有体会。
学习的过程充满痛苦,而这是不可避免的。我们每个人在人生的道路上都有过不断探索、不断遇到挫折,然后改进自我,完成进化的体验。就像机器学习中被训练的模型一样,不断地完成预测、找到差距、更新参数,最终达到最优。在这条自我成长的道路上,每一次的失败、每一次的努力都充满了艰辛,然而没有痛苦的积累,就不会有最终快乐的迸发。
人生苦短。虽然人生要经历许多的痛苦,但我们的目标并不是痛苦,而是走向彼岸的快乐。因此,如果能有减少痛苦的良方,大家还是愿意一试。社会的不断发展进步就是探寻减少痛苦的解药,而本书的写作目标也是希望本书能成为各位读者学习路上的解药,在减少痛苦的同时实现心中的目标。
感谢邓澍军、夏龙先生在本书内容创作期间对内容的严格审核并提出宝贵的意见和建议;感谢知乎上各位为《无痛的机器学习》专栏中系列文章指出错误、提出疑问的朋友,是你们让文章变得更严谨;由于本人才疏学浅,行文间难免有所纰漏,望各位读者多多包涵,不吝赐教。最后感谢所有关心、支持我完成这件不易的工作的亲人和朋友。我爱你们!
作者
第二行最后“这几个国家都学习这件事都充满了敬畏之心”改为“这几个国家都对学习这件事充满了敬畏之心”
“人类经过长时间的学习事件”应为“人类经过长时间的学习实践”
等式左边的向量e的共轭应该改为向量e,与等式右边一样
“它的形式和逻回归(Logistic Regeression)模型”应改为“它的形式和逻辑回归(Logistic Regeression)模型”
该页第2段最后一句话,“从这里就而且可以看出”,改为“从这里就可以看出”