0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

STM32单片机 来源:STM32单片机 2020-08-24 16:42 次阅读

人工智能已经从高高在上的技术走向多场景应用,在这个进程中,嵌入式技术将成为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应用

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

▲机器视觉的处理需求

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

▲STM32的市场定位

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

▲神经网络开发流程

第一步:获取数据

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

▲可以上下滚动查看图片

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

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

软件:FP-AI-SENSING1,下载链接:http://navo.top/zayQfi

第二步:数据清洗、打标

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

ST BLE SensorAPP (支持AndroidIOS,源码开放)下载链接:http://navo.top/uayaye

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

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

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

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

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

Cube.AI 工具的功能包括:

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

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

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

更多功能更新中…

Cube.AI 工具使用教程请参考以下培训课程:《基于STM32开发人工智能应用》 (复制网址到外部浏览器)

https://c.51diantang.com/columndetail?id=046ea06e6d1d476ab49a2cbbf84e43ab

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

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

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

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

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

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

软件:FP-AI-VISION1,下载链接:http://navo.top/rMJbY3

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

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

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

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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 人工智能
    +关注

    关注

    1779

    文章

    44298

    浏览量

    231170
  • 机器学习
    +关注

    关注

    66

    文章

    8164

    浏览量

    130814
  • 深度学习
    +关注

    关注

    73

    文章

    5249

    浏览量

    120013

原文标题:STM32,让AI触手可及

文章出处:【微信号:STM32_STM8_MCU,微信公众号:STM32单片机】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    主流的深度学习模型有哪些?AI开发工程师必备!

    深度学习在科学计算中获得了广泛的普及,其算法被广泛用于解决复杂问题的行业。所有深度学习算法都使用不同类型的神经网络来执行特定任务。什么是深度
    的头像 发表于 12-29 08:26 669次阅读
    主流的<b class='flag-5'>深度</b><b class='flag-5'>学习</b>模型有哪些?<b class='flag-5'>AI</b>开发工程师必备!

    深度学习在人工智能中的 8 种常见应用

    深度学习简介深度学习是人工智能(AI)的一个分支,它教神经网络学习和推理。近年来,它解决复杂问题
    的头像 发表于 12-01 08:27 1294次阅读
    <b class='flag-5'>深度</b><b class='flag-5'>学习</b>在人工智能中的 8 种常见应用

    深度学习的由来 深度学习的经典算法有哪些

    深度学习作为机器学习的一个分支,其学习方法可以分为监督学习和无监督
    发表于 10-09 10:23 373次阅读
    <b class='flag-5'>深度</b><b class='flag-5'>学习</b>的由来 <b class='flag-5'>深度</b><b class='flag-5'>学习</b>的经典算法有哪些

    一文详解机器学习深度学习的区别

    深度学习这几年特别火,就像5年前的大数据一样,不过深度学习其主要还是属于机器学习的范畴领域内,所
    发表于 09-06 12:48 1416次阅读
    一文详解<b class='flag-5'>机器</b><b class='flag-5'>学习</b>和<b class='flag-5'>深度</b><b class='flag-5'>学习</b>的区别

    机器学习深度学习的区别

      机器学习深度学习是当今最流行的人工智能(AI)技术之一。这两种技术都有助于在不需要人类干预的情况下让计算机自主
    发表于 08-28 17:31 1098次阅读

    深度学习机器学习的定义和优缺点 深度学习机器学习的区别

      深度学习机器学习机器学习领域中两个重要的概念,都是人工智能领域非常热门的技术。两者的
    发表于 08-21 18:27 2299次阅读

    机器学习与数据挖掘的区别 机器学习与数据挖掘的关系

    机器学习与数据挖掘的区别 , 机器学习与数据挖掘的关系 机器
    的头像 发表于 08-17 16:30 1602次阅读

    机器学习深度学习的区别

    机器学习深度学习的区别 随着人工智能技术的不断发展,机器学习
    的头像 发表于 08-17 16:11 3488次阅读

    深度学习框架和深度学习算法教程

    深度学习框架和深度学习算法教程 深度学习机器
    的头像 发表于 08-17 16:11 754次阅读

    深度学习框架是什么?深度学习框架有哪些?

    高模型的精度和性能。随着人工智能和机器学习的迅猛发展,深度学习框架已成为了研究和开发人员们必备的工具之一。 目前,市场上存在许多深度
    的头像 发表于 08-17 16:03 1932次阅读

    什么是深度学习算法?深度学习算法的应用

    什么是深度学习算法?深度学习算法的应用 深度学习算法被认为是人工智能的核心,它是一种模仿人类大脑
    的头像 发表于 08-17 16:03 1550次阅读

    深度学习是什么领域

    深度学习是什么领域  深度学习机器学习的一种子集,由多层神经网络组成。它是一种自动
    的头像 发表于 08-17 16:02 1313次阅读

    深度学习算法简介 深度学习算法是什么 深度学习算法有哪些

    深度学习算法简介 深度学习算法是什么?深度学习算法有哪些?  作为一种现代化、前沿化的技术,
    的头像 发表于 08-17 16:02 7191次阅读

    机器学习深度学习的区别

      机器学习是一种方法,利用算法来让机器可以自我学习和适应,而且不需要明确地编程。在许多应用中,需要机器使用历史数据训练模型,然后使用该模型
    发表于 08-02 17:36 399次阅读

    AI机器学习深度学习的区别及应用

    深度学习和神经网络的区别在于隐藏层的深度。一般来说,神经网络的隐藏层要比实现深度学习的系统浅得多,而深度
    发表于 07-28 10:44 341次阅读
    <b class='flag-5'>AI</b>、<b class='flag-5'>机器</b><b class='flag-5'>学习</b>和<b class='flag-5'>深度</b><b class='flag-5'>学习</b>的区别及应用