静校正问题及其深度学习方法

1. 引言

地震数据可以反映出一系列地下观测点的信息。单炮数据仅能对地下观测点提供一次覆盖的振幅数据,多炮数据则可以为地下观测点提供多次覆盖的振幅数据。剩余静校正可以通过对道集数据进行优化,增强道集数据有效信号的同相性,提高叠加数据信噪比。静校正可以将数据进行向上/向下位置微调,调整后再叠加,有效提高叠加质量。
在这里插入图片描述图1. 静校正
如图1所示,静校正效果好时,结果信噪比高,直观表现为图像更清晰。

2. 基础知识

定义1. 一对<炮点, 检波器> 获得的数据,反映了炮点与检波器中间位置垂直方向的地质信息。该数据称为一个道(trace),可表示为 n n n维实数向量,其中每个分量表示相应时间(可换算为深度)的振幅。
定义2. 对应于同一地理位置的 k k k个道组成一个道集(trace set),可表示为 n × k n \times k n×k的矩阵。
一般情况下,一个道集中的不同道,是通过不同炮点、检波点获得的。
为获得一个地质剖面,应采集不同位置的数据,这些数据组成了一个三维矩阵
V = ( v l i j ) d × n × k , (1) \mathbf{V} = (v_{lij})_{d \times n \times k}, \tag{1} V=(vlij)d×n×k,(1)
其中 d d d表示观测的位置数, n n n表示每道的长度, k k k表示每个道集所含的道数。
在实际应用中,不同的道集可能有不同的列数(道数)。简便起见,理论上我们忽略这种差别。

3. 局部静校正

局部静校正仅考虑一个道集内部的优化。

3.1 问题描述

问题1:局部静校正
输入:第 l l l个道集 V l = ( v l i j ) n × k \mathbf{V}_l = (v_{lij})_{n \times k} Vl=(vlij)n×k
输出:校正量向量 A = ( a 1 , … , a k ) \mathbf{A} = (a_1, \dots, a_k) A=(a1,,ak)
优化目标
max ⁡ A ∑ i = 1 n ( ∑ j = 1 k v l , i + a j , j ) 2 (2) \max_\mathbf{A} \sum_{i = 1}^n \left(\sum_{j = 1}^k v_{l, i + a_j, j}\right)^2 \tag{2} Amaxi=1n(j=1kvl,i+aj,j)2(2)
约束条件 ∀ 1 ≤ j ≤ k \forall 1 \leq j \leq k 1jk, ∣ a j ∣ ≤ c |a_j| \leq c ajc,其中 c c c为一个常数如3.

3.2 问题分析

每个道可以浮动的方式有 2 c + 1 2c + 1 2c+1种, k k k个道导致的组合数为 ( 2 c + 1 ) k (2c + 1)^k (2c+1)k。优化目标值的计算量为 O ( n k ) O(nk) O(nk),因此总体时间复杂度为
O ( n k ( 2 c + 1 ) k ) (3) O(nk(2c + 1)^k) \tag{3} O(nk(2c+1)k)(3)
看起来不小。

一个道集有 k k k个需要优化的变量, d d d个道集就有 d k dk dk个需要优化的变量。另一方面,假设有 m m m炮,每炮有 p p p个检波器起作用,需要优化的变量个数也可写为 p m pm pm. 按理说应该有
d k = p m (4) dk = pm \tag{4} dk=pm(4)

3.3 解决方案

解决方案1:穷举法。

k k k不大(如5以内)可行。

解决方案2:简单逐道调整法。

Step 1. 将第1道设置为基准;
Step 2. for i = 2 to k do
Step 2.1 for j = -c to c do
Step 2.1.1 将第 i道浮动 j后与基准道相加,获得临时基准道
Step 2.1.2 if 临时基准道数据平方比原来的大,cm = c
Step 2.2 将第 i道浮动 cm后,与基准道相加,获得新的基准道

方案分析:本方案的时间复杂度很低,只有
O ( n k c ) (5) O(nkc) \tag{5} O(nkc)(5)
当然,也可能效果不好。只有做了才知道。

解决方案3:贪心逐道调整法。

Step 1. 从道集中,首先挑选一个比较合适的道。有很多策略,如:随机挑选,与平均值最接近的道,信噪比最大的道。
Step 2. 从剩下的道中,挑选一个最大化目标函数的道。这个目标函数只考虑当前已经选择的道。

方案3有不少的设计与优化空间。

4. 基于炮点与检波器的静校正

由于勘探行业的坚持,需要优化的参数并非(4)式中的 d k dk dk p m pm pm,根据炮点和检波器确定。
令炮点的校正量向量为 B = ( b 1 , … , b m ) \mathbf{B} = (b_1, \dots, b_m) B=(b1,,bm), 检波点的校正量向量为 C = ( c 1 , … , c w ) \mathbf{C} = (c_1, \dots, c_w) C=(c1,,cw)。如果某一道的数据来自于第 α \alpha α个炮点和第 β \beta β个检波器,则其校正量应为 b α + c β b_{\alpha} + c_{\beta} bα+cβ.

4.1 问题描述

问题2:基于炮点与检波器的静校正
输入 V = ( v l i j ) d × n × k \mathbf{V} = (v_{lij})_{d \times n \times k} V=(vlij)d×n×k,从数据道向炮点的映射 f : [ 1.. d ] × [ 1.. k ] → [ 1.. m ] f: [1..d] \times [1..k] \rightarrow [1..m] f:[1..d]×[1..k][1..m];从数据道向检波器的映射 g : [ 1.. d ] × [ 1.. k ] → [ 1.. p ] g: [1..d] \times [1..k] \rightarrow [1..p] g:[1..d]×[1..k][1..p]
输出:炮点的校正量向量为 B = ( b 1 , … , b m ) \mathbf{B} = (b_1, \dots, b_m) B=(b1,,bm), 检波点的校正量向量为 C = ( c 1 , … , c w ) \mathbf{C} = (c_1, \dots, c_w) C=(c1,,cw)
优化目标
max ⁡ B , C ∑ l = 1 d ∑ i = 1 n ( ∑ j = 1 k v l , i + b f ( l , j ) + c g ( l , j ) , j ) 2 (6) \max_{\mathbf{B}, \mathbf{C}} \sum_{l = 1}^d \sum_{i = 1}^n \left(\sum_{j = 1}^k v_{l, i + b_{f(l, j)} + c_{g(l, j)}, j}\right)^2 \tag{6} B,Cmaxl=1di=1n(j=1kvl,i+bf(l,j)+cg(l,j),j)2(6)
约束条件 ∀ 1 ≤ j ≤ m \forall 1 \leq j \leq m 1jm, ∣ b j ∣ ≤ c |b_j| \leq c bjc; ∀ 1 ≤ j ≤ w \forall 1 \leq j \leq w 1jw, ∣ c j ∣ ≤ c |c_j| \leq c cjc,其中 c c c为一个常数如3.

f ( l , j ) f(l, j) f(l,j)表示第 l l l个道集中,第 j j j个道由来自于哪个炮点; g ( l , j ) g(l, j) g(l,j)表示第 l l l个道集中,第 j j j个道由来自于哪个检波器。

4.2 问题复杂度分析

与问题1相比,优化的参数个数增加了,为 m + w m + w m+w. 假设它们的取值范围为 [ − b , + b ] [-b, +b] [b,+b], 例如 b = 10 b = 10 b=10. 我们直接将方案编码成长度为 m + w m + w m+w 的向量. 问题的解空间大小为 ( 2 b + 1 ) m + w (2b + 1)^{m+w} (2b+1)m+w, 因此穷举算法不可行.
更要命的是, 对每种方案, 都要把三维的 V \mathbf{V} V拿来算. 这个事情好像不可避免.

4.3 解决方案

解决方案1: 从局部到全局

Step 1. 通过局部静校正获得 d k = p m dk = pm dk=pm个局部校正量 R = ( r l j ) d × k \mathbf{R} = (r_{lj})_{d \times k} R=(rlj)d×k
Step 2. 令在函数 f f f的帮助下,建立含 m + w m + w m+w个变量, d k dk dk个方程的超定方程组
r l j = b f ( l , j ) + c g ( l , j ) , r_{lj} = b_{f(l, j)} + c_{g(l, j)}, rlj=bf(l,j)+cg(l,j),
其中 1 ≤ l ≤ d 1 \leq l \leq d 1ld, 1 ≤ j ≤ k 1 \leq j \leq k 1jk, 1 ≤ f ( l , j ) ≤ m 1 \leq f(l, j) \leq m 1f(l,j)m, 1 ≤ g ( l , j ) ≤ w 1 \leq g(l, j) \leq w 1g(l,j)w.
Step 3. 为解此超定方程组,建立优化目标
min ⁡ B , C ∑ 1 ≤ l ≤ d , 1 ≤ j ≤ k ∣ r l j − b f ( l , j ) + c g ( l , j ) ∣ 2 (7) \min_{\mathbf{B}, \mathbf{C}} \sum_{1 \leq l \leq d, 1 \leq j \leq k} \left| r_{lj} - b_{f(l, j)} + c_{g(l, j)} \right|_2 \tag{7} B,Cmin1ld,1jkrljbf(l,j)+cg(l,j)2(7)
其中2范数可以换为0范数、1范数等。特别是0范数,表示了多少个方程需要调整。

方案分析
该方案有两个主要问题:

  1. 优化(7)式不能保证优化(6)式;
  2. 多达 m + w m + w m+w个变量,不过每个方程都只涉及两个变量。

解决方案2: 遗传算法

遗传算法的关键在于输出方案的编码。根据式 (6), 共有 m + w m + w m+w 个参数,假设它们的取值范围境外为 [ − b , + b ] [-b, +b] [b,+b], 例如 b = 10 b = 10 b=10. 我们直接将方案编码成长度为 m + w m + w m+w 的向量. 根据每个方案, 可以根据式 (6) 计算其 fitness function.
至于选择、交叉、变异操作,参见一般的遗传算法.
优点: 输出方案的编码方便, fitness function 定义良好.
缺点 1: fitness function 的计算非常耗时. 但这一缺点好像无法克服.
缺点 2: 每换一个区域, 就需要用遗传算法运行一遍. 无法获得一个模型, 对不同的区域有效.
缺点 3: 收敛很慢. 需要想抓住静校正的特点,进行加速.

遗传算法加速方案

可以借鉴拼图游戏,先找到一些参数的解,并将其固定住. 然后再寻找其它参数的解. 这种方案, 越到后面越容易. 同时保证了收敛性.
常见的遗传算法, 应该没有这种技术.

5. 疑问

  1. 校正量均为整数吗?
  2. 是否可以强行用深度学习来做?
  3. 是否可以获得一个模型, 对不同区域有效? (目前认为不可行)

令人头秃 …

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值