Intelligent-Fault-Diagnosis-Using-RL

  • W4_701554
    了解作者
  • 70.4MB
    文件大小
  • zip
    文件格式
  • 0
    收藏次数
  • VIP专享
    资源类型
  • 1
    下载次数
  • 2022-04-17 09:19
    上传日期
使用强化学习的智能故障诊断 问题陈述:使用智能代理执行条件分类,该智能代理学习类似于人类感知的分类 方法:使用堆叠式自动编码器提取潜在特征,并使用深度Q网络训练代理 数据集 我们的研究中使用的滚动轴承的故障数据是由凯斯西储大学(CWRU)收集的。 该数据集包含正常轴承和故障轴承的滚珠轴承测试数据。 在实验设置中,测量数据的采样频率为48KHz,该频率来自电机轴附近的测量。 有四种不同的条件: N:正常 如果:内部故障 OF:外部故障 RF:滚轴故障 为了验证所提出的方法,根据作为运行条件的轴的负载量将振动数据分为四组(A,B,C和D),这将导致不同的振动模式,从而增加振动的动态性。轴。 根据故障直径和故障位置,每组(例如A)包含10个不同的类别(1、2,...,10)。 A,B,C包含所有类,并且在这三个数据集中没有不可见的类。 平均而言,某个数据集下的每个类别包含480,000
Intelligent-Fault-Diagnosis-Using-RL-master.zip
  • Intelligent-Fault-Diagnosis-Using-RL-master
  • SAE.py
    5.4KB
  • para.pth
    1.2MB
  • DataSetA.mat
    22.7MB
  • DataSetC.mat
    23.2MB
  • DataSetB.mat
    23.3MB
  • pre_processing.py
    3.4KB
  • README.md
    2.9KB
  • encoder_para.pth
    19.1KB
  • Q-learning.py
    5.9KB
  • Crossprocessing.py
    3.9KB
  • .gitignore
    31B
  • para.json
    81B
  • Q-learningWITHbayesian.py
    16.2KB
内容介绍
# Intelligent Fault diagnosis using Reinforcement Learning **Problem Statement:** Perform condition classification using an intelligent agent that learns the classification similar to perception of a human **Methodology:** Extract latent features using stacked autoencoders and use deep Q-Network to train the agent ## Dataset The fault data of rolling bearings used in our study are collected by Case Western Reserve University (CWRU). The dataset consists of ball bearing test data for both normal and faulty bearings. The sampling frequency for the measured data is 48KHz that is comming from a measurement near the motor shaft in the experimental setup. * There are four different conditions: * N: Normal * IF: Inner fault * OF: Outer fault * RF: Roller fault * To validate the proposed method, the vibration data are divided into four sets (A, B, C, and D) according to the amount of loads induces to the shaft as an operating condition which will result in different vibration mode accroding to the dynamic of the shaft. * Each set (e.g. A) contains 10 different classes, (1,2,...,10) according to the fault diameter and fault location. * A, B, C contains all the classes and there are no classes that are unseen in these three datasets. * In average, each class under a certain dataset contains 480,000 samples. In other words, under that class condition the lab equipment was run and average of 480,000 observation from vibration sensor was captured. * Since the measurements are in time-domain, we need to convert them to frequecy domain to be able to extract frequency charactristics for any classification analysis. With this aim, we apply Fast fourieri transformation(FFT) on each 480,000 time-based samples. To achieve this we need to stride a window with a lenth W and steping size L. According to the literature, we consider L = W = 2400 samples. Accordingly, the result of FFT on each window with length of 2400 will be 2400. Hiowever due to the symetricity conditoin of FFT, we only consider the second half of the result which will be 1200 samples in frequency domain. After finishing this basic pre-processing analysis we will end up having an average of ~200 rows with 1200 columns (i.e. coulmns are the result of fft and will be treated as features). This matrix will be for each class under each dataset and can be used for the Benchmark analysis. **Note:** To achieve this, a function is defined in the pre-processsing class ## Fault Detection with Q-learning * To achieve, run QlearningWITHbayesian.py. This file contains following steps: * 1、Call Crossprocessing.py, to make a preprocessing on dataset for ten-fold cross validation * 2、Call SAE.py, pretrain a SAE network and save the best parameter into encoder_para.pth. * 3、Run Q-learning agent with Bayesian search. If you want to modify the search space of parameters, please modify para.json. * 4、Finally we can get a best parameter combination for Q-learning based on the average accuracy on validation set.
评论
    相关推荐