Preface
前言
从2017年开始,人工智能(Artificial Intelligence, AI)技术已经不再是前沿科技或实验室中的概念产物,而是实实在在落地为产品出现在人们的日常生活中,为用户提供智慧化的服务。现在我们每天接触的智能手机和平板电脑等移动终端设备也越来越多地被冠以AI终端的名头,而且出现了越来越多的AI应用或服务。目前这些在移动终端上运行的AI应用主要使用基于神经网络的深度学习技术。这项技术需要大量的算力支持,所以在发展初期主要在云端实现,通过移动互联网为用户提供服务。但随着终端软硬件技术的不断发展,业界越来越重视在移动终端上直接运行神经网络,以此获得更快的响应速度和更高的安全性。为此,各互联网厂商、终端厂商和芯片厂商陆续推出了各种深度学习推理框架,用于在移动终端设备上通过设备的AI芯片运行人工智能推理任务,比如Google公司的TensorFlow Lite、华为公司的HiAI Foundation、高通公司的SNPE等。未来,在终端上部署的人工智能技术将随着这些推理框架和AI芯片的不断发展,为移动终端AI应用和服务加速。本书围绕着如何在移动智能终端上通过深度学习推理框架进行人工智能应用开发而展开,不仅向读者介绍相关概念和原理,还提供应用开发的入门级指导,相信读者能够通过自己动手实现移动端人工智能应用来加深对移动终端人工智能技术的理解。
本书适合对人工智能感兴趣,且具备一定移动终端应用程序开发经验的读者阅读。只要拥有一定的Java、C++或Python语言开发知识,同时具备Android操作系统或iOS操作系统的应用开发经验,就可以通过本书迅速掌握基本的移动终端人工智能应用开发方法。如果你只是对人工智能技术感兴趣,相信本书也能带你了解人工智能技术是如何在移动终端上部署和运行的。
本书共分为10章,第1章主要介绍移动终端人工智能技术应用的现状和发展态势,对深度学习与软件框架等相关基础知识进行了阐述,分析了移动终端推理应用的发展趋势;第2章从总体上介绍移动终端AI技术架构,包括移动终端人工智能技术的特点和架构全貌,从而让读者初步了解移动终端人工智能技术的原理和各要素组件。第3~5章详细剖析移动终端人工智能技术的分层架构,分别介绍了神经网络模型、移动终端推理框架以及深度学习编译器等内容,让读者理解移动终端人工智能技术的底层逻辑,掌握在移动终端进行人工智能推理的方法;第6~8章介绍如何开发移动终端AI推理应用,帮助读者从需求分析、功能设计、编码开发到调试优化等环节了解整个开发过程;第9章则通过移动终端AI基准(Benchmark)性能测试的介绍,让读者了解不同移动终端和终端推理框架的性能区别;第10章面向未来,向读者介绍移动终端人工智能技术最新的发展情况和未来趋势,包括移动终端的训练和联邦学习等前沿技术,并对其他人工智能终端产品进行了简要介绍。本书还给出了第7章中每个示例的完整代码,读者需要扫描封底二维码下载包含代码文件的压缩包,并根据附录提供的路径找到相关代码文件。这些代码可以为读者开发应用提供参考。
在编撰本书的过程中得到了业界多方支持,在此表示感谢:感谢华为公司、旷视科技公司、vivo公司和百度公司分别为本书HiAI Foundation、旷视天元(MegEngine)、VCAP和Paddle Lite部分的编写提供技术资料,感谢高通公司对本书编写提出宝贵意见。此外,我们还得到了魏然、曹宇琼、戈志勇、国炜、周佳琳等专家和老师的帮助,在此一并感谢。
虽然本书的编写历经一年,但我们仍然略感仓促。我们尽可能提供最新版本的资料给读者,但是移动终端人工智能技术发展迅速,在编写过程中就出现了多次软件版本升级的情况,所以对于本书的部分内容,尤其是第4章和第7章关于技术和开发的部分,读者可以通过本书提供的网址在互联网上参考官方新版操作手册以了解最新的技术进展。我们希望读者能通过本书基本掌握移动终端人工智能技术的原理和方法。对于本书中未阐明的部分或错漏之处,读者也可以通过邮件zhangrui@caict.ac.cn进行反馈,不胜感激!