开发平台支持Arm Cortex-M的微控制器上人工智能训练
开发平台支持Arm Cortex-M的微控制器上人工智能训练
Development platform enables AI training on Arm Cortex-M-based microcontrollers
Cartesiam推出了nanodedge AI Studio,这是一个集成开发环境,开发人员可以使用在不需要任何数据科学知识的情况下,在微控制器上创建AI培训和推理应用程序。该技术兼容任何基于Arm Cortex-M的微控制器,M0到M7,包括M55,并且不需要大量的数据集进行训练。

现在可以在微控制器内部实现学习。将同一个微控制器和同一个库应用于预测性维护应用程序,可以了解单个机器的振动特性
在这种资源受限的设备上训练人工智能算法是一个重大的首次。典型的应用,如预测性维护,直接在微控制器上使用无监督学习来教授特定机器内部正常环境的算法。然后可以创建一个模型并用于推断(预测)。
“真正革命性的是能够在微控制器内部学习,”Cartesiam联合创始人Joël Rubino告诉《欧洲经济时报》。“其人在微控制器内部进行推理,在云端进行学习。需要捕捉数据,在云端创建数据科学家的模型,然后编译所有的东西,然后在微控制器上运行。所做的是不同的。创建了一个库,可以直接在微控制器内部,在任何机器内学习。在边缘创建模型。在边缘训练。这改变了游戏规则,因为现在市场上没有人能做到这一点。”
AI at the Edge
AI在边缘
鲁比诺说,一段时间以来,随着边缘智能化的趋势,计算机行业已经从集中式向分散式发展。
“一开始的想法是,边缘的所有对象都将生成大量的数据。云也不可能分析和计算这些数据。与其将所有数据发送到云端,想法是为什么不向边缘发送情报。”。
本地智能减少了对通信带宽的需求,并防止了篡改的风险。
微控制器作为当今最可用的端点计算平台,完全可以将智能带到端点设备。然而,到目前为止,有限的计算能力和内存是无法克服的挑战。
总部位于法国土伦的卡特西亚姆(Cartesiam)聘请了一支由受过博士学位教育的数学家、数据科学家和机器学习专家组成的团队。
鲁比诺说:“从头重写了所有的机器学习算法,这样就可以安装在微控制器中了。”。“今天这个过程的另一个问题是,需要为想观察的现象采集数据,但数据科学家是一种稀缺资源……如果想把智能带到边缘,必须比现在简单、快捷、更实惠。”
开发流程
NanoEdge人工智能工作室已经制作了3年。
鲁比诺说:“这真的是要把人工智能带到所有的嵌入式设计师那里,使用nanodedge人工智能工作室,将能够在对象内开发人工智能,而且速度非常快。”。
使用NanoEdgeAI Studio的典型开发流程对于没有人工智能专业知识的嵌入式开发人员来说是完全可以访问的。开发人员定义正在使用的传感器类型(电流、加速度计等),定义可用的微控制器(M0到M7),并指定可用RAM的数量。加载一个典型数据的小样本,IDE将使用这些数据来优化不同的算法-在信号处理库、机器学习库和超参数之间,有5亿个可用的组合。最终选择的算法作为一个大小为4kB到32kB的C库提供。可以在开发人员的工作站上使用一个简化的仿真器进行测试,然后下载到目标微控制器上。鲁比诺说,应用程序可以在几天内启动并运行。

开发人员在IDE中提供了一个典型数据的小样本,并创建了一个可以嵌入到微控制器中的库。这些微控制器可以在现场了解所监视的各个机器的特性。
在此基础上,微控制器可以安装在使用无监督学习来训练算法的领域(在无监督学习中,未标记的数据被提供给算法,必须在数据本身中找到结构)。然后创建一个模型,该模型可用于下一步的推理。
同一台机器上的微控制器可以学习同一台机器上的振动数据,而这两台机器是用单片机学习的。不同机器上的同一个库将从这台机器的振动中学习,并创建自己的机器学习模型,”鲁比诺说。
例如,Cartesiam的一个客户使用NanoEdge AI Studio的beta版生产空调机组。该公司监测风扇电机的电流,以检测空气过滤器是否堵塞,需要更换。在客户使用兼容过滤器而不是制造商原装过滤器的市场中,当过滤器被更换时,模型可以了解新过滤器的特性,以预测何时需要更换。
融资回合
该公司成立于2016年,其理念是将人工智能引入端点和物联网设备,如传感器节点。在两年前200万欧元的资助加速了算法的开发之前,50万欧元的种子基金资助使概念得以验证。

çolane的Bob assistant是一个火柴盒大小的设备,可以学习所固定的机器的特征振动。
第一个使用卡特尔塞姆技术进入市场的产品是Éolane的Bob assistant,已经在市场上销售了大约2年。Bob是一种火柴盒大小的硬件设备,可以用磁铁固定在机器上。花7天时间学习每台机器的特征振动(每隔几分钟执行一个简短的学习阶段),然后创建一个机器学习模型,可以在指定的时间间隔内用于预测。如果检测到异常,将连接到LoRA网络以发出适当的通知。
鲁比诺说,Bob已广泛应用于欧洲公司的预测性维护应用,如雷诺、法国铁路运营商SNCF、法国电力公司EDF Energy、空客、泰雷兹等。
Bob的成功使Cartesiam意识到不能继续为每个客户开发单独的库,并致力于开发一种工具,客户可以使用为自己的应用开发自己的库。结果,NanoEdge人工智能工作室,现在可以使用了。
开发平台支持Arm Cortex-M的微控制器上人工智能训练的更多相关文章
- Micro Python:运行在微控制器上的Python
Micro Python运行在微控制器上的Python.遵守MIT协议.由剑桥大学的理论物理学家乔治·达明设计.和Arduino类似,但Micro Python更强大. Micro Python的软件 ...
- .Net语言 APP开发平台——Smobiler学习日志:快速实现手机上的图片上传功能
最前面的话:Smobiler是一个在VS环境中使用.Net语言来开发APP的开发平台,也许比Xamarin更方便 一.目标样式 我们要实现上图中的效果,需要如下的操作: 1.从工具栏上的"S ...
- LabVIEW图形化的AI视觉开发平台(非NI Vision),大幅降低人工智能开发门槛
前言 之前每次进行机器学习和模型训练的时候发现想要训练不同模型的时候需要使用不同的框架,有时候费了九牛二虎之力终于写下了几百行代码之后,才发现环境调试不通,运行效率也差强人意,于是自己写了一个基于La ...
- 痞子衡嵌入式:ARM Cortex-M内核那些事(2)- 第一款微控制器
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是第一款Cortex-M微控制器. 1.天生荣耀:ARM Cortex-M处理器由来 ARM公司自2004年推出ARMv7内核架构时,摒弃 ...
- 百度AI开发平台简介
AIstudio https://aistudio.baidu.com/aistudio/index 关于AI Studio AI Studio是基于百度深度学习平台飞桨的一站式AI开发平台,提供在线 ...
- 玩转微信2次开发1_交互通信api.php(微擎版)
在2次开发中,涉及到比较多的也比较繁琐的就是服务器和微信服务器的交互 用户在公众号里操作回复关键词都会让微信服务器和开发者的服务器进行交互 用户一旦关注了某某公众号--微信后台会去查询该公众号是否连接 ...
- 从表单驱动到模型驱动,解读低代码开发平台的发展趋势 ZT
原文地址:https://www.grapecity.com.cn/blogs/read-the-trends-of-low-code-development-platforms 随着社会数字化进程的 ...
- 阿里云云开发平台助力风变科技Serverless架构升级实战
阿里云云开发平台助力风变科技Serverless架构升级实战 背景 风变科技 一个希望通过技术去推动下一代基础教育的组织.旗下产品包括第一代的熊猫书院(读书类产品).第二代的熊猫小课(泛学科综合学习平 ...
- 痞子衡嵌入式:微控制器CPU性能测试基准(EEMBC-CoreMark)
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是微控制器CPU性能测试基准CoreMark. 在嵌入式系统行业用于评价CPU性能指标的标准主要有三种:Dhrystone.MIPS.Co ...
随机推荐
- UVA11137(立方数之和)
题意: 给你一个n(<=10000),问他如果由立方数之和组成,那么有多少种方法? 思路: 一个地推公式,d[i][j] 表示用不大于i的数字去组合j这个数字有多少种方 ...
- (3) arm 指令
跳转指令1.1 B 跳转指令 B{cond} label 说明:如果条件cond满足,arm处理器将立即跳转到label指定的地址处继续执行.1.2 BL 带链接的跳转指令 BL{cond} labe ...
- WPF中属性经动画处理后无法更改的问题
在WPF的Animation中,有一个属性为FillBehavior,用于指定时间线在其活动周期结束后但其父时间线仍处于活动周期或填充周期时的行为方式.如果希望动画在活动周期结束时保留其值,则将动画F ...
- PHP 父类方法如何访问子类属性
设计知识点 类与对象->后期静态绑定 出现的问题 A 类为父类 里面有一个方法为调用当前类的 $name 属性 当 B 类继承了 A类时 但是输出仍然是 A (父类) 的 属性? <?ph ...
- Windows bat批处理删除指定N天前的文件
1:新建批处理文件:del_old_file.bat,更改系统时间为7天前,在c盘sql back 目录下新建测试文件,再将系统时间改为正确时间 2:编辑内容: rem 删除C:\sql back目录 ...
- 多线程-3.sleep() yield() join()
1.sleep()方法 jdk文档描述:Causes the currently executing thread to sleep (temporarily cease execution) for ...
- [bug] org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)
问题 原因不明,按参考文章中的做法,加了空格,clean后解决 参考 http://www.qishunwang.net/news_show_7922.aspx https://www.cnblogs ...
- [bug] java.sql.SQLException: Unknown initial character set index '255' received from server. Initial cl...
参考 https://www.jianshu.com/p/d86de6463cbd
- javaWeb——jsp
JavaBean 提供一个默认的无参构造函数 需要被序列化并且实现了 Serializable 接口 可能有一系列可读写属性 可能有一系列的 getter 或 setter 方法
- centos国内镜像下载
国内镜像下载 http://mirrors.aliyun.com/centos/6/isos/x86_64/ 如果需要下载centos 7 版本进入对应7的/isos/x86_64/ 选择minima ...