《边缘人工智能》[65M]百度网盘|pdf下载|亲测有效
《边缘人工智能》[65M]百度网盘|pdf下载|亲测有效
《边缘人工智能》[65M]百度网盘|pdf下载|亲测有效
《边缘人工智能》[65M]百度网盘|pdf下载|亲测有效
《边缘人工智能》[65M]百度网盘|pdf下载|亲测有效
《边缘人工智能》[65M]百度网盘|pdf下载|亲测有效
《边缘人工智能》[65M]百度网盘|pdf下载|亲测有效

边缘人工智能 pdf下载

isbn:9787111777168
出版社 机械工业出版社
出版年 2025-05-01
页数 402页
ISBN 9787111777168
装帧 精装
评分 9.2(豆瓣)
限时特惠 00:00:00
活动结束后恢复原价
纸质书参考价 ¥23
电子版限时价 ¥5.99 省 18 元

选择版本

不满意全额退款
发货失败双倍赔偿
邮箱即时发送

内容简介

本篇主要提供边缘人工智能电子书的pdf版本下载,本电子书下载方式为百度网盘方式,点击以上按钮下单完成后即会通过邮件和网页的方式发货,有问题请联系邮箱ebook666@outlook.com

编辑推荐

适读人群 :物联网产品经理、转型嵌入式ML开发的硬件工程师、工业4.0项目技术决策者、寻求低功耗AI落地的研究员、可持续发展领域的企业家

边缘人工智能正在改变计算机与真实世界交互的方式,使物联网设备能够利用之前因成本、带宽或功耗限制而被丢弃的99%的传感器数据来做出决策。借助嵌入式机器学习等技术,开发人员能够捕捉人类的直觉,并将其应用于各种目标——从超低功耗微控制器到嵌入式Linux设备。 这本实用指南为工程专业人士提供了一个完整的框架,用于解决工业、商业和科学领域的实际问题,适用于产品经理和技术领导者。你将深入了解从数据收集到模型优化、调整和测试的每个阶段,学习如何设计和支持边缘人工智能和嵌入式机器学习产品。边缘人工智能将成为系统工程师的标准工具,这份高层次的路线图将帮助你快速入门。

通过阅读本书,你将:

(1)增强你在边缘设备上人工智能和机器学习领域的专业知识。

(2)了解哪些项目最适合使用边缘人工智能来完成。

(3)探索边缘人工智能应用的关键设计模式。

(4)掌握一种用于开发人工智能系统的迭代工作流。

(5)构建一个拥有解决实际问题技能的团队

(6)遵循负责任的人工智能流程来创造有效的产品。

内容简介

本书以实用、易于理解的方式介绍了新兴的、迅速发展的边缘人工智能领域。本书涵盖广泛的主题,从核心概念到最新的硬件和软件工具,内容充满了可操作的建议,并包含多个端到端示例。本书可分为两部分:第一部分介绍和讨论关键概念,帮助你了解整个领域的情况,并带你了解有助于设计和实现应用程序的实际过程;第二部分通过三个完整的用例来演示如何运用所学知识解决科学、工业和消费者项目中的实际问题。本书旨在为那些将推动这场革命的工程师、科学家、产品经理和决策者提供指导。它是针对整个领域的高层次指南,提供了一个工作流程和框架,用于利用边缘人工智能解决现实世界的问题。

作者简介

Daniel Situnayake是Edge Impulse的机器学习负责人,负责领导嵌入式机器学习的研发工作。
Jenny Plunkett是Edge Impulse的高级开发者关系工程师,是一位技术演讲者、开发者传道者和技术内容创作者。

目录

序1
前言3
第1章 边缘人工智能简介11
1.1 关键术语定义11
1.1.1 嵌入式11
1.1.2 边缘端和物联网12
1.1.3 人工智能15
1.1.4 机器学习17
1.1.5 边缘人工智能19
1.1.6 嵌入式机器学习和微型机器学习19
1.1.7 数字信号处理21
1.2 为什么需要边缘人工智能22
1.2.1 理解边缘人工智能的好处(BLERP)22
1.2.2 边缘人工智能的作用25
1.2.3 边缘人工智能与常规人工智能之间的主要区别27
1.3 总结30
第2章 现实世界中的边缘人工智能31
2.1 边缘人工智能的常见用例31
2.1.1 绿地和棕地项目32
2.1.2 现实世界的产品33
2.2 应用类型37
2.2.1 物体追踪37
2.2.2 理解和控制系统39
2.2.3 了解人和生物41
2.2.4 信号转换44
2.3 负责任地创建应用46
2.3.1 负责任的设计和人工智能伦理47
2.3.2 黑盒和偏差50
2.3.3 保持谨慎52
2.4 总结55
第3章 边缘人工智能的硬件56
3.1 传感器、信号和数据源56
3.1.1 传感器和信号的类型59
3.1.2 声学与振动59
3.1.3 视觉与场景60
3.1.4 运动与位置62
3.1.5 力与触觉63
3.1.6 光学、电磁和辐射64
3.1.7 环境、生物和化学65
3.1.8 其他信号65
3.2 边缘人工智能处理器67
3.2.1 边缘人工智能硬件架构67
3.2.2 微控制器和数字信号处理器69
3.2.3 片上系统73
3.2.4 深度学习加速器74
3.2.5 FPGA和 ASIC75
3.2.6 边缘服务器78
3.2.7 多设备架构78
3.2.8 设备和工作负载80
3.3 总结80
第4章 边缘人工智能算法81
4.1 特征工程81
4.1.1 处理数据流81
4.1.2 数字信号处理算法 83
4.1.3 结合特征与传感器88
4.2 人工智能算法 89
4.2.1 按功能划分的算法类型 90
4.2.2 按实现方式划分的算法类型 94
4.2.3 边缘设备的优化106
4.2.4 在设备上训练109
4.3 总结111
第5章 工具与专业知识112
5.1 为边缘人工智能组建团队112
5.1.1 领域专业知识113
5.1.2 多元化114
5.1.3 利益相关者116
5.1.4 角色与责任117
5.1.5 边缘人工智能的招聘120
5.1.6 学习边缘人工智能技能121
5.2 行业工具123
5.2.1 软件工程124
5.2.2 使用数据127
5.2.3 算法开发129
5.2.4 在设备上运行算法138
5.2.5 嵌入式软件工程与电子技术141
5.2.6 边缘人工智能的端到端平台145
5.3 总结150
第6章 理解和构建问题151
6.1 边缘人工智能工作流程151
6.2 我需要边缘人工智能吗153
6.2.1 描述一个问题154
6.2.2 我需要部署到边缘吗154
6.2.3 我需要机器学习吗158
6.2.4 实践练习165
6.3 确定可行性165
6.3.1 道德可行性166
6.3.2 商业可行性168
6.3.3 数据集可行性170
6.3.4 技术可行性171
6.3.5 做最后的决定174
6.3.6 规划一个边缘人工智能项目175
6.4 总结177
第7章 如何构建一个数据集178
7.1 数据集是什么样的178
7.2 理想的数据集179
7.3 数据集和领域专业知识181
7.4 数据、道德和负责任的人工智能182
7.4.1 尽量减少未知因素184
7.4.2 确保领域专业知识185
7.5 以数据为中心的机器学习185
7.6 估计数据要求186
7.7 掌握数据190
7.8 存储和检索数据194
7.8.1 让数据进入存储库196
7.8.2 收集元数据197
7.9 确保数据质量198
7.9.1 确保数据集的代表性199
7.9.2 通过抽样审查数据201
7.9.3 标签噪声202
7.9.4 常见的数据错误204
7.9.5 漂移和偏移206
7.9.6 错误的不均匀分布207
7.10 准备数据207
7.10.1 标记208
7.10.2 格式化217
7.10.3 数据清洗219
7.10.4 特征工程224
7.10.5 数据分割225
7.10.6 数据增强230
7.10.7 数据管道231
7.11 随着时间推移构建数据集233
7.12 总结234
第8章 设计边缘人工智能应用235
8.1 产品与体验设计235
8.1.1 设计原则237
8.1.2 确定解决方案的范围239
8.1.3 设定设计目标241
8.2 架构设计244
8.2.1 硬件、软件和服务245
8.2.2 基本应用程序架构245
8.2.3 复杂的应用程序架构和设计模式251
8.2.4 使用设计模式255
8.3 设计中的选择度量256
8.4 总结259
第9章 开发边缘人工智能应用260
9.1 边缘人工智能开发的迭代工作流程260
9.1.1 探索261
9.1.2 目标设定262
9.1.3 引导264
9.1.4 测试和迭代267
9.1.5 部署273
9.1.6 支持274
9.2 总结274
第10章 评估、部署和支持边缘人工智能应用275
10.1 评估边缘人工智能系统275
10.1.1 评估系统的方法276
10.1.2 有用的指标279
10.1.3 评估技术289
10.1.4 评估和负责任的人工智能292
10.2 部署边缘人工智能应用292
10.2.1 部署前任务293
10.2.2 部署中任务295
10.2.3 部署后任务296
10.3 支持边缘人工智能应用296
10.3.1 部署后监控297
10.3.2 改进实时应用程序302
10.3.3 道德和长期支持304
10.4 接下来会发生什么307
第11章 用例:野生动物监测308
11.1 问题探索309
11.2 解决方案探索309
11.3 目标设定310
11.4 解决方案设计310
11.4.1 现有的解决方案有哪些310
11.4.2 解决方案设计方法311
11.4.3 设计注意事项312
11.4.4 环境影响314
11.4.5 引导315
11.4.6 定义你的机器学习类315
11.5 数据集收集316
11.5.1 Edge Impulse316
11.5.2 选择你的硬件和传感器317
11.5.3 数据收集319
11.5.4 iNaturalist320
11.5.5 数据集限制323
11.5.6 数据集许可和法律义务323
11.5.7 清理数据集324
11.5.8 上传数据到Edge Impulse324
11.6 DSP和机器学习工作流程326
11.6.1 DSP块326
11.6.2 机器学习块328
11.7 测试模型334
11.7.1 实时分类335
11.7.2 模型测试337
11.7.3 本地测试模型338
11.8 部署338
11.8.1 创建库338
11.8.2 手机和计算机340
11.8.3 预构建二进制固件340
11.8.4 运行Impulse342
11.8.5 GitHub源代码342
11.9 迭代和反馈循环342
11.10 人工智能向善344
11.11 相关工作344
11.11.1 数据集345
11.11.2 研究345
第12章 用例:食品质量保证347
12.1 问题探索347
12.2 解决方案探索348
12.3 目标设定348
12.4 解决方案设计349
12.4.1 现有的解决方案有哪些349
12.4.2 解决方案设计方法350
12.4.3 设计注意事项351
12.4.4 环境及社会影响352
12.4.5 引导353
12.4.6 定义你的机器学习类353
12.5 数据集收集354
12.5.1 Edge Impulse354
12.5.2 选择你的硬件和传感器354
12.5.3 数据收集355
12.5.4 数据摄取固件355
12.5.5 上传数据到Edge Impulse357
12.5.6 清理数据集359
12.5.7 数据集许可和法律义务359
12.6 DSP和机器学习工作流程360
12.6.1 DSP块361
12.6.2 机器学习块362
12.7 测试模型365
12.7.1 实时分类366
12.7.2 模型测试366
12.8 部署367
12.8.1 预构建二进制固件369
12.8.2 GitHub源代码372
12.9 迭代和反馈循环372
12.10 相关工作373
12.10.1 研究374
12.10.2 新闻和其他文章375
第13章 用例:消费类产品376
13.1 问题探索376
13.2 目标设定377
13.3 解决方案设计377
13.3.1 现有的解决方案有哪些377
13.3.2 解决方案设计方法377
13.3.3 设计注意事项379
13.3.4 环境及社会影响380
13.3.5 引导381
13.3.6 定义你的机器学习类381
13.4 数据集收集381
13.4.1 Edge Impulse382
13.4.2 选择你的硬件和传感器382
13.4.3 数据收集383
13.4.4 数据摄取固件383
13.4.5 清理数据集385
13.4.6 数据集许可和法律义务386
13.5 DSP和机器学习工作流程386
13.5.1 DSP块387
13.5.2 机器学习块390
13.6 测试模型394
13.6.1 实时分类394
13.6.2 模型测试394
13.7 部署396
13.7.1 预构建二进制固件397
13.7.2 GitHub源代码397
13.8 迭代和反馈循环397
13.9 相关工作398
13.9.1 研究398
13.9.2 新闻和其他文章399

前言/序言



2022 年,GitHub 首席执行官Thomas Dohmke表示:“我认为向云计算的转变将会非常 迅速,我预测在短短几年内,你的本地计算机上将不再有任何代码。”这本书很好地 解释了为什么我和许多其他从事边缘机器学习领域工作的人认为他是完全错误的。
我们开始看到许多实际应用的出现,比如高质量的语音识别、森林火灾预防和智能家居控制,这些应用之所以能够实现,是因为本地设备现在能够运行先进的机器学习算法。Jenny和Dan编写了一本精彩的书,不仅解释了为什么将智能添加到边缘应用对于解决重要问题至关重要,而且还引导读者完成设计、实施和测试这类应用所需的步骤。
当你刚开始研究边缘机器学习项目时,可能会感到非常吃力。这个领域涉及大量术语, 变化很快,并且需要嵌入式系统和人工智能等领域的知识,而且这些领域通常没有很好地整合在一起。这本书的目的是对有效处理这类应用所需了解的一切做一个平实而全面的介绍。通过强调真实世界的示例和使用通俗易懂的语言(而不是数学或代码)来解释复杂的主题,使这本书适合更广泛的读者阅读。所以产品经理、高管、设计师以及工程 师都可以很轻松地阅读这本书。
两位作者成功地从经验中获得了许多宝贵知识,并将其提炼为课程,这将使得任何从事 这类应用的团队都能够快速入门。
他们还设法探讨了关于如何构建边缘机器学习应用等实际问题之外的其他问题,并将帮助你了解如何避免在工作中造成伤害。与人工智能有关的伦理问题似乎令人不知所措, 但作者设法将它们分解成一些问题,你可以在项目规划和测试过程中直接加以应用。这 将有助于项目中的所有利益相关者通力合作,并有望避免让计算机对我们的生活拥有更 多决策权所带来的许多潜在危险。
我从事边缘机器学习应用工作已经有十多年了,最初是在一家初创公司,后来在谷歌担任技术主管,而现在是另一家初创公司的创始人,并且我将邀请加入我们团队的每个人 阅读这本书。如果你对这一领域感兴趣,无论是作为一名程序员、设计师、管理者,还是只是一个关心这一新技术的人,我都强烈推荐这本书。我保证,阅读这本书会让你了解到很多有趣的想法,并帮助你打造下一代智能设备。
—Pete Warden ,Useful Sensors 公司首席执行官,微控制器 TensorFlow Lite 的创建者

前言

过去几年,越来越多的工程师和研究人员悄悄地改写了计算机与物理世界互动的规则。 其结果是,一项被称为“边缘人工智能”的技术有望颠覆近百年的计算机历史,并触及每个人的生活。
通过一次微小的软件更新,边缘人工智能技术可以赋予廉价、节能的处理器(已经广泛应用于从洗碗机到恒温器等各种设备中)感知和理解世界的能力。我们可以赋予日常物 品智能,不再依赖于对数据需求量大的中心化服务器。而且,下一代工具使每个人都能接触这种魔力,无论是高中生还是研究人员。
世界上已经有许多边缘人工智能产品。以下是一些我们将在本书中遇到的例子:
1 通过安装在电力塔上的智能设备预测可能发生的故障,帮助防止由电力传输引起的森林火灾。
2 可穿戴手环能够在消防员面临热应变和过度劳累风险时发出警报,确保他们的安全。
3 语音用户界面提供无须手动操作的控制技术,不需要互联网连接。
4 智能项圈可以监测野生大象的活动,帮助研究人员了解它们的行为并防止它们发生冲突。
5 野生动物相机(或称摄像机)可以识别特定的动物物种,帮助科学家了解它们的行为。
边缘人工智能技术仍然是崭新的,而这些现有应用只是其潜力的一小部分。随着越来越 多的人学习如何使用边缘人工智能,他们将创造出能够解决人类各个领域问题的应用程 序。本书的目标是让你成为他们中的一员。我们希望能够帮助你根据自己独特的视角创 造成功的边缘人工智能产品。
关于本书
本书旨在为那些将推动这场革命的工程师、科学家、产品经理和决策者提供指导。它是针对整个领域的高层次指南,提供了一个工作流程和框架,用于利用边缘人工智能解决 现实世界的问题。
除此之外,我们希望你掌握以下内容:
1 不同边缘人工智能技术所固有的机遇、限制和风险。
2 通过人工智能和嵌入式机器学习进行问题分析和解决方案框架的设计。
3 成功开发边缘人工智能应用的端到端实践工作流。
本书的第一部分将介绍和讨论关键概念,帮助你了解整个领域的情况。接下来将带你了解有助于设计和实现应用程序的实际过程。
本书的第二部分从第 11 章开始,我们将通过三个完整的用例来演示如何运用所学知识解决科学、工业和消费者项目中的实际问题。
阅读本书,你将有信心通过边缘人工智能的视角来观察世界,并拥有一套可靠的工具, 可以用来构建有效的解决方案。
本书预期
这不是一本编程书,也不是针对特定工具的教程,所以不要期望有大量的逐行代码解释 或使用特定软件的分步指南。相反,你将学习如何使用最适合的工具和通用框架来解决问题。
也就是说,这个主题非常适合可探索、定制和构建的有形、交互式示例。在本书中,我们将提供各种可供探索的工件(artifact),包括Git存储库、免费的在线数据集和示例训练管道(流水线)。
其中许多工件将托管在 Edge Impulse (https://edgeimpulse.com)中,这是一个用于构建 边缘人工智能应用的工程工具。它基于开源技术和标准最佳实践,因此即使你在不同 的平台上工作,也能够理解其中的原理。本书的作者都是Edge Impulse的忠实粉丝—但他们可能有偏好,因为他们是构建该工具的团队的一部分!
需要了解的基础知识
本书是关于构建在边缘设备上运行的软件, 因此对嵌入式开发的高级概念有一定的了解会有所帮助,可以是关于资源受限设备(如微控制器或数字信号处理器)或通用设备 (如嵌入式Linux计算机)的知识。
尽管如此,如果你刚开始接触嵌入式软件,也不用担心跟不上!我们会保持简单,并在出现新主题时介绍它们。
除此之外,无须假设任何特定的知识。由于本书的目标是为整个工程领域提供实用的路线图,因此我们将涵盖许多主题。如果你对我们提到的任何内容感兴趣—从机器学习的基础知识到应用设计的基本要素—那么本书将提供许多我们在学习过程中发现的有 用资源。
负责任、合乎伦理、有效的人工智能
构建任何类型的应用程序,最重要的部分都是确保它在现实世界中正常运行。不幸的是,人工智能应用程序特别容易受到一类问题的影响,使它们在外表上看起来工作得很好,但实际上却以非常有害的方式失效。
避免这类问题将是本书的核心主题之一。因为现代人工智能开发是一个迭代的过程,仅仅在工作流的最后测试系统是否正常工作是不够的。相反,需要在整个过程中的每一步考虑潜在的陷阱。你必须了解风险所在,严格审查中间结果,并在考虑利益相关者需求 的情况下做出明智的决策。
在本书中,我们将介绍一个强大的框架,帮助你理解、推理、度量性能,并针对构建人工智能应用程序时可能出现的问题做出决策。这将是我们整个开发过程的基础,并且会塑造我们设计应用程序的方式。
这个过程始于项目的最初阶段。为了构建有效的应用程序,理解我们目前的人工智能方法并不适用于某些用例是至关重要的。在许多情况下,造成伤害(无论是身体上的、财 务上的还是社会上的)的风险超过了部署人工智能的潜在利益。本书将教你如何识别这些风险,并在探索项目的可行性时将其考虑在内。
作为领域专家,我们有责任确保自己创造的技术得到适当的使用。没有人比我们更适合做这项工作,因此我们有责任做好这项工作。本书将帮助你做出正确的决策,并创建性 能良好、可避免伤害并使更多人受益的应用程序。

扩展资源
涵盖从低级实现到高级设计模式的嵌入式人工智能的书籍将占据书架的大部分空间!而你正在阅读的这本书不会试图把所有内容都塞进一本书中,而是提供了整个领域的详细但高层次的路线图。


编辑推荐

适读人群 :物联网产品经理、转型嵌入式ML开发的硬件工程师、工业4.0项目技术决策者、寻求低功耗AI落地的研究员、可持续发展领域的企业家

边缘人工智能正在改变计算机与真实世界交互的方式,使物联网设备能够利用之前因成本、带宽或功耗限制而被丢弃的99%的传感器数据来做出决策。借助嵌入式机器学习等技术,开发人员能够捕捉人类的直觉,并将其应用于各种目标——从超低功耗微控制器到嵌入式Linux设备。 这本实用指南为工程专业人士提供了一个完整的框架,用于解决工业、商业和科学领域的实际问题,适用于产品经理和技术领导者。你将深入了解从数据收集到模型优化、调整和测试的每个阶段,学习如何设计和支持边缘人工智能和嵌入式机器学习产品。边缘人工智能将成为系统工程师的标准工具,这份高层次的路线图将帮助你快速入门。

通过阅读本书,你将:

(1)增强你在边缘设备上人工智能和机器学习领域的专业知识。

(2)了解哪些项目最适合使用边缘人工智能来完成。

(3)探索边缘人工智能应用的关键设计模式。

(4)掌握一种用于开发人工智能系统的迭代工作流。

(5)构建一个拥有解决实际问题技能的团队

(6)遵循负责任的人工智能流程来创造有效的产品。

内容简介

本书以实用、易于理解的方式介绍了新兴的、迅速发展的边缘人工智能领域。本书涵盖广泛的主题,从核心概念到最新的硬件和软件工具,内容充满了可操作的建议,并包含多个端到端示例。本书可分为两部分:第一部分介绍和讨论关键概念,帮助你了解整个领域的情况,并带你了解有助于设计和实现应用程序的实际过程;第二部分通过三个完整的用例来演示如何运用所学知识解决科学、工业和消费者项目中的实际问题。本书旨在为那些将推动这场革命的工程师、科学家、产品经理和决策者提供指导。它是针对整个领域的高层次指南,提供了一个工作流程和框架,用于利用边缘人工智能解决现实世界的问题。

作者简介

Daniel Situnayake是Edge Impulse的机器学习负责人,负责领导嵌入式机器学习的研发工作。
Jenny Plunkett是Edge Impulse的高级开发者关系工程师,是一位技术演讲者、开发者传道者和技术内容创作者。

目录

序1
前言3
第1章 边缘人工智能简介11
1.1 关键术语定义11
1.1.1 嵌入式11
1.1.2 边缘端和物联网12
1.1.3 人工智能15
1.1.4 机器学习17
1.1.5 边缘人工智能19
1.1.6 嵌入式机器学习和微型机器学习19
1.1.7 数字信号处理21
1.2 为什么需要边缘人工智能22
1.2.1 理解边缘人工智能的好处(BLERP)22
1.2.2 边缘人工智能的作用25
1.2.3 边缘人工智能与常规人工智能之间的主要区别27
1.3 总结30
第2章 现实世界中的边缘人工智能31
2.1 边缘人工智能的常见用例31
2.1.1 绿地和棕地项目32
2.1.2 现实世界的产品33
2.2 应用类型37
2.2.1 物体追踪37
2.2.2 理解和控制系统39
2.2.3 了解人和生物41
2.2.4 信号转换44
2.3 负责任地创建应用46
2.3.1 负责任的设计和人工智能伦理47
2.3.2 黑盒和偏差50
2.3.3 保持谨慎52
2.4 总结55
第3章 边缘人工智能的硬件56
3.1 传感器、信号和数据源56
3.1.1 传感器和信号的类型59
3.1.2 声学与振动59
3.1.3 视觉与场景60
3.1.4 运动与位置62
3.1.5 力与触觉63
3.1.6 光学、电磁和辐射64
3.1.7 环境、生物和化学65
3.1.8 其他信号65
3.2 边缘人工智能处理器67
3.2.1 边缘人工智能硬件架构67
3.2.2 微控制器和数字信号处理器69
3.2.3 片上系统73
3.2.4 深度学习加速器74
3.2.5 FPGA和 ASIC75
3.2.6 边缘服务器78
3.2.7 多设备架构78
3.2.8 设备和工作负载80
3.3 总结80
第4章 边缘人工智能算法81
4.1 特征工程81
4.1.1 处理数据流81
4.1.2 数字信号处理算法 83
4.1.3 结合特征与传感器88
4.2 人工智能算法 89
4.2.1 按功能划分的算法类型 90
4.2.2 按实现方式划分的算法类型 94
4.2.3 边缘设备的优化106
4.2.4 在设备上训练109
4.3 总结111
第5章 工具与专业知识112
5.1 为边缘人工智能组建团队112
5.1.1 领域专业知识113
5.1.2 多元化114
5.1.3 利益相关者116
5.1.4 角色与责任117
5.1.5 边缘人工智能的招聘120
5.1.6 学习边缘人工智能技能121
5.2 行业工具123
5.2.1 软件工程124
5.2.2 使用数据127
5.2.3 算法开发129
5.2.4 在设备上运行算法138
5.2.5 嵌入式软件工程与电子技术141
5.2.6 边缘人工智能的端到端平台145
5.3 总结150
第6章 理解和构建问题151
6.1 边缘人工智能工作流程151
6.2 我需要边缘人工智能吗153
6.2.1 描述一个问题154
6.2.2 我需要部署到边缘吗154
6.2.3 我需要机器学习吗158
6.2.4 实践练习165
6.3 确定可行性165
6.3.1 道德可行性166
6.3.2 商业可行性168
6.3.3 数据集可行性170
6.3.4 技术可行性171
6.3.5 做最后的决定174
6.3.6 规划一个边缘人工智能项目175
6.4 总结177
第7章 如何构建一个数据集178
7.1 数据集是什么样的178
7.2 理想的数据集179
7.3 数据集和领域专业知识181
7.4 数据、道德和负责任的人工智能182
7.4.1 尽量减少未知因素184
7.4.2 确保领域专业知识185
7.5 以数据为中心的机器学习185
7.6 估计数据要求186
7.7 掌握数据190
7.8 存储和检索数据194
7.8.1 让数据进入存储库196
7.8.2 收集元数据197
7.9 确保数据质量198
7.9.1 确保数据集的代表性199
7.9.2 通过抽样审查数据201
7.9.3 标签噪声202
7.9.4 常见的数据错误204
7.9.5 漂移和偏移206
7.9.6 错误的不均匀分布207
7.10 准备数据207
7.10.1 标记208
7.10.2 格式化217
7.10.3 数据清洗219
7.10.4 特征工程224
7.10.5 数据分割225
7.10.6 数据增强230
7.10.7 数据管道231
7.11 随着时间推移构建数据集233
7.12 总结234
第8章 设计边缘人工智能应用235
8.1 产品与体验设计235
8.1.1 设计原则237
8.1.2 确定解决方案的范围239
8.1.3 设定设计目标241
8.2 架构设计244
8.2.1 硬件、软件和服务245
8.2.2 基本应用程序架构245
8.2.3 复杂的应用程序架构和设计模式251
8.2.4 使用设计模式255
8.3 设计中的选择度量256
8.4 总结259
第9章 开发边缘人工智能应用260
9.1 边缘人工智能开发的迭代工作流程260
9.1.1 探索261
9.1.2 目标设定262
9.1.3 引导264
9.1.4 测试和迭代267
9.1.5 部署273
9.1.6 支持274
9.2 总结274
第10章 评估、部署和支持边缘人工智能应用275
10.1 评估边缘人工智能系统275
10.1.1 评估系统的方法276
10.1.2 有用的指标279
10.1.3 评估技术289
10.1.4 评估和负责任的人工智能292
10.2 部署边缘人工智能应用292
10.2.1 部署前任务293
10.2.2 部署中任务295
10.2.3 部署后任务296
10.3 支持边缘人工智能应用296
10.3.1 部署后监控297
10.3.2 改进实时应用程序302
10.3.3 道德和长期支持304
10.4 接下来会发生什么307
第11章 用例:野生动物监测308
11.1 问题探索309
11.2 解决方案探索309
11.3 目标设定310
11.4 解决方案设计310
11.4.1 现有的解决方案有哪些310
11.4.2 解决方案设计方法311
11.4.3 设计注意事项312
11.4.4 环境影响314
11.4.5 引导315
11.4.6 定义你的机器学习类315
11.5 数据集收集316
11.5.1 Edge Impulse316
11.5.2 选择你的硬件和传感器317
11.5.3 数据收集319
11.5.4 iNaturalist320
11.5.5 数据集限制323
11.5.6 数据集许可和法律义务323
11.5.7 清理数据集324
11.5.8 上传数据到Edge Impulse324
11.6 DSP和机器学习工作流程326
11.6.1 DSP块326
11.6.2 机器学习块328
11.7 测试模型334
11.7.1 实时分类335
11.7.2 模型测试337
11.7.3 本地测试模型338
11.8 部署338
11.8.1 创建库338
11.8.2 手机和计算机340
11.8.3 预构建二进制固件340
11.8.4 运行Impulse342
11.8.5 GitHub源代码342
11.9 迭代和反馈循环342
11.10 人工智能向善344
11.11 相关工作344
11.11.1 数据集345
11.11.2 研究345
第12章 用例:食品质量保证347
12.1 问题探索347
12.2 解决方案探索348
12.3 目标设定348
12.4 解决方案设计349
12.4.1 现有的解决方案有哪些349
12.4.2 解决方案设计方法350
12.4.3 设计注意事项351
12.4.4 环境及社会影响352
12.4.5 引导353
12.4.6 定义你的机器学习类353
12.5 数据集收集354
12.5.1 Edge Impulse354
12.5.2 选择你的硬件和传感器354
12.5.3 数据收集355
12.5.4 数据摄取固件355
12.5.5 上传数据到Edge Impulse357
12.5.6 清理数据集359
12.5.7 数据集许可和法律义务359
12.6 DSP和机器学习工作流程360
12.6.1 DSP块361
12.6.2 机器学习块362
12.7 测试模型365
12.7.1 实时分类366
12.7.2 模型测试366
12.8 部署367
12.8.1 预构建二进制固件369
12.8.2 GitHub源代码372
12.9 迭代和反馈循环372
12.10 相关工作373
12.10.1 研究374
12.10.2 新闻和其他文章375
第13章 用例:消费类产品376
13.1 问题探索376
13.2 目标设定377
13.3 解决方案设计377
13.3.1 现有的解决方案有哪些377
13.3.2 解决方案设计方法377
13.3.3 设计注意事项379
13.3.4 环境及社会影响380
13.3.5 引导381
13.3.6 定义你的机器学习类381
13.4 数据集收集381
13.4.1 Edge Impulse382
13.4.2 选择你的硬件和传感器382
13.4.3 数据收集383
13.4.4 数据摄取固件383
13.4.5 清理数据集385
13.4.6 数据集许可和法律义务386
13.5 DSP和机器学习工作流程386
13.5.1 DSP块387
13.5.2 机器学习块390
13.6 测试模型394
13.6.1 实时分类394
13.6.2 模型测试394
13.7 部署396
13.7.1 预构建二进制固件397
13.7.2 GitHub源代码397
13.8 迭代和反馈循环397
13.9 相关工作398
13.9.1 研究398
13.9.2 新闻和其他文章399

前言/序言



2022 年,GitHub 首席执行官Thomas Dohmke表示:“我认为向云计算的转变将会非常 迅速,我预测在短短几年内,你的本地计算机上将不再有任何代码。”这本书很好地 解释了为什么我和许多其他从事边缘机器学习领域工作的人认为他是完全错误的。
我们开始看到许多实际应用的出现,比如高质量的语音识别、森林火灾预防和智能家居控制,这些应用之所以能够实现,是因为本地设备现在能够运行先进的机器学习算法。Jenny和Dan编写了一本精彩的书,不仅解释了为什么将智能添加到边缘应用对于解决重要问题至关重要,而且还引导读者完成设计、实施和测试这类应用所需的步骤。
当你刚开始研究边缘机器学习项目时,可能会感到非常吃力。这个领域涉及大量术语, 变化很快,并且需要嵌入式系统和人工智能等领域的知识,而且这些领域通常没有很好地整合在一起。这本书的目的是对有效处理这类应用所需了解的一切做一个平实而全面的介绍。通过强调真实世界的示例和使用通俗易懂的语言(而不是数学或代码)来解释复杂的主题,使这本书适合更广泛的读者阅读。所以产品经理、高管、设计师以及工程 师都可以很轻松地阅读这本书。
两位作者成功地从经验中获得了许多宝贵知识,并将其提炼为课程,这将使得任何从事 这类应用的团队都能够快速入门。
他们还设法探讨了关于如何构建边缘机器学习应用等实际问题之外的其他问题,并将帮助你了解如何避免在工作中造成伤害。与人工智能有关的伦理问题似乎令人不知所措, 但作者设法将它们分解成一些问题,你可以在项目规划和测试过程中直接加以应用。这 将有助于项目中的所有利益相关者通力合作,并有望避免让计算机对我们的生活拥有更 多决策权所带来的许多潜在危险。
我从事边缘机器学习应用工作已经有十多年了,最初是在一家初创公司,后来在谷歌担任技术主管,而现在是另一家初创公司的创始人,并且我将邀请加入我们团队的每个人 阅读这本书。如果你对这一领域感兴趣,无论是作为一名程序员、设计师、管理者,还是只是一个关心这一新技术的人,我都强烈推荐这本书。我保证,阅读这本书会让你了解到很多有趣的想法,并帮助你打造下一代智能设备。
—Pete Warden ,Useful Sensors 公司首席执行官,微控制器 TensorFlow Lite 的创建者

前言

过去几年,越来越多的工程师和研究人员悄悄地改写了计算机与物理世界互动的规则。 其结果是,一项被称为“边缘人工智能”的技术有望颠覆近百年的计算机历史,并触及每个人的生活。
通过一次微小的软件更新,边缘人工智能技术可以赋予廉价、节能的处理器(已经广泛应用于从洗碗机到恒温器等各种设备中)感知和理解世界的能力。我们可以赋予日常物 品智能,不再依赖于对数据需求量大的中心化服务器。而且,下一代工具使每个人都能接触这种魔力,无论是高中生还是研究人员。
世界上已经有许多边缘人工智能产品。以下是一些我们将在本书中遇到的例子:
1 通过安装在电力塔上的智能设备预测可能发生的故障,帮助防止由电力传输引起的森林火灾。
2 可穿戴手环能够在消防员面临热应变和过度劳累风险时发出警报,确保他们的安全。
3 语音用户界面提供无须手动操作的控制技术,不需要互联网连接。
4 智能项圈可以监测野生大象的活动,帮助研究人员了解它们的行为并防止它们发生冲突。
5 野生动物相机(或称摄像机)可以识别特定的动物物种,帮助科学家了解它们的行为。
边缘人工智能技术仍然是崭新的,而这些现有应用只是其潜力的一小部分。随着越来越 多的人学习如何使用边缘人工智能,他们将创造出能够解决人类各个领域问题的应用程 序。本书的目标是让你成为他们中的一员。我们希望能够帮助你根据自己独特的视角创 造成功的边缘人工智能产品。
关于本书
本书旨在为那些将推动这场革命的工程师、科学家、产品经理和决策者提供指导。它是针对整个领域的高层次指南,提供了一个工作流程和框架,用于利用边缘人工智能解决 现实世界的问题。
除此之外,我们希望你掌握以下内容:
1 不同边缘人工智能技术所固有的机遇、限制和风险。
2 通过人工智能和嵌入式机器学习进行问题分析和解决方案框架的设计。
3 成功开发边缘人工智能应用的端到端实践工作流。
本书的第一部分将介绍和讨论关键概念,帮助你了解整个领域的情况。接下来将带你了解有助于设计和实现应用程序的实际过程。
本书的第二部分从第 11 章开始,我们将通过三个完整的用例来演示如何运用所学知识解决科学、工业和消费者项目中的实际问题。
阅读本书,你将有信心通过边缘人工智能的视角来观察世界,并拥有一套可靠的工具, 可以用来构建有效的解决方案。
本书预期
这不是一本编程书,也不是针对特定工具的教程,所以不要期望有大量的逐行代码解释 或使用特定软件的分步指南。相反,你将学习如何使用最适合的工具和通用框架来解决问题。
也就是说,这个主题非常适合可探索、定制和构建的有形、交互式示例。在本书中,我们将提供各种可供探索的工件(artifact),包括Git存储库、免费的在线数据集和示例训练管道(流水线)。
其中许多工件将托管在 Edge Impulse (https://edgeimpulse.com)中,这是一个用于构建 边缘人工智能应用的工程工具。它基于开源技术和标准最佳实践,因此即使你在不同 的平台上工作,也能够理解其中的原理。本书的作者都是Edge Impulse的忠实粉丝—但他们可能有偏好,因为他们是构建该工具的团队的一部分!
需要了解的基础知识
本书是关于构建在边缘设备上运行的软件, 因此对嵌入式开发的高级概念有一定的了解会有所帮助,可以是关于资源受限设备(如微控制器或数字信号处理器)或通用设备 (如嵌入式Linux计算机)的知识。
尽管如此,如果你刚开始接触嵌入式软件,也不用担心跟不上!我们会保持简单,并在出现新主题时介绍它们。
除此之外,无须假设任何特定的知识。由于本书的目标是为整个工程领域提供实用的路线图,因此我们将涵盖许多主题。如果你对我们提到的任何内容感兴趣—从机器学习的基础知识到应用设计的基本要素—那么本书将提供许多我们在学习过程中发现的有 用资源。
负责任、合乎伦理、有效的人工智能
构建任何类型的应用程序,最重要的部分都是确保它在现实世界中正常运行。不幸的是,人工智能应用程序特别容易受到一类问题的影响,使它们在外表上看起来工作得很好,但实际上却以非常有害的方式失效。
避免这类问题将是本书的核心主题之一。因为现代人工智能开发是一个迭代的过程,仅仅在工作流的最后测试系统是否正常工作是不够的。相反,需要在整个过程中的每一步考虑潜在的陷阱。你必须了解风险所在,严格审查中间结果,并在考虑利益相关者需求 的情况下做出明智的决策。
在本书中,我们将介绍一个强大的框架,帮助你理解、推理、度量性能,并针对构建人工智能应用程序时可能出现的问题做出决策。这将是我们整个开发过程的基础,并且会塑造我们设计应用程序的方式。
这个过程始于项目的最初阶段。为了构建有效的应用程序,理解我们目前的人工智能方法并不适用于某些用例是至关重要的。在许多情况下,造成伤害(无论是身体上的、财 务上的还是社会上的)的风险超过了部署人工智能的潜在利益。本书将教你如何识别这些风险,并在探索项目的可行性时将其考虑在内。
作为领域专家,我们有责任确保自己创造的技术得到适当的使用。没有人比我们更适合做这项工作,因此我们有责任做好这项工作。本书将帮助你做出正确的决策,并创建性 能良好、可避免伤害并使更多人受益的应用程序。

扩展资源
涵盖从低级实现到高级设计模式的嵌入式人工智能的书籍将占据书架的大部分空间!而你正在阅读的这本书不会试图把所有内容都塞进一本书中,而是提供了整个领域的详细但高层次的路线图。