机器学习的未来在何方?

2023-12-09 09:10
文章标签 未来 学习 机器 何方

本文主要是介绍机器学习的未来在何方?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

作者 | C.J. Abate(美国)

译者 | 禾沐

Daniel Situnayake是一位创新工程师,他相信机器学习(MachineLearning,ML)是一项具有颠覆性的技术。在采访中Daniel分析了机器学习的潜力,介绍了TinyML及其应用,并分享了他在谷歌的经历。

 Daniel Situnayake

在 Edge Impulse创立了TinyML   

从学术界过渡到工业界

Abate:让我们从你的背景开始,你是什么时候开始对嵌入式机器学习感兴趣的? 是你在伯明翰城市大学(Birmingham City University,BCU)攻读计算机网络和安全学士学位的时候? 还是你离开大学后?

Situnayake:起初我并没有计划涉足嵌入式机器学习领域,在进入这一领域之前我在不同的领域绕了很大的一圈。从BCU 毕业之后,我在学校担任了一段时间的讲师和顾问,那时我主攻的方向是自动识别和数据抓取,也就是计算机如何识别和处理实体对象———从生物数据(如人脸识别)、RFID、条形码到智能卡。这一段经历让我接触到了未使用机器学习的计算机视觉算法和嵌入式系统。

几次更换工作后,由于一次并购,我加入了一家消费者理财公司新成立的数据科学团队。在这里我第一次接触到了数据科学工具和流程,并学习了如何处理非常庞大的数据集。这些“第一次”的经历对我来说非常有趣。

当我们创立Tiny Farms的时候,我发现我们可以运用数据科学的工具来解读在农业技术场景下嵌入式传感器收集到的数据,并作出反应。后来在谷歌和Tensor-Flow Lite团队的Pete Warden(见图2)和Andy Selle见过面后,我真正洞悉了深度学习在小型设备上的潜力,并将此定为我的主攻方向。

Abate:你是什么时候移居到加州的? 来到加州是为了工作机会吗?

Situnayake:我是2009年移居加州的,金融危机发生后的那一年。在那之前我的理想是驾驶阿帕奇直升机!我花了几年时间通过了成为英国皇家陆军军官学员的心理和身体素质测试,预定于2009年5月开始正式的训练,所以我决定和我最好的朋友到美国来一次“最后的旅行”。

当我们在加州停留的时候,我结识了一位女孩。几个月后,已经在桑德赫斯特接受了几周训练课程的我决定放弃成为一位绅士飞行员,在加州过上舒适自在的生活更适合我。半年后,我就同这位认识不久的女孩结了婚。

不幸的是,这段婚姻并没有持续下去。我留在了加州,从学术界过渡到了工业界。我在洛杉矶的一家人工智能创业公司工作了一段时间,之后搬到了旧金山湾区,正好赶上了2010年之后技术创业的再次爆发,这期间发生了很多事情。

昆虫农业技术

Abate:你参与了Tiny Farms的创立,在领英上描述Tiny Farms是“美国第一家昆虫农业技术公司”。为什么要创建Tiny Farms? 公司的现状如何?

Situnayake:和我的很多其他故事一样,Tiny Farms源自我在美国的旅行。我的两个好友讨论过保障粮食安全的项目,旅行之中他们在湖边的一个小木屋住了一段时间,湖边能听到蚱蜢的叫声,他们出于好奇搜索了一下蚱蜢是不是可以吃。稍做研究之后,他们发现蚱蜢对全球粮食安全起到了很重要的作用,但是却没有人研究过批量饲养它们的技术。

在进行了一些实验之后,他们邀请我一起创建一家公司。我看到了将我学到的关于自动识别和数据抓取的方法应用于饲养昆虫中的可能性,以及运用数据科学指导新系统开发过程的潜力。

我当然同意了这项提议! 起初这只是一个业余项目,但后来我们筹集了更多资金,并在加州圣利安卓(San Leandro)建起了工业级的昆虫农场。在处理客户和投资人关系的同时,我们还需要继续科研,并饲养了数百万的蟋蟀,那是一段辛苦但是让人兴奋的日子。我在Tiny Farms坚持了五年,然后决定不再继续下去。我的合伙人们继续坚持了几年,但是公司的产品一直没能在市场取得成功,他们最终结束了公司的运营。我们在Tiny Farms的七年间所进行的设计和收集的数据现在作为开源项目继续存在。

在谷歌工作

Abate:你在谷歌工作了差不多三年,在我们具体讨论你的工作岗位前,能不能描述一下加入谷歌这样知名的企业是什么感受?

Situnayake:在农业公司的五年,我在“施工”上花的时间要比编程的时间多,所以我想要进行更多深入的程序设计,谷歌是我在技术角度最敬仰的企业。

在谷歌,我很快就被震撼到了。到谷歌之前我从来没有在大型科技公司工作过,谷歌的工卡让我可以进入谷歌全球任何一个办公室,这让我感到我成为了一个新“国家”的居民,这个“国家”有自己的公共服务、基础设施和政府。谷歌有着非常自由的文化,你基本上可以进行任何对产品有正面影响的项目。如果你有一个好点子,谷歌会鼓励你邀请其他人一起实现它。谷歌内部不同的项目令人眼花缭乱,这也带来了独特的问题:我应该加入哪个项目呢?

这一问题相当令人困扰,因为我身边总是有各种各样的事情在发生。我需要参加很多会议,处理很多杂事,还要不断思考。我在谷歌的第一年基本上就是在学习如何过滤哪些事情是必须的,以及如何不被太多的事情压倒。我认为“在谷歌工作的所有人都是天才”是一个误解,在谷歌内部你能找到各种拥有不同能力的人,这和其他的技术公司并没有什么两样。我并不喜欢英雄崇拜主义,在谷歌你能见到很多业界知名人士,他们和你一样,都是普通人。

Abate:你在谷歌负责TensorFlow Lite的开发者关系管理,TensorFlow Lite是什么? 你如何培训开发者,是通过线下活动还是在线课程?

Situnayake:TensorFlow是谷歌用于训练、评估和开发深度学习模型的开源工具生态系统的总称,包括定义模型结构的高层Python代码,以及在不同处理器上执行模型的底层代码。

TensorFlow Lite是TensorFlow工具针对在“边缘节点”上部署模型的子集。边缘节点包括比个人电脑还小的设备,比如手机和微控制器。TensorFlow Lite不仅能够针对这类设备优化深度学习模型,它还包括针对这些设备高度优化过的代码。

我个人最喜欢TensorFlow Lite的精简快速版本,专门为在小型、廉价、低功耗的微控制器上运行深度学习模型而设计。在TensorFlow Lite for Microcontroller之前,开发者需要自行编写在嵌入式设备上运行深度学习模型的底层代码,这显然提高了终端设备机器学习的门槛。TensorFlow进入到这一领域打破了这面墙,现在但凡具有一些嵌入式系统开发经验的开发者都可以在设备上运行模型。TinyML 领域的开发是一件非常振奋人心的事情!

我的工作职责是帮助TensorFlow Lite团队了解开发者生态环境,并和开发者建立联系。开发者们各有不同,为他们提供不同的参与方式是非常重要的。我们用多种方式鼓励开发者参与,从线下集会、谷歌赞助的官方会议、简单易懂的样例代码,到发布TinyML著作!

Abate:你为什么最终离开了谷歌? 那是一个艰难的决定吗?

Situnayake:在与使用TensorFlow 的开发者的交流中,我发现即使是最好的机器学习工具和代码库,开发者也需要花上大量的时间学习如何使用。虽然线上有非常好的课程和资源,但很多忙碌的程序员并没有那么多时间投入到学习中。训练模式不单单是一门技术,它几乎是一门艺术,好的直觉和最佳的开发方法需要很多年的实践。TinyML就更难了,它是一个新的领域,有很多事情我们还不了解。

当我听说我后来的东家Edge Impulse时,我被震撼到了。在正式发布之前,他们就已经能够让任何开发者在嵌入式硬件上训练深入学习模型了。之前在开发者社区的经验告诉我,他们解决了领域里最困难的一些问题,成功地将它们抽象化,并让机器学习的工具变得不再难以使用。

我相信嵌入式机器学习是一项具有颠覆性的技术,它将会以前所未有的方式改变我们的世界。Edge Impulse创立的目的是让每一位工程师都能够将这项技术同他们所在领域的专业知识相结合,然后在解决复杂问题的过程中进行应用。

当我意识到Edge Impulse的潜力之后,我决定加入他们。和我在谷歌的朋友们说再见的确是一件令人伤心的事情,好在我依然和他们有工作上的来往!

Tiny Machine Learning (TinyML)

Abate:关于TinyML,专业工程师和创客们需要知道什么? 你能不能举两个超低功耗机器学习的例子?

Situnayake:我们的世界里有数以几十亿计的传感器在各种各样的地方工作着,从家用电器、智能工厂到我们驾驶的汽车。如果开发者想要理解这个世界,并开发能够帮助人们做出决策的设备,这些传感器传输的数据提供了绝佳的机会。

在过去我们只有一种方式处理传感器数据:数据经由互联网送达一台更加强力的计算机,在那里进行处理和解读,然后由这台计算机触发下一步的行动。对于一些应用而言,这一方式没有什么问题(比如气象站的数据可以花上几秒到达服务器),但是也有许多应用不能采取这一方式。

野生动物抓拍相机是我最喜欢的例子,科学家用它们监控动物的行为。这些相机往往设置在没有互联网的野外,当动物从相机前走过时动作传感器会触发拍照。研究者定期检查这些相机,换走存储着相片的存储卡。

问题是动作传感器可能会因为各种原因触发,比如风吹动树叶或者是研究者不感兴趣的动物经过。存储卡经常会很快存满,研究者需要频繁更换,检查所有的图片也非常费时。如果相机能够访问互联网,那么相机的电池会更快耗尽,研究者一样需要频繁维护相机。

如果我们部署一个能够辨识研究动物的TinyML模型,相机就不会拍下飞舞的树叶了。这样相机就可以在野外工作更长的时间,从而节省研究者的经费和时间。

四项需求决定了一个应用是否适合TinyML。如果一个应用的网络连接是受限的,或者有低延迟、低功耗或者高隐私性的要求,不需要从设备端向外发送数据的TinyML可能会有所帮助。需要注意的是,只有一部分问题是可以用机器学习解决的。这些问题需要能容忍一定程度的模糊性,这是因为机器学习很少能给出确切的解答。偶尔的失误对于抓拍动物而言是可以接受的,但是在安全关键应用中机器学习可能就不够可靠了。

Abate:你是《TinyML: Machine Learning with TensorFlowLite on Arduino and Ultra Low Power Microcontrollers》一书的作者之一。我觉得TinyML和Arduino一样不只是面向专业工程师而已,除了阅读你的著作以外,工程师和创客们还可以如何学习TinyML呢?

Situnayake:最佳的学习方式永远是动手做一些项目!我们在Edge Impulse上的一些教程是不错的开始,比如“通过加速度计感应动作”、“识别录音中的声音”和“为你的传感器添加一双慧眼”。

Edge Impulse的设计让你可以在手机上收集数据和测试模式,而且不需要任何特别的硬件。当你熟悉了机器学习的工作流程之后,你就可以在喜欢的开发板上开始实验了! 我个人推荐初学者在Arduino Nano 33 BLE Sense开发板上学习TinyML,其上搭载低能耗但是快速的Cortex M 4F处理器,有充足的RAM 用于运行模型,而且Edge Impulse完全支持这一款开发板。

Edge Impulse

Abate:你在2020年1月加入了位于圣何塞的Edge Impulse,你是怎样取得这一机会的?

Situnayake:我在谷歌工作的时候有幸和公司CEO

Zach Shelby见过面,他之前在arm 做副总裁时和Tensor-Flow Lite团队有很多工作上的交集。我注意到了Zach宣布离开arm 并意向创建一家TinyML公司,当公司贴出招聘启事时我立即就申请了!

Abate:你的每日工作是什么样的? 你会一天都在编程吗? 还是处理教育和商业开发上的事务?

Situnayake:我在Edge Impulse最高兴的事情之一就是我再一次变回工程师了,我大多数的时间都在进行开发和编程。我依然会和客户见面,这对于我是一项有意义的活动,帮助我决定在开发中应该在哪里花时间。我在TinyML社区中一直很活跃,我经常进行演讲或者帮助组织线下活动。话说回来,工作日的早晨一般会有几个会议,然后剩下的时间我就可以自由编程了!

Abate:我了解到Edge Impulse团队在5月启动了新冠病毒(COVID 19)相关的项目———“在Arduino上用TinyML检测咳嗽”(见图3),项目页面有5 400次访问。工程社区对项目的反应如何? 项目现在的进展如何?

Situnayake:虽然Edge Pulse才创立了几个月,但我们已经是一个多元化的社区了,社区成员们有着不同的背景。新冠病毒来袭之后,数据科学家和生物医学工程师Kartik Thakore表达了想要创立相关项目的意愿。我们觉得这是一个展示TinyML的机会,我们寄给了他一些硬件,他做出了一个检测咳嗽的TinyML模型。我们把项目的成果在线公开,希望这一项目可以鼓励创客们开启新的挑战!

 在Arduino上用TinyML检测咳嗽

TinyML项目

Abate: 还有哪些TinyML的项目是你想要提及的?

Situnayake:Edge Impulse相信技术是正能量,很多我喜欢的项目都是如此。比如Smart Parks用TinyML模型发现野生大象,这样在它进入村落前村民就能事先得到通知。

另一个我感兴趣的现象是人们会拿计算机做疯狂的事情,比如Benjamin Cabé有一个用气敏传感器辨识不同牌子的酒的项目! 如果感兴趣,你可以在Seeed Studio找到这个项目的教程。

本文授权来自本刊的合作伙伴Elektor媒体集团,如果希望免费订阅Elektor的英文在线内容,请访问https://www.elektormagazine.com/。


1.如何应对AIoT对芯片的碎片化需求?

2.2021你值得入手的嵌入式系统线上课程在这里!

3.嵌入式编程中使用qemu能够做什么?

4.曝英特尔拟20亿美元收购SiFive!

5.英伟达的阳谋,收购Arm的危险讯号︱调研英伟达收购Arm影响

6.华为官方通知:鸿蒙不再属于华为!

这篇关于机器学习的未来在何方?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/473236

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟&nbsp;开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚&nbsp;第一站:海量资源,应有尽有 走进“智听

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

线性代数|机器学习-P36在图中找聚类

文章目录 1. 常见图结构2. 谱聚类 感觉后面几节课的内容跨越太大,需要补充太多的知识点,教授讲得内容跨越较大,一般一节课的内容是书本上的一章节内容,所以看视频比较吃力,需要先预习课本内容后才能够很好的理解教授讲解的知识点。 1. 常见图结构 假设我们有如下图结构: Adjacency Matrix:行和列表示的是节点的位置,A[i,j]表示的第 i 个节点和第 j 个