序一

这是一本讲解怎么养大象,以及如何把大象装进口袋里的实战书。

深度学习的出现和应用,把许多科幻小说中预言的机器智能变成现实,也助力计算机将海量数据处理能力转化为更深层的解构、洞察和创造力,进而提供更加人性化的服务。在深度学习炸裂式发展的背后,是无数科研工作者对算法网络的不断改善和工程师们夜以继日的努力,才将这些成果转化为更多人触手可及的力量。

然而深度学习并不是一门程序语言或者一个编程框架,而是一个知识体系。对于有志进入这个领域发展的人来说,这个名词所代表的数学知识和计算机技术,以及将这些概念转化为应用所牵涉的框架和体系,恰如一只身躯庞大、威力无穷的大象。它的鼻子、耳朵、四肢、尾巴,每一处都饱含新知,每一处都值得细细琢磨。这很容易让人感觉处处都要学习,无从下手,生出畏惧心来。

这时候让一个养过大象、知道它习性的人带着一起看,自然会事半功倍。这本书的前半部分由浅入深地讲解了深度学习中的关键概念、重要知识点以及它们之间的关系,从一开始就串联起了这个知识体系的脉络,让读者先开门见大象,心中有大象。然后在每个局部以探讨学习的口吻和启发式提问将问题抽丝剥茧地层层展开,引出适合的框架,让读者不忍释卷的同时,能知其然更知其所以然。我尤其喜欢的是作者在每个知识点都能保持较小篇幅的同时,在核心知识的介绍中揉入自己的心得体会,并提供很多扩展阅读的线索,让这本实战书兼具了索引书的效用。

这本书后半部分讲的是如何把养好的大象装进口袋里——结合移动端计算环境的特点定制深度学习网络。如果说把大象装进口袋可以靠魔术师,那么在资源有限的环境中完成计算任务就得靠工程师了。作者以轻量化网络为核心,展开讨论了模型裁剪压缩的主要思路,然后演示了移动平台需要的前向引擎移植、数据处理准备和接口封装等必要的工程工作,完整地展示了一个典型项目落地的技术探索过程。贯穿其中的是在实时性、准确率、功耗和空间开销中寻找可用性平衡的种种尝试,这也是在真实工程开发中对工程师最为考验的部分。

如何将深度学习和移动端计算相结合这个主题本身也是恰逢其时。

想想50年前,阿波罗登月飞船载着人类追星逐月的梦想驶入太空,搭载的主机的RAM仅有2048字节。而现在连老人机都已经是至少4GB内存、8核CPU,不由得感慨这个时代对计算机行业独一无二的青睐——算力、存储、互联和可访问的总数据量都呈指数级发展,既极大地拓展了计算理论付诸实际应用的边界,将不可能变为可能,也助力海量运算撞开了初阶智能的一丝裂缝,让新计算形态的曙光照射进来。

作为诞生于这个最好时代的工程师,我们幸运地见证了一波又一波的技术革新及其带来的比预期更为深远的影响。这些时代高光的浪潮中,先锋们大多提前预判了行业变革点,在计算资源变得更普及、更有商业价值的前夜,抢先一步探索和准备。

在当下,我们看到了手持终端上算力和信息采集能力的飞速提升,看到了5G的呼之欲出和算力随时可及的便捷,看到了行业先驱在各自领域中提出了边缘计算、雾计算等新的概念并进行实践。这些征兆都在向我们提示一个新兴的、以广泛互联和边缘计算相结合,以深度计算为突破的新计算形态的诞生,所以当看到这本书关注的主题时,我真真是眼前一亮。

最难能可贵的是,这本书在分享深度学习知识和实战思考的同时,也将一个深度学习前行者的学习路径和理解完整地呈现在我们面前,让更多同行的人可以汲取思路,在遇到具体问题的时候举一反三,更顺利地探索出自己的实践之路。不管你是想在深度学习的海洋中搏浪遨游,还是想在算力扩散的前夜先人一步了解、布局,相信阅读此书都会不虚此行。

祝愿读到这本佳作的朋友都能够“养出自己的大象”,拥有自己的动物园。

Sam Xia Director of Autodesk Forge Platform

2019.8.5

于10000余米高空