当前位置:网站首页>APReLU:跨界应用,用于机器故障检测的自适应ReLU | IEEE TIE 2020
APReLU:跨界应用,用于机器故障检测的自适应ReLU | IEEE TIE 2020
2020-11-08 21:03:00 【晓飞的算法工程笔记】
> 论文的工作属于深度学习在工业界的应用,借鉴计算机视觉的解决方法,针对机器故障检测的场景提出自适应的APReLU,对故障检测的准确率有很大的提升。论文整体思想应该也可以应用于计算机视觉,代码也开源了,大家可以尝试下
来源:晓飞的算法工程笔记 公众号
论文: Deep Residual Networks with Adaptively Parametric Rectifier Linear Units for Fault Diagnosis

- 论文地址:https://ieeexplore.ieee.org/document/8998530/metrics#metrics
- 代码地址:https://github.com/zhao62/Adaptively-Parametric-ReLU
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参数,包含以下步骤:
- 用ReLU和GAP将输入特征映射到1D向量,获取正面特征(positive feature)的全局信息。用min(x, 0)和GAP将输入特征映射到另一个1D向量,获取负面特征(negative feature)的全局信息,负面信息可能包含某些有用的故障信息。GAP能够处理信号的偏移问题,将输入特征图信息压缩为两个1D向量,分别代表正面和负面信息。
- 将两个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,对故障检测的准确率有很大的提升。论文整体思想应该也可以应用于计算机视觉,代码也开源了,大家可以尝试下。
> 如果本文对你有帮助,麻烦点个赞或在看呗~
更多内容请关注 微信公众号【晓飞的算法工程笔记】

版权声明
本文为[晓飞的算法工程笔记]所创,转载请带上原文链接,感谢
https://my.oschina.net/u/4490761/blog/4708283
边栏推荐
- 接口测试工具Eolinker进行post请求
- experiment
- Countdownlatch explodes instantly! Based on AQS, why can cyclicbarrier be so popular?
- 深拷贝
- Using annotation + interceptor to implement asynchronous execution
- Solve the failure of go get download package
- Server side resolution of lengthfieldbasedframedecoder of GetBytes
- C / C + + learning diary: original code, inverse code and complement code
- Problem solving templates for subsequence problems in dynamic programming
- Solution to cross domain problem of front end separation
猜你喜欢

An online accident caused by improper use of thread pool

Solution to cross domain problem of front end separation

CMS garbage collector

Using annotation + interceptor to implement asynchronous execution

微信小程序相关

Solve the failure of go get download package

Function classification big PK! How to use sigmoid and softmax respectively?

第一部分——第2章指针操作

experiment

200 programmers interview experience, all here
随机推荐
IT行业薪资一直遥遥领先!十年后的程序员,是否还是一个高薪职业?
Introduction and application of swagger
11 important operations of Python list
. net core cross platform resource monitoring library and dotnet tool
200 programmers interview experience, all here
LeetCode 45 跳跃游戏II
Dynamic planning
CMS垃圾收集器
C/C++学习日记:原码、反码和补码
iptables从入门到掌握
接口测试工具Eolinker进行post请求
Opencv solves the problem of ippicv download failure_ 2019_ lnx_ intel64_ general_ 20180723.tgz offline Download
If the programming language as martial arts unique! C++ is Jiu Yin Jing. What about programmers?
寻找性能更优秀的不可变小字典
【Elasticsearch 技术分享】—— 十张图带大家看懂 ES 原理 !明白为什么说:ES 是准实时的!
在Python中创建文字云或标签云
abp(net core)+easyui+efcore实现仓储管理系统——出库管理之五(五十四)
Simple process of reading pictures by QT program developed by Python
go语言参数传递到底是传值还是传引用?
单例模式的五种设计方案