将奥卡达模型转为可微框架,加速断层参数反演
OkadaTorch: A Differentiable Programming of Okada Model to Calculate Displacements and Strains from Fault Parameters
- 基于PyTorch实现全可微的奥卡达模型
- 支持对断层参数和观测点坐标的梯度与海森矩阵计算
- 适用于梯度优化、贝叶斯推断与科学机器学习
奥卡达模型是三维弹性半空间中点源或矩形断层源引起的位移与应变的经典解析解。本文提出OkadaTorch,一个基于PyTorch的奥卡达模型可微实现,整个代码完全支持自动微分(AD),可便捷计算输入变量的梯度。工作包含两部分:一是原奥卡达模型向PyTorch的直接移植,二是提供便捷的封装接口,用于高效计算观测站坐标或断层参数的梯度与海森矩阵。该可微框架适用于断层参数反演,包括梯度优化、贝叶斯推断及与科学机器学习(SciML)模型集成。代码已开源:https://github.com/msomeya1/OkadaTorch。
原文摘要 · Abstract (English)
The Okada model is a widely used analytical solution for displacements and strains caused by a point or rectangular dislocation source in a 3D elastic half-space. We present OkadaTorch, a PyTorch implementation of the Okada model, where the entire code is differentiable; gradients with respect to input can be easily computed using automatic differentiation (AD). Our work consists of two components: a direct translation of the original Okada model into PyTorch, and a convenient wrapper interface for efficiently computing gradients and Hessians with respect to either observation station coordinates or fault parameters. This differentiable framework is well suited for fault parameter inversion, including gradient-based optimization, Bayesian inference, and integration with scientific machine learning (SciML) models. Our code is available here: https://github.com/msomeya1/OkadaTorch
Thank you to arXiv for use of its open access interoperability. PaperDance 不是 arXiv 官方产品;中文卡片由大模型生成,请以原文为准。