先前几篇文章从物联网基本概念、物联网架构出发到硬件管理平台的介绍,接下来就来谈谈物联网的最重要功能“智能”。
物联网(Internet of Thing, IoT)广义定义是万物皆可连接到网络,并可互相沟通或交换信息,以达到某种便利人类生活的目的。先前的文章介绍到设备管理平台为止,它一直聚焦在通过一个中央的硬件管理平台将硬件连接到网络、硬件间使用哪一种或哪些的通讯协议沟通、用硬件管理平台如何管控这些硬件等议题。
等到这里为止都属于硬件架构设计范畴(虽然硬件管理平台本身是软件),然而如何让物体本身成为智能对象就是纯软件的范畴了。相信很多读者都听过机器学习、深度学者这些热门名词,其中机器学习之所以热门,就是大部分专家都认为机器学习是成就智能对象的核心关键,因此机器学习方法堪称是物联智能的核心技术。
物联网核心仰赖以机器学习为主的分析
物联网的应用非常的广泛,只要物体可以通过传感器(Sensor)收集监测到的讯号或信息,提供到硬件管理平台再链接到应用程序处理后,反馈出特定的决策再指示原始对象做进一步动作的领域都是可能的应用场域,例如:智能门锁(通过家庭成员的进出时间判定物流配送最佳时间)、智能冰箱(监控冰箱里的食物保存状态、甚至决定何时补货)、智能汽车(通过路径分析节省能源或交通时间、监控车辆使用状态,决定何时进场维修)、智能农业(监控农田环境状态,决定何时洒水或施肥)、智能家居(有效的节能与生活辅助)、智能供应链订制化、智慧城市、智能工厂(提升生产效率或降低耗损)等,这些智能或智能的核心都倚赖以机器学习为主的预测分析。
数据分析的议题除了以机器学习为核心外,还有数据超载与新的因素加入时系统如何快速响应等问题。试想,物联网中的连网的硬件无时无刻都在收集数据,时间久了自然会造成数据超载问题,仅仅依靠人力必然无法进行实时的分析和利用。
另一方面,数据科学家通过分析大量的数据来辨认模式并人工定义规则,尽管已预建良好的应变系统,应用方案实际实施环境中随时出现新的因素却可能影响正确行动的判断。如何确保物联网系统在快速变化的环境中,仍然能够做出最佳响应也是一项很有挑战性的课题。
机器学习先驱阿瑟塞穆尔(Arthur Samuel)说:机器学习使计算机赋有学习能力,不需要显示的程序指令就能创建算法,从数据中学习并做出预测。从传感器所搜集到的资料,经整理后变成信息,再通过机器学习之类的方法将之转化成有用的知识,最后就会蜕变成可执行的智能,这样才真正让对象有了智能。
给一个简单的物联网应用定义一个规则比如当温度太高时,就把冷气压缩机启动该规则非常简。 然而确定多个传感器的输入与外部因素之间的相关性却不是想当然的结论。举个例子说明:根据自动贩卖机的销售状况、库存水平、当地的天气预报和促销广告等传感器数据,系统必须决定何时派遣一辆卡车去补充自动贩卖机内的商品。如果判断时间错误以致出现货品空窗期或摆放不合适的商品,都可能导致不同的销售失败。
好的物联网平台层都应该提供具备机器学习功能的数据分析系统,帮助链接到这个物联网平台的各种物联网应用方案能够分析传感器数据,寻找相关性,并做出最佳响应,解决类似上面自动贩卖机补货时间与内容的议题。这个系统还必须不断监控它的预测准确度,持续训练完善既有的算法,提高决策的正确性与速度。
目前,主要有两类的机器学习方法:
1、监督式学习:它是指在一组实例的基础上开发一种算法。例如,一个简单的智能零售为例可能是一个产品每天的销售记录。该算法计算的是一种相关,有关每个产品在一天之中到底有多少有可能会顺利出售。这个信息有助于确定何时传送卡车来补充自动贩卖机器。过去常见的监督式学习方法为支持向量机,现在流行的监督式学习方法就是众口传颂的深度学习法。
2、非监督式学习:不提供人为定义标签(如销售/天),系统需要自己去分析探索关键因素。它主动提供所有对分析相关的数据,而让系统去主动识别不那么明显的相关性,例如,价格折扣、本地事件和天气状态(例如:下雨与否)都可能影响自动贩卖机的销售数量。常见的非监督式学习法包含有主成份分析、关联规则学习、分群算法及同样是最红火的深度学习法。
按照Industrial Internet ConsorTIum (IIC)提出的Industrial Internet Reference Architecture (IIRA)的定义,一个物联网应用方案可以分成三个层次:各项硬件传感器的硬件层、串连硬件层与企业层的平台层、企业层。
物联网中设备记录文件(Machine log)以及传感器产生的数据由硬件层中的网关收集转换,经由网络传入位于云端或是企业内部私有云中的数据分析系统,数据分析的前端模块执行实时串流数据处理,由于每个单位时间都持续由硬件层中的分散的设备节点动态产生大量数据,因此前端模块必须具有实时接收处理串流数据的能力,此时数据可经由分散处理的分析引擎与分散储存的数据库达成计算资源动态规划支持。
在数据分析系统数据处理过程需进行数据清理,异质性数据汇整等数据前处理工作,关于异质性数据分析将另以专文说明。
这里可参考以下工作原则进行:
(1)补足原始数据不完整的字段,如时间位置或说明。
(2)同时过滤有错误的数据。
(3)并且对数据的单位和坐标进行转换。
(4)几种基本的分析模式也可以在此阶段运行,如加总、相关性。
(5)同时生成并处理事件。这些结果倒入控制面板(Dashboard)以图像化的方式呈现给用户。
(6)处理后的数据置于数据库中长期保存以利后续的进一步分析。较为复杂的预测建模分析需要统计机率建模与机器学习,则采批次分析模块进行。
预测建模分析核心精神是基于统计模型的回归分析模式,采用大量历史数据提供建模,同时需要引入许多的外部数据,例如产业领域知识,供机器学习中特征工程使用。文字以及影像等非结构化数据特性则另外借助特定模块处理,产生对应的半结构化数据以供后续建模所需特征工程使用。目前物联网数据分析的来源数据可能包含厂房设备的状态例如输入电流、震动,环境因素如温度、影像和语言文字,或是用户行为等在线的数据。同时导入多种外部信息用以辅助数据分析,例如政府公开资料、天气温湿度、新闻事件、大众舆论、人机互动等交互使用。
因此好的数据分析系统应具备以下几个重要特征:
(1)在领域专家协助下,基于场域知识库建设需求,以规则与事例建构专家系统,以自动化的规则处理方法以汇整运用大量的知识。
(2)统计专家结合领域知识对数据探索分析,然后进行特征工程抽取出适当的特征,导入机器学习,先进的非监督学习算法可以自动化分析得到带有最多信息量的特征,应用于预测建模过程特征工程使用。
(3)机器学习:实作并整合各种算法,持续评估运算效能,以统计采样验证模型的精确度,自动化混合多种算法并且调整参数,达到优化的预测结果。
数据分析系统除了实作各种机器学习的算法,为了满足不同产业、不同场域或主题的物联网应用方案,还需要因应不同产业或场域应用提出不同评估验证方式,以确保或提升各种预测建模方法的预测精确度和适用性。现阶段期待一个数据分析与预测系统能够通用性地解决各行各业、各别厂商数据分析需求。
例如:应用于在线串流数据实时分析、进而预测即将发生的设备异常状态诊断、或是产能设备参数优化、以及订制化生产的配方提供,恐怕还需等若干年后数据分析方法有更突破性进展才有可能实现。因为单靠机器学习虽然可达到一定的效果,仍旧有学习成效上限存在,目前业界采用的方法是除了机器学习外,再搭配领域专家根据领域知识来制定相关有效的规则来辅助机器学习,或需数据科学家分析大量的数据后所得出的有用信息回馈给机器学习,以求达到更高效的均衡问题解决方案。
不少有志于物联网应用方案研发的厂商往往选择自行开发整体方案,宣称有能力自行建设数据分析/预测系统,往往做出来的数据分析系统只是最基本的统计分析,缺乏真正使得整个物联网应用方案“智能”的能力。看了本文的说明后,往后需求方在评估上门推销的智慧物联网方案时,应该要询问方案提供厂商这些基本问题,才不致花钱买到不智能的物联网应用方案。至于有意进入开发物联网应用方案的厂商,最好在规划研发之初审慎思考是否有能力开发这个核心系统,否则就应该觅妥优秀的数据分析/预测团队合作。
责任编辑:ct
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)