论文的工作属于深度学习在工业界的应用,借鉴计算机视觉的解决方法,针对机器故障检测的场景提出自适应的APReLU,对故障检测的准确率有很大的提升。论文整体思想应该也可以应用于计算机视觉,代码也开源了,大家可以尝试下



来源:晓飞的算法工程笔记 公众号

论文: Deep Residual Networks with Adaptively Parametric Rectifier Linear Units for Fault Diagnosis

Introduction


  论文讨论的场景是电子设备的错误检测,由于在苛刻环境下长期运行,电子设备经常会不可避免地出现故障,进而造成意外和损失。而振动信号(vibration signal)通常包含由于机器故障引起脉冲和波动,可用来检测设备故障。近期,深度学习方法也被用于电子设备的错误检测中,将振动信号作为输入,输出当前设备是否正常。

  主流的分类神经网络使用一组完全相同的非线性变换来处理不同的输入,如图a所示,F、G和H代表非线性变化,\(=\)代表非线性变换是否相同。对于振动信号场景而言,相同健康状态的机器,由于当前操作不同,反馈的振动信号的差异可能较大,很难将不同波形的归为同一健康状态。相反的,不同健康状态的机器偶然会产生相同的振动信号,神经网络会将其映射到相近的区域,难以区分。综上,固定的非线性变换在振动信号场景中可能会对特征学习能力带来负面的影响,能够自动学习并根据输入信号使用不同的非线性变换是十分有意义的。

  论文基于ResNet提出了改进版ResNet-APReLU,如图b所示,根据输入信号赋予不同的非线性变换,具体是通过插入一个类似SE(squeeze-and-excitation)模块的子网来调整激活函数的斜率,能够大幅提升故障检测的准确率。由于论文的场景比较特殊,所以主要学习论文提出的方法,至于应用场景相关的部分和实验部分,就简单地带过就好了。

Fundamentals of classical ResNets


  论文以ResNet为基础,ResNet的核心结构如图2a所示,相信各位都很清楚,就不再介绍了。将ResNet应用到机器错误识别中,如图2b所示,输入振动信号,经过网络的特征提取后进行状态识别,判断机器是健康还是处于其它错误状态中。论文的核心是通过改进ReLU进行自适应的非线性变换,原版ReLU可公式化为:

Design of the developed ResNet-APReLU


Design of the fundamental architecture for APReLU

  APReLU集成了一个特别设计的子网,有点类似于SE模块,根据输入自适应地预测用于非线性变换的乘法因子,结构如图3a所示,输出channel-wise的ReLU参数,包含以下步骤:

  1. 用ReLU和GAP将输入特征映射到1D向量,获取正面特征(positive feature)的全局信息。用min(x, 0)和GAP将输入特征映射到另一个1D向量,获取负面特征(negative feature)的全局信息,负面信息可能包含某些有用的故障信息。GAP能够处理信号的偏移问题,将输入特征图信息压缩为两个1D向量,分别代表正面和负面信息。
  2. 将两个1D向量Concate到一起,进行FC-BN-ReLU-FC-BN-Sigmoid计算,两个FC的输出与输入特征的维度一致,最后sigmoid输出用于公式10的\(\alpha \in (0, 1)\)因子:

Architecture of the developed ResNet-APReLU for vibration-based gearbox fault diagnosis

  基于APEeLU构建新的ResBlock,如图b所示,与原版的ResBlock基本一致,只是将ReLU替换为APReLU进行自适应非线性激活。APReLU的输出大小跟输入大小一样,可以简单地嵌入到各种网络中。完整的网络结构如图c所示,最后输出多个机器状态的预测,计算交叉熵损失,进行梯度下降学习。

Experimental Results


  从结果来看,针对机器故障的场景,论文提出的方法是十分有效的。

Conclustion


  论文的工作属于深度学习在工业界的应用,借鉴计算机视觉的解决方法,针对机器故障检测的场景提出自适应的APReLU,对故障检测的准确率有很大的提升。论文整体思想应该也可以应用于计算机视觉,代码也开源了,大家可以尝试下。





如果本文对你有帮助,麻烦点个赞或在看呗~

更多内容请关注 微信公众号【晓飞的算法工程笔记】

APReLU:跨界应用,用于机器故障检测的自适应ReLU | IEEE TIE 2020的更多相关文章

  1. XMOS发布集单片机,AI,FPGA,DSP于一身的跨界处理器完全体xcore.ai,致力于AIOT,售价1美元起步

    说明:XMOS这次致力于打造全新的,颠覆性的嵌入式平台,简化开发人员要学一堆东西才能开发一款高性能AIOT产品的痛点. XCORE.AI集单片机,AI,FPGA,DSP于一身,嵌入式软件开发人员可以灵 ...

  2. 跨界玩AR,迪奥、Hugo Boss等知名奢侈品牌将制造AR眼镜

    Snapchat因为阅后即焚消息应用而被人所熟知,前段时间这家公司拓展主要业务,未来将不再只有消息应用,还有款名为"Spectacles"的AR太阳镜.内置了一个摄像头,戴上之后即 ...

  3. JJ Ying:越来越跨界的界面设计

    2013年6月29号  星期六  小雨  @大众点评 利用非界面设计的专业知识来提升界面设计 向平面设计跨界 向工业设计的跨界 向摄影跨界 向动向的的跨界 向程序跨界 讲师介绍: JJ Ying /  ...

  4. 跨界!Omi 发布多端统一框架 Omip 打通小程序与 Web 腾讯开源 2月28日

    https://mp.weixin.qq.com/s/z5qm-2bHk_BCJAwaodrMIg 跨界!Omi 发布多端统一框架 Omip 打通小程序与 Web 腾讯开源 2月28日

  5. 2016年终总结--一个Python程序猿的跨界之旅

    时间过得真快.感觉15年年终总结刚写完,16年就结束了.看了blog,16年就写了可怜的8篇,对我来说16年还算顺风顺水. 真正可能出乎意料的是年底我离开了呆了2年半的龙图游戏,临时放弃了用了3年半的 ...

  6. java web框架发展的新趋势--跨界轻型App

    “跨界(cross over)在汽车界已然成风,将轿车.SUV.跑车和MPV等多种不同元素融为一体的混搭跨界车型,正在成为汽车设计领域的新趋势.从个人而言,当包容.多元的审美要求和物质要求越来越强烈时 ...

  7. 在路上:安全公司“跨界”SD-WAN

    编者按:本文是SDNLAB“企业+”特别报道之一.“企业+”是SDNLAB重点打造的栏目,汇聚信息行业运营商.设备商.互联网公司.软件公司.集成公司.融创投资公司.科研院所等企业,重新定义IT行业撮合 ...

  8. 记View跨界平局

    <?xml version="1.0" encoding="utf-8"? > <RelativeLayout xmlns:android=& ...

  9. 跨界 - Omi 发布多端统一框架 Omip 打通小程序与 Web

    Omip 今天,Omi 不仅仅可以开发桌面 Web.移动 H5,还可以直接开发小程序!直接开发小程序!直接开发小程序! Github Omi 简介 Omi 框架是微信支付线研发部研发的下一代前端框架, ...

  10. 伪类+js实现CSS3 media queries跨界准确判断

    @media screen and (min-width: 45em) { body:after{ content:"宽屏" } } var content = window.ge ...

随机推荐

  1. oracle 使用comment语句添加表注释

    使用oracle comment语句可以给表.字段.视图等对象添加备注信息. 大致语法为: comment on TABLE table_name IS '备注内容'; 权限要求: 默认情况下用户只能 ...

  2. timeit测试函数执行时间

    def list_append(): l = [] for i in range(5000): l.append(i) def list_insert(): l = [] for i in range ...

  3. 【ACM专项练习#02】输入整行字符串、输入值到vector、取输入整数的每一位

    输入整行字符串 平均绩点 题目描述 每门课的成绩分为A.B.C.D.F五个等级,为了计算平均绩点,规定A.B.C.D.F分别代表4分.3分.2分.1分.0分. 输入 有多组测试样例.每组输入数据占一行 ...

  4. 【Azure 应用服务】Java ODBC代码中,启用 Managed Identity 登录 SQL Server 报错 Managed Identity authentication is not available

    问题描述 在App Service中启用Identity后,使用系统自动生成 Identity. 使用如下代码连接数据库 SQL Server: SQLServerDataSource dataSou ...

  5. 【Azure 应用服务】使用Python Azure SDK 来获取 App Service的访问限制信息(Access Restrictions)

    问题描述 为Azure App Service添加访问限制,需要Python Azure SDK来实现的示例代码. 问题解答 查阅Azure App Service的官方资料,使用Python SDK ...

  6. 【Azure Developer】使用Python代码获取VM的IP地址 (Public IP + Private IP)【未解决问题标签】

    记录使用以下的代码获取Azure VM中的IP地址 """Create and manage virtual machines. This script expects ...

  7. 【Azure Spring Cloud】部署Azure spring cloud 失败

    问题描述 使用Azure CLI指令部署Azure Spring Cloud项目失败,错误消息提示没有安装"azure.storage.blob"模块 问题分析 根据错误提示,是p ...

  8. curl比较有用的参数

     精选参数: --include // -i curl的输出中包含http头信息--verbose // 比-i更加丰富,>表示请求的信息, <表示curl接收的信息 *表示curl额外提 ...

  9. kotlin协程异常处理之-CoroutineExceptionHandler

    转载请标明出处:https://www.cnblogs.com/tangZH/p/17307406.html kotlin协程小记 协程的async使用 kotlin协程异常处理之-try catch ...

  10. Jmeter json断言的使用

    1 添加方式:取样器右键->添加->断言->JSON断言 作用:使用JSON表达式提取实际数据与预期进行比较   2首先我们来了解下断言组件的各个功能: Asset JSON Pat ...