首页/文章/ 详情

渥太华大学恒速和变速电机故障振动和声音数据集

3小时前浏览5

本期给大家介绍渥太华大学恒速和变速电机数据集,该数据集提供振动、声音和温度信号。

论文基本信息

论文题目: University of Ottawa constant and variable speed electric motor vibration and acousticfault signature dataset

论文期刊: Data in Brief
论文日期: 2024年
论文链接: 
https://doi.org/10.1016/j.dib.2024.110453
数据链接: https://data.mendeley.com/datasets/msxs4vj48g/1
作者: Mert Sehri ∗,Patrick Dumond  

机构: Department of Mechanical Engineering, University of Ottawa, 161 Louis Pasteur, Ottawa, Ontario, Canada 

目录

1 摘要
2 详情表
3 数据价值
4 背景
5 数据描述
6 实验设计、材料与方法
    6.1 第1节:实验台描述
7 局限性
8 数据读取与时、频谱图绘制
    8.1 导入包和函数
    8.2 数据组成
    8.3 恒速时、频谱图绘制
    8.4 变转速时、频谱图绘制

1 摘要

感应电机因其具有自启动、可靠且价格实惠的特点,被广泛应用于工业领域。这些电机的应用场景包括车床、铣床、泵、动力输送带以及商用电动汽车和混合动力汽车。然而,感应电机可能会出现多种故障类型,例如转子不平衡转子不对中定子绕组故障电压不平衡转子弯曲转子条断裂以及轴承故障。在使用机器学习技术识别电机需要维护的部分时,需要区分机械故障和电气故障信号。因此,数据收集对于电机故障诊断至关重要。

为解决这一问题,渥太华大学提供了“电动电机数据集——恒速和变速条件下的振动与声学故障”(UOEMD-VAFCVS)。该数据集收集了来自加速度传感器温度传感器声学传感器的高质量电机故障数据,涵盖了多种感应电机故障,可用于时域分析。这些高质量数据有助于在使用故障检测方法时区分机械故障和电气故障,这对于机器状态监测来说是一项宝贵的资产。

关键词感应电机,电气故障,机械故障,振动,声学,状态监测,信号处理

2 详情表

3 数据价值

  • 从数据中获取的时域信号可以应用不同的故障信号方法,例如频谱分析或时频分析,以区分各种机械和电气感应电机故障类型。

  • 该数据可用于探索变速和恒速数据集之间的相关性,尤其是在考虑不同的故障识别方法时。这种探索可以提供关于故障在不同运行条件下如何变化的见解。

  • 收集的数据可用于训练用于电动电机故障诊断的机器学习算法,无论是以原始格式还是经过处理后。这种训练可以涉及神经网络和支持向量机等算法。

  • 由于加速度传感器的布置,数据可用于相位分析,以确定电气故障。相位分析涉及理解加速度传感器的布置如何有助于准确的故障分析。

  • 数据提供了嘈杂信号和干净信号,以鼓励在两种情况下进行故障检测和提取。嘈杂信号对检测过程提出了挑战,而干净信号作为参考进行比较,确保有效的故障提取。

  • 本文提供的电气数据集可以与其他机械故障数据集(如[1–4])结合,以区分电气故障和机械故障

4 背景

一个在恒速和变速条件下运行的感应电机试验台,从加速度传感器、温度传感器、麦克风和变频驱动器中收集信号。本文提供的数据集鼓励研究人员使用传统和深度学习方法来识别感应电机中的机械故障和电气故障。该数据将支持各种方法和算法的应用,以诊断电机的电气和机械问题。数据将有助于训练和验证深度学习算法,从而提高机器学习方法的准确性,并鼓励使用不同的故障类型识别方法。数据集涵盖了不同的运行条件,包括空载负载恒速变速

5 数据描述

每个单独的文件包含10秒的数据,采样率为42000Hz。在每个文件中,

  • 第一列是电机驱动端加速度计数据

  • 第二列是声学数据

  • 第三列是电机驱动端附近轴承外壳上的第二个加速度计的数据

  • 第四列是离电机驱动端最远的轴轴承外壳上第三个加速度计的数据

  • 第五列是电机驱动端表面的温度数据

原始数据以时间序列形式提供,包括振动、声学和温度的幅度,而电机转速则以旋转频率的形式给出。数据集的格式如下:{字母}-{字母}-{数字}-{数字}。  

数据集的标记方案中,第一个字母第二个字母组合起来表示被测试的电机的健康状况。具体来说,第一个字母可以表示为“H”(正常)、“R”(转子)、“S”(定子)、“V”(电压)、“B”(弯曲)、“K”(断裂)或“F”(故障)。第二个字母可以表示为“H”(正常)、“U”(不平衡)、“M”(不对中)、“W”(绕组)、“R”(转子)、“A”(转子条)或“B”(轴承)。  

数据集标记方案中的第一个数字表示电机的运行频率,而最后一个数字则表示电机是否加载,其中“0”表示未加载的电机轴“1”表示加载的电机轴。例如,

  • 标记为“R-U-1-0”的数据样本对应于未加载转子不平衡故障,电机速度为15 Hz

  • 而“R-M-4-1”表示在60 Hz加载转子不对中故障。

  • 同样,“B-R-7-0”表示在速度从45 Hz降至15 Hz未加载弯曲转子故障,

  • 而“V-U-5-1”表示在速度从15 Hz升至45 Hz加载电压不平衡    

表1和表2提供了数据集标记的详细说明。图1展示了B-R-7-0(转子条断裂,速度从45 Hz降至15 Hz)的时间序列样本(振动数据),图2展示了B-R-4-0(60 Hz下的转子条断裂)的样本(振动数据)。  

图1 B-R-7-0(减速)加速度计数据

图2 B-R-4-0(恒速)加速度计数据  

正常电机以及不同类型电机故障的数据是在大约恒定的频率(约15 Hz、30 Hz、45 Hz和60 Hz)和变化的频率(约15 Hz至45 Hz、30 Hz至60 Hz、45 Hz至15 Hz和60 Hz至30 Hz)下记录的。以下是数据集的详细分解。  

表1 恒速工况标签  

表2 变速工况标签

6 实验设计、材料与方法

6.1 第1节:实验台描述

由于使用了声学传感器,采样频率被设定为42000 Hz,这是基于人耳可听频率范围(20000 Hz)并应用了香农-奈奎斯特采样定理。数据采集时间为10秒,以确保有足够的样本量来区分速度的增加和减少。因此,每组数据共采集了420,000个数据样本。每台被测试的电动电机都具有其独特的人工制造故障(由SpectraQuest引入),从而能够收集不同的结果。数据集被设计为包含每种故障类型在恒速和变速运行条件下的四种不同电机速度。总共使用了8台电动电机(同型号)来采集数据,其中1台为正常电机,7台为故障电机。每组电机数据的采集都采用了相同的传感器布置方式,旨在减少收集信号时所包含的噪声量。本数据集中使用的电机型号的规格在表3中提供。  

表3 电机参数规格  

图3 实验台  

共有128组数据可在以下链接获取:https://data.mendeley.com/datasets/msxs4vj48g/1。数据采集使用了经过改装的SpectraQuest机械故障与转子动力学模拟试验台。实验装置如图3所示。实验装置包括一台安装在由橡胶减震器支撑的刚性板上的三相电机。电机的转速由变频驱动器控制,单位为赫兹(Hz)。  

图3所示的试验台配备了四个传感器和一个变速控制器:三个加速度传感器、一个麦克风和一个变频驱动器。加速度传感器1(带有集成温度传感器,PCB型号603C01)通过磁铁安装在电机驱动端。

传感器2和3(PCB型号623C01)分别通过螺柱安装在图3中左右两侧的轴轴承外壳上。麦克风(PCB型号130F20)放置在左侧轴承外壳2厘米范围内,并通过一个独立且防振的支架支撑。  

这种装置允许在电机驱动端以及沿轴的两个位置收集故障振动特征,从而降低信噪比。如图3所示,加速度传感器2和3的放置位置为研究人员提供了干净的电动电机信号,噪声量最小。相比之下,从加速度传感器1获得的信号包含来自变频驱动器的电气噪声。  

图4展示了加载条件下的试验台,其中通过在轴上安装的圆盘上对称附加十个螺栓作为负载。传感器通过National Instruments USB-6212数据采集系统连接到计算机。加速度传感器和麦克风传感器连接到PCB Piezotronics 482C信号调理器。加速度传感器用于在系统驱动端和轴上收集振动和温度信号,麦克风用于收集声学信号,变频驱动器用于收集电机的旋转频率。LabVIEW虚拟仪器软件用于捕获数据。图5展示了本研究中使用的前面板,图6展示了块图。  

图5 LabVIEW设置面板  

图6 LabVIEW设置框图


 

7 局限性

  • 样本数量有限:每种故障类型的数据样本数量有限,因为每种故障类型仅有一台电机可供数据采集。    
  • 未进行信号过滤:在信号采集过程中未应用任何滤波器。因此,在数据可用之前,可能需要对数据进行预处理。    

  • 实验室环境数据:数据采集是在实验室环境中进行的,可能无法完全代表工业环境中的实际数据。    

  • 电磁干扰问题:将传感器安装在电机本身上会引入由变频器的高开关频率和脉冲宽度调制(PWM)引起的电磁干扰。PWM供电的交流电机驱动器会导致电气干扰,可能会在高频段导致信号失真。因此,在使用来自电机驱动端加速度传感器1的数据之前,可能需要对其进行预处理。    

8 数据读取与时、频谱图绘制

下面对恒速和变速的各个故障类型进行时域图和频域图绘制。
8.1 导入包和绘图函数















import numpy as npimport pandas as pdfrom scipy.io import loadmatimport matplotlib.pyplot as pltfrom matplotlib import rcParamsfrom nptdms import TdmsFile
config = {    "font.family"'serif'# 衬线字体    "font.size"15# 相当于小四大小    "font.serif": ['SimHei'], # 宋体    "mathtext.fontset"'stix'# matplotlib渲染数学字体时使用的字体,和Times New Roman差别不大    'axes.unicode_minus'False # 处理负号,即-号}rcParams.update(config)
































##========绘制时域信号图========##def plt_time_domain(arr, fs=1600, c='Amp(mg)', title='原始数据时域图', img_save_path=None, x_vline=None, y_hline=None):    """    :fun: 绘制时域图模板    :param arr: 输入一维数组数据    :param fs: 采样频率    :param ylabel: y轴标签    :param title: 图标题    :return: None    """    import matplotlib.pyplot as plt    plt.rcParams['font.sans-serif'] = ['SimHei']  # 显示中文    plt.rcParams['axes.unicode_minus'] = False  # 显示负号    font = {'family''Times New Roman''size''20''color''0.5''weight''bold'}
    plt.figure(figsize=(12,4))    length = len(arr)    t = np.linspace(0, length/fs, length)    plt.plot(t, arr, c='g')    plt.xlabel('t(s)')    plt.ylabel(ylabel)    plt.title(title)    if x_vline:        plt.vlines(x=x_vline, ymin=np.min(arr), ymax=np.max(arr), linestyle='--', colors='r')    if y_hline:        plt.hlines(y=y_hline, xmin=np.min(t), xmax=np.max(t), linestyle=':', colors='y')    #===保存图片====#    if img_save_path:        plt.savefig(img_save_path, dpi=500, bbox_inches = 'tight')    plt.show()##========绘制时域信号图========##







































def plt_envelope_spectrum(data, fs, ylabel='Amp(mg)', title='包络谱图', img_save_path=None, vline=None, hline=None, xlim=None):    '''    fun: 绘制包络谱图    param data: 输入数据,1维array    param fs: 采样频率    param xlim: 图片横坐标xlim,default = None    param vline: 图片垂直线,default = None    '''    from scipy import fftpack    #=========做希尔伯特变换=======#    xt = data    ht = fftpack.hilbert(xt)    at = np.sqrt(xt**2+ht**2)   # 获得解析信号at = sqrt(xt^2 + ht^2)    at = at - np.mean(at)       # 去直流分量    fft_amp = np.fft.fft(at)         # 对解析信号at做fft变换获得幅值    fft_amp = np.abs(fft_amp)             # 对幅值求绝对值(此时的绝对值很大)    fft_amp = fft_amp/len(fft_amp)*2    fft_amp = fft_amp[0int(len(fft_amp)/2)]  # 取正频率幅值    fft_freq = np.fft.fftfreq(len(at), d=1 / fs)  # 获取fft频率,此时包括正频率和负频率    fft_freq = fft_freq[0:int(len(fft_freq)/2)]  # 获取正频率    # 绘制包络谱图    plt.figure(figsize=(12,4))    plt.title(title)    plt.plot(fft_freq, fft_amp, label='Envelope Spectrum', color='b')    plt.xlabel('频率 (Hz)')    plt.ylabel('幅值')    plt.legend()    if vline:        plt.vlines(x=vline, ymin=np.min(fft_amp), ymax=np.max(fft_amp), linestyle='--', colors='r')    if hline:        plt.hlines(y=hline, xmin=np.min(fft_freq), xmax=np.max(fft_freq), linestyle=':', colors='y')    #===保存图片====#    if img_save_path:        plt.savefig(img_save_path, dpi=500, bbox_inches = 'tight')    if xlim: # 图片横坐标是否设置xlim        plt.xlim(0, xlim)      plt.tight_layout()    plt.show()
8.2 数据组成



file_path = r'E:\03-公开数据集\渥太华大学定速和变速电机故障振动和声音数据集\University of Ottawa Electric Motor Dataset – Vibration and Acoustic Faults under Constant and Variable Speed Conditions (UOEMD-VAFCVS)\3_MatLab_Data_Files\1_Unloaded_Condition/B_R_1_0.mat'data_mat =  loadmat(file_path)data_mat['data'].shape
输出:(420000, 5)
  • 第1列:加速度计1

  • 第2列:麦克风

  • 第3和第4列:加速度计2和3

  • 第5列:温度信号

image.png
8.3 恒速时、频域图
8.3.1 健康






file_path = r'E:\03-公开数据集\渥太华大学定速和变速电机故障振动和声音数据集\University of Ottawa Electric Motor Dataset – Vibration and Acoustic Faults under Constant and Variable Speed Conditions (UOEMD-VAFCVS)\3_MatLab_Data_Files\1_Unloaded_Condition/H_H_1_0.mat'data_arr = data_read(file_path)vib_arr = data_arr[:,0]plt_time_domain(vib_arr)plt_fft_img(vib_arr, fs=42000, xlim=2000)plt_envelope_spectrum(vib_arr, fs=42000, xlim=2000, vline=15)

8.3.2 转子不平衡






file_path = r'E:\03-公开数据集\渥太华大学定速和变速电机故障振动和声音数据集\University of Ottawa Electric Motor Dataset – Vibration and Acoustic Faults under Constant and Variable Speed Conditions (UOEMD-VAFCVS)\3_MatLab_Data_Files\1_Unloaded_Condition/R_U_1_0.mat'data_arr = data_read(file_path)vib_arr = data_arr[:,0]plt_time_domain(vib_arr)plt_fft_img(vib_arr, fs=42000, xlim=2000)plt_envelope_spectrum(vib_arr, fs=42000, xlim=2000)

8.3.3 转子不对中






file_path = r'E:\03-公开数据集\渥太华大学定速和变速电机故障振动和声音数据集\University of Ottawa Electric Motor Dataset – Vibration and Acoustic Faults under Constant and Variable Speed Conditions (UOEMD-VAFCVS)\3_MatLab_Data_Files\1_Unloaded_Condition/R_M_1_0.mat'data_mat =  loadmat(file_path)data_arr = data_read(file_path) plt_time_domain(vib_arr)plt_fft_img(vib_arr, fs=42000, xlim=2000)plt_envelope_spectrum(vib_arr, fs=42000, xlim=2000, vline=[15,30,45,60])

8.3.4 定子绕组故障






file_path = r'E:\03-公开数据集\渥太华大学定速和变速电机故障振动和声音数据集\University of Ottawa Electric Motor Dataset – Vibration and Acoustic Faults under Constant and Variable Speed Conditions (UOEMD-VAFCVS)\3_MatLab_Data_Files\1_Unloaded_Condition/S_W_1_0.mat'data_arr = data_read(file_path)vib_arr = data_arr[:,0]plt_time_domain(vib_arr)plt_fft_img(vib_arr, fs=42000, xlim=2000)plt_envelope_spectrum(vib_arr, fs=42000, xlim=2000, vline=[15,30,45,60])

8.3.5 电压不平衡和单相运行






file_path = r'E:\03-公开数据集\渥太华大学定速和变速电机故障振动和声音数据集\University of Ottawa Electric Motor Dataset – Vibration and Acoustic Faults under Constant and Variable Speed Conditions (UOEMD-VAFCVS)\3_MatLab_Data_Files\1_Unloaded_Condition/V_U_1_0.mat'data_arr = data_read(file_path)vib_arr = data_arr[:,0]plt_time_domain(vib_arr)plt_fft_img(vib_arr, fs=42000, xlim=2000)plt_envelope_spectrum(vib_arr, fs=42000, xlim=2000, vline=[15,30,45,60])

8.3.6 转子弯曲






file_path = r'E:\03-公开数据集\渥太华大学定速和变速电机故障振动和声音数据集\University of Ottawa Electric Motor Dataset – Vibration and Acoustic Faults under Constant and Variable Speed Conditions (UOEMD-VAFCVS)\3_MatLab_Data_Files\1_Unloaded_Condition/B_R_1_0.mat'data_arr = data_read(file_path)vib_arr = data_arr[:,0]plt_time_domain(vib_arr)plt_fft_img(vib_arr, fs=42000, xlim=2000)plt_envelope_spectrum(vib_arr, fs=42000, xlim=2000, vline=[15,30,45,60])

8.3.7 转子条断裂






file_path = r'E:\03-公开数据集\渥太华大学定速和变速电机故障振动和声音数据集\University of Ottawa Electric Motor Dataset – Vibration and Acoustic Faults under Constant and Variable Speed Conditions (UOEMD-VAFCVS)\3_MatLab_Data_Files\1_Unloaded_Condition/K_A_1_0.mat'data_arr = data_read(file_path)vib_arr = data_arr[:,0]plt_time_domain(vib_arr)plt_fft_img(vib_arr, fs=42000, xlim=2000)plt_envelope_spectrum(vib_arr, fs=42000, xlim=2000, vline=[15,30,45,60])

8.3.8 轴承故障







file_path = r'E:\03-公开数据集\渥太华大学定速和变速电机故障振动和声音数据集\University of Ottawa Electric Motor Dataset – Vibration and Acoustic Faults under Constant and Variable Speed Conditions (UOEMD-VAFCVS)\3_MatLab_Data_Files\1_Unloaded_Condition/F_B_1_0.mat'data_mat =  loadmat(file_path)data_arr = data_mat['data']vib_arr = data_arr[:,0]plt_time_domain(vib_arr)plt_fft_img(vib_arr, fs=42000, xlim=2000)plt_envelope_spectrum(vib_arr, fs=42000, xlim=2000, vline=[15,30,45,60])

8.4 变速时、频域图
8.4.1 健康






file_path = r'E:\03-公开数据集\渥太华大学定速和变速电机故障振动和声音数据集\University of Ottawa Electric Motor Dataset – Vibration and Acoustic Faults under Constant and Variable Speed Conditions (UOEMD-VAFCVS)\3_MatLab_Data_Files\1_Unloaded_Condition/H_H_5_0.mat'data_mat =  loadmat(file_path)data_arr = data_mat['data']vib_arr = data_arr[:,0]plt_time_domain(vib_arr)plt_fft_img(vib_arr, fs=42000, xlim=2000)

8.4.2 转子不平衡






file_path = r'E:\03-公开数据集\渥太华大学定速和变速电机故障振动和声音数据集\University of Ottawa Electric Motor Dataset – Vibration and Acoustic Faults under Constant and Variable Speed Conditions (UOEMD-VAFCVS)\3_MatLab_Data_Files\1_Unloaded_Condition/R_U_5_0.mat'data_mat =  loadmat(file_path)data_arr = data_mat['data']vib_arr = data_arr[:,0]plt_time_domain(vib_arr)plt_fft_img(vib_arr, fs=42000, xlim=2000)

8.4.3 转子不对中






file_path = r'E:\03-公开数据集\渥太华大学定速和变速电机故障振动和声音数据集\University of Ottawa Electric Motor Dataset – Vibration and Acoustic Faults under Constant and Variable Speed Conditions (UOEMD-VAFCVS)\3_MatLab_Data_Files\1_Unloaded_Condition/R_M_5_0.mat'data_mat =  loadmat(file_path)data_arr = data_mat['data']vib_arr = data_arr[:,0]plt_time_domain(vib_arr)plt_fft_img(vib_arr, fs=42000, xlim=2000)

8.4.4 定子绕组故障






file_path = r'E:\03-公开数据集\渥太华大学定速和变速电机故障振动和声音数据集\University of Ottawa Electric Motor Dataset – Vibration and Acoustic Faults under Constant and Variable Speed Conditions (UOEMD-VAFCVS)\3_MatLab_Data_Files\1_Unloaded_Condition/S_W_5_0.mat'data_mat =  loadmat(file_path)data_arr = data_mat['data']vib_arr = data_arr[:,0]plt_time_domain(vib_arr)plt_fft_img(vib_arr, fs=42000, xlim=2000)

8.4.5 电压不平衡






file_path = r'E:\03-公开数据集\渥太华大学定速和变速电机故障振动和声音数据集\University of Ottawa Electric Motor Dataset – Vibration and Acoustic Faults under Constant and Variable Speed Conditions (UOEMD-VAFCVS)\3_MatLab_Data_Files\1_Unloaded_Condition/V_U_5_0.mat'data_mat =  loadmat(file_path)data_arr = data_mat['data']vib_arr = data_arr[:,0]plt_time_domain(vib_arr)plt_fft_img(vib_arr, fs=42000, xlim=2000)0

8.4.6 转子弯曲






file_path = r'E:\03-公开数据集\渥太华大学定速和变速电机故障振动和声音数据集\University of Ottawa Electric Motor Dataset – Vibration and Acoustic Faults under Constant and Variable Speed Conditions (UOEMD-VAFCVS)\3_MatLab_Data_Files\1_Unloaded_Condition/B_R_5_0.mat'data_mat =  loadmat(file_path)data_arr = data_mat['data']vib_arr = data_arr[:,0]plt_time_domain(vib_arr)plt_fft_img(vib_arr, fs=42000, xlim=2000)

8.4.7 转子条断裂

8.4.8 轴承故障






file_path = r'E:\03-公开数据集\渥太华大学定速和变速电机故障振动和声音数据集\University of Ottawa Electric Motor Dataset – Vibration and Acoustic Faults under Constant and Variable Speed Conditions (UOEMD-VAFCVS)\3_MatLab_Data_Files\1_Unloaded_Condition/F_B_5_0.mat'data_mat =  loadmat(file_path)data_arr = data_mat['data']vib_arr = data_arr[:,0]plt_time_domain(vib_arr)plt_fft_img(vib_arr, fs=42000, xlim=2000)

编辑:李正平

校核:陈凯歌、赵栓栓、曹希铭、赵学功、白亮、任超、Tina、陈宇航、陈莹洁、王金、赵诚、肖鑫鑫

该文资料搜集自网络,仅用作学术分享,不做商业用途,若侵权,后台联系小编进行删除

来源:故障诊断与python学习

Mechanical振动断裂旋转机械航空汽车MATLABUGpythonUM声学电机材料传动数字孪生控制螺栓
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2025-04-24
最近编辑:3小时前
故障诊断与python学习
硕士 签名征集中
获赞 77粉丝 105文章 186课程 0
点赞
收藏
作者推荐

EAAI开源代码推荐 | 基于平衡域自适应的种子替换深度迁移回归方法

本期给大家推荐的文章是《基于平衡域自适应的种子替换深度迁移回归方法》。本文提出了一种用于设备健康预测的深度迁移回归模型,作者使用了私有、公开数据集进行验证,证明所提出框架的有效性和优越性。作者写作思路清晰,实验丰富,结果分析详实非常适合于研究回归模型和迁移学习方法融合的学习者,小编建议阅读公 众号简介推文后对全文仔细研究。如因网络及权限问题无法获取原文及代码,通过点击本文左下角的阅读原文进行在线阅读及下载论文基本信息论文题目:A deep transfer regression method based on seed replacement considering balanced domain adaptation论文期刊:Engineering Applications of Artificial Intelligence论文日期:2022年论文链接:https://doi.org/10.1016/j.engappai.2022.105238代码链接:https://github.com/ZhangTeng-Hust/DTRSR/tree/main作者:Teng Zhang (a), Hao Sun (a), Fangyu Peng (b), Shengqiang Zhao (a), Rong Yan (a)机构:a: The National NC System Engineering Research Center, School of Mechanical Science and Engineering, Huazhong University of Science and Technology, Wuhan, Chinab: The State Key Laboratory of Digital Manufacturing Equipment and Technology, School of Mechanical Science and Engineering, Huazhong University of Science and Technology, Wuhan, China作者简介:张腾,机械科学与工程学院机械工程专业2020级博士研究生,中共党员,师从彭芳瑜教授,研究方向为大型复杂零件机器人加工精度控制,现任数控工程中心博士生党支部书记。 华中科技大学2023-2024学年度“三好学生标兵(研究生)”获得者。曾获优秀学生干部、三好研究生、一等学业奖学金、潍柴动力奖学金、无锡惠山太湖奖学金等荣誉与奖励。在RCIM、EAAI等机器人加工与智能制造顶级期刊中发表SCI论文9篇,其中一作6篇,EI论文8篇,授权发明专利7项。作为骨干深度参与国家重点研发计划项目、国家自然科学基金联合基金项目等数十项国家及省部级项目,主持中央高校基本科研业务费专项资金资助(研究生创新基金)重点项目一项。率队开展“喻竹计划”科技服务项目,服务地方企业科技发展。(信息摘自网页,如有错误或侵权可后台联系)目录1 摘要2 引言3 相关工作:表征学习4 方法4.1 问题描述4.2 平衡分布自适应方法框架4.3 种子替换4.4 所提出方法框架 4.4.1 结构冻结与参数迁移 4.4.2 融合损失函数 4.4.3 模型微调5 实验结果与分析5.1 数据描述和迁移任务定义 5.1.1 刀具磨损 5.1.2 电池容量5.2 对比方法 5.2.1 与其他方法的对比 5.2.2 参数设置5.3 模型预测结果6 结论1 摘要随着深度迁移学习的发展,模型在相似场景下的泛化能力显著提升。然而,针对回归任务,现有方法往往忽略边缘分布或条件分布的适配性。此外,由于过度依赖损失函数自动学习,领域知识的表征与学习过程缺乏主动性。本文提出一种基于种子替换的深度迁移回归方法(Deep Transfer Regression Method based on Seed Replacement, DTRSR)。DTRSR由四部分组成:结构冻结与参数迁移、深度特征提取、种子替换以及融合损失函数。先通过结构冻结和参数迁移在模型层面获得领域知识,然后在数据层面利用种子替换进行源域与目标域的知识学习,最后构建基于平衡分布适应的融合损失函数。此外,种子替换提升了知识学习的主动性,不再只依赖损失函数自动学习。研究在刀具磨损、电池容量数据集上,使用所提出的DTRSR与九种对比方法进行实验验证。结果表明,该方法在多数任务中性能优异,证实了其在回归任务中的有效性与应用潜力。关键词:深度迁移学习,回归,种子替换,平衡域自适应2 引言模型泛化性能差与数据需求量大是智能学习算法面临的两大核心挑战。针对上述问题,迁移学习应运而生。与传统智能算法不同,该方法充分考虑领域分布差异特性。根据目标域数据的可用性,迁移学习可分为两类:域适应和域生成。域适应更常用于实际应用场景,其通过少量目标域标注样本,实现源域知识向目标域的迁移。迁移学习主要应用于分类任务领域,近年来,由于工程领域对数值预测需求的增长,越来越多的研究聚焦于迁移学习在回归任务中的应用。该方法在频率响应预测、刀具磨损预测等回归任务中取得显著成效。然而,针对数据分布差异问题,现有方法通常假设边缘分布差异与条件分布差异中的某一项相似,而仅关注另一项的适配。例如,Wang等人在铣削力预测中通过关注边缘分布差异实现适配,Liu等人在设备健康预测中针对条件分布差异进行建模,根据以上讨论,将研究差距归纳如下:现有回归任务的研究未同时关注边缘分布与条件分布,导致领域知识学习不充分。模型训练仅依赖损失函数,对领域知识学习与表征缺乏主动探索。针对上述研究,本文提出基于种子替换的深度迁移回归方法(Deep Transfer Regression Method based on Seed Replacement, DTRSR),构建面向回归任务的平衡分布适应损失函数,实现领域知识的充分学习,通过种子替换结合聚类技术实现领域知识的主动表征与学习。主要的贡献如下:通过平衡域适应损失函数同步度量边缘分布差异与条件分布差异,实现领域知识的充分学习。采用种子替换技术,以聚类结构与聚类中心形式融合源域—目标域知识,实现领域知识的主动学习。提出DTRSR方法,从模型架构、数据表征和损失函数三方面构建充分且主动的回归任务学习框架。全文其余部分具体安排如下:第2节,综述迁移学习与回归任务领域相关研究。第3节,详述域适应理论、种子替换技术及DTRSR方法实现流程。第4节,基于三组数据集的实验设计与结果展示。第5节,实验结果分析与讨论。第6节,总结研究结论并展望未来方向。3 相关工作:表征学习随着迁移学习的发展,学术界日益关注什么是迁移和知识是如何呈现的两个问题。知识表征不局限于特征选择与神经网络自动提取,新的方法有:从数据结构的视角来表示领域知识成为新兴范式。基于图的域适应方法利用图结构的拓扑特性实现知识表征与学习,以及通过标签函数谱理论,实现图形式跨域知识迁移。 除了上述方法外,还有许多基于聚类的知识表示和学习方法,该方法不是关注单个样本,而是应用聚类来研究整个数据集,通过基于聚类的全局分析以及聚类结构实现知识表征与存储,并通过聚类中心匹配与局部流形自学习,获得目标域特征。为提升知识学习主动性,突破传统损失函数依赖,本文提出基于聚类的知识表征方法,通过聚类结构实现从被动优化到主动知识构建的范式转变,融合全局聚类模式与局部流形特征的多粒度知识表达。4 方法4.1 问题描述迁移学习定义:在迁移学习中,通常定义源域与目标域两组数据,而非传统的训练集/测试集划分。源域数学公式表示为: 其中, 为源域样本特征向量, 为对应标签, 为样本数量,所有样本均带标签,且数量充足(可训练鲁棒模型)。目标域数学公式表示为: 其中,含 个带标签样本,其余为无标签样本。所研究问题的挑战在于,有标记样本太少而无法训练鲁棒模型,并且目标域和源域在边际分布和条件分布方面存在差异,这在工程领域是常见的。分布满足: 和 。4.2 平衡分布自适应方法框架本文研究了两个域之间边缘分布和条件分布不同的问题。为了同时考虑边缘分布差异和条件分布差异,将分类任务中的策略应用于回归任务,计算和的加权 和 表达式如下: 其中, 是平衡因子,用来控制两类分布差异的权重。当 →1时, 则应更多地关注边缘分布差异。当 →0时,则域之间的边缘分布差异几乎可以忽略不计,但条件分布差异占主导地位,应更多地关注条件分布差异。 可以通过在 [0,1] 区间内以 0.1 的间隔采样来确定。此外它还可以通过随机猜测或最大最小平均法确定。4.3 种子替换 图1 种子置换过程(以C1-C4迁移任务为例): (a)源样本和标记的目标样本;(b)第一部分:聚类;(c)第二部分:匹配;(d)第三部分:替换。种子样本是目标域中少量带标签的样本,用于引导迁移过程,公式可以表示为: 种子替换是DTRSR算法的一部分。以刀具磨损数据集中的C1-C4任务为例进行数据分布可视化,描述种子替换的过程,使用t-SNE在3D特征空间降维。图1(a)中红色圆点为源域数据,蓝色圆点为带标签目标样本。在该实现中,首先通过k_means++将源域聚类到多个类中,其中多个类是标记的目标样本的数量,如图1(b)所示。聚类中心为 ,距离矩阵可以表示为: 接下来对距离矩阵按列进行最小化操作。当前聚类中心与已标记目标样本之间的对应关系通过下式确定: 其中, 表示欧氏距离,已标记目标样本与聚类中心的对应关系可表示为: 随后,计算每个源域样本与其对应聚类中心的偏差,得到: ,构造一个与源域数据 ,同态的零矩阵 ,并根据对应关系,将 叠加到对应的目标数据上。种子替换的伪代码详见算法1。算法1 种子替换 4.4 所提出方法框架 图2 拟定方法的流程图:(a)结构冻结和参数传递;(b)深度特征提取;(c)种子替换;(d)融合损失函数本节提出深度迁移回归种子替换方法。图2展示了DTRSR的流程图。从结构上看,该方法包含四个核心模块:(a)结构冻结与参数迁移,(b)深度特征提取,(c)种子替换以及(d)融合损失函数。由于深度特征提取模块仅用于从原始传感器数据中提取高维特征。其余三个模块的具体实现如下所述。 4.4.1 结构冻结与参数迁移在深度神经网络中,浅层网络负责通用特征提取,深层网络则与任务相关特征相关联。DTRSR框架中,浅层对应卷积块,深层对应附加在卷积块上的全连接层。 采用预训练与微调策略将知识从源域迁移至目标域。具体而言,源域预训练模型中卷积块的参数在模型训练过程中被冻结并保持固定,而源域模型全连接层的参数将作为目标模型的初始参数,如图2(a)所示。 4.4.2 融合损失函数完成结构冻结与参数迁移后,全连接层参数可通过微调策略进行学习。然而,本文研究的原始数据为传感器测量的时间序列信号,需通过卷积块提取通用特征,如图2(b)所示。本文选取第一个全连接层后的中间输出作为提取的特征数据,并对其应用种子替换操作如图2(c)所示。 本文损失函数由三部分组成。第一部分为标记目标样本与种子替换后新数据集的均方误(MAE)回归损失,其表达式为: 其中, 表示从提取特征到标签的映射函数。将种子替换后新数据集的回归损失纳入损失函数的原因是:新数据集既包含以聚类结构形式存在的源域知识,又包含以聚类中心形式存在的目标域知识。因此,该部分回归损失可使模型有效融合两域特征,更充分地继承源域与目标域的知识。此外,为对齐新数据集与标记目标样本间的边际分布差异,量化边际分布差异损失: 类似地,为对齐标记目标样本与未标记目标样本间的条件分布差异,量化条件分布差异损失: 通过上式,目标域中的标记样本可以准确表示所有目标域样本的分布。对边际分布差异和条件分布差异损失进行加权,得到整体平衡域适应损失: 综上所述,融合损失函数可表示为: 它由三个部分组成,即回归损失、平衡域适应损失和 L2 正则化,后者用于防止过拟合。 和 是权衡参数,用于调整回归损失和平衡域适应损失之间的大小关系,以防止模型训练朝着数值过大的方向发展; 是正则化系数。4.4.3 融合损失函数 在模型微调过程中,按照上述描述,卷积块 𝐶𝑜𝑛𝑣𝑆 的参数被冻结并迁移到目标模型。只有全连接层的参数从 𝐹𝑐𝑆 更新到 𝐹𝑐𝑇,通过最小化融合损失函数来实现,如公式 所示。DTRSR 的伪代码在算法 II 中给出。算法2 DTRSR 5 实验结果5.1 数据描述和迁移任务定义5.1.1 刀具磨损刀具磨损数据集来自2010年PHM挑战赛。提供了加工过程中六种不同刀具的原始数据,但只有三种刀具被标记,即C1、C4和C6。原始数据集中的传感信号以50 kHz的频率采样,包括铣削力信号x、y和z方向的振动信号以及加工过程中的声发射信号。在本文中,三个方向的铣削力信号被用作模型的输入,每个刀具的三个刀片的平均磨损值被选作输出,以构建迁移任务。5.1.2 电池容量电池容量数据集由NASA Ames研究中心的卓越预测中心构建,所有电池老化都是通过在室温下对电池进行多周期充放电实验来加速的。在电池运行过程中,收集了电压、电流和电池容量随时间变化等传感数据。选择NO.5,NO.6和NO.7电池放电阶段的电压传感数据作为输入,电池容量作为输出,以构建迁移任务。表1 本文所完成的迁移任务摘要 图3 两个公开数据集的分布差异矩阵。 (a)工具磨损数据集的边际分布差异;(b)工具磨损数据集的条件分布差异; (c)工具磨损数据集的边际分布差异和条件分布差异总和;(d)电池容量数据集的边际分布差异; (e)电池容量数据集的条件分布差异;(f)电池容量数据集的边际分布差和条件分布差之和两个研究的数据集构建了12个迁移任务,如表1所示。每个数据集的输入和标签及其维度也在表1中进行了总结。这12个迁移任务用于比较各种方法的性能。近似计算每个数据集中任务的边缘分布差异和条件分布差异,分布差异矩阵如图3所示。每个方格代表两个对应任务之间的分布差异。由于分布差异的存在,非对角线的单元格以不同的颜色显示。若一个方块的颜色不是蓝色,则两个对应任务之间存在分布差异,且该差异与具体数值无关。因此可以得出结论:所研究的三个数据集在边际分布和条件分布方面均存在差异。必须同时考虑边际分布差异和条件分布差异。5.2 对比方法5.2.1 与其他方法的对比为客观、准确地评估DTRSR的性能,选取了九种方法进行对比。这些方法可分为三类:一种基准方法、五种消融实验方法以及三种最先进的方法。具体描述如下:直接预测(Predict directly, PD)指直接使用训练好的源模型对目标任务进行预测,该方法被定义为基准方法。五种消融实验定义如下:(1)重新训练模型(Re-training the model, RT):选取目标域中少量标注样本从头训练新的回归模型。(2)微调全连接层(Fully Connected Layers, FC):迁移训练好的源模型参数,并基于少量目标域标注数据微调全连接层参数,仅考虑回归损失。(3)边缘分布适配:在微调全连接层时,仅将边缘分布差异加入损失函数。(4)条件分布适配:在微调全连接层时,仅将条件分布差异加入损失函数。(5)平衡分布适配:在微调全连接层时,对边缘分布差异和条件分布差异进行加权后加入最终损失函数。三种最先进的方法描述如下:迁移成分分析:基于最大均值差异进行高维特征映射,随后使用传统机器学习方法预测目标域任务。深度适配网络(Deep Adaptation Network, DAN):在全连接层采用多核MMD技术,以适配不同域间的分布差异。两阶段TrAdaBoost.R2:通过自适应样本权重更新策略和基于Boosting的算法学习目标域知识。通过五项消融实验与基线方法对比,验证各模块有效性。这三种SOTA方法分别涵盖:基于特征的迁移学习,基于模型的迁移学习,基于样本的迁移学习,用于验证DTRSR方法的性能。对于无法处理原始数据的模型,论文采用预训练模型卷积块提取的高维特征。采用以下指标评估方法性能:使用目标域预测任务的平均绝对误差,平均绝对百分比误差,均方根误差,决定系数。当R²越接近1,MAE/MAPE/RMSE值越小表示性能越优。当R²小于0时,预测结果劣于均值预测。5.2.2 参数设置表2 每个数据集的预训练模型的结构由于不同数据集的数据特征不同,我们分别定义了不同的模型结构(如表2所示)。同一数据集中的不同任务采用相同模型结构,以确保结果的可比性。除了结构差异外,超参数设置对所有方法的性能至关重要。针对本文研究的数据集:边际分布核函数通过搜索最优σ值(在[0.5,1.5]范围内以0.1为步长)选定为 ,其中核函数形式为 ,条件分布核函数采用 ; 参数统一设置为1;学习率在预训练阶段分别设为2e−2、2e−3和2e−2,微调阶段设为2e−3、2e−4和2e−3;正则化系数 分别设为1e−4、1e−4和1e−5;训练轮数统一设为100;超参数 、 、 分别通过[0.1,1]、[100,1000]和[0,1]区间搜索确定, 取1、0.9、0.3(步长0.1), 取200、300、500(步长100), 取0.1、0.2、0.2(步长0.1),最终选用Adam优化器最小化融合损失函数。5.3 模型预测结果 表3 DTRSR在18项任务中的平均结果为验证DTRSR在回归任务中的有效性,每个任务通过随机选取不同标记目标样本进行10次实验。表3展示了DTRSR的平均结果(最优结果以粗体标注)。 图4.不同方法对18项任务的平均MAE,包括(a)工具磨损、(b)电池容量 此外,图4对比了所有方法在12个任务上的平均MAE(平均绝对误差)。6 结论本文提出了一种基于种子替换的深度迁移回归方法DTRSR,该方法采用平衡域适应策略。首先,通过结构冻结和参数传递,在模型级将源域的知识传递到目标域。其次,通过种子替换在数据级主动继承源域和目标域的知识。最后,在融合损失函数中加入考虑边缘分布差异和条件分布差异的均衡分布自适应,在损失函数层面实现了对领域知识更充分的学习。总之,领域知识是积极和充分的学习,通过DTRSR在模型,数据和损失函数的水平。DTRSR已在两个公共数据集(刀具磨损和电池容量)上进行了验证,并在12个任务中的大多数任务上实现了最佳性能,这验证了其在回归任务中的有效性和巨大潜力。此外,对结果的分析表明,DTRSR在性能稳定性和效果显著性方面具有很大的优势,预示着DTRSR在相关工程领域应用的巨大可能性和前景。然而,DTRSR在模型时间消耗和噪声数据鲁棒性方面存在一些局限性。在未来的研究中,我们将对DTRR的结构进行优化,以减少训练时间,并分析噪声对模型性能的影响。此外,我们将继续探索更多领域知识学习方法的可能性。编辑:曹希铭校核:李正平、陈凯歌、赵栓栓、赵学功、白亮、任超、海洋、冯珽婷、陈宇航、陈莹洁、王金、赵诚、肖鑫鑫该文资料搜集自网络,仅用作学术分享,不做商业用途,若侵权,后台联系小编进行删除来源:故障诊断与python学习

未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈