1.1 如何阅读本书
本书是一本有关深度学习的入门实战教程,目的在于尽可能以一种轻松的方式,讲解一些深度学习核心的技术,关键的思想,以及常用的技巧方法。需要注意的是,深度学习充斥着大量的数学公式,大多数人可能会望而生畏,看着公式就头痛欲裂。但数学只是工具,数学公式只是简化我们的描述,我们更应该做的是深入理解这些公式背后的哲学内涵。本书同样会列出很多的公式,但请读者们不要在意所谓的公式,应该多去看一些文字性描述,理顺公式的每一次演变,公式是帮助你快速的记忆,并不是你的负担。也许,对于大多数读者,看懂各种算法,了解各种思想,但编写程序还是无从下手,本书将使用IPython Notebook进行模块化编程练习,我们会一步一步地动手实践,希望能帮助你从理论走向实践,并从实践中加深对理论知识的进一步理解。
深度学习能够火爆的最主要原因是大数据的到来,以及运算能力的大大提高,针对GPU编程的Theano,TensorFlow,Torch等深度学习库,都是非常好的学习资源,如果你想从事深度学习研究,则应该至少掌握一种以上的深度学习库。但本书的目的在于让你不那么头痛欲裂地跨入深度学习领域,本书并不是一本深度学习平台指导用书。在本书的最后一章,我们会教你如何搭建TensorFlow深度学习库,帮助你铺垫更广阔的知识世界。我们希望能给你一个小板凳,然后你可以站上去,希望你拥有瞭望远方的喜悦,希望你能享受在微风中的呼吸。因此,如果你有些惧怕数学公式或编程能力相对较弱,这些都没关系。最重要的是你憧憬着深度学习,相信集体的力量,渴望着人工智能,同时也不太在意一些稍显不严谨的语言,那或许这是一本属于你的书。需要注意的是,本书作为入门书籍,只会重点介绍深度学习在实际应用中的技术及方法,深度学习的一些高级研究主题,如自动编码器(Autoencoder)[4],受限玻尔兹曼机(RBM)[5]等非监督学习研究主题并不涉及。但这些主题是深度学习的研究重点,对于有志从事深度学习研究的专业人员而言,这些主题才是更广阔的世界。
每章我们都会分为两个部分,第一部分介绍该章节的深度学习技术,第二部分进行编程练习,在每章的末尾,我们给出了参考代码,希望在你想要放弃时给你点帮助。本书的知识内容主要参考于Ian Goodfellow,Yoshua Bengio,Aaron Courville所著的Deep Learning以及斯坦福大学的CS231公开课,你也可以将本书作为学习这些书的铺垫。