zoukankan      html  css  js  c++  java
  • 为什么MCU也需要AI?

    人工智能(AI)是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。人工智能从诞生以来,理论和技术日益成熟,应用领域也不断扩大,可以设想未来人工智能带来的科技产品,将会是人类智慧的“容器”。人工智能可以对人的意识、思维的信息过程的模拟。人工智能不是人的智能,但能像人那样思考、也可能超过人的智能。
     
    但随着AI从云到边缘的发展,使得这一观点正在迅速改变,AI计算引擎使MCU能够突破嵌入式应用可能的极限,嵌入式设计已经能够提高网络攻击的实时响应能力和设备安全性。
     
    支持AI的MCU
    云计算推动了对具有AI功能的MCU的需求;它减少了数据传输所需的带宽,并节省了云服务器的处理能力,如下图。
     

     
    配备AI算法的MCU正在应用包含对象识别,启用语音服务和自然语言处理等功能的应用程序。它们还有助于提高物联网(IoT),可穿戴设备和医疗应用中电池供电设备的准确性和数据隐私性。
     
    那么,MCU如何在边缘和节点设计中实现AI功能?下面简要介绍了三种基本方法,这些方法使MCU能够在IoT网络边缘执行AI加速。
     
    三个MCU + AI场合
    第一种方法(可能是最常见的方法)涉及各种神经网络(NN)框架(例如Caffe 2,TensorFlow Lite和Arm NN)的模型转换,用于在MCU上部署云训练的模型和推理引擎。有一些软件工具可以从云中获取经过预训练的神经网络,并通过将其转换为C代码来针对MCU进行优化。

    在MCU上运行的优化代码可以在语音,视觉和异常检测应用程序中执行AI功能。工程师可以将这些工具集下载到MCU配置中,并运行优化神经网络的推论。这些AI工具集还提供了基于神经网络的AI应用程序的代码示例。
     
    AI执行模型转换工具可以在低成本和低功耗MCU上运行优化神经网络的推论,如下图所示。
     


    第二种方法是绕过了对从云借用的预训练神经网络模型的需求,设计人员可以将AI库集成到微控制器中,并将本地AI培训和分析功能纳入其代码中。
     
    随后开发人员可以基于从边缘的传感器,麦克风和其他嵌入式设备获取的信号来创建数据模型,并运行诸如预测性维护和模式识别之类的应用程序。
     
    第三种方法是AI专用协处理器的可用性使MCU供应商能够加快机器学习功能的部署。诸如Arm Cortex-M33之类的协处理器利用了诸如CMSIS-DSP之类的流行API来简化代码的可移植性,从而使MCU与协处理器紧密耦合,可加快AI功能,如协处理相关和矩阵运算。
     
    上述软件和硬件平台演示了如何通过根据嵌入式设计要求开发的推理引擎在低成本MCU中实现AI功能。这很关键,因为支持AI的MCU很有可能在IoT,工业,智能建筑和医疗应用中改变嵌入式设备的设计。

  • 相关阅读:
    gulp + es6 + babel+ angular 搭建环境并实现简单的路由
    【SAS BASE】FORMAT Statement及PROC FORMAT
    【SAS BASE】PROC PRINT
    【SAS BASE】PROC SORT
    【SAS BASE】ARRAY语句及多变量简写
    【SAS BASE】SAS函数
    【SAS BASE】PROC CONTENTS与LABEL
    【SAS BASE】SAS格式、缺失值表示、命名规则及路径
    【SAS BASE】IMPORT过程(适用于CSV文件及其他分隔符文件)
    【SAS BASE】通过DATA步导入数据注意事项(适用于text、ASCII、sequential、flat文件)
  • 原文地址:https://www.cnblogs.com/wridy/p/14210732.html
Copyright © 2011-2022 走看看