为什么要写这本书
2012年年中,我开始关注深度学习这一领域,当时正好是深度学习浪潮开始爆发的时间,我感到非常幸运的是能在一个对的时间进入该领域,当时的自己也是在不断的试错中学习这一领域的知识。一直以来我都非常希望人工智能能够得到真正的发展,希望技术能够辅助人类解决各种问题,而且人工智能同时又是一门非常有意思的学科,所以我选择了长期投入深度学习这一领域,希望自己也能有所成,但是真正进入这一领域学习的时候才发现想要学好并不是那么顺利。
我在学习深度学习技术的过程中经历了很多困难,遇到了很多“陷阱”,一路走来跌跌撞撞,当时就想如果深度学习领域也能有相关的入门书籍,讲解深度学习的基础知识就好了,这样新手们就能够快速入手,从主干入手,避开遮住主干的枝叶,从而更快速地进入这一领域。希望本书能够为初学深度学习的程序员提供一个科普入门的指引。在经历了各种繁杂的事情之后,本书的编写也给我带来了不少快乐,使得我有机会系统地总结自己在深度学习领域获得的一些经验和教训,希望这些能给大家带来帮助。本书总结了基础层的数学公式,以及其在 Caffe中的写法,后续还列举了一些我在训练学习过程中遇到的实际问题,例如增加新的层、人脸识别、人物属性的识别等,以及对过去一些工作经验的总结。
每一种框架都有优有劣,框架不会影响最终的结果,希望大家尽量忽略框架的结构和实现,多多掌握理论部分,在实践中,不断提升自己在这一领域的实战经验和理论知识,框架只是末,理论才是本。
本书主要是针对初学者入门所编写的一本书,其实最初我也没有想过要写一本书,都是在网络上发表一些博客和文章,不断地对自己的技术和学习进行更新和总结。后来,因为一个偶然的机会,我遇到了本书的策划编辑杨绣国老师(lisa),在她的建议和鼓励下我决定写一本入门级的深度学习教程。本书以一个工程师的视角来观察深度学习技术带给我们的便利,同时我也希望更多的技术工程师能够投入这一领域,也许变革就在明天,纵观人工智能的发展历史,有高潮也有寒冬,很多技术都是经历了多次的起伏变化然后才逐渐趋于成熟,而如今人工智能正在经历第三次的高潮,也许寒冬将至,但是即便如此也并不会影响深度学习技术未来发展的大趋势,相信这一技术会变得像今天的软件开发技术一样成熟。
读者对象
根据深度学习的用户目标划分,可以总结出如下几类读者对象。
深度学习的爱好者和研究者。
深度学习实践应用工程师。
深度学习理论研究员。
对深度学习感兴趣的大学师生。
开设相关课程的大专院校。
如何阅读本书
建议读者在阅读本书时,首先对本书讲解的各个层做一个详细的了解,能够运用开源数据运行一些训练示例,学会如何使用现有的网络结构进行训练,等熟悉了训练步骤之后,再按照本书的内容自行调整网络结构。先使用一个网络,根据本书前10章的内容,分别修改和调整每一种网络层的参数,并学习相关的数学公式,本书第5章到第10章的内容可以不分先后顺序进行阅读,大家可以按照自己的喜好和需求随意选择阅读顺序。本书使用的Caffe框架是几个框架中最基础的一种,代码结构简单,很适合作为C++工程师进行深度学习的入门参考。
第11章到第14章的内容比较适合入门后的读者在实践操作中理解和应用深度学习技术,每一个系统都是一个庞大的工程,本书只是简略地介绍了需要做的事情,与深度学习关联性不大的技术,本书没有做详细介绍,因此大家需要自行查找对应的内容以进行相应的阅读。第12章的多任务是目前深度学习领域进行创新的基石,希望本书的一些观点能够提供给大家一些指引,目标检测从faster rcnn到ssd都是多任务的处理方式,第14章的内容是我进行深度学习调参的一些经验总结,第一次训练之后,在进行准确度调整的时候大家可以将本章内容作为参考。
勘误和支持
由于作者的水平有限,编写的时间也很仓促,书中难免会出现一些错误或者不准确的地方,恳请读者批评指正。为此,我特意创建了一个GitHub的仓库,具体网址为:https://github.com/HolidayXue/DeepLearningInAction。大家可以将书中的错误发布在Bug勘误文件夹中,同时如果有遇到任何问题,就请在issue中留言,我将尽量在线上为大家提供最满意的解答。本书中的全部源文件都将发布在这个网站上,我也会将相应的功能更新及时发布出来。如果大家有更多的宝贵意见,也欢迎发送邮件至我的邮箱
[email protected],我很期待听到你们的真挚反馈。
致谢
首先,我要感谢中科院计算技术研究所的蒋树强老师,在他的引领下,我进入了深度学习技术这一领域,我对这一领域的很多概念和入门知识都是从他那里获得的;接下来,我要感谢浙江大学李玺教授,在实践过程中,需要进行理论突破的时候,他的指点总是令我犹如醍醐灌顶。
感谢捷尚视觉的余天明在cuda编程实践中给予我的帮助,感谢捷尚视觉的林国锡在人脸实践应用中对我的指点,感谢捷尚视觉的丁连涛在目标检测中给予我的指点。
感谢机械工业出版社华章公司的编辑杨绣国老师,感谢你的魄力和远见,在本书编写期间始终支持我的写作,正是你的鼓励和帮助引导我顺利完成全部书稿。
感谢每一位深度学习的开发者,大家的共同努力使得让人工智能能够应用在我们的未来生活中,从而使得我们的生活更加美好!
谨以此书,献给深度学习的从业者。
薛云峰(HolidayXue)
中国,杭州,2018年6月