【Paper&Hacks vol.95】地震波を読むAI:熊本地震で試すRPNetとTransformer

-- Views

August 18, 26

スライド概要

profile-image

東京大学松尾・研究室が運営する「松尾研LLMコミュニティ」でのイベント資料などを公開します。 ◾️ 松尾研LLMコミュニティとは 松尾研LLMコミュニティは、「大規模言語モデルについて知って学べるオンライン空間」として、東京大学松尾・岩澤研究室が運営するコミュニティです。 現在、学生を中心とした10,000名以上が、原則無償で参加しています。 また、本コミュニティでは様々なイベント等を定期的に開催しております。 是非下記のリンクより参加申し込みをお待ちしております。 ◾️ 松尾研LLMコミュニティの各種リンク ・今後のイベント開催情報/参加申込;https://tr.ee/7d_W4DsImD ・松尾研LLMコミュニティ参加フォーム;https://tr.ee/RyDfuRzS55 ・過去イベントアーカイブ;https://tr.ee/wqdbFJJZ25

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

ダウンロード

関連スライド

各ページのテキスト
2.

【Paper&Hacks #95】 地震波を読む AI︓熊本地震で試す RPNet と Transformer [Key Papers] * RPNet:Robust P-wave first-motion polarity determination using deep learning: Han et al. (2025) * FocoNet:Transformer-Based Focal-Mechanism Determination Song et al. (2026) 柴田たけお 0

3.

X Zenn 柴田たけお 東北大学理学部、カリフォルニア大学バークレー大学院で地球物理専攻 [東北大学] 査読付国際誌共著論文: https://doi.org/10.1029/95GL02338 [UC Berkley] 実験作業貢献: https://doi.org/10.1029/1999JB900374 その後IT業界で30年近くSYSTEM ENGINNERとしてシステム開発にかかわる。 現在はAIとGISやリモートセンシングを組み合わせたソリューションに興味あり 最近開発活動(POCも含む) ●衛星.GIS関連: 衛星画像LANDSATと統計データを利用した新潟県の収穫量予測, 物流の最適運搬システム ●一般AI関連: 開発実績: 音声特徴量での健康診断, 顔認証, 画像生成, 自動コード生成, END2ENDでのAI医療応用提案 ●自動運転関連: 倉庫での運搬車の数理最適化 ●ニッチAI関連: 味と栄養をAIを使って解析する ●その他: SNSのコメントと写真情報からの災害対応システム 2026年11月北米FOSS4G 2026 GIS,衛星画像解析の米の収穫予測、水源をトピックで登壇予定(多分その中にAI解析はからめる) 5min LT ×2 / 25min Full Talk ×1 https://talks.osgeo.org/foss4g-na-2026/speaker/WHJK8M/ 2

4.

目次 ■ 地震の発震機構を知るまでの大まかな流れ ■ 従来の発震機構解析からAIへ ■ RPNetでの学習 ■ 2016年熊本地震への適用手法 ■ 2016年熊本地震の事例:気象庁分析との比較 ■ 2026年7月28日16:27の熊本地震への適用 ■ 2026年7月28日16:27の熊本地震の事例:気象庁分析との比較 ■ 処理の流れを追う:波形から震源球(Beach Ball)まで ■ STEP-1 STEP-2: RPNetへの入力:P波周辺4秒波形の実例(2016年熊本地震) ■ STEP-3: RPNetはP波波形からU/Dをどう推定するか ■ STEP 4: RPNet出力を観測点ごとの極性情報に整理 ■ SKHASHおよびFocoNetの入力データ ■ あらためて、FocoNetとは? ■ STEP 5B,6B,7B:FocoNet_Oへから震源球へ ■ STEP 5A,6A,7A:SKHASHから震源球へ ■ まとめ ■ 参考文献 ■ APPENDICES

5.

地震の発震機構を知るまでの大まかな流れ 発震機構を知るまでの3工程 ① 各観測点で「P波の最初の動き」を読む 押引判定(U/D:Up/Down)を各観測点で実施する ② 複数の観測点をまとめてどの向きに断層が動いたかを解く 空間的なU/Dの分布をとらえる P波初動極性:U / D , 観測点位置:緯度·経度·標高, 震源位置:緯度·経度·深さ そこから計算する震央距離 / 方位角 Azimuth 速度構造モデルから求める Takeoff angle(P波の出射角) 地震が起こると、震源から地震波が広がる。 P波(Primary wave) • 最初に到着する速い波 • 岩石を押す·引く方向に振動する縦波 • 地震計では最初に現れる ③ 発震機構(Focal Mechanism)を得る Strike = 走向:断層面が地表でどちら向きに伸びているか Dip = 傾斜:断層面がどれくらい傾いているか Rake = すべり角:断層がどういう向きにずれたか (横ずれ ,正断層 ,逆断層 ,その中間) S波(Secondary wave) • P波の後に到着する遅い波 • 岩石を横方向にずらす横波 • 一般にP波より大きな揺れになる 本発表での解析工程での主役になるのはP波 ②観測点およびUp/Downを集計 ③ 発震機構をビーチボールで表現

6.

従来の発震機構解析からAIへ(P波を正確に読む) P波初動判定:人の目からRPNetへ たかだかUPかDOWNかの2値分類するだけ?、なぜ難し い? 信号対雑音比(SNR)が低い 地震のP波が周囲のノイズに埋もれて、最初の動きが見えにくい ※SNR = Signal-to-Noise Ratio(信号と雑音の強さの比) 節面付近ではP波が弱い 震源からP波がほとんど放射されない方向があり、初動そのものが小さい 地域·観測点ごとに波形が異なる 地質、震源距離、観測機器などによって波形の形が変わる P波の到着時刻に誤差がある 「ここからP波」という位置が少しずれるだけで、U/D判定が難しくなる わずか ±0.05 s のP波位置ずれでも、従来DLモデルのRecallが80%未満へ低下 RPNetのモデル構造 • 入力:P波周辺の4秒波形(400×1) • 特徴抽出:Convolution + Inception modules • P波に注目:LSTM + Self-Attention • 分類:Fully Connected + Softmaxで Up / Down • 不確実性評価:MC Dropoutで100回推論 し、平均と標準偏差を計算 • 標準偏差 > 0.2の場合は Unknownとして扱う ☆波形特徴を抽出 → P波初動にAttention → U/D分類 → MC Dropoutで不確実性も評価 出典: Han et al. (2025) , RPNet: Robust P-wave first-motion polarity determination using deep learning,” Seismological Research Letters, Fig. 1.

7.

従来の発震機構解析からAIへ(発震機構を得る) 発震機構推定:物理探索からTransformerへ Figure 1. FocoNetのモデル構造と発震機構推定の流れ FocoNetは、各観測点の情報を1つのトークンベクトルとして受け取る。各トークンには、P波初動極性 (U/D)や、震源と観測点の相対的な位置関係など、発震機構の推定に必要な情報が含まれる。初動極性は、 既知の地震波到着時刻をもとに既存の極性判定モデルによって求める。入力された各観測点の情報は、まず MLPでTransformerが扱いやすい形式に変換され、その後Transformer EncoderのSelf-Attentionによって観測 点どうしの関係を学習する。最後にMLPで情報をまとめ、発震機構を表す出力へ変換する。 図中の R* はReLU、L* はLayerNormを表す 出典:Song et al. (2026), “FocoNet: Transformer-Based Focal-Mechanism Determination” Journal of Geophysical Research: Machine Learning and Computation Fig. 1

8.

RPNetでの学習 元データには U(Up)/ D(Down)/ K(Unknown) の 3種類のラベルが付与されている。 RPNetでは Kを学習対象から除外し、 U/Dの2クラス分類として学習する。 P波初動のUp / Down判定に焦点を当て、U/Dを明確に判定 できないKラベルは教師データから除外した。 出典: Han et al. (2025) , RPNet: Robust P-wave first-motion polarity determination using deep learning,” Seismological Research Letters, Fig. 1.

9.

2016年熊本地震への推論適用手法 • 対象:2016年熊本地震系列 • M≥3 • 本震から 30 km以内 • 2016/4/1から1年間 • 入力データ:6,547個のP波波形(260観測点) • 気象庁で U/Dラベルあり:3,927 • 未判定:2,620 • P波到着時刻は、気象庁のP波到着時刻を使わず TauP + IASP91 により理論走時を計算 **RPNetは学習時にP波位置を ±0.5秒ランダムシフトさせて、 P波到着時刻が多少ずれてい てもU/Dを判定できるように訓練。実際の熊本地震での推論も気象庁が人手等で精密に決 めた P波到着時刻を与えなくても、本当に使えるのか?を試すために入力は計算時刻を利 用。 • 各波形に対して RPNetでU/Dを推定 • 予測の不確実性が高いものは後処理でK(Unknown) とする • 得られた極性情報を SKHASH およびFOCONETに入力 • SKHASH/ FOCONET :複数観測点の初動極性から発震 機構(beach ball) を推定する手法 気象庁観測解析で未判定だった波形も含めてRPNetを適用し,推定された極性から発震機構を SKHASHおよびFOCONETで自動計算し気象庁の解析結果と比較した。

10.

2016年熊本地震の2事例:気象庁観測分析との比較 Kagan angleの解釈 小さいほど発震機構が近い。 *0–10°程度:かなり近い *10–20°程度:比較的近い *20–40°程度:ある程度の差がある *40°以上:差がかなり大きい 2016年結果のまとめ • 2事例とも 気象庁の発震機構解と 概ね同じ機構を再現 • RPNet + SKHASH は気象庁との差が 9.43° / 6.00° と、いずれも 10°未満 • RPNet + FocoNet は16.68° / 9.94° • 今回の2事例では、SKHASHの方が 気象庁の発震機構解に近い結果 RPNetで推定したP波初動極性から 気象庁に近い発震機構を再構成 2016/4/15 07:46:52 M4.4 2016/4/20 16:01:30 M4.0 気象庁 RPNet+SKHASH RPNet+FOCONET 出典: 気象庁(JMA), 初動発震機構解:2016/4/15 07:46:52 M4.4 https://www.data.jma.go.jp/eqev/data/mech/ini/fig/mc20160415074652.html 気象庁(JMA), 初動発震機構解:2016/4/20 16:01:30 M4.0 https://www.data.jma.go.jp/eqev/data/mech/ini/fig/mc20160420160130.html

11.

2026年7月28日16:27の熊本地震への適用 対象:2026年7月28日熊本地震 2026/7/28 16:27 JST、M7.1 震央:32.625°N, 130.678°E 2016年論文の検証データではない新しい地震への適用 入力データ:防災科学技術研究所高感度地震観測網 Hi-net観測波形 HinetPyを用いて自動取得 震央から半径1.5°以内の観測点を取得 16:26 JSTから5分間の連続波形 候補観測点:64局 FocoNetでは 32局を使用 最大方位ギャップ:35.31° 2016年熊本地震と同じ推論フローを適用 TauP + IASP91 で理論P波到着時刻を計算 RPNetでP波初動極性 U/Dを推定 高不確実性は K(Unknown) 推定極性から SKHASH / FocoNet で発震機構を推定 評価 気象庁が公開した初動発震機構解を比較基準として使用 気象庁:Strike 203° / Dip 55° / Rake −178° 推定結果との違いを Kagan angle で評価

12.

2026年7月28日16:27の熊本地震の事例:気象庁分析との比較 Kagan angleの解釈 小さいほど発震機構が近い。 *0–10°程度:かなり近い *10–20°程度:比較的近い *20–40°程度:ある程度の差がある *40°以上:差がかなり大きい 2026年結果のまとめ • RPNet + FocoNet:気象庁との差 20.76° • RPNet + SKHASH:気象庁との差 36.10° • 2016年の2事例とは逆に、 2026年 M7.1ではFocoNetの方が気象庁発 震機構解に近い • FocoNetは Strike 204.23° と気象庁 の 203° がほぼ一致 • すべり角も +178.89° ≒ −178° で、 RPNet+SKHASH RPNet+FOCONET 気象庁 ±180°の境界をまたいでいるだけ 2026年の新しい地震への適用でも発震機構を再現できたが、• 主な違いは 傾斜: 今回はFocoNetの方がJMAに近い結果となった。 75.42° vs 気象庁 55° 出典: 気象庁(JMA), 初動発震機構解:2026/7/28 16:27 M7.1 https://www.data.jma.go.jp/eew/data/mech/fig/mc2026072816270000N323600E13042000100071.html

13.

処理の流れを追う:波形から震源球(Beach Ball)まで この後のポイント -RPNet:1観測点ごとのP波波形から U / D(初動極性)を推定 - SKHASH / FocoNet:複数観測点の極性·位置情報を統合し て走向·傾斜·すべり角を推定 -最終的に発震機構を震源球として表現 ここからは「各段階で何を入力し、何を出力しているのか」を実データで追う。

14.

STEP-1 STEP-2: RPNetへの入力:P波周辺4秒波形の実例(2016年熊本地震) MSEED/D20160415000600/KU.KMP.mseed station : KU.KM sampling rate: 100.0 npts : 501 duration sec : 5.0 first 10 data: [-7.85541012e-05 -8.08470814e-05 6.17818969e-05 1.87833884e-05 3.92432379e-05 8.10390891e-05 8.71584029e-05 9.67679151e-05 1.33373823e-04 9.55756673e-05] MSEED/D20160415000600/N.ASVH.mseed station : N.ASV sampling rate: 100.0 npts : 501 duration sec : 5.0 first 10 data: [0.00058302 0.00066544 0.00063805 0.00050936 0.0005689 0.00073986 0.00085022 0.00074461 0.00054582 0.00044457] MSEED/D20160415000600/NOMOZA.mseed station : NOMOZ sampling rate: 100.0 npts : 501 duration sec : 5.0 first 10 data: [ 1.98800186e-03 2.87134724e-03 1.96717773e-03 -1.13678184e-05 -1.34857419e-03 -1.40340729e-03 -4.84137774e-04 2.98584982e-04 1.93661333e-03 3.73105629e-03] MSEED/D20160415000600/N.YABH.mseed station : N.YAB sampling rate: 100.0 npts : 501 duration sec : 5.0 first 10 data: [-1.01602929e-04 1.55078906e-04 1.68534769e-04 -1.23051883e-05 1.93584160e-06 7.97936287e-05 1.24314255e-04 5.43319415e-05 -1.95006564e-04 1.02369581e-04] 実際の入力データ

15.

STEP-3: RPNetはP波波形から U/Dをどう推定するか RPNet内部の役割 • Conv1D / Inception:波形の局所 的な特徴を抽出 • LSTM: P波周辺の時間的な変化 を捉える • Self-Attention:判定に重要な時 間部分に注目 • Softmax:最終的に U / D の確率 を出力 4秒·400点の波形 → 特徴抽出 → P波に注目 → U/D分類 出典: Han et al., “RPNet: Robust P-wave first-motion polarity determination using deep learning,” Seismological Research Letters, Fig. 1.

16.

STEP 4: RPNet出力を観測点ごとの極性情報に整理 抽出サンプル:注目する項目例 • RPNetは各観測点のP波波形から U / D を予測 • さらに予測確率 (prob)と不確実性 (std)を出力 • 不確実性が高いものは後処理で K (Unknown)とする • この観測点ごとの極性情報を SKHASH / FocoNet に入力する RPNetの出力は「震源球」ではなく, 観測点ごとの極性情報」 「

17.

SKHASHおよびFocoNetの入力データ 共通部分 • RPNetで得た観測点ごとの極性 • 観測点位置 • 震源位置 違う部分 ***SKHASH • 極性観測の一覧を使う • station情報·phase情報を使う • 幾何学(azimuth, takeoff angle な ど) • を使って 発震機構を探索 ***FocoNet • 同じ極性情報を使うが、 • 決まった形式の観測点セット • 各観測点の相対位置情報 • 極性をモデル入力テンソル化それ をニューラルネットに入力

18.

あらためて、FocoNetとは? ― 複数観測点を統合して発震機構を推定するTransformer ― ① 何をするモデル? • 従来の Grid Search型の発震機構推定を、 Transformerベ ースのAIで置き換えることを狙ったモデル • 1観測点だけを見るのではなく、複数観測点を同時に扱う • Self-Attentionで観測点どうしの関係や、 どの観測情報を重視すべきかを学習 • 最終的に **発震機構(走向·傾斜·すべり角)**を推定する 論文のフルでは、観測点 です。には、 ② 論文のFocoNetには何 を入力?FocoNet1= 1 token token • P波初動極性 • 複数成分の S/P振幅比 • SNR • 震源に対する観測点の相対位置 xyz などを入力、論文では1観測点あたり 14×1のベクトル。 波形そのものをTransformerに入れるのではなく、 各観測点から抽出した地震学的特徴量をtoken化して入力 ③ 何で学習した? 論文では実観測だけで学習するのではなく、250,000個の合成Double-Couple発震機構を生成し、 1イベントにつきランダムな 8~32観測点、震源から150 km以内という条件で学習データを合成。 実データだけでは発震機構の種類·深さなどに偏りがあり、また「正解」が極性だけから作られている場合、 S/P比など追加情報を学習する意味が弱くなるため、真の発震機構が分かる合成データで教師データを構築。 ④ 何が良かった? 従来Grid Search手法と比べ、Ground Truthに対する平均Kagan angleを約7~14°改善 さらに特徴的なのは、観測点数が少ない/方位カバーが悪い条件ほどFocoNetの優位性が大きかった この論文はsyntheticとreal-dataの両方で評価しており、特に疎な観測網で精度·安定性が改善したと報告されている。 出典:Song et al. (2026), “FocoNet: Transformer-Based Focal-Mechanism Determination” ※ 本発表の熊本適用では FocoNet_O を使用。上記の入力データをFocoNet_O用に整形して使用。 Journal of Geophysical Research: Machine Learning and Computation Fig.1

19.
[beta]
STEP 5B,6B,7B:FocoNet_Oから震源球へ

# cat foconet_2026_metadata.json
{
"polarity_mapping": {
"U": 1, "D": -1 },
"station_coordinate_order": [

Metadataに
基づいて推
論

"east_km",
"north_km",
"source_depth_km"
], "normalization":
{
"east": 50.0,
"north": 50.0,
"depth": 20.0
},
"maximum_stations": 32,
"maximum_rpnet_std": 0.2,
"maximum_distance_km": 120.0,
"checkpoint": "/opt/Kumamoto/FocoNet-src/FocoNet_O/model/FocoNet_O.pth",
"polarity_csv": "/opt/python3.9.25/RPNet-src/example_2026/output01/hash2/uniq_pol.csv",
"catalog_csv":
-src/example_2026/Kumamoto_catalog.csv"
} "/opt/python3.9.25/RPNet

使用モデル:FocoNet_O
Framework:PyTorch
Checkpoint:FocoNet_O.pth

20.

STEP 5A,6A,7A:SKHASHから震源球へ SKHASHとは? *米国地質調査所(USGS:U.S. Geological Survey/米国地質調査所)が公開する、 地震の発震機構を求めるPythonパッケージ *地震学で長く使われてきたHASHアルゴリズムをベースにした現代的なPython実装 HASHは20年以上前にFortranで開発され、初動極性を使った発震機構 *元の 解析で広く使われてきた代表的な手法の一つ *主に複数観測点のP波初動極性と観測幾何から、観測結果に整合する発震機構を探索する *極性やTakeoff angleの誤差を考慮した複数の候補解から、不確実性も含めて解を評価できる 古典的だが実績のあるHASHを、 現在の自動解析·ML極性にも 使いやすくしたPython実装 今回の処理 RPNetで各観測点のU/Dを推定 観測点·震源の幾何情報と合わせてSKHASHへ入力 Grid Searchで整合する発震機構を探索 今回はFocoNet_Oとの比較のため、 同じRPNet推論結果(U/D極性)を 両手法の共通入力として使用。 ※ RPNetの極性推定結果は共通だが、その後の入力形式·処理方法は SKHASHとFocoNet_Oで異なる。 出典:USGS, Skoumal et al. (2024), “SKHASH: A Python Package for Computing Earthquake Focal Mechanisms” https://www.usgs.gov/publications/skhash-a-python-package-computing-earthquake-focal-mechanisms USGS SKHASH Code: https://code.usgs.gov/esc/SKHASH

21.

まとめ ① Key Papers の主張 RPNet P波到着時刻のずれやノイズに対して頑健に、P波初動極性 U/D を自動判定する。 FocoNet 複数観測点をTransformerで統合し、従来のGrid Search型手法より発震機構推定を高精度化する。 ② 今回の熊本地震への適用 • 2016年2事例と2026年M7.1に適用し、RPNetの極性推定からJMAに近い発震機構を再構成できた。 • SKHASHとFocoNet_Oのどちらが常に優れるとは言えず、地震ごとに結果が異なった。 • 次の検証では、簡略版FocoNet_OからFull FocoNetへ拡張し、極性だけでなく S/P振幅比·SNR· 観測点の相対位置など、より詳細な観測情報を入力して精度を検証する。 ③ 今回の所感·今後の展望 • 目的は特定のAIモデルを使うことではなく、地震直後に発震機構を迅速に把握すること • 気象庁·防災科研などの信頼できる解析情報を第一に活用し、まだ得られ ていないP波到着時刻·初動極性などを RPNet等で補完 を模索 •発震機構推定も SKHASH / FocoNetだけに限定せず、目的やデータ状況に応じて手法を組み合わせる • 将来的には、地震波解析に加えてSAR衛星画像など異なる観測情報を迅速に統合し、地震の全体像をよ り早く把握し、事後の緊急対策に生かせるものを模索する。 今後、気象庁の観測点ごとのP/S到着時刻·初動極性などの公開データが利用できる事例では、N 防災研 Hi-netの3成分波形と組み合わせ、Full FocoNetでも発震機構推定を検証する。

22.

参考文献 RPNet Han, J., Kim, S., & Sheen, D. H. (2025). RPNet: Robust P-wave first-motion polarity determination using deep learning. Seismological Research Letters, 96(4), 2405–2417. https://doi.org/10.1785/0220240384 FocoNet Song, X., Meier, M.-A., Ellsworth, W. L., & Beroza, G. C. (2026). FocoNet: Transformer-based focal-mechanism determination. Journal of Geophysical Research: Machine Learning and Computation, 3, e2025JH000879. https://doi.org/10.1029/2025JH000879 SKHASH / USGS U.S. Geological Survey. (2024, April 10). SKHASH: A Python package for computing earthquake focal mechanisms. https://www.usgs.gov/publications/skhash-a-python-package-computing-earthquake-focal-mechanisms 気象庁 • 気象庁. (2016, 4月15日). 2016年04月15日07時46分 熊本県熊本地方 M 4.4: 初動発震機構(詳細). https://www.data.jma.go.jp/eqev/data/mech/ini/fig/mc20160415074652.html • 気象庁. (2016, 4月20日). 2016年04月20日16時01分 熊本県熊本地方 M 4.0: 初動発震機構(詳細). https://www.data.jma.go.jp/eqev/data/mech/ini/fig/mc20160420160130.html • 気象庁. (2026, 7月28日). 2026年07月28日16時27分頃 熊本県熊本地方 M 7.1: 初動発震機構解(詳細). https://www.data.jma.go.jp/eew/data/mech/fig/mc2026072816270000N323600E13042000100071.html 国立研究開発法人 防災科学技術研究所(NIED) 「高感度地震観測網 Hi-net:登録ユーザー向けデータ提供サービス」 https://hinetwww11.bosai.go.jp/auth/

23.

Appendix-1: Beachball(震源球)とStrike/Dip/Rake

24.

Appendix-2: 震源球(Beachball)の生成過程と読み方

25.

Appendix-3: FocoNet_O モデル詳細 図

26.

Appendix-4: FOCONET_FULLの熊本地震2016年4月15日への適用 論文記載に基づき気象庁および防災研のHi-netからデータのフル入力を構成し、公式checkpointで追加検証した この1事例では、RPNetを介さずJMA+Hi-netの観測情報を Full入力として用いることで、FocoNet_OよりJMA解に近い 結果を得た(Kagan 16.68° → 11.39°)。

27.

Appendix-5: FOCONET_OとFOCONET_FULLのモデル構造比較 FOCONET_FULLの構造 FOCONET_OとFOCONET_FULLの違いハイライト