浅谈嵌入式AI

人工智能概念:

AI,就是人工智能。那么什么是人工智能? 计算机科学家的定义是:我们希望计算机具有人类意识,例如能够讨论、学习和感受用于模拟、扩展的理论、方法、技术和应用系统的能力。 并扩展计算机探索和发展人类智能的一门新技术科学。 人工智能领域的研究包括机器人技术、语音识别、图像识别、自然语言处理和专家系统。

传统人工智能的实现

我们平时使用的人工智能比如手机上的语音识别,都是通过联网来实现的,手机把语音转换为声音文件或声音字节流,然后把声音的数字流送到云端(后台服务器),由后台的服务器进行声音识别运算,把文字再返回给手机。人机对话功能的实现也是如此,手机把声音的字节流传到后台服务器,服务器然后解析成文字,然后再做自然语言处理,把文字的语义解析出来,服务器处理后后再返回对话结果给手机语音播放。再比如人脸识别功能,手机摄像头把人脸保存为图片上传到服务器,服务器通过复杂的人工神经网络计算,把计算的结果通过网络传递给手机。

现阶段的自动驾驶技术也基本依赖于后端服务器的,车载传感器把数据上传到云端服务器,服务器下发指令给车辆,告诉车辆的行为。

传统的人工智能方式实现的缺点

这种使用后台服务器的方式实现人工智能功能相对对终端(手机)来说实现简单,仅仅需要调用后台服务器的接口即可实现非常复杂的功能,不需要终端有多大的计算能力。但这种方式有很大的弊端,就是必须联网,而且后台的服务器绝大部分是要付费才能实现计算功能。这种模式很多场景是无法实现人工智能的,比如在没有网络的工厂,偏远山区。对于产品开发者来说,购买付费的人工智能服务也是一个巨大的开支,后面还有可能面对后台服务器升级造成的接口改变,导致终端无法访问后端服务器,产品彻底作废。

对于自动驾驶这种对时间要求极高的应用,如果采用上面的到服务器交互的方式,是完全不能满足自动驾驶的时间要求的。因为对于现阶段的网络服务器和终端的延时都是50ms级别之上,120km/h的情况下,50ms就是1.7米,一个交互来回车子已经走过了3-5米了。这样的延时对于紧急情况是无法满足需求的。即使5G普及,延时达到10ms以内,这种交互方式也有很多现实文件无法解决,比如速度越快,网络越慢,网络覆盖问题,边远山区,隧道内,大量车辆在同一地区网络会出现拥塞等情况。这些问题无法使用传统的服务器交互方式实现。

嵌入式人工智能的提出

由于上述问题存在,提出了嵌入式人工智能概念。嵌入式AI就是希望在嵌入式设备上面实现人工智能的能力,这和我们平时使用的人工智能有一个很大的区别就是,平时手机或嵌入式设备是通过网络连接后面的服务器来实现的人工智能,而嵌入式人工智能则是通过嵌入式设备本身来实现的,无需联网。这样带来的好处是完全不依赖于云端的服务器,自己单打独斗,实现人工智能的大部分功能。

这种实现是想起来容易,但实现起来还有很多问题,目前嵌入式人工智能面临三大挑战,分别为运算能力、功耗及散热。这些也是经典嵌入式设备所面临的问题。这几个问题其实有相互矛盾的地方,运算能强则功耗大,散热要求明显,反之亦然。

嵌入式人工智能的发展:

鉴于当前的嵌入式人工智能的局限性,现在的芯片厂商在这方面是下足了功夫,新的人工智能芯片在不断的研发和推出。嵌入式人工智能芯片的核心是半导体及算法。嵌入式人工智能硬件主要是要求更快指令周期与低功耗,包括GPU、DSP、ASIC、FPGA和神经元芯片,且须与深度学习算法相结合。

现在各大巨头都在部署自己的嵌入式解决方案,最著名的就是谷歌,tensorflow是谷歌推出的一款深度学习框架,现在已被各大公司使用,但只能运行在PC上服务器上,同时谷歌也推出了可以运行在嵌入式设备的tensorflow-lite,TensorFlow Lite 是 TensorFlow 针对移动和嵌入式设备的轻量级解决方案。它允许您在低延迟的移动设备上运行机器学习模型,因此您可以利用它进行分类,回归或获取你想要的任何东西,而无需与服务器交互。

意法半导体最近也展示了在国内最流行的芯片STM32上运行的人工智能神经网络。同时也推出了在STM32CubeMX工具中引入STM32Cube.AI工具包,将AI引入微控制器供电的智能设备,位于节点边缘,以及物联网,智能建筑,工业和医疗应用中的深度嵌入式设备。

你可能感兴趣的:(嵌入式基础知识,人工智能)