1956年,美国新罕布什尔州汉诺斯小镇,宁静的达特茅斯学院里,聚集几位科学家巨擘:约翰·麦卡锡(John McCarthy,人工智能之父)、马文·闵斯基(Marvin Minsky,人工智能与认知学专家)、克劳德·香农(Claude Shannon,信息论创始人)、艾伦·纽厄尔(Allen Newell,计算机科学家)以及赫伯特·西蒙(Herbert Simon,诺贝尔经济学奖得主),他们正讨论着一个看似不食人间烟火的主题:用机器来模仿人类学习以及其他方面的智能。
会议足足开了俩月,尽管最后大家并未达成普遍共识,但却为会议讨论的内容,起了一个名字:人工智能(AI)。自此,1956年成为人工智能元年,而在65年之后,人工智能可以说已经是“无处不在”。今天,从科研、金融、零售到工业、农业等越来越多的行业与业务场景都正在应用人工智能提升效率,降低成本,可以说人工智能在产业升级、改善人类生活等方面发挥着越来越重要的作用和价值。
不仅如此,随着企业的业务部署场景和数据产生正在向端侧、边缘侧“迁移”,嵌入式AI同样也迎来了快速发展的机遇期——AI嵌入式系统往往具有实时响应、网络开销低、隐私保护、能耗比高等优势,因此类似机器人、无人机、汽车以及手机等等都是AI嵌入式系统应用的“主战场”。但也要看到,目前AI嵌入式系统也面临着算法训练难、硬件选型难和二次开发、集成难等挑战。
在此背景下,由上海交通大学电子信息与电气工程学院副教授应忍冬、上海交通大学电子信息与电气工程学院教授刘佩林共同编著出版的《AI嵌入式系统:算法优化与实现》一书“应运而生”。
本书面向人工智能的嵌入式应用,涵盖了基于运算量,内存,功耗等多维度的机器学习算法优化理论与技术,同时从算法底层单元到机器学习算法训练-推理联合优化及自动优化部署算法等方面进行阐述,并结合通用嵌入式处理器进行了验证。可以说,本书集机器学习算法优化理论和应用实践为一体,为实现高效的AI嵌入式系统提供了基础理论与方法。也正因此,本书无疑为嵌入式领域工程技术人员、机器学习算法的底层算法软件开发人员;计算机、电子信息、自动控制等相关专业的学生提供了一本深入了解AI嵌入式系统的通关“秘籍”。
划重点:现在关注安谋科技学堂公众号,在其后台回复“AI嵌入式”,即可获取本书电子版1-3章试读、配套PPT、初版代码和数据;此外,持续关注安谋科技学堂和极术社区,其赠书活动也在陆续安排中;当然,你也可以点击“原文阅读”,即可购买或了解该书更多内容及评论。
AI嵌入式的爆发与挑战
实际上,今天我们的生活中随处可见各种嵌入式系统,比如手机、无飞机控制系统、电信交换机、洗衣机、智能电视、汽车控制系统、医用CT设备等等,而嵌入式系统之所以能够得以在各种业务场景中广泛应用,主要是因为其具有几个特点:
一是,高可靠性,比如某些设备中的嵌入式系统通常需要24小时不停地工作,可靠性要求需要“5个9”甚至更高;二是,低延迟的响应,最为典型的就是车载刹车的“防抱死”系统,就需要在紧急刹车的时候实时判断车速、识别轮胎的状态,并在规定的时间内输出刹车控制命令;三是,低功耗,比如工作中常用的万用表等手持测量设备,就可能需要依赖电池使用几个月甚至几年;四是,体积小,目前无论是手机,还是无线降噪耳机等便携设备,往往就需要在非常有限的体积内安装嵌入式控制系统,以满足应用场景的要求。
而在人工智能快速发展的今天,越来越多的嵌入式系统也加持了“AI”,和传统的“控制类”嵌入式系统相比,AI嵌入式系统在智能感知、智能交互和智能决策等方面正发挥着越来越重要的价值。
以智能决策为例,具备自主决策能力是AI嵌入式系统最为重要的特征之一,比如在自动驾驶系统中,就需要车载嵌入式系统根据车速、道路障碍、交通标识信息对当前状态以及趋势进行判断,并在有限的时间内发布驾驶“指令”,此外系统还需要能够“随机应变”,特别是在遭遇未知状态时,能够权衡动作收益和风险,给出最为适合的动作输出。
虽然传统的嵌入式系统在过去几年得以快速的发展,已经具备了高效实时等特征,但其通常是基于固定简单的逻辑规则,在灵活性和适应性无法满足各类复杂应用场景对嵌入式系统的要求。要知道,仅仅在自动驾驶领域,根据IDC的数据显示,2020年全球智能网联汽车出货量约为4440万辆,到2024年全球智能网联汽车出货量将达到约7620万辆,2020至2024年的年均复合增长率(CAGR)为14.5%。IDC预测,到2024年,全球出货的新车中超过71%将搭载智能网联系统,可见市场对AI嵌入式系统的需求是非常庞大的。
但是,要实现嵌入式系统在越来越多的业务场景中大规模应用,目前来看还面临几个方面的挑战,首当其冲的就是“运算量”,在机器学习应用领域,尤其是图像识别这样的场景中,需要使用二维矩阵或者更高维度的张量运算、核心算法由大量二维卷积和矩阵乘法构成,并且有些应用还需要进行矩阵分解,而这些都是运算密集的算法,加上随着深度学习的兴起,神经网络规模不断膨胀,这些客观的情况都给算力有限的嵌入式系统带来了压力。
此外,“存储大小”也是一个制约因素,这是因为机器学习算法中有一部分是基于特征数据库的搜索和比较,要求在短时间之内访问海量数据、进行特征分析和比对,而为了满足这种实时性的需求,就需要把访问的数据全部存储在RAM上,这同样也给嵌入式系统中有限的存储容量资源分配带来了挑战。最后,是“功耗”方面的难题,在嵌入式系统中要实现机器学习算法往往需要同时满足运算量和实时性的要求,虽然通过不断提升CPU主频和运算硬件资源可以达到这些要求,但付出的代价是运行功耗的提升,因此这也限制了不少机器学习算法在使用电池或者太阳能等绿色能源供电场景的应用。
由此可见,AI嵌入式系统的应用场景是美好的,但其面临的挑战也是前所未有有的,因此如何才能更好地化解这种挑战呢?
算法优化与实现的价值
《AI嵌入式系统:算法优化与实现》一书正是尝试用“算法优化”的方式来化解上述的难题,即通过算法改进和软件优化提升嵌入式系统的AI运算能力,该方案的优势在于,能够基于现有的处理器运算硬件特点,用户往往不需要购买新的专用硬件。虽然本书中所讨论的很多算法是基于通用嵌入式处理器实现的,但这些算法也能够应用于其他处理器系统,并能够改造成运算加速引擎的形式在各种处理器中发挥其价值。
同时,为了能够在资源有限的嵌入式系统中实现机器学习推理算法,本书还“从高到低”给出了各个层次的优化说明,具体包括:
第一,系统方案优化,主要是针对特定机器学习问题考虑使用何种解决方案,典型的如对于视觉图像分类,是通过支持向量机实现,还是通过深度神经网络实现,或是通过随机森林实现,不同的机器学习算法在运算量、内存、分类精度以及训练难度上各有优缺点,本书为此也做了详细的解释和说明。
第二,机器学习推理模型结构优化,主要是指对给定的机器学习算法,考虑其运算结构的简化,那么就可以使用包括近似算法、模型剪枝、特征降维等手段降低运算复杂度。此外,对于给定的机器学习算法运算图,也可以通过运算模块的等效变换消除冗余的中间数据计算,比如可以通过神经网络中的卷积层和BN层的参数实现融合等。
第三,算子优化,是指针对机器学习算法的底层运算模块进行优化,降低运算复杂度,具体方案就包括基于近似算法降低运算量,如通过矩阵的低秩近似分解降低矩阵乘法运算量,基于变换域的快速算法降低运算复杂度,如通过频域变换将将卷积运算转换成逐点乘法运算等。
第四,位运算优化,是指基于数据二进制表示的更底层的与优化,如将常数乘法转换成加减法实现,对于浮点数乘法也可以通过对其指数域和位数域进行加减实现近似计算等。
第五,面向处理器硬件特征优化,是指针对嵌入式系统所使用的特定CPU硬件进行优化,包括使用特定的CPU所具备的SIMD指令实现数据向量并行运算,使用高位宽的寄存器同时实现多个低位宽数据并行计算等。当然,这种优化方式往往也和硬件特性密切相关。
从上面各种算法优化的介绍中,可以发现本书具有很强的专业性,为此本书的作者将全书分为8个章节,全面和系统的介绍了包括嵌入式软件编程模式与优化、机器学习算法概述、卷积运算优化、矩阵乘法优化、神经网络的实现与优化以及ARM平台上的机器学习编程等内容。
以“ARM平台上的机器学习编程”一章为例,由于目前ARM处理器在嵌入式系统中应用非常广泛,为此本书还特别介绍了基于ARM嵌入式平台的机器学习算法编程,具体内容主要围绕着ARM中的三个软件框架展开,分别是CMSIS软件框架、Computer Library及其之上的ARM NN软件框架,通过围绕几个机器学习的实例进行讲解,读者也可以快速掌握ARM平台在嵌入式系统中的机器学习算法编程的核心思想,并通过阅读框架源代码和文档,逐步掌握更多的应用技巧。
在此基础上,为了方便更多的读者能够“复现”书中介绍的各种优化算法内容,作者还在华章图书馆(www.hzbook.com )提供了完整的代码,读者可在该网站搜索本书下载相关的资源,这样更多的读者也可以通过参考并修改本书中提供的代码,将其应用到实际的嵌入式系统中去,因此本书可谓也兼具了非常强的指导性和实用性。
总的来说,如果你是一个嵌入式技术相关专业学生或开发人员,并且也非常看好AI嵌入式在行业未来的发展潜力,想多多学习嵌入式系统中的机器学习算法优化原理、设计方法及其实现技术,丰富自身知识结构,那么强烈推荐你一定要看看这本重磅力作!
点击“原文阅读”,
即可购买或了解该书更多内容及评论!
申耀的科技观察,由科技与汽车跨界自媒体人申斯基创办,18年企业级科技媒体工作经验,长期专注企业数字化、产业智能化、ICT基础设施、汽车科技内容的观察和思考。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)