深度学习理论与实战:基础篇

Posted by lili on July 5, 2019

目前在京东有售,相关代码和补充材料可以点击《深度学习理论与实战:基础篇》代码

本书是《深度学习理论与实战:提高篇》的姊妹篇,如果零基础的读者建议先阅读基础篇后再阅读提高篇。 drawing

16年9月的时候我在CSDN发了一些深度学习的文章,主要是面向没有太多经验的开发者。达文读了后觉得我的文章比较通俗易懂,邀请我写一本书,当时头脑一热就答应下来。虽然现在出版的书籍汗牛充栋,但是对我来说著书立言始终是一件非常严肃和重大的事情。立德、立功、立言乃儒家的三不朽,可见古人对于其重视。我的这本书只是关于深度学习的技术类书籍,远远谈不上立言,但是总归会有一些读者的,因此我希望这本书至少对读者有一些帮助,而不是误人子弟。从开始写下第一个字到现在,前后跨越四年历时两年半。一方面是因为工作忙没有太多时间,但更重要的原因是我希望把它写得更好一点。写书的过程也是学习的过程,书中的每一篇论文每一行代码,作者都要求自己完全读懂,不懂的内容绝对不放到书里面。当然由于个人水平有限,肯定还是会有很多理解的偏差和疏漏,敬请读者不吝指教。

市面上关于深度学习的书籍很多,本书最大的特点是理论结合实战和内容的广度。现在大家能够看到的深度学习书籍大概可以分为两类,一类只关注理论而另一类只关注应用。前者多为一些会议论文集,当然也包括Ian Goodfellow和Yoshua Bengio等人的Deep Learning。这类书籍的读者是专业的研究者和相关专业的学生,它更多的是关注基础理论和最新的前沿进展。这类书籍通常比较难懂,而且读完之后仍然不知道怎么动手解决问题。而另外一类书籍更关注应用,多为框架工具的介绍,偶尔提及一些理论也是点到而止,在读者看来各种算法只是一个黑盒子,虽然能跑起来,但是知其然不知其所以然,不知道怎么调优,碰到问题时更加不知道怎么解决。本书的目标是使用通俗易懂的语言来介绍基础理论和最新的进展,同时也介绍代码的实现。通过理论与实践的结合使读者更加深入的理解理论知识,同时也把理论知识用于指导实践。因此本书的一大特点就是每介绍完一个模型都会介绍它的实现,读者阅读完一个模型的介绍之后就可以运行、阅读和修改一下这些代码,从而可以更加深刻的理解理论知识。

本书第二个比较大的特点就是内容的广度,本书覆盖听觉、视觉、语言和强化学习四大领域。从章节的命名读者也可以看到作者的”野心”,本书覆盖了深度学习的大部分常见应用方向。市面上的书大部分只介绍视觉和语言的内容,而且一般也只限于CNN用于简单的图像分类或者RNN、seq2seq模型在NLP中的应用。本书的视觉部分除了介绍CNN以及最新的ResNet和Inception模型之外,还介绍了用于目标检测的R-CNN、Fast R-CNN、Faster R-CNN模型;用于实例分割的Mask R-CNN模型;用于人脸识别的FaceNet;还包括Neural Style Transfer和GAN(包括DCGAN和Cycle GAN)。语言部分除了很多书都有的RNN/LSTM/GRU等基础模型,用于机器翻译、chatbot的seq2seq模型和Attention机制之外还包括最新的ELMo、OpenAI GPT和BERT等模型,此外本书还介绍了NLP的很多经典任务,包括语言模型、词性标注、成分句法分析、依存句法分析和机器翻译。除了介绍深度学习的解决方案之外也会介绍传统的基于统计机器学习的方法,让读者能够了解这个领域的发展过程。而听觉和强化学习是目前市面上大部分书都很少提及的内容。大家都知道2012年AlexNet在视觉领域的突破,但是深度学习最早的突破其实发生在语音识别方向。本书会详细介绍经典的基于HMM-GMM的语音识别系统,包括基于WFST的解码器和Kaldi的用法。接着会介绍HMM-DNN系统,然后到最新的End-to-End的语音识别系统,主要会介绍CTC模型,包括CTC用于验证码识别的示例和DeepSpeech系统。最后会介绍使用CNN实现简单的语音关键词识别,这个简单的例子在智能设备上会非常有用。国内关于强化学习的书籍不多,因此本书首先用一章的篇幅介绍强化学习的基本概念,包括MDP、动态规划、蒙特卡罗方法、TD学习和Policy Gradient。接着会介绍DQN、基于深度学习的Policy Gradient算法,最后是介绍AlphaGo、AlphaGo Zero和Alpha Zero算法。

当然由于时间和作者的水平所限,这些领域都遗漏了很多内容,比如听觉只包括了语音识别,但是没有语音合成、Music等;深度强化学习也没有最新的Imitation Learning、Inverse Reinforcement Learning和Meta Learning等内容。但是读者在了解了本书的基本概念和基本模型之后,要学习更新的内容也会比较容易,作者以后有时间和精力也会持续更新这些内容。

最后还包含一章哲学的内容,主要是作者对于人工智能是否可以实现的一些个人观点。本书的大部分内容都是来自别人的知识,最多是加上了我自己的一些理解。如果要在这本书里寻找一点“原创性”内容的话,最有可能就是在这一章了。里面有很多荒诞无稽的观点,但是读者不妨在饭后茶余当成消遣的文章看看也并无太大坏处,看后有什么想法也可以在后面留言和作者交流。

本书的内容参考了很多论文、书籍以及开源代码,感谢他们的工作!作者会尽量在文章加入相关链接,如果原作者认为有版权问题,请联系作者。

由于涉及的内容很广,我把全部内容拆分为基础篇和提高篇,提高篇可以免费阅读

drawing