市面上关于深度学习的书籍很多,本书最大的特点是理论结合实战和内容的广度。现在大家能够看到的深度学习书籍大概可以分为两类,一类只关注理论而另一类只关注应用。前者多为一些会议论文集,当然也包括 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 算法。
由于涉及的内容很广,再加上作者比较啰嗦的写作方式,所以几年下来写的内容竟然上千页。出版社的编辑说书太厚这没法出版。因此把这本书拆分成了两本:《深度学习理论与实战:基础篇》和《深度学习理论与实战:提高篇》。提高篇免费开放,供大家参考,希望对大家的工作有所帮助。如果读者在阅读提高篇有一些困难,那么建议读者可以上网(https://item.jd.com/12543405.html)购买基础篇,先学习需要的基础知识。
《深度学习理论与实战:基础篇》共包含 8 章,每章的主要内容如下:
第 1 章介绍人工智能的发展历程和机器学习的基本概念,使用通俗的语言介绍机器学习任务的分类、常见模型、损失函数和衡量指标,最后通过一个简单的线性回归示例来加深对这些概念的理解。
第 2 章介绍全连接神经网络的基本概念和反向传播算法的详细推导过程,不使用框架完全自己实现一个多层的神经网络来识别 MNIST 的手写数字。接下来介绍基本的优化技巧,包括激活函数的选择、参数的初始化、Dropout、BatchNormalization 和 Adam等学习率自适应算法。
第 3 章介绍卷积神经网络,使用卷积神经网络来解决 MNIST 和 CIFAR-10数据集的识别问题,通过 CIFAR-10 的例子介绍怎么在 TensorFlow 里使用多 GPU 训练,最后介绍残差神经网络。
第 4 章介绍循环神经网络,使用它来实现姓名分类及生成莎士比亚风格的句子,接着会介绍 Seq2Seq 模型和注意力机制,使用它们来实现英语—法语、汉语—英语的机器翻译功能。
第 5 章介绍生成对抗网络,介绍对抗训练的基本原理和 DCGAN 模型,最后使用 DCGAN 来实现人脸照片的生成。
第 6 章介绍 TensorFlow,首先介绍基本概念、优化器和数据输入输出等,然后介绍全连接神经网络和卷积神经网络等常见网络结构。因为 RNN 的复杂性,我们单独使用一节来详细介绍怎么在 TensorFlow 使用 RNN、LSTM 和 GRU。接着介绍高层的 Estimator API 和 TensorBoard,以及怎么调试 TensorFlow 代码。最后介绍模型的保存和 TensorFlowServing。
第 7 章介绍 PyTorch,通过使用不同的方法来实现三层的神经网络来重点介绍 Autograd,包括数据的加载和处理,最后是一个迁移学习的示例。
第 8 章介绍 Keras,包括卷积神经网络、残差神经网络和循环神经网络在 Keras 里的用法,最后通过简短的代码示例来演示怎么实现文本图片的分类、图片问答和视频问答。
《深度学习理论与实战:基础篇》配套的源代码网站为:
https://github.com/fancyerii/deep_learning_theory_and_practice
里面包含全部可以运行的代码,如果大家发现代码有问题也欢迎在这里提交 issue。
看到那么多干货内容
是不是迫不及待想要一睹为快?
小编这就为你奉上独家赠书福利!
转发本文到朋友圈
将截图发送至公众号后台
并在文末留言区说出
你对这本新书有哪些期待
我们将随机抽取 5 位读者
送出这本干货满满的新书
留言截止时间:7 月 24 日 12:00
🔍
现在,在「知乎」也能找到我们了
进入知乎首页搜索「PaperWeekly」
点击「关注」订阅我们的专栏吧
关于PaperWeekly
PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。如果你研究或从事 AI 领域,欢迎在公众号后台点击「交流群」,小助手将把你带入 PaperWeekly 的交流群里。
▽ 点击 | 阅读原文 | 一键购书