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