1. 引言
地震事件检测和相位拾取是确定地震位置和建立地震目录的关键一步,对于地震数据的研究至关重要。目前地震波初至拾取算法通常基于振幅、能量或频率等确定初至时间,人们已提出多种初至拾取方法,如能量比法、相关法、分形维法,这些方法通常仅考虑单一特征,在精度上表现较差。基于神经网络拾取初至时间的算法诸如:人工神经网络 [1] 、支持向量机 [2] 、模糊聚类 [3] 等,此类算法是基于一维特征的时间序列进行训练,拾取过程中易受噪声干扰。
深度学习技术在人工智能时代已经成为了各个领域研究热点,其强大的自学习特征能力,各个领域都有广泛的应用。近年来,在地震学领域也得到一系列的成功应用,都有比较明显的进展。初至数据的自动拾取已经有了一些深度学习方法的应用,包括当今比较流行的卷积神经网络 [4] 。基于U-net网络设计的PhaseNet震相拾取算法 [5] 在近震事件震相挑取中有着出色的泛化能力。DetNet + PpkNet的事件检测和相位选取算法 [6] 在地震波形的初至拾取上表现良好。LPPN算法 [7] 是一种轻型震相拾取网络,用于从连续地震记录中拾取P/S相位。EQtransformer算法 [8] 是用于地震事件检测和相位拾取的全局深度学习模型,使用分层注意机制组合相位信息和地震信号的全波形,在单站的测试精度上优于以前的深度学习和传统的相位拾取和检测算法。
在地震数据研究中,深度学习算法都涉及信号检测或者相位提取问题,初至波到时拾取则需要将两个任务结合。本研究将两个任务分别进行训练,用于在连续波形中进行地震事件检测及P波到时拾取。将地震事件检测视为图像分类问题,与现有研究使用单个台站的地震数据 [9] 训练网络不同,在本研究中,我们使用多个台站的记录联合训练CNN模型。由于CNN自动综合了多个台站之间的信息,因此可以更可靠地检测地震事件。时间序列网络模型则可以有效地捕获事件的时序特征。利用这两种网络模型的优势,引入了自注意力模块,提高模型的精度,以期通过上述研究能够有效拾取地震事件,并进行P波到时拾取。
2. 方法
2.1. 基本原理
本研究主要解决在连续地震波形中的地震事件检测和到时拾取问题,如图1所示,输入三分量地震数据来进行初至波拾取的训练。首先将输入的地震数据进行预处理,如:数据增强等;将地震数据输入卷积神经网络模型(CNGNet)进行事件的检测;最后将地震波形事件作为时间序列输入到到时拾取模型(GPkNet),采用GRU模块结合自注意力机制拾取P波与S波。

Figure 1. Fundamentals of network design
图1. 网络设计的基本原理
2.2. 事件检测模型(图2)
在本文中地震事件检测模型是由噪声和事件组成的一个二分类模型。常见的CNN卷积层通常由卷积操作、激活函数和最大池化层三种部分组成。其中卷积操作实现了输入数据的滤波和线性组合,主要是为了对地震事件进行特征的提取。它可以通过滑动窗口的方式对输入的地震数据进行扫描,并通过局部感知野提取不同位置的特征。其中卷积核的权重共享机制也使得参数量相对较小,减少了过拟合的风险。使用ReLU激活函数,能够引入更丰富的表达能力,并帮助网络学习更复杂的特征表示。池化操作例如最大池化,可以保留重要的特征,在一定程度上提升了网络对平移不变性的建模能力,并减少了计算量和参数数量。
在设计地震事件检测模型时,文献 [10] 中借鉴了LeNet以及VGG模型的思路,设计了简单的CNN模型。而在本文中把整个网络模型分为了三个部分,先是前4个卷积层,使用最经典的卷积层即卷积操作、ReLU激活函数以及最大池化操作,其中滤波器的数量倍数增长;5到6层滤波器数量不变;最后是两个类似于VGG块的两个卷积层。

Figure 2. CNGNet for event detection and GPKNet model for waveform picking
图2. 进行事件检测的CNGNet与进行波形拾取的GPKNet模型
这种设计可以防止梯度消失和梯度爆炸抑制,激活函数引入非线性变换,使得梯度能够在反向传播过程中更好地流动,从而保证梯度的有效传递和更新。在前4个卷积层中,滤波器的数量倍数增长,这意味着网络可以在较浅的层级上捕获到更多的特征表示,较少的滤波器数量能够处理局部细节信息,而更多的滤波器数量则可以关注更大范围的全局结构。第5到第6层保持滤波器数量不变,可以控制网络的参数量和复杂度。最后两个类似于VGG块的卷积层通常具有较大的滤波器数量和深度,可以进一步提取更高级别的抽象特征,增强网络的表达能力。
由于我们将地震检测任务看作为一个二分类任务 [5] ,因此在模型的末端使用softmax函数进行概率预测。Softmax函数可以使得所有类别的输出值都落在0到1之间,并且各个类别的输出和为1,这样可以将模型的输出解释为对不同类别的预测概率。
2.3. 到时拾取模型
GRU是一种循环神经网络(RNN)的变体,它具有门控机制,可以更好地捕捉长期依赖关系。相比于传统的RNN,GRU引入了更新门和重置门,通过动态调整当前时刻的信息对过去的记忆进行遗忘或者记忆的操作。假设隐藏状态的维度为,ht输入特征的维度为xt,图3为GRU模块的基本模型结构。

Figure 3. Basic schematic diagram of the GRU module
图3. GRU模块的基本原理图
自注意力机制(Self-Attention)是一种允许模型根据输入的不同位置进行自适应权重分配的机制。通过计算输入序列中各个位置之间的相关性,自注意力机制能够捕捉到不同单词或者元素之间的重要关系,并且分配给它们不同的注意力权重。这使得模型更加关注输入序列中最相关的信息,并减少了传统固定窗口大小的局限性。在注意力机制中,主要涉及三个要素:查询(query)、键(key)和值(value)。查询是用来获取注意力权重的向量,键和值则表示输入序列中每个位置的特征向量。注意力机制根据查询、键和值之间的相似度来计算注意力权重。注意力机制的公式表示:
(1)
其中:
表示查询向量,
表示键向量,
表示值向量,经过softmax函数处理得到注意力权重,然后其应用于值向量上,最后得到加权后的表示。
GRU可以有效地捕获波形信号的时序特征,自注意力机制能够学习到波形数据中不同位置之间的关联性,并根据全局上下文信息进行权重调整。这使得模型能够在进行初至拾取时同时考虑到整个波形数据的信息,而不仅仅是局部窗口内的信息,同时可以提高模型的鲁棒性和可靠性。GRU可以处理不同长度的输入波形序列,并能够适应不同的时序特征,自注意力机制能够实现对不同位置的自适应关注,使得模型对于不同类型的波形数据都能具有较好的适应性和准确性。模型可以支持并行计算,这意味着可以在大规模波形数据上高效训练和推理。
通过结合GRU和自注意力机制,可以充分利用它们各自的优势,提高波形初至拾取任务的性能和效果,并获得了很好的泛化能力。
在模型中我们采用的是30秒长的三分量地震图,把它切割成59个连续帧,每帧持续时间为1秒,步幅为0.5秒,将这些三分量段连接成具有300个数据点的一维矢量。使用了两个结构相同的GRU模块,包含64个特征向量,并发送到自注意力机制中获取更多局部信息,最后输入到完全连接层。根据softmax归一化给出的分类分数,将每个时间步长分为噪声、P波或S波三类之一。
由于波形有50%是重叠的,包含输入到达的两个段都被标记为到达后,真正的到达位于第一个标记段的后半部分。因此,我们选择的到达时间在第一个标记段的初始时间后0.75 s,这样可以保证理论最大拾取精度小于0.25 s。
3. 数据集
3.1. 数据集预处理
使用了2019年美国加利福尼亚州的东部的多个相近站台三天的连续地震波形(https://www.iris.edu/),台站设备由九个宽频带三分量微震台站组成。其中包括了20个相邻震相台站的三分量地震波形数据,原始采样频率为1 kHz,其中主要检测的震相分别为直达的P波、S波。所选的地震数据集按照9:1的比例分为训练集和测试集。
3.2. 数据预处理及数据增强
使用的是100 Hz的低通滤波器,滤除频率高于100 Hz的信号成分,这样可以降低或消除高频噪声的影响,对于提高信号质量和减少噪声干扰非常有益;接着进行数据的归一化,如图4所示。
地震数据集中可能存在类别不平衡问题,通过数据增强方法,可以生成更多少数类别的样本,以平衡各个类别之间的样本数量差异,也可以添加额外的信息,如地震波形的振幅、频率谱、信号延迟等,帮助改善模型对这些信息的学习能力。本文中采用数据增强主要为时间偏移使其增加为原来的两倍,由此增强模型的泛化能力平衡数据的分布。

Figure 4. Data preprocessing and data augmentation
图4. 数据预处理以及数据增强
4. 性能测试
两个阶段都是通过小批随机梯度下降(Mini-batch Stochastic Gradient Descent,简称Mini-batch SGD)算法进行训练的,它是梯度下降算法的一种变体,在每次更新模型参数时利用部分训练数据样本的梯度来进行优化。通过使用小批量样本进行参数更新,可以减少训练过程的计算开销,并且还可以更好地逼近全局最优解。
优化器根据损失函数的梯度更新神经网络的权值。每次迭代后,对训练集中的样本进行打乱,重复整个过程。在事件检测模型训练中的损失函数为L2正则化的交叉熵损失。在初至拾取波形训练中损失函数为所有时间步长的平均交叉熵。所有权重都由Xavier初始化器初始化,并由Adam优化器优化。
我们使用Tensorflow构建模型,在事件检测训练中采用正则化来防止过拟合,其中包括:基于验证集的提前停止,停止训练过程;L2正则化来惩罚损失函数和加权数的绝对值;批归一化,通过对每个卷积输出进行归一化,减少从浅层到深层的分布转移。
使用图2中的网络模型架构进行模型训练,用准确率和召回率来评估训练过程和训练模型在测试数据集中的性能,这两个指标的定义如下:
(2)
(3)
其中,式中TP为真阳性数,FP为假阳性数,TN为真阴性数,FN为假阴性数。在本文中,地震被视为积极的,噪声被视为消极的。
训练和验证过程中的分类精度以及召回率,如图5所示。经过约11,000次迭代后,DeGNet的训练精度及召回率收敛到99.5%以上,并且峰值多次达到100%。对于地震事件和噪声,其在测试集的精确度和召回率同样达到约99%,峰值在100%。经过100,000次迭代后,RNN阶段的训练精度和验证精度均收敛到98%以上,并且没有出现过拟合的状况。

Figure 5. CNGNet (top) and GPkNet (bottom) training iterative processes
图5. CNGNet (上)和GPkNet (下)训练迭代过程
为了计算其到时误差,我们测量了平均绝对误差(Mean Absolute Error,简称MAE),MAE的计算公式如下:
(4)
其中,n表示样本数量,yi表示实际值,
表示预测值。MAE的值越小表示预测结果与真实值之间的绝对差异越小。通过计算MAE可以很明显的看出模型在性能上是非常优秀的。

Table 1. Performance test results for each method
表1. 各个方法的性能测试结果
为更加客观的评估我们模型的优越性,进行了几种对比试验。DetNet + PpkNet算法 [5] 采用了双向的GRU模型,可以很好地捕获时序信息,但是对于局部信息很难关注到。CNNNet + CGANet算法(Mingruo, J. 2023) [11] 中引入了注意力机制和卷积模块,拾取效果良好,所以在设计网络时,我们在原有的GRU模块的基础上引入了注意力机制,通过对表1中的结果分析,可以很明显的发现,本方法在事件检测和初至拾取的性能均表现的很好。在此基础上,我们又想到了将双向的GRU替换为LSTM (LpkNet),结果发现精确度虽然很高但是召回率和MAE偏低,性能并不算太好。GRU算法相对于LSTM算法具有更简单的结构和更少的门控单元更容易训练和调整,所以我们的模型选择GRU模块作为基础。
5. 结果
在地震频发区,需要短时间对大量的地震数据进行处理,人工的方式耗费了大量的人力物力,本文针对美国加利福尼亚州东部在2019年7月4日某4个台站获取的地震事件进行检测并进行P波与S波的拾取,表2是在事件检测阶段所获得的事件数量,由于有些地震事件置信度较低,在进行波形拾取之前对其选择丢弃。

Table 2. CNGNet test results and number of GpkNet discards
表2. CNGNet的检测结果及GpkNet丢弃数量
接下来是对所选择的事件进行波形拾取,图6展示每个台站的P波、S波的初至拾取结果。结果显示,我们的方法在地震方面的应用上依旧存在较小的误差,需要进一步的进行研究。

Figure 6. Example of station pickup results
图6. 台站拾取结果示例
6. 结论
传统的地震波初至拾取方法存在了精度较低、拾取效率不高的问题,在本文中使用深度学习方法,引入了一种使用CNGNet和GPkNet的混合算法模型来检测事件并从连续波形中选择相位。CNGDet在测试集上的事件检测精确率和召回率都达到99%以上,GpkNet对于P波到时估计的误差均值为0.019 s。对比结果表明,在性能、精度上均优于其他算法。混合算法在采摘稳定性(低误检)和采摘精度方面优于其他算法,在未来可以考虑使用不同类型的数据集进行测试,不断优化本文中提到的混合模型,在地震数据波形初至拾取方面发挥越来越重要的地位。
基金项目
天津市教委科研计划(2020KJ115)。
NOTES
*通讯作者。