施佳朋,黄汉明,薛思敏,黎炳君,袁雪梅
(广西师范大学 计算机科学与信息工程学院,广西 桂林 541004)
天然地震危害巨大,一旦发生容易造成大量的财产损失和人员伤亡,对地震信号的分类研究对于防震减灾是有着重要的意义,这是构建完整的地震目录和便于地震研究学者能更加专注对天然地震信号的研究的基础[1,2]。但是如人工爆破等其他人为产生的噪声地震信号,很容易对监听产生影响,导致误判。还有就是天然地震信号不同于一般信号,属于非平稳信号[3],本身就较为复杂,因此分类研究也一直是重点研究对象。
地震信号研究学者们也根据地震信号的特性,从多方面判断,如:利用到达时间自动拾取方法(automatic method for picking up arrive time,AMPAT)来研究P波[4]、波形复杂度[5]、分形维数[6]、能量比[7]、倒谱[8]、小波变换[9]等。而随着计算机硬件设备发展,研究者们使用的方法也逐步多样化,如使用机器学习方法[10],从使用反向传播(back propogation,BP)神经网络对震动信号研究[11],到使用更为深层的深度学习神经网络[12]。这些地震领域研究学者们的实验,都取得了不错的成果,为地震领域研究提供了思路和方向。
本文以天然地震信号和人工爆破地震信号为对象进行分类实验研究。在前人提供的研究思路方向上,提出了一种基于经验模态分解—变分模态分解—长短期记忆(empirical mode decomposition-variational mode decomposition-long short-term memory,EMD-VMD-LSTM)的地震信号分类研究模型,分别求得前5个本征模态函数(intrinsic mode function,IMF)分量,然后求取IMF的熵值,作为分类特征,最后输入到LSTM中,利用LSTM提取特征能力来进行分类研究。
EMD可以将任意信号分解为若干IMF分量,对于处理非线性、非平稳信号的是一种非常有效的方法[13]。EMD方法对地震信号分解的基本步骤如下:1)确定原始信号X(t)的所有极值点,并用三次样条插值函数拟合出原始信号的上下包络线平均值a1,接着求出原始信号X(t)和a1的差b1。2)得到b1后,会对其进行判断是否满足IMF分量的条件要求,如若满足,则归为第一个IMF分量,并且记为c1;不满足则作为新的原始信号重复步骤(1),直到满足IMF分量要求为止。3)按式(2)将c1从原始信号X(t)中分离出来,得到d1,作为新的原始信号输入,求下一个IMF分量。
b1=X(t)-a1
(1)
d1=X(t)-c1
(2)
EMD分解后前5个IMF分量图如图1所示。
图1 EMD分解图
VMD是由Dragomiretskiy K在于2014年提出的一种新的自适应信号处理方法[14],VMD建立约束变分问题有如下公式
(3)
式中 {uk}={u1,u2,…,uk}为分解得到的k个IMF分量;{ωk}={ω1,ω2,…,ωk}为各个IMF分量的频率中心;使用拉格朗日乘法算子λ(t)和二次惩罚因子α,对式(3)进行改变,得到改变后
(4)
寻找约束变分问题的最优解,对uk,ωk更新,其中有如下公式
(5)
(6)
(7)
(8)
经过上述步骤,VMD对地震信号的分解后,得到前5个IMF分量,其中分解图如图2所示。
图2 VMD分解图
1997年,Hochreiter S等人提出了LSTM模型[15],其中有如下公式,可以更加详细地描述LSTM内部结构
ft=σ(Wxfxt+Whfht-1+Wcfct-1+bf)
(9)
it=σ(Wxixt+Whiht-1+Wcict-1+bi)
(10)
ct=ftct-1+ittanh(Wxcxt+Whcxt-1+bc)
(11)
ot=σ(Wxoxt+Whoxt-1+Wcoxt+bo)
(12)
ht=ottanh(ct)
(13)
式中Wxc,Wxi,Wxf,Wco为输入信号X(t)的连接权重;Whc,Whi,Whf,Who为隐含层输出信号ht的连接权重;Wco,Wcf,Wcf为连接神经元激活函数输出矢量ct和门函数的对角矩阵;bo,bc,bi,bf为偏置向量;σ为激活函数。
根据Shannon信息熵理论,对于一个随机变量X,引入来求IMF能量熵值,得到有能量熵值公式如下
(14)
式中pi为第i个IMF能量占总能量比值,其中各个数值有以下关系可得
(15)
所使用天然地震事件来源于中心首都圈数据,人工爆破事件为门头沟地区数据,这些事件发生在2010年~2016年间,每个事件中有几十个波形个数,数据都可在国家地震科学数据共享中心(http://data.earthquake.cn/)下载,实验中具体数据个数如表1所示。
表1 实验中的数据个数
注:Evt:事件个数;Waveform:波形个数;Trainw:训练波形个数;Testw:测试波形个数;Eq:天然地震信号;Ex:人工爆破信号;Sum:合计数目。
本文有以下实验步骤,具体流程如图3流程图所示。
图3 实验流程图
在实验中,使用了总共75个事件,其中天然地震信号事件40个,人工爆破事件35个,经过筛选,去除明显不是波形信号数据后,得到了2 017个波形信号数据。接着对信号波形进行幅值归一化,以消除监测台站记录下来如零漂等外界条件的影响。去除噪声处理得到一个较为精确的波形信号。
数据预处理后,同时将波形信号分别进行EMD和VMD,从计算速度来考虑,并且因为前5个IMF分量占据了原始波形信号的大部分有用信息,已经可以有效地作为了分类的特征依据,故只取了前5个IMF分量,用来求取每个IMF的能量熵值,构建出特征向量。
然后对特征向量进行训练和测试集的划分,其中训练数据有1 508条波形条数,包含了873条天然地震波形,635条人工爆破波形,测试集有509条波形条数,包含了天然地震波形247条,人工爆破波形262条。把训练数据输入到LSTM中,对其进行训练,构建出EMD-VMD-LSTM模型,从程序运行速度和最终分类精确度考虑,Layer层数为2层,第一层隐含节点数为512,第二层隐含节点数为256。为了防止过拟合,在每一层都设置了Dropout,数值为0.2。训练迭代次数为5 000次,训练过程中使用了Adam作为解算器,初始学习率设置为0.1,并且为了防止渐变溢出,设置渐变阈值为1。
实验环境基于Windows7 64位操作系统平台,所使用的编程代码语言为MATLAB,编程软件为MATLAB2018a。训练过程的准确度(accuracy)和损耗(loss)图分别如图4所示,可以直观地看出EMD-VMD-LSTM模型的构建过程。
图4 训练结果
实验与单一使用了一种分解方法的模型进行对比分类精度,其中对比结果如表2所示。
表2 模型对比
经过上表2的对比结果可以看出,本文提出的EMD-VMD-LSTM模型比较单一分解方法的模型,分类准确率进一步的提升了,分类性能更为优越。
本文在EMD,VMD基础上,提出了一种综合EMD,VMD和LSTM的EMD-VMD-LSTM模型,用以来实现对地震信号的分类研究。在相同的实验条件下,通过和多个模型对比,证明了本文提出的EMD-VMD-LSTM模型,相较于单一使用其中一种分解的方法,有着更好的分类准确性,提高了分类精确度,提出的该方法对地震信号进行分类研究提供了新视角。