
推荐序一
在过去的十年,人工智能技术尤其是深度学习(Deep Learning)技术得到了飞速发展,从理论到实践都取得了长足的进步,成为解决很多学术和工程问题的利器。在自然语言处理、语音识别、图像识别等领域,利用深度学习技术训练出了堪比人类、甚至超越人类的学习能力。人工智能的成功离不开算法、算力和数据三个要素的协同推进,而这些要素在不同的领域和场景下有不同的表现形式,吸引着人工智能领域的学者、工程师和各个行业的专家们不断探索。
在过去的十年,智能手机快速普及。根据《工业和信息化部关于电信服务质量的通告(2019年第2号)》,我国移动电话用户数量已达到15.97亿户。智能手机成为连接人和信息的重要设备,对于很多人来说,甚至是唯一的设备。在智能手机的底层能力支持下,智能手机上的各类应用(App)蓬勃发展,以苹果的App Store为例,截至2019年第二季度,App Store中可下载的App数量已经超过196万个(数据来自Statista)。硬件和应用程序的共同发展极大地拓展、增强了人类感知、认知世界的能力,这使得智能手机成为人类的“新感官”。
人工智能技术的进步和智能手机的普及是紧密结合、相得益彰的。人工智能技术为智能手机赋能,极大地拓展了智能手机的能力边界;智能手机为人工智能技术提供了丰富的应用场景,为人工智能技术的发展提供了动力。但是,二者的结合也充满了挑战。用户对体验有极致的追求,这就需要智能手机及其上的应用程序能够快速、准确地响应用户的需求。然而,智能手机在计算、存储、续航等方面与电脑等设备的差异巨大,这使得很多人工智能技术无法在智能手机上直接应用,而手机端和服务器端的频繁通信又必然会导致延时和带宽消耗。这些问题在智能手机之外的其他移动设备上也同样存在。
这些富有挑战性的问题正是工程师们的动力源泉。本书作者正是在这样的背景下与同事们一起做了大量探索,以期让人工智能技术在移动端的有限资源下充分发挥价值,并且已经在百度App上取得了非常好的效果。永会把他们团队多年积累的经验凝聚成此书,以飨读者。
本书以百度App中的一些实际案例为线索,简要介绍了理解深度学习的一些必要知识,包括线性代数、卷积神经网络和其他网络结构,然后把更多的笔墨放在了移动设备的内部结构、汇编指令、CPU性能优化、GPU编程以及百度的移动端深度学习框架Paddle-Lite上。书中提供的一些优化技巧具有很好的启发性,希望能够对更多优秀的工程师起到引路作用,帮助大家投身这一领域,充分发挥移动端深度学习的价值,为广大用户提供极致的用户体验。
沈抖
百度高级副总裁