欢迎光临散文网 会员登陆 & 注册

STM32,让AI触手可及

2020-07-29 10:45 作者:电堂科技  | 我要投稿


在这个进程中,嵌入式技术将成为AI落地的重要承载平台。


不久前,2020世界人工智能大会云端峰会(WAIC)在上海刚刚落幕,人工智能概念又一次被行业点燃。大会上,业界大佬云聚一堂,共话AI创新,探讨人工智能治理方案。


 李彦宏表示,AI的发展将经历三个大的历史阶段。第一个阶段是技术的智能化,第二阶段叫做经济的智能化,第三个阶段叫做社会的智能化。目前,我们正处于从经济智能化的前半段向后半段过渡的时期。 


马斯克表示,如果一定要把AI分成三个类别,感知、认知和行动,那么目前已经做到了感知,认知是目前最薄弱的环节。 而丁磊表示,人工智能不是技术问题,是应用场景问题,选对了应用场景,发挥的效率就非常高。


 可以看出,科技大佬们的观点不谋而合,目前人工智能已经从技术走向应用,如何将AI技术真正落地,解决每个应用场景中人们的实际需求,才最关键。而在这个过程中,嵌入式技术将成为AI落地的重要承载平台。


AI与机器学习和深度学习是何关系?

AI是所有研究的机器模仿人类等认知能力的超集。例如:与环境的交互,知识表示,感知,学习,计算机视觉,语音识别,解决问题等等。

▲ AI与机器学习和深度学习的关系图

机器学习是AI的分支,在计算机科学领域的应用使计算机无需显式编程就能学习。机器学习由能够基于数据进行学习和预测的算法组成:这类算法在前面样本基础上进行训练,以构建和估计模型;在传统编程不可行的情况下,通常采用机器学习;如果经过适当的训练,可以适应新的案例应用。


机器学习有不同的实现方法,其中包括常见的:决策树,聚类,基于规则的学习,归纳逻辑编程,深度学习。


深度学习(DL)是机器学习的子集,它是机器学习中一种基于对数据进行表征学习的方法,是一种能够模拟出人脑的神经结构的机器学习方法。主要包含4种典型的深度学习算法:卷积神经网络CNN,循环神经网络RNN,生成对抗网络GANs,深度强化学习RL。

▲ 神经元网络分层


深度学习有什么优缺点?

深度学习的”深度“是指从”输入层“到”输出层“所经历层次的数目,即”隐藏层“的层数,层数越多,深度也越深。所以越是复杂的选择问题,越需要深度的层次多。例如,AlphaGo的策略网络是13层,每一层的神经元数量为192个。深度学习需要大量的数据。


深度学习与机器学习一个很重要的区别在于数据量的大小。就目前大量的实验和工作证明,数据量的大小直接影响深度学习的性能。我们都希望利用小的数据集、简单的算法就能取得不错的效果,但目前的事实是小数据集上使用深度学习往往容易过拟合。

▲ 数据量大小与算法表现的关系

自大数据和超级强大的GPU出现以来,深度学习的潜力正在被不断挖掘。其优点表现在:

  • 学习能力强(数据模式和关系的自主学习)。从结果来看,深度学习的表现非常好,学习能力非常强。

  • 数据驱动,准确度高。深度学习高度依赖数据,数据量越大,其表现就越好。在图像识别、面部识别、NLP 等部分任务甚至已经超过了人类的表现。同时还可以通过调参进一步提高上限。

  • 容易改进和微调。利用原有模型参数初始化现有模型,根据自己的数据集微调参数,可节省很多时间。

  • 可移植性好,适应性强。由于深度学习的优异表现,有很多框架可以使用,例如 TensorFlow、Pytorch。这些框架可以兼容很多平台。

▲ 深度学习优劣势

其缺点表现在:

  • 需要大量数据集,计算量大。深度学习需要大量的数据,所以成本很高。并且现在很多应用还不适合在移动设备上使用。

  • 模型设计复杂,需要高算力。深度学习对算力要求很高,模型设计非常复杂,需要投入大量的人力物力和时间来开发新的算法和模型。大部分人只能使用现成的模型。

  • 没有”人性”,容易存在偏见。由于深度学习依赖数据,并且可解释性不高。在训练数据不平衡的情况下会出现性别歧视、种族歧视等问题。

STM32让AI触手可及

作为半导体行业的专家,ST在嵌入式AI应用的探索道路上也一直走在前列,为AI应用提供了丰富的基于Arm Cortex-M的STM32 MCU产品和解决方案。 


STM32在AI应用的优势在于:

  • 低功耗

  • 通用性(用1颗芯片既满足AI又满足通用需求)

  • 丰富的产品系列

  • 工业级品质及10年供货保障

▲ M4以上内核的STM32产品均可实现AI应用

点击下方链接,了解最新机器学习合作伙伴:

https://www.st.com/content/st_com/en/partner/partner-program/partnerpage.html?key=STM32CubeAI&country=country


以机器视觉的处理需求为例,从静止的低分辨率图片和良好光照的低处理需求,到低帧率、开放环境、中等光照条件的中等处理需求,直至高速视频、高分辨率和可适应光照条件的高处理能力需求,从普通MCU到带神经网络处理单元的MCU,直至专用SoC,STM32都提供相应的解决方案满足特定的应用需求。

▲ 机器视觉的处理需求

从市场应用角度来看,STM32主要定位于低端机器视觉市场、基于声音的应用以及状态监测和预测性维护应用。

▲ STM32的市场定位

为帮助用户更快速地进行嵌入式AI开发,ST还提供了丰富的深度学习资源,覆盖了神经网络开发的整个流程。

▲ 神经网络开发流程

第一步:获取数据

在该阶段,ST提供硬件开发板和软件采集数据,如运动、声音类数据等。硬件开发板包括:SensorTile、SensorTile.Box、IOT Node(B-L475E-IOT01A)。

用户可通过以下渠道购买开发板和获取软件:

  • STM32天猫旗舰店购买开发板:淘口令 ₳NCmB1zyeeWZ₳

  • 软件:FP-AI-SENSING1

    下载链接:https://www.st.com/content/st_com/zh/products/embedded-software/mcu-mpu-embedded-software/stm32-embedded-software/stm32-ode-function-pack-sw/fp-ai-sensing1.html

第二步:数据清洗、打标

ST同时提供手机端APP直连硬件开发板,作为数据初筛和收集的平台。

ST BLE SensorAPP (支持Android、IOS,源码开放)

下载链接:https://www.st.com/content/st_com/zh/products/embedded-software/wireless-connectivity-software/stblesensor.html


第三步:训练神经网络模型

神经网络训练在服务器或者PC端完成,ST不提供方案。但是在例程中提供相应的参考训练脚本。

 

第四步:将模型转换为MCU上执行的优化代码

STM32Cube.AI,是ST推出的一个先进的工具包,能够与流行的深度学习库进行互操作,将任何人工神经网络转换并应用于STM32微控制器(MCU)。Cube.AI工具是CubeMX的AI扩展包,可以在CubeMX内下载或者单独下载

下载地址:https://www.st.com/content/st_com/zh/products/embedded-software/mcu-mpu-embedded-software/stm32-embedded-software/stm32cube-expansion-packages/x-cube-ai.html


STM32Cube.AI支持的神经网络模型框架有Lasagne、Keras、Caffe、ConvNetJs、Tensorflow Lite、可以导出为ONNX标准的框架(PyTorch™,Microsoft® Cognitive Toolkit, MATLAB® 以及更多),最新支持请参考Cube.AI的release note。


Cube.AI 工具的功能包括:

  • 转换模型文件到运行在STM32上的C代码

  • 对模型文件做CPU、RAM、Flash资源分析,显示适配MCU型号

  • 对模型做整型量化或者深度压缩

  • 更多功能更新中…

Cube.AI 工具使用教程请参考以下培训课程:《基于STM32开发人工智能应用》

课程链接:https://c.51diantang.com/columndetail?id=046ea06e6d1d476ab49a2cbbf84e43ab


第五步:使用训练好的模型分析数据

  1. 对于运动、声音类数据,ST可提供硬件开发板包括:SensorTile、SensorTile.Box、IOT Node (B-L475E-IOT01A);ST提供的软件包括:FP-AI-SENSING1,下载链接


  2. 对于图像类数据,ST可提供硬件开发板包括:STM32H747I-DISCO + STM32F4DIS-CAM或者OpenMV

用户可通过以下渠道购买开发板和获取软件:

  • STM32天猫旗舰店购买开发板:淘口令 ₳wMEr1zyloyE₳

  • OpenMV 中国区官方代理:淘口令 ₴m1xH1zyrco2₴

  • 软件: FP-AI-VISION1

    下载链接:https://www.st.com/content/st_com/en/products/embedded-software/mcu-mpu-embedded-software/stm32-embedded-software/stm32cube-expansion-packages/fp-ai-vision1.html

ST通过大学计划推动AI教育普及

ST一直与世界知名大学紧密合作,共同致力于推动AI知识和应用在教育领域的培训和推广。ST与加州大学洛杉矶分校的教授共同推出了物联网和嵌入式机器学习课程。该课程基于ST的SensorTile开发套件,为年轻的工程师和技术人员提供了构建物联网系统(如可穿戴消费设备,可穿戴医疗设备,住宅物联网系统和车辆物联网系统)所需的基础。


UCLA: Internet of Things and Embedded MachineLearning


自2007年在上海交通大学开设第一个联合实验室以来,ST已经在中国教育领域建立了重要的合作伙伴关系。ST中国大学计划和多所中国高校合作,共同开发嵌入式、物联网以及人工智能相关的教材和课程体系,并且通过师资培训推广到更多中国高校;同时建立了ST教育联盟,促进与高等院校的密切合作。


在AI应用方面,ST已经与许多编写核心培训材料的教授进行了长时间的合作。苏州大学的王宜怀教授正在开发一本用STM32微控制器和STM32Cube.AI讲解复杂的嵌入式系统人工智能概念的教科书。通过使用ST的人工智能工具,将神经网络转换成可在STM32上运行的代码,教师可以为学生带来先进、巧妙的AI解决方案。


苏州大学王宜怀教授:物体认知系统

链接:http://sumcu.suda.edu.cn/AIwEORS/list.htm


相关链接,供参考:

1. B-L475E-IOT01A1 原装开发板淘宝购买链接:https://detail.tmall.com/item.htm?spm=a1z10.5-b-s.w4011-19008516737.51.45256f8adZSI3p&id=603276083863&rn=0136462d284ed487c21e9c7c6cda900b&abbucket=7


2.  STM32H747I-DISCO,原装开发板淘宝购买链接https://detail.tmall.com/item.htm?spm=a220m.1000858.1000725.1.8bb67edepERQUP&id=607575822149&user_id=4131769642&cat_id=2&is_b=1&rn=ba1e0cb21d2ba17517418ef8a2b22eb3l


3.  OpenMV官方代理淘宝购买链接https://kaizhi-xu.taobao.com/index.htm?spm=2013.1.w5001-14519673283.2.63a876739H8mFg&scene=taobao_shop 

关注微信公众号“STM32”,了解最新信息


STM32,让AI触手可及的评论 (共 条)

分享到微博请遵守国家法律