《电机轴承故障诊断的实验研究.docx》由会员分享,可在线阅读,更多相关《电机轴承故障诊断的实验研究.docx(42页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、沈阳理工大学学士学位论文摘 要检测轴承故障是机器健康监测的重要任务,因为轴承是旋转机械的重要组成部分。 传统智能故障诊断方法的性能取决于故障信号的特征提取,这需要信号处理技术,专家知识和人工特征提取。最近,深度学习算法已广泛应用于机器健康监测。 由于具有自动学习输入数据复杂特征的能力,深度学习架构具有克服传统智能故障诊断缺陷的巨大潜力。本论文主要完成一种基于卷积神经网络深层结构的轴承故障诊断方法。 将振动信号从一维曲线转换成二维灰度图像直接用作输入数据,通过卷积神经网络进行特征提取,并通过softmax函数来对比故障值与正常值,进行故障类型的分类,实现一个较高的分类精确度。 关键字:故障诊断;
2、卷积神经网络;深度学习; AbstractDetecting in prior bearing faults is an essential task of machine health monitoring because bearings are the vital components of rotary machines. The performance of traditional intelligent fault diagnosis methods depend on feature extraction of fault signals, which requires sign
3、al processing techniques, expert knowledge, and human labor. Recently, deep learning algorithms have been applied widely in machine health monitoring. With the capacity of automatically learning complex features of input data, deep learning architectures have great potential to overcome drawbacks of
4、 traditional intelligent fault diagnosis. This thesis proposes a method for diagnosing bearing faults based on a deep structure of convolutional neural network. Using vibration signals directly as input data, the proposed method is an automatic fault diagnosis system which does not require any featu
5、re extraction techniques and achieves very high accuracy and robustness under noisy environments.目录摘 要i1 绪论11.1 课题背景及研究目的和意义11.2 电机轴承故障诊断技术国内外现状11.2.1 国外故障诊断技术发展现状31.2.2 国内故障诊断技术发展现状31.2.3 现有诊断技术的局限性及急待解决的问题31.3 深度学习以及卷积神经网络的发展42基于Matlab的故障诊断平台设计72.1图形用户界面(GUI)72.2 GUI的设计步骤72.3 GUI设计思路92.4界面设计及程序调试9
6、2.4.1用户界面登录102.4.2故障诊断平台界面112.5 基于Matlab故障诊断界面设计原则和一般步骤123基于Tensorflow的卷积神经网络143.1卷积运算143.2卷积神经网络的结构143.3神经网络结构分类163.4 CNN的结构特征174 LeNet-5结构及算法184.1LeNet-5结构184.2卷积网络训练注意事项224.3反馈神经网络算法234.3.1前向传播算法244.3.2反向传播算法245.数据处理和实验步骤255.1试验台说明255.2振动信号的转换255.3数据处理265.4与CNN的图像分类275.5超参数选择285.6测试结果306结论31致 谢32
7、参考文献33381 绪论1.1 课题背景及研究目的和意义 由于电机现在工作的环境非常恶劣又复杂,并且电机又是工作系统中非常重要的组成部分。因此,电机是非常愿意出现故障的。一般来说,如过电机出现故障,轻则影响工作进度或直接造成巨大的经济损失,重则将影响到人类的人身安全,造成无法避免的重大伤亡事故。近年来由电机故障引起的大型事故等的频繁发生,促使研究人员想尽办法来提升电机的质量,降低电机的故障率。即使可以通过研究出更精确的电机结构,采用更精良的打造电机的工艺,但是,靠着这些办法并不能完全确保电机永远不出现故障。因此,提高电机故障诊断能力才是保障电机正常运转的重要手段。作为旋转机构的核心部件,滚动轴
8、承的健康状况,例如不同负载下不同位置的故障直径,可直接影响机构的性能,稳定性和寿命。为了防止可能的损坏,在旋转机构的操作期间需要实时监测振动。通过传感器收集滚动轴承的状态信号,然后实施智能故障诊断方法以识别故障类型大多数智能故障诊断方法可分为两个步骤,即特征提取和分类。平均值,中位数,峰度,峰峰值,最小值,最大值,标准偏差,绝对平均值,偏度和振动信号的均方根等特征常用于描述轴承的状态。近年来,支持向量机和神经网络等机器学习方法已成为利用从原始时间振动信号中提取的特征预测故障类型的主要方法。但是,轴承在使用过程中需要负载。 因此,轴承的使用不可避免地受到应力和磨损的物理影响。 当这些影响增大时,
9、轴承会变形和腐蚀,从而改变轴承的工作状态。 同时,由于生产工艺不完善,安装和操作不当,轴承受到人为损坏,这些损坏的积累和加深最终导致轴承损坏。 因此,对电机轴承的故障诊断具有很大的研究和完善的方向。1.2 电机轴承故障诊断技术国内外现状 作为旋转机械的关键部件,滚动轴承有助于确保轴的旋转精度并为机器提供稳定的支撑,因此它们的运行状态与整个系统的性能直接相关。严重的运行条件会使轴承容易出现各种局部损坏故障,如点蚀,磨损和裂缝,这些都会带来一系列不利影响。监测轴承状况和检测潜在故障对于确保生产安全和避免不必要的经济损失非常重要。在过去的几十年中,各种诊断方法,如油样检测,声发射和振动分析,已被用于
10、诊断滚动轴承故障,以及基于振动信号的方法被认为是最有效和方便的方法。已经研究了许多信号分析方法来处理用于故障特征提取的轴承故障振动信号。 电机轴承故障诊断技术是信息检索的源泉,是故障诊断的最基本前提。 常用的技术包括温度法,油样分析法,视听法和振动分析法。 测量轴承箱的温度,以确定轴承是否有故障。这是非常不确定的,因为轴承座的温度很容易受到环境温度和轴承的运行时间和负载的影响,并且由于轴承表面磨损,裂缝和其他小缺陷,这种方法几乎不可能被检测到。 油样分析法主要步骤是提取轴承中的一部分润滑油作为样本,分析其中所含金属微粒形状的的构成,大小来判断轴承是否依旧健康,该技术操作复杂,并且无法应用于轴承
11、实时状态检测与智能故障诊断中。 声学法分为声音诊断与声发射诊断两种形式,当轴承发生了故障时,声信号里面会包含有规律的冲击信号,声学法就是利用传感器来采集轴承表面声学信号或非接触地接收声学信号,对采集到的声学信号进行处理,从而得出故障诊断结果。然而声音信号却非常容易受到外界声音的影响,因此没有成为主流技术。 振动检测法是电机轴承故障诊断中最主流的技术手段,首先,振动信号的获取比较方便,并且传感器的价格也比较低;其次,振动信号不易受到外部环境噪声的影响,信噪比较高。据统计,轴承状态检测与故障诊断方法中,振动法占据了很高的比例。轴承在运行过程中必然会伴随着旋转而产生振动,振动作为轴承自身动力学特征的
12、一种外在表现,包含着丰富的状态信息,能够反映出轴承的故障信息。当轴承存在着故障的时间段,得到的振动信号中往往会包含一些周期脉冲信号,信号被轴承底座上的振动传感器采集并进行分析与处理,便能得到轴承状态变化信息,并由此来识别轴承的故障。 振动法对各类工况的电机轴承都适用,应用范围十分广泛。并且振动信号分析法具有信号采集简单,能够诊断早期轻微故障等优势。因此采用振动信号作为获取电机轴承特征信息的来源,对提高电机轴承的故障诊断能力有着较大的帮助。 近年来,一随着各行各业科学技术的不断发展,自动化技术、智能化水平不断提高,对设备故障诊断的要求也变得越来越高,同时计算机科学技术、信号处理技术成果的不断涌现
13、为故障诊断技术的发展提供了得天独厚的技术支持和储备,故障诊断技术也越来越为成熟可行,逐步形成了一门多领域相互渗透,共同作用的实用性工程学科。近年来,深度学习技术在计算机视觉和语音识别中取得了巨大成功。一些深度学习技术已经进入机器健康监测系统。提出了一个详细的实验研究,堆叠去噪自动编码器有三个隐藏层,用于旋转机械部件的故障诊断。在他们的工作中,他们评估了接受输入大小,深度结构,稀疏性约束和去噪操作对性能的影响。一些研究人员专注于使用频域特征作为输入的AE模型,而不是直接用原始信号馈送的AE模型。1.2.1 国外故障诊断技术发展现状 在20世纪70年代,当美国提出第一个在线故障诊断的概念并提供足够
14、的技术支持时,NASA建立了一个故障预防小组,以考虑到空间的特殊情况,实现机械状态。宇宙飞船。有效的管理随着环境的发展,大型钢铁公司和机械公司的设施变得越来越复杂和多功能化,故障诊断可以应用于更多领域。例如,已经开发了飞机发动机诊断系统(AIDS)并且基于智能技术应用于飞机的实际飞行,该智能技术保证了飞机开始时飞行的安全性和易用性。该系统采用先进的信号处理技术,在飞行过程中收集大量振动和噪声信息,详细分析这些信息,识别飞行过程中发动机故障的症状,并尽快消除安全问题。1.2.2 国内故障诊断技术发展现状电机故障诊断技术是人才教育和故障诊断技术理论学习领域相对跨学科的技术整合。因此,与国外相比,中
15、国的电机故障诊断技术相对较慢,原因有几个。经过10年的积累,中国的电机故障诊断技术取得了显着进步,逐步超越了世界先进国家的技术水平。1.2.3 现有诊断技术的局限性及急待解决的问题传统的分析和信号处理方法基于以下假设:分析的信号具有线性线性度和最小相位以便于分析和处理。取决于系统的形成和完整的理论方法。然而,在实际工程应用中,这种简化通常忽略了信号的一些重要特征,特别是异常信息的一部分,这通常表明设备状态的发展趋势。传统的监测和分析轴承状况的方法不能充分反映实际轴承的运行。对于在理想工作条件下运行的简单机器,分析结果是可接受的,对于精密机器或具有复杂工作条件的设备,诊断结果通常不充分并且产生大
16、量诊断。错与错。它是影响设施状态和诊断技术监测的促进和发展的最重要因素。 Priestley功率谱短期傅立叶变换随着各种新的信号和信息处理方法的引入,如时频表示(Wigner-Ville分布,Cohen分布等)和系列分析非线性时间。振动信号的分析方法为非线性分析,稳态和非高斯处理带来了一定的社会和经济效益。然而,一些上述信号处理方法具有一些固有的缺点,例如,没有充分考虑旋转机械中固有的时变周期特性。进化谱方法要求时变信号具有多个观测值,而短时傅里叶变换和时间和频率表示(例如科恩)通常要求异常信号缓慢变化。另外,现有信号分析技术在提取低SNR振动信号的特性方面没有取得显着进步。轴承的振动信号经常
17、被复杂传输路径引起的干扰引起的噪声和干扰所超过,并且很难提取信号的特性。1.3 深度学习以及卷积神经网络的发展来自机器的测量振动信号不仅包含反映机器状况的有用信息,还包含无用的噪声信号。因此,重要的是只提取有用的功能并避免无用的信息。最初,振动信号是时域中的时间信号,但是它们可以在频域和时频域中表示。相应地,振动信号的特征可以从时域中提取,频域和时频域 。在时域中,可以通过均方根,核密度估计,波峰因数,Crest-Crest值和峰度来提取特征。在频域中,傅里叶变换是最常用的工具,而在时频域,除了短时傅立叶变换方法,可以通过小波包变换),双树复小波变换提取特征。此外,还有一些其他方法可以提取诸如
18、内在模式函数,Hilbert Huang变换和经验模式分解。在特征提取步骤之后,应该减少特征集的维度,因为没有保证所有特征在反映机器健康状况方面同样有用和高维特征集。不仅削弱了性能,而且还减慢了系统中所采用的分类器的学习过程。为了解决这个问题,已经提出了许多判别特征分析技术。一般来说,有两种方法可用于选择判别特征。首先,将根据现有特征的变换生成原始特征集的子集。这种方法的一些众所周知的方法是主成分分析(PCA),独立成分分析(ICA)。在第二种方法中,基于一些评估标准,将评估原始特征以选择大多数判别特征。在这种方法中,可以应用许多算法,如顺序前向选择(SFS),顺序后向选择(SBS),或者我们
19、可以利用遗传算法(GA)和粒子群优化(PSO)。ML经常被用来解决模式识别问题。 ML有两种主要类型,包括无监督学习和监督学习。诸如PCA和ICA的无监督学习算法经常用于模式识别问题的特征提取步骤。在监督学习算法中,人工神经网络(ANN)是最流行的方法,具有大量模型,如回归神经网络,灵活神经树;,径向基神经网络和小波神经网络。除了ANN,支持向量机,k-最近邻(kNN),隐马尔可夫模型(HMM)和集成学习也是流行的监督算法。在一般智能诊断的最后一步中,经常使用那些监督学习算法。 Amaral等。从振动信号制作光谱图像,然后通过2-D平均滤波器和二进制图像转换来增强这些图像。最后,利用ANN对这
20、些增强的光谱图像进行分类。 提出了基于离散小波变换的高阶统计特征方法。在获得高阶统计特征之后,使用kNN来识别轴承故障的类型。传统的ML算法已经在机器故障诊断中被广泛使用了很长时间。 然而,在这种方法中,存在一些缺点。 首先,分类精度主要取决于特征提取步骤,这需要信号处理技术和专家知识。 因此,对于每个特定的故障诊断任务,必须重新设计特征提取器。 第二个缺点是传统的ML算法具有结构简单的浅层架构,这限制了分类器在故障诊断问题中学习复杂非线性关系的能力。最近,深度学习(DL)成为ML研究中最热门的趋势。 DL是采用深层体系结构的算法,可以学习与不同抽象级别相对应的多级数据表示。由于具有从输入数据
21、自动学习多个复杂特征的能力,DL算法具有克服传统ML的缺点的巨大潜力,如上所述。已经提出了许多DL模型,例如递归神经网络(RNN),深度信念网络(DBN),深度玻尔兹曼机器(DBM),堆叠自动编码器(SAE)和卷积神经网络(CNN)。 DL在许多实际应用中都有很大的希望,包括计算机视觉,自然语言处理,医学图像分析,以及机器健康监测。在机器健康监测方面,自2015年以来,许多研究人员尝试利用DL模型来诊断轴承故障。贾等人。使用SAE从频域信号中提取特征。在一篇介绍性文章中,提出了三种深度模型,包括用于轴承故障诊断的DBN,DBM和SAE。他们应用两种方法来学习故障特征,第一种方法是直接在时域中使
22、用带有原始信号的深度模型。在第二种方法中,从时域中提取低级特征,使用频率来从这些低级特征中学习更高级别的特征在DL算法族中,DBM和DBN基于受限玻尔兹曼机(RBM),SAE基于自动编码器(AE,所有这些都是无监督学习算法,而CNN是监督学习方法。最初,有三个关键的建筑理念:局部接受场,权重共享和空间域的子采样,CNN适合处理二维数据。在机器健康监测中,一些研究人员试图应用一维CNN模型。 但是,从高维数据中提取信息要容易得多。首先,时域中的振动信号被转换成2-D形式,称为振动图像。之后,CNN将用于通过振动图像分类识别轴承故障。为了验证所提方法的有效性,我们用西储大学的轴承数据进行了实验。2
23、基于Matlab的故障诊断平台设计2.1图形用户界面(GUI)GUI是人机交互的图形用户界面设计。如今,许多国际知名公司正在重复使用GUI并寻找其产品的强大补充,这些产品已在内部GUI中建立了研究和设计部门,从而提供了巨大的市场价值。几个机构交流GUI设计的理论和经验。由于中国科学技术的逐步发展和IT产业的快速发展,人机界面产品设计的发展非常重要,人们越来越重视GUI的重要性。GUI的广泛使用是当今计算机发展的重大成就之一,这使得它非常容易用于非专业用户。用户将来不必记住许多命令,人们可以使用窗口,菜单,按钮或与人机执行交互轻松操作它们,完成所需的功能并设计易于使用的界面和界面。2.2 GUI
24、的设计步骤图形用户界面(GUI)是由窗口对象,按钮,菜单和文本框之类的对象组成的用户界面。用户以特定方式选择和激活这些图形对象,以允许计算机执行某些功能,例如矩阵计算,二维或三维绘图。Matlab中可以使用可视化的界面环境或者通过编写程序两种方法设计图形用户界面。启动Matlab的GUI界面并在Matlab主界面的菜单栏新建下的GUI,如图2.1、图2.2所示图2.1 新建菜单图2.2 新建GUI单击图2.2中的确定会出现下图界面(图2.3)图2.3 新建GUI空白模板2.3 GUI设计思路本设计完成基于Matlab的故障诊断平台设计,完成如下功能:账号、密码登陆系统,进入菜单页面,错误账号密
25、码将无法登陆系统,同时可以选择退出系统。密码输入正确后进入电机轴承故障诊断系统通过点击按钮,可以获取轴承数据,得到轴承振动信号的曲线图点击切换按钮,可以将一维振动信号图转换成二维的灰度图像点击返回按钮,可以退出检测界面回到原登录界面2.4界面设计及程序调试2.4.1用户界面登录用户登录界面fig文件如图2.4所示,在GUI空白模板中添加1个坐标轴、2个静态文本框、2个可编辑文本框、1个按钮。账号和密码可编辑文本框用来输入账号和密码,并判断正误。一个按钮用来完成“登陆”功能。图2.4登录界面fig文件用户登陆页面如图2.5所示,当输入正确的账号“guanheyu”和密码“123456”时,点击登
26、陆按钮,出现故障诊断界面,将跳转到菜单页面,当输入的账号密码错误时,出现“用户密码错误!”窗口,如图2.6所示。图2.5 用户登录页面图2.6密码错误的登录界面2.4.2故障诊断平台界面 故障诊断平台的fig文件由两个坐标轴,3个按钮,一个静态文本框构成 第一个坐标轴用来显示振动信号的一维曲线。第二个坐标轴用来显示二维的弧度图像。点击第一个按钮可以显示振动图像,第二个按钮按下可以转换到灰度图像,按下第三个按钮可以返回到登录界面。整体故障诊断平台如下图2.7显示。图2.7电机轴承故障诊断平台2.5 基于Matlab故障诊断界面设计原则和一般步骤设计原则 由于要求不同,设计出来的界面也千差万别。但
27、是,自从人们开始设计图形界面以后,界面设计的评判标准却没有太大的变化。简单说来,一个好的界面应遵循以下几个原则:(1)简单性页面尽量简洁、清晰,图像不要过多或者排列过乱,影响整体视觉,也会影响页面的使用,无用的按钮、无用的页面、冗余的功能不应出现,否则对于一个大型的界面系统之中将会造成极大地空间浪费,这样的界面设计也是不成功的。(2)一致性 整体界面组成的平台风格要一致,才能将平台设计出统一化的美感,这样才能方便新用户更快地熟悉平台,例如,将菜单栏放置在上部,按钮放置在下部,背景图保持一致等等。(3)习常性 为了让新用户更快的熟悉平台和界面,掌握平台的功能,一般要使用通用的符号、数字和语言,使
28、用通用的操作方式和思维逻辑,方便了用户的使用,才是界面设计的成功之处。(4)其他考虑因素 除了以上因素以外,还有很多因素需要考虑,比如界面的连续性和快速性,界面转换快速性太低的话会极大的影响用户体验,另外,很多情况下函数代码需要较长时间进行数据处理,这种情况可以允许用户先进行其他操作。3基于Tensorflow的卷积神经网络3.1卷积运算卷积运算实际就是使用两个大小不同的矩阵进行的一种运算,权重共享网络结构类似于生物神经网络的结构,大大减少了网络模型。 复杂程度减少了权重的数量。 采用的方法就是对测试结果进行均值化处理,即通过一个权值定义计算,可以用如下公式表示: St=xat-ada (3.
29、1)这种运算方式被称为卷积运算,也可表示为: St=x*(t) (3.2) 在卷积公式中,x为输入数据,为核函数,S(t)是输出,也是特征映射3.2卷积神经网络的结构CNN是一个多层网络神经网络,每一层都由多个二维平面构成,而每个二维平面都由多个神经元结构构成。如下图3.1所示输入CL1SL1CL2SL2 全连接层图3.1卷积神经网络的整体结构CNN是具有前馈结构的神经网络。CNN具有三个重要特征,使其在二维分析中具有优势,包括局部接收场,权重分配和空间领域的子采样。典型的CNN由三种类型的层组成:卷积层(CL),子采样层(SL)和完全连接层(FL)。每一层有数个特征图,每个特征图通过一种卷积
30、滤波器提取输入的一种特征,每个特征图包含数个神经元。卷积层:CL将输入与其内核进行卷积。CL的输入是前一层的输出。每个内核都具有相同的大小并提取输入本地区域的局部特征,这通常称为权重分配。 卷积运算的结果通过激活函数来获得输出。最近,整流线性单元(ReLU)因其低计算要求和高速训练而被广泛用作激活功能。通常,CL的数学模型可以用以下等式描述 Xjl=f(iMjXil-1*kijl+bjl) (3.3)形象的说明CNN,可以想象在一个黑暗的环境当中,有一束手电筒的光正从图像的左上角照过。假如手电筒的光能够照亮区域是3*3,那么在机器学习中,这束光变成作为卷积核,被照过的区域则是感受野,手电筒的光
31、慢慢移动,一直移动到头,则每次需要移动到头的步长为1。降采样层:降层采样可以使原本的输入简化,降低其复杂程度通过利用卷积神经网络的权值共享的特点。SL减小了输入要素的大小,它还减少了网络中的参数数量。此外,SL在输入转换很小的情况下使输出不变,我们只需要这个特征与其他的相对位置,比如一个“日”,当我们得到了上面一个口时,我们不需要知道它在图像的具体位置,只需要知道它下面又是一个“口”我们就可以知道是一个日了,因为图片中日在图片中处在哪一个位置都不影响我们认识它,这种混淆位置的方法可以应用到对具体位置的扭曲或者模糊的识别当中。数学模型如下:Xjl=f(jldown(Xjl-1+bjl) (3.4
32、)其中down()表示子采样函数。一般情况下,此函数对输入图像中每个不同的n-by-n块进行求和,使输出图像沿两个空间维度的n倍小。每个输出映射都有自己的乘法偏差b和加法偏差b。 下采样功能可以是最大采样或平均采样。 max-sampling将输入图像划分为一组非重叠矩形,并且对于每个这样的子区域,输出最大值。 在平均采样的情况下,平均值将作为输出释放。全连接层:采用softmax全连接,得到的激活值即卷积神经网络提取到的图片特征。FL是一种传统的前馈神经网络,它使用softmax函数作为输出中的激活函数。 该层中的所有神经元都连接到前一层中的所有激活。 FL的目的是收集先前特征图中的所有特征
33、以进行分类。 Softmax函数用作输出层的激活函数。 Softmax函数采用任意实数值得分的向量,并将其压缩为0到1之间的值向量。 Softmax的公式如下表示 (z)j=eZjk=1KeZk,for j=1,K (3.5)CNN的主要结构包含两个特殊的神经元层,第一个是卷积层,每个神经元的输入连接到前一层的局部部分,提取局部函数,第二个是池化层。 找到局部灵敏度和二阶特征提取的计算层。 这两种特征提取方案降低了特征分辨率并减少了需要优化的参数数量。CNN是部分连接的网络,底层是特征提取层(卷积层),后面是池化层,接着是卷积,池化或完全连接层。 通常,在最后一步中,CNN用于使用softma
34、x进行模式分类。一般情况下,CNN的结构形式是:输入层- Conv层 - Pooling层 - (重复Conv、Pooling层) - FC(Full-connected)层 - 输出结果。3.3神经网络结构分类神经网络的结构分类如表3.1所示表3.1 神经网络的结构分类名称特点LeNet5基本CNN结构AlexNet引入了ReLU和dropout,引入数据增强、池化相互之间有覆盖,三个卷积一个最大池化+三个全连接层VGGNet采用1*1和3*3的卷积核以及2*2的最大池化使得层数变得更深。常用VGGNet-16和VGGNet19Google Inception Net这个在控制了计算量和参数
35、量的同时,获得了比较好的分类性能,和上面相比有几个大的改进:1、去除了最后的全连接层,而是用一个全局的平均池化来取代它; 2、引入Inception Module,这是一个4个分支结合的结构。所有的分支都用到了11的卷积,这是因为11性价比很高,可以用很少的参数达到非线性和特征变换。3、Inception V2第二版将所有的55变成2个33,而且提出来著名的Batch Normalization;4、Inception V3第三版就更变态了,把较大的二维卷积拆成了两个较小的一维卷积,加速运算、减少过拟合,同时还更改了Inception Module的结构。微软ResNet残差神经网络(Resi
36、dual Neural Network)1、引入高速公路结构,可以让神经网络变得非常深2、ResNet第二个版本将ReLU激活函数变成y=x的线性函数3.4 CNN的结构特征1)较强的容错率、有处理性和自主学习性,可以处理环境较为复杂的信息,允许处理信息有较大的损坏和缺失,处理速度快,自适应性能好,分辨率较高。2)是一种前馈神经网络。3)可以直接就处理二维图像,并在输出端得到结果,不需要对图像进行复杂的预处理或特征提取。4)可以识别了扭曲,模糊,进行过唯一的图像,因为CNN是通过数据进行特征采集,避免了人工数据处理的错误率。5)可以自动从图像中抽取出大量的相关特性。4 LeNet-5结构及算法
37、4.1LeNet-5结构如图4.1所示是流传较广的LeNet-5结构图,该网络结构包括卷积层,池化层,全连接层,这些都是现代CNN的基本组件。S2C1C3S4C5O输入图4.1 LeNet-5结构图首先输入一张图像经过多层神经网络得到的一个输出结果,其中各种黑灰方块表示的是图像提取出的特征图,于是该图像经过第一层网络后得到6张特征图,每一张图的大小是28*28,其余层次也是这样。由于这里使用的是5*5大小的卷积核,因此一个输入大小为32*32的特征图经过卷积后得到的图就是28*28。LeNet-5共包含8层C1层是一个卷积层,有6个卷积核(提取6种局部特征),卷积层的特征计算公式如下:Xjl=
38、f(iMjXil-1*kijl+bjl) (4.1)其中Xil-1*kijl表示从第一层到l+1层要产生特征的数量,核大小为5x5,步长为1,能够输出6个特征图个特征图的大小为32-5 + 1=28,也就是说输入数据的大小由32*32个减小到了28*28=784,要计算的网络参数个数为156个。C3层:C3卷积层中选择卷积核的大小依旧为5*5,由于上一层得到的特征图的个数为6,因此,这里每一个卷积核的实际大小5*5*6,卷积核的个数为16,步长为1,可以得到新的特征图的大小14-5+1=10,因此可以得到16张大小为10*10的特征图,要计算的网络参数的个数为(5x5x6+1)*16=2416
39、个。C5层:C5层也是卷积层,采用的是5x5的卷积核进行卷积。积核的大小和输入的特征图的大小相等,因此不需要步长移动。输入的特征图的个数为16张,卷积后得到120个特征图,但是每一张特征图实际上只是一个值,因此最后得到的实际上是一个120维的向量。后面就可以非常方便地连接上全连接神经网络。这里需要求解的网络的参数的个数为(5x5x16 + 1)x 120=48120个因此,可知需要求解的卷积核参数的个数为50692个已经远远小于传统的多层网络计算上已经成为可能卷积核在二维平面上平移,并且卷积核的每个元素与被卷积图像对应位置相乘,再求和。通过卷积核的不断移动,就得到这个图像完全由卷积核在各个位置
40、时的乘积求和的结果组成。S2层:S2池化层实际上也是降采样层,也就是使用最大池化进行下采样。这里池化的窗口选择的是2x2相当于对进行分块。2x2表示的就是4个元素变为1个元素,也就是将原来的特征图的长和宽都变为原来的一半。这样可以得到14x14的特征图的个数保持不变,仍然是6张。S2层中不存在待求解的参数。S4池化层对C3当中输出的16张10x10的图片进行最大池化,池化窗口大小仍然为2x2,因此经过S4层,最终得到16张5*5的特征图,同样S4层没有需要求解的网络参数。最终得到16张5x5的特征图。s4池化层极大地降低了特征图的维度,因此降低了网络训练参数及模型的过拟合程度。池化的方式通常有
41、以下两种Max-Pooling:选择池化窗口中的最大值作为采样值。Average-Pooling:将池化窗口中的所有值相加取平均,以平均值作为采样值。F6层:类似于MLP层的完全连接层,总共84个神经和84个神经元完全连接到层C5,因此训练的参数是(120 + 1)84 = 10164F6层采用正切函数,计算公式为:Xi=fai=tanh(ai) (4.2)输出层:单元的配置,每个类一个单元,每个单元有84个输入。与经典神经元一样,层F6计算点积和输入矢量与权重向量之间的位移。然后它被传递到sigmoid函数的生成单元的状态。也就是说,每个输出RBF单元计算输入矢量和参数矢量之间的欧几里德距离
42、。与经典神经网络一样,参数矢量距离参数矢量越远,RBF输出就越大。在概率术语中,RBF输出可以被解释为层F6中的空间的高斯分布的对数概率估计。结果给出。损失函数必须确保F6配置足够接近RBF参数向量(例如,预期的模式分类)输入层:N个32x32的训练样本输入图像大小为32x32,比MNIST数据库中的字母大,这样做的原因是希望潜在的明显特征,如笔画断点或角点能够出现在最高层特征监测子感受野的中心。C1层输入图像大小:32x32卷积核大小:5x5卷积核个数:6输出特征图数量:6输出特征图大小:28x28(32-5+1)神经元数量:4707(28x28x6)连接数:122304(28x28x5x5
43、x6)+(28x28x6)可训练参数:156(5x5x6+6,权值+偏置)S2层输入图像大小:(28x28x6)卷积核大小:2x2卷积核个数:6输出特征图数量:6输出特征图大小:14x14(28/2,28/2)神经元数量:1176(14x14x6)连接数:5880(2x2x14x14x6)+(14x14x6)可训练参数:12(1x6+6,权值+偏置)C3层输入图像大小:(14x14x6)卷积核大小:5x5卷积核个数:16输出特征图数量:16输出特征图大小:10x10(14-5+1)神经元数量:1600(10x10x16)连接数:151600(1516x10x10)可训练参数:1516S4层输入
44、图像大小:(10x10x16)卷积核大小:2x2卷积核个数:16输出特征图数量:16输出特征图大小:5x5x16神经元数量:400(5x5x16)连接数:2000(2x2x5x5x16)+(5x5x16)可训练参数:32(1+1)x16)C5层输入图像大小:5x5x16卷积核大小:5x5卷积核个数:120输出特征图数量:120输出特征图大小:1X1(5-5+1)神经元数量:120(1x120)连接数:48120(5x5x16x120x1+120x1)可训练参数:48120(5x5x16x120+120)F6层输入图像大小:(1x1x120)卷积核大小:1x1卷积核个数:84输出特征图数量:1输
45、出特征图大小:84神经元数量:84连接数:10164(120x84+84)可训练参数:10164(120x84+84)output层输入图像大小:1x84输出特征图数量:1x104.2卷积网络训练注意事项1.数据集的大小和分块以数据为中心的模型通常取决于数据集的大小。与其他经验模型一样,CNN可以应用于任何大小的数据集,但用于训练的数据集必须足够大,以包含所讨论的域所知的所有可能元素。2.数据预处理为了加速学习算法的收敛,通常采用一些数据预处理技术,例如降噪,减少输入数据维数和消除无关数据。 数据的平衡在分类问题中非常重要。 通常,训练集中的数据应与标签类别的平均分布相似。 换句话说,对应于每个类别标签的数据量在训练集中基本相同以避开网络。 它倾向于表明特定分类的特征。 要平衡数据集,您必须删除过多的数据并充分补偿相对罕见的数据分类。 另一种方法是从这些罕见的样本中复制一些数据,并为样本添加随机噪声。3. 数据规则化将数据标准化到一定范围(例如0,1)很重要。 避免数据中数值较大的数据,或者由于数据值较小而使教学效果无效。 常见的方法是将输入和输出数据扩展到对应于激活函数(例如sigma-modal函数)的
限制150内