首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

机器视觉-今日洞察和未来展望

为了比竞争对手更好地服务其目标客户,当今的嵌入式设计团队正在寻求机器学习(ML)和深度学习(DL)等新技术,以便在有限的资源下按时向市场开发和部署复杂的机器和设备。借助这些技术,团队可以使用数据驱动的方法构建复杂的单系统或多系统模型。 ML和DL算法不是使用基于物理学的模型来描述系统的行为,而是透过数据推断出系统的模型。 传统ML算法适用于处理数据量相对较小且问题的复杂度较低的情况。 但如果是像自动驾驶汽车这样的大数据问题呢? 解决这个挑战需要采用DL技术。 本文介绍了这种新兴技术将如何推动我们进入控制设计和工业物联网(IIoT)应用的下一个时代。

http://www.eepw.com.cn/article/201802/375368.htm

1 ML技术在工业资产状态监测中的应用

首先考虑机器学习(ML)技术在工业资产状态监测中的应用。 ML有助于将基于状态的监测应用从被动维护和预防性维护转变为预测性维护。 这些技术常用于检测异常行为和诊断问题,并在一定程度上预测电机、水泵和涡轮机等工业资产的剩余使用寿命。

基于ML的模型开发和部署流程如图1所示。

图1 基于机器学习的分析流程

看看这个工作流程是如何用来监控电机的健康状况的。 数据是从加速度计、热电偶和连接到电机的电流传感器等多种类型的传感器采集而来。 特征工程步骤通常由两部分组成: 特征提取和特征约简。 特征提取用于从原始数据(或波形)中导出有助于了解资产健康情况的信息。 例如,来自电机的电流信号的频谱中嵌入了可用于检测故障的信息,如图2所示。频谱中不同频带上的平均振幅可用作为从电流信号中提取的特征。 从多个传感器提取的特征可能包含冗余信息。 可以使用主成分分析(PCA)等特征约简方法来减少最终用于建立模型的特征的数量。 特征的数量减少,意味着要使用的ML模型的复杂性降低了。 减少的特征集表示为向量(或数组),并输入到ML算法中,ML算法将用于模型创建步骤。 模型创建和验证是一个迭代过程,在这个过程中,您可以尝试使用几种ML算法,并选择最适合您应用的算法。

图2 对电机电流信号进行特征约简

图 3 特征工程

无监督的ML算法(如高斯混合模型(GMM))可用于模拟电机的正常行为,并检测电机何时开始偏离其基线。 无监督的方法不需要标记数据就可以发现数据中的隐藏模式。 无监督的技术主要用来检测电机的异常,监督算法则用于检测异常的原因。 在有监督的方法中,算法以输入数据和期望输出的组合表示。 这个数据称为标签数据。 算法会学习函数将输入映射到输出。 用于训练ML算法的数据包含在正常和错误条件下提取的特征。 使用表示电机状态的标签可清楚地标识特征。 常用的监督ML算法包括支持向量机(SVM)、逻辑回归和人工神经网络。

传统ML技术面临的挑战是特征提取过程。 这个过程需要专业的领域知识,而且非常容易出错,通常是ML工作流程中的故障点。 因此现在越来越多人采用DL算法,因为它们无需使用特征工程步骤。 从传感器采集的数据(原始测量数据)可以直接输入到DL算法中,如下所示。

图4 深度学习工作流程

DL算法基于人工神经网络。 人工神经网络学习算法受到生物神经网络的结构和功能的启发。 这些算法采用相互连接的计算节点(人工神经)组的形式结构,而计算节点采用层的结构形式。 第一层称为输入层,作为与输入信号或数据的连接接口。 最后一层是输出层,该层中的神经元输出最终的预测或决定。 在输入层和输出层之间,有一个或多个隐藏层(图5)。 每一层的输出通过加权连接的方式连接到下一层的节点。 神经网络通过修改这些权重来学习输入和输出之间的映射。 通过使用多个隐藏层,DL算法可以学习需要从输入数据中提取的特征,而不需要将特征明确地输入到学习算法中。 这就称为特征学习。

图5 前馈人工神经网络

2 IIoT中应用DL需要考虑的因素

深度学习最近在IIoT应用中取得了成功,主要归功于更强大的硬件计算能力、庞大的标记训练数据库、学习算法和网络初始化的突破性进展以及开源软件框架的可用性。

以下是使用此技术设计系统的一些主要考虑因素。

拓扑结构-深度学习是一个不断发展的领域,目前有许多网络拓扑已经得到应用[1]。 接下来将讨论其中一些有望用于控制和监测IIoT应用的网络。

· 完全连接的深度神经网络通过许多隐藏层完全连接人工神经网络(因此称为深度神经)。 这些网络都是出色的函数逼近器,比如,可以用于电力电子控制的应用。 如果要使用深层网络来构建控制器,可以使用要控制的系统的仿真模型来生成训练数据。 借此,您可以探索使用传统方法通常难以控制的状态(边界/转角条件)。

· 卷积神经网络设计为可利用输入图像或语音信号等输入信号的二维结构。 卷积网络由一个或多个卷积层(滤波层)组成,随后是完全连接的多层神经网络。 这些网络可成功检测图像中的缺陷以及识别对象, 现已应用到先进驾驶员辅助系统中的场景理解。

· 递归神经网络(RNN)采用的是基于顺序(或历史)信息进行预测的算法。 这些网络适用于时间序列分析。 传统的神经网络假定所有的输入(和输出)在时间或到达顺序上是相互独立的。 RNN记录的是状态信息,能够存储关于过去的信息,并使用当前已计算的信息进行下一个预测。 在IIoT应用中,RNN有助于学习历史行为,并根据历史行为来预测未来事件,如资产的剩余使用寿命(RUL)。 长短期记忆(LSTM)网络非常适用于这类应用。[2]

· 深度强化学习(DRL)适用于设计在复杂动态环境中运行的自适应控制系统。 比如控制仓库操作机器人,这些机器人必须动态适应新任务。 以强化学习为基础的控制器通过执行任务后所获得的奖励来一步步完成目标。 例如,控制器接收显示机器人手臂当前位置的摄像机图像,并通过图像中的信息学习如何将手臂移近目标。[3] 基于DL的控制器可以使用机器人模拟器或通过观察操作中的机器人来进行训练。

图6 用于机器人控制应用的深度强化学习

训练 - 深度神经网络需要大量的训练数据,最好包括网络要学习的所有不同状态或条件的数据。 对于大多数应用来说,可用的数据主要来自系统的正常工作状态,仅对其他状态的数据进行少量的采样。 数据增强技术可改善数据中的这一不平衡性,您可以从已有的少量样本为基础,通过转换数据创建更多合成版本。 您也可以使用系统的仿真模型来创建训练数据。 另一个挑战是要采集训练这些网络所需的庞大数据非常困难。 迁移学习可以解决这个问题。 借助迁移学习,您可以以一个预先训练的神经网络为起点(大多数DL软件框架提供了经过完全训练的模型,而且可供下载),并使用应用程序中的数据对其进行微调。

硬件—训练深度网络对处理性能的要求非常高。 GPU已经成为训练深度网络的主要选择。 由于高计算性能、大内存、高内存带宽和多种编程工具选择,GPU成为最受欢迎的选择,而且几乎成为深度网络训练的必需技术。 此外,FPGA是部署经过训练的网络的理想终端选择。 FPGA提供了更低的延迟、更高的功效以及更高的确定性,尤其适用于在嵌入式设备上部署这些网络,适用于与I/O进行紧密循环操作的控制系统。

软件 - 深度学习之所以能够快速得到应用并获得成功的一个原因是有成熟的软件框架。 一些常见的框架包括TensorFlow、Caffe、Keras和CNTK。[4][5][6][7] 这些框架支持Windows和Linux等不同的操作系统,以及Python和C ++等语言。 这些框架中的大多数还可支持实现最新的DL网络或提供相关的示例, 而且还支持在GPU上学习。

3结论

深度学习是人工智能一个激动人心的新方向,有望能够解决工业控制设计应用的下一代问题。 深度学习的一个快速入门方法是下载上面提到的开源框架,并使用教程示例动手进行操作实践。 从与您应用程序类似的示例开始,并使用迁移学习快速运行。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180205C0DTVV00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券