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

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

3天内不再提示

什么是机器学习?机器学习基础介绍

海阔天空的专栏 来源:海阔天空的专栏 作者:海阔天空的专栏 2022-08-25 17:19 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

本文旨在为硬件和嵌入式工程师介绍机器学习 (ML) 的背景,了解它是什么、它是如何工作的、它为何重要以及 TinyML 如何融入其中。

机器学习是一个永远存在且经常被误解的技术概念。这种实践是使用复杂的处理和数学技术使计算机能够找到大量输入和输出数据之间的相关性的科学,几十年来一直存在于我们对技术的集体意识中。近年来,科学爆炸式增长,得益于以下方面的改进:

计算能力

图形处理单元 (GPU) 架构支持的并行处理

用于大规模工作负载的云计算

事实上,该领域一直专注于桌面和基于云的使用,以至于许多嵌入式工程师没有过多考虑 ML 如何影响他们。在大多数情况下,它没有。

然而,随着TinyML或微型机器学习(在微控制器和单板计算机等受限设备上的机器学习)的出现,ML 已经与所有类型的工程师相关,包括从事嵌入式应用程序的工程师。除此之外,即使您熟悉 TinyML,对一般机器学习有一个具体的了解也很重要。

在本文中,我将概述机器学习、它的工作原理以及它对嵌入式工程师的重要性。

什么是机器学习?

作为人工智能 (AI) 领域的一个子集,机器学习是一门专注于使用数学技术和大规模数据处理来构建可以找到输入和输出数据之间关系的程序的学科。作为一个总称,人工智能涵盖了计算机科学中的一个广泛领域,专注于使机器能够在没有人工干预的情况下“思考”和行动。它涵盖了从“通用智能”或机器以与人类相同的方式思考和行动的能力,到专门的、面向任务的智能,这是 ML 的范畴。

我听说过去定义 ML 的最强大的方法之一是与经典计算机编程中使用的传统算法方法进行比较。在经典计算中,工程师向计算机提供输入数据——例如数字 2 和 4——以及将它们转换为所需输出的算法——例如,将 x 和 y 相乘得到 z。当程序运行时,会提供输入,然后应用算法来产生输出。这可以在图 1 中看到。

pYYBAGMHPrCAADlFAAA9RJaXZsQ462.jpg

图 1.在经典方法中,我们向计算机提供输入数据和算法并要求答案。

另一方面,ML 是向计算机呈现一组输入和输出并要求计算机识别“算法”(或模型,使用 ML 术语)每次将这些输入转换为输出的过程。通常,这需要大量输入以确保模型每次都能正确识别正确的输出。

例如,在图 2 中,如果我向 ML 系统提供数字 2 和 2 以及预期输出 4,它可能会决定算法总是将这两个数字相加。但是,如果我随后提供数字 2 和 4 以及预期输出 8,模型将从两个示例中了解到正确的方法是将两个提供的数字相乘。

poYBAGMHPrKAcSs_AABhQER9CmI937.jpg

图 2.使用 ML,我们拥有数据(输入)和答案(输出),并且需要计算机通过确定输入和输出如何以适用于整个数据集的方式关联来推导各种算法。

鉴于我正在使用一个简单的示例来定义一个复杂的字段,此时您可能会问:为什么要费心将简单的字段复杂化?为什么不坚持我们经典的算法计算方法?

答案是倾向于机器学习的这类问题通常不能通过纯粹的算法方法来表达。没有简单的算法可以给计算机一张图片并要求它确定其中是否包含猫或人脸。相反,我们利用 ML 并为其提供数千张包含猫和人脸的图片(作为像素集合),两者都没有,并且通过学习如何将这些像素和像素组与预期输出相关联来开发模型。当机器看到新数据时,它会根据之前看到的所有示例推断输出。这部分过程,通常称为预测或推理,是机器学习的魔力。

这听起来很复杂,因为它是。在嵌入式和物联网 (IoT) 系统的世界中,机器学习越来越多地被用于帮助机器视觉、异常检测和预测性维护等领域。在每个领域,我们收集大量数据——图像和视频、加速度计读数、声音、热量和温度——用于监控设施、环境或机器。然而,我们经常难以将这些数据转化为我们可以采取行动的洞察力。条形图很好,但是当我们真正想要的是能够在机器中断和离线之前预测机器需要服务的能力时,简单的算法方法是行不通的。

机器学习开发循环

进入机器学习。在有能力的数据科学家和机器学习工程师的指导下,这个过程从数据开始。也就是说,我们的嵌入式系统创建的海量数据。ML 开发过程的第一步是收集数据并在将其输入模型之前对其进行标记。标签是一个关键的分类步骤,也是我们将一组输入与预期输出相关联的方式。

ML 中的标签和数据收集

例如,一组加速度计 x、y 和 z 值可能对应于机器处于空闲状态,另一组可能表示机器运行良好,第三组可能对应于问题。在图 3 中可以看到高级描述。

pYYBAGMHPrOALrfuAABJc7c-Kks076.jpg

图 3.ML 工程师在数据收集过程中使用标签对数据集进行分类。

数据收集和标记是一个耗时的过程,但对于正确处理至关重要。虽然 ML 领域有几项创新利用预训练模型来抵消一些工作和新兴工具来简化从真实系统中收集数据,但这是一个不能跳过的步骤。世界上没有任何机器学习模型能够可靠地告诉您您的机器或设备是否运行良好或即将发生故障,而无需查看来自该机器或其他类似机器的实际数据。

机器学习模型开发、训练、测试、提炼

数据收集后,接下来的步骤是模型开发、训练、测试和细化。这个阶段是数据科学家或工程师创建一个程序,该程序摄取大量收集的输入数据,并使用一种或多种方法将其转换为预期的输出。解释这些方法可以填满卷,但足以说明大多数模型对其输入执行一组转换(例如,向量和矩阵乘法)。此外,他们将相互调整每个输入的权重,以找到一组与预期输出可靠相关的权重和函数。

该过程的这个阶段通常是迭代的。工程师将调整模型、使用的工具和方法,以及在模型训练期间运行的迭代次数和其他参数,以构建能够可靠地将输入数据与正确输出(也称为标签)相关联的东西。一旦工程师对这种相关性感到满意,他们就会使用训练中未使用的输入来测试模型,以了解模型在未知数据上的表现。如果模型在这个新数据上表现不佳,工程师会重复循环,如图 4 所示,并进一步细化模型。

pYYBAGMHPrSAN4_FAAEFNK5_x6M962.png

图 4.模型开发是一个包含许多步骤的迭代过程,但它从数据收集开始。

一旦模型准备就绪,它就会被部署并可用于针对新数据进行实时预测。在传统 ML 中,模型被部署到云服务中,以便它可以被正在运行的应用程序调用,该应用程序提供所需的输入并从模型接收输出。应用程序可能会提供一张图片并询问是否有人在场或一组加速度计读数,并询问模型这组读数是否对应于空闲、运行或损坏的机器。

正是在这个过程中,TinyML 如此重要且如此具有开创性。

那么 TinyML 适合在哪里呢?

如果还不清楚,机器学习是一个数据密集型过程。当您尝试通过相关性导出模型时,您需要大量数据来提供该模型。数百个图像或数千个传感器读数。事实上,模型训练的过程是如此密集、如此专业,以至于几乎任何中央处理单元 (CPU)都会占用大量资源,无论它的性能如何。相反,在 ML 中如此常见的向量和矩阵数学运算与图形处理应用程序没有什么不同,这就是为什么 GPU 已成为模型开发如此受欢迎的选择。

鉴于对强大计算的需求,云已成为卸载训练模型工作并托管它们以进行实时预测的事实上的场所。虽然模型训练是并且仍然是云的领域,特别是对于嵌入式和物联网应用程序,但我们越能将实时预测的能力转移到捕获数据的地方,我们的系统就会越好。在微控制器上运行模型时,我们获得了内置安全性和低延迟的好处,以及在本地环境中做出决策和采取行动的能力,而无需依赖互联网连接。

这是 TinyML 的领域,Edge Impulse等平台公司正在构建基于云的传感器数据收集工具和 ML 架构,以输出专为微控制器单元 (MCU)构建的紧凑、高效模型。从STMicroelectronics到Alif Semiconductor,越来越多的芯片供应商正在构建具有类似 GPU 计算能力的芯片,这使得它们非常适合在收集数据的地方与传感器一起运行 ML 工作负载。

对于嵌入式和物联网工程师来说,现在正是探索机器学习世界的最佳时机,从云到最小的设备。我们的系统只会变得越来越复杂,处理的数据比以往任何时候都多。将 ML 带到边缘意味着我们可以处理这些数据并更快地做出决策。

审核编辑 黄昊宇

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

    关注

    8

    文章

    7370

    浏览量

    95244
  • 机器学习
    +关注

    关注

    67

    文章

    8571

    浏览量

    137497
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    在阿里云PAI平台的机器人感知强化学习规模化实践

    物理 AI 正在迅速从基础运动控制迈向更复杂的环境理解。传统机器人强化学习(RL)长期依赖本体感知(proprioception),包括关节角度、力矩反馈和内部状态,来训练灵巧的运动技能。
    的头像 发表于 05-18 10:34 445次阅读
    在阿里云PAI平台的<b class='flag-5'>机器</b>人感知强化<b class='flag-5'>学习</b>规模化实践

    机器学习中的数据质量双保障:从“验证”到“标记”

    机器学习的世界里,有句老话尤为贴切:“garbagein,garbageout”(输入垃圾,输出垃圾)。无论模型架构多先进、算法多精妙,数据的质量始终是决定模型性能的核心。本文聚焦数据处理中两个
    的头像 发表于 04-24 15:48 186次阅读
    <b class='flag-5'>机器</b><b class='flag-5'>学习</b>中的数据质量双保障:从“验证”到“标记”

    机器学习特征工程:分类变量的数值化处理方法

    编码是机器学习流程里最容易被低估的环节之一,模型没办法直接处理文本形式的分类数据,尺寸(Small/Medium/Large)、颜色(Red/Blue/Green)、城市、支付方式等都是典型的分类
    的头像 发表于 02-10 15:58 535次阅读
    <b class='flag-5'>机器</b><b class='flag-5'>学习</b>特征工程:分类变量的数值化处理方法

    人工智能与机器学习在这些行业的深度应用

    自人工智能和机器学习问世以来,多个在线领域的数字化格局迎来了翻天覆地的变化。这些技术从诞生之初就为企业赋予了竞争优势,而在线行业正是受其影响最为显著的领域。人工智能(AI)与机器学习
    的头像 发表于 02-04 14:44 802次阅读

    强化学习会让自动驾驶模型学习更快吗?

    是一种让机器通过“试错”学会决策的办法。与监督学习不同,监督学习是有人提供示范答案,让模型去模仿;而强化学习不会把每一步的“正确答案”都告诉你,而是把环境、动作和结果连起来,让
    的头像 发表于 01-31 09:34 957次阅读
    强化<b class='flag-5'>学习</b>会让自动驾驶模型<b class='flag-5'>学习</b>更快吗?

    机器学习和深度学习中需避免的 7 个常见错误与局限性

    无论你是刚入门还是已经从事人工智能模型相关工作一段时间,机器学习和深度学习中都存在一些我们需要时刻关注并铭记的常见错误。如果对这些错误置之不理,日后可能会引发诸多麻烦!只要我们密切关注数据、模型架构
    的头像 发表于 01-07 15:37 415次阅读
    <b class='flag-5'>机器</b><b class='flag-5'>学习</b>和深度<b class='flag-5'>学习</b>中需避免的 7 个常见错误与局限性

    基于ETAS嵌入式AI工具链将机器学习模型部署到量产ECU

    AI在汽车行业的应用日益深化,如何将机器学习领域的先进模型(如虚拟传感器)集成到ECU软件中,已成为业界面临的核心挑战。
    的头像 发表于 12-24 10:55 6550次阅读
    基于ETAS嵌入式AI工具链将<b class='flag-5'>机器</b><b class='flag-5'>学习</b>模型部署到量产ECU

    时钟周期、机器周期、指令周期介绍

    的描述里也叫节拍,即将一个机器周期划分成若干个相等的时间段,每一段仅完成一个基本操作,用一个电平信号宽度对应。 个人理解:时钟周期取决于晶振频率,它是机器运行过程中所有时间的最小单位。机器运行过程中按步
    发表于 11-17 07:54

    量子机器学习入门:三种数据编码方法对比与应用

    在传统机器学习中数据编码确实相对直观:独热编码处理类别变量,标准化调整数值范围,然后直接输入模型训练。整个过程更像是数据清洗,而非核心算法组件。量子机器学习的编码完全是另一回事。传统算
    的头像 发表于 09-15 10:27 1111次阅读
    量子<b class='flag-5'>机器</b><b class='flag-5'>学习</b>入门:三种数据编码方法对比与应用

    如何在机器视觉中部署深度学习神经网络

    人士而言往往难以理解,人们也常常误以为需要扎实的编程技能才能真正掌握并合理使用这项技术。事实上,这种印象忽视了该技术为机器视觉(乃至生产自动化)带来的潜力,因为深度学习并非只属于计算机科学家或程序员。 从头开始:什么
    的头像 发表于 09-10 17:38 1143次阅读
    如何在<b class='flag-5'>机器</b>视觉中部署深度<b class='flag-5'>学习</b>神经网络

    如何解决开发机器学习程序时Keil项目只能在调试模式下运行,但无法正常执行的问题?

    如何解决开发机器学习程序时Keil项目只能在调试模式下运行,但无法正常执行的问题
    发表于 08-28 07:28

    超小型Neuton机器学习模型, 在任何系统级芯片(SoC)上解锁边缘人工智能应用.

    Neuton 是一家边缘AI 公司,致力于让机器 学习模型更易于使用。它创建的模型比竞争对手的框架小10 倍,速度也快10 倍,甚至可以在最先进的边缘设备上进行人工智能处理。在这篇博文中,我们将介绍
    发表于 07-31 11:38

    贸泽电子2025边缘AI与机器学习技术创新论坛回顾(上)

    2025年,随着人工智能技术的快速发展,边缘AI与机器学习市场迎来飞速增长,据Gartner预计,2025年至2030年,边缘AI市场将保持23%的复合年增长率。
    的头像 发表于 07-21 11:08 1409次阅读
    贸泽电子2025边缘AI与<b class='flag-5'>机器</b><b class='flag-5'>学习</b>技术创新论坛回顾(上)

    FPGA在机器学习中的具体应用

    随着机器学习和人工智能技术的迅猛发展,传统的中央处理单元(CPU)和图形处理单元(GPU)已经无法满足高效处理大规模数据和复杂模型的需求。FPGA(现场可编程门阵列)作为一种灵活且高效的硬件加速平台
    的头像 发表于 07-16 15:34 3217次阅读

    机器学习赋能的智能光子学器件系统研究与应用

    腾讯会议---六月直播 1.机器学习赋能的智能光子学器件系统研究与应用 2.COMSOL声学多物理场仿真技术与应用 3.超表面逆向设计及前沿应用(从基础入门到论文复现) 4.智能光学计算成像技术
    的头像 发表于 06-04 17:59 833次阅读
    <b class='flag-5'>机器</b><b class='flag-5'>学习</b>赋能的智能光子学器件系统研究与应用