0 前言
1 理论与方法
1.1 任务定义与测井序列表征
1.2 含油饱和度标签与物理先验约束
1.3 MWLT-So:自监督预训练与监督回归微调
2 实验与设计
2.1 数据集构成与曲线统计
表1 数据集与测井曲线汇总Table 1 Summary of dataset and well logging curves |
| 项 目 | 统 计 |
|---|---|
| 井数(总计) | 300 |
| 深度范围(TVD)/m | 1 050 ~3 200 |
| 采样间隔(Δz)/m | 原始 0.20~ 0.35;重采样 0.25 |
| 曲线类型 | DEN / CNL / AC / Rt (log10) / GR / TVD |
| 样本点数(总计) | 395 462 |
| 缺失率/% | DEN 1.3;CNL 1.7;AC 2.1;Rt 3.8;GR 1.1;总体 2.0 |
| 异常值比例/% | DEN 0.4;CNL 0.6;AC 0.8;Rt 1.2;GR 0.5;总体 0.7 |
| 训练井数/口 | 210 |
| 验证井数/口 | 60 |
| 测试井数/口 | 30 |
| 标签类型 | So真值 |
| 标签范围(So) | 最小值为 0.03;最大值为 0.98; 均值为 0.54;标准差值为 0.21 |
2.2 数据预处理与样本构建
2.3 按井划分策略与防泄漏设计
2.4 模型与训练超参数设置
表2 模型与训练超参数设置Table 2 Model and training hyperparameter settings |
| 类 别 | 超 参 数 | 取 值 |
|---|---|---|
| 输入设置 | 窗口长度 L | 128 |
| stride(滑窗步长) | 32 | |
| patch 大小 p | 8 | |
| 特征维度 F | 5(DEN/CNL/AC/Rt(log10)/GR) | |
| 模型结构 | d_model | 128 |
| Transformer 层数(layers) | 6 | |
| 注意力头数(heads) | 8 | |
| dropout | 0.1 | |
| 自监督预训练 | mask 比例(mask ratio) | 0.30 |
| batch size(pretrain) | 128 | |
| epochs(pretrain) | 100 | |
| 学习率(pretrain) | 1×10-4 | |
| 预训练损失函数 | masked MSE | |
| 监督微调(So回归) | batch size(finetune) | 64 |
| epochs(finetune) | 80 | |
| 学习率(finetune) | 3×10-4 | |
| 优化器 | AdamW | |
| 权重衰减 | 1×10-5 | |
| 学习率策略 | Cosine + Warmup(10%) | |
| 损失函数 | Huber(δ=0.5) | |
| 训练控制 | AMP 混合精度 | 开 |
| 梯度裁剪(grad clip) | 1.0 | |
| 早停策略 | 监控 val loss;patience=10;min_delta=1×10-4 | |
| 数据划分 | 划分方式 | 按井划分(train/val/test) |
2.5 对比方法设置与评价指标体系
表3 不同方法特点与对比Table 3 Features and comparison of different methods |
| 方法 | 输入特征 | 是否用序列 | 是否自监督 | 训练成本 | 可解释性 |
|---|---|---|---|---|---|
| Archie | ϕ,Rt | 否 | 否 | 低 | 高 |
| LR | DEN/CNL/AC/Rt(log10)/GR | 否 | 否 | 低 | 中 |
| RF | DEN/CNL/AC/Rt(log10)/GR | 否 | 否 | 中 | 中 |
| GBDT/XGBoost | DEN/CNL/AC/Rt(log10)/GR | 否 | 否 | 中—高 | 中 |
| LSTM/GRU | 窗口序列 L×F | 是 | 否 | 高 | 中—低 |
| MWLT-So | 窗口序列 L×F→ patch token | 是 | 是(MWLT掩码) | 高(泛化强) | 中 |
3 结果与讨论
3.1 回归主结果
表4 各方法预测性能总对比Table 4 Overall comparison of prediction performance of different methods |
| 方法 | MAE (按井平均) | RMSE (按井平均) | R² (按井平均) | MAE (总体) | RMSE (总体) | R²(总体) | 相对提升/%(RMSE,总体) | 置信区间 (95%) |
|---|---|---|---|---|---|---|---|---|
| Archie | 0.083 | 0.127 | 0.78 | 0.086 | 0.132 | 0.760 | 基线 | ±0.018 |
| LR | 0.071 | 0.112 | 0.82 | 0.074 | 0.115 | 0.810 | 12.9 | ±0.016 |
| RF | 0.063 | 0.102 | 0.85 | 0.065 | 0.104 | 0.840 | 21.2 | ±0.015 |
| GBDT / XGBoost | 0.061 | 0.099 | 0.86 | 0.062 | 0.101 | 0.850 | 23.5 | ±0.014 |
| LSTM / GRU | 0.058 | 0.093 | 0.88 | 0.059 | 0.094 | 0.870 | 28.8 | ±0.013 |
| MWLT-So | 0.046 | 0.078 | 0.92 | 0.048 | 0.079 | 0.910 | 40.2 | ±0.011 |
3.2 训练过程与收敛特性
3.3 全井预测对比
3.4 Pred-True散点揭示误差结构
3.5 表征空间对比
3.6 单井局部剖面与误差稳定性
3.7 阈值分层油层识别
表5 不同阈值下的油层识别性能(t =0.40~0.60)Table 5 Oil-layer identification performance under different thresholds (t =0.40~0.60) |
| 阈值 t | 准确率/% | 预测率/% | 召回率/% | F1值 |
|---|---|---|---|---|
| 0.40 | 85.8 | 92.0 | 95.5 | 0.937 |
| 0.45 | 86.6 | 93.5 | 94.3 | 0.939 |
| 0.50 | 87.1 | 94.8 | 93.2 | 0.940 |
| 0.55 | 86.7 | 95.8 | 91.5 | 0.936 |
| 0.60 | 86.2 | 97.0 | 89.0 | 0.928 |
表6 不同方法的油层识别结果比较(So=0.5)Table 6 Oil-layer identification results of different methods (So=0.5) |
| 方法 | 真阳性(TP) /% | 假阳性(FP)/% | 真阴性(TN)/% | 假阴性(FN)/% | 准确率/% | 预测率/% | 召回率/% | F1值 |
|---|---|---|---|---|---|---|---|---|
| Archie | 67.8 | 12.5 | 68.3 | 21.7 | 68.0 | 84.4 | 75.8 | 0.798 |
| LR | 73.9 | 9.6 | 72.4 | 18.1 | 73.1 | 88.5 | 80.3 | 0.840 |
| RF | 77.5 | 8.2 | 76.8 | 15.0 | 77.2 | 90.4 | 83.8 | 0.868 |
| GBDT/XGBoost | 79.1 | 7.6 | 78.3 | 13.3 | 78.8 | 91.2 | 85.6 | 0.882 |
| LSTM/GRU | 82.3 | 6.5 | 80.4 | 10.8 | 81.5 | 92.7 | 88.4 | 0.903 |
| MWLT-So | 88.6 | 4.9 | 85.7 | 6.5 | 87.1 | 94.8 | 93.2 | 0.940 |
