文章 · 地震 AI
AI 怎麼學會挑地震波的?
AI 是怎麼一步步接手「挑地震波」這件工作的?短短幾年,這個領域從各實驗室各寫各的程式, 變成一行指令就能叫出別人訓練好的模型。這篇就講這條線怎麼鋪起來,主角有三個: PhaseNet、EQTransformer,以及把它們串起來的 SeisBench。
2019
PhaseNet
把挑波重新定義成圖像分割題(U-Net 的本行),並用高斯曲線當目標、好訓練又準,成為整個領域的標竿。
2020
EQTransformer
引進注意力機制,把偵測、P 波、S 波拆成三個獨立分支,各司其職、互不干擾。
2022
SeisBench
把眾多模型與資料集包進同一套介面,讓結果能被公平比較、被重現。
PhaseNet:把挑波變成一道「圖像分割」題
2019 年,史丹佛的 Weiqiang Zhu 和 Greg Beroza 提出了 PhaseNet。它最關鍵的一步, 是把「挑波」這個問題重新定義了。原本大家把挑波當成「在一長串訊號裡,精準找出某一個到達時間點」; PhaseNet 改成把它當成一道圖像分割題:逐點判斷「這裡屬於 P 波、屬於 S 波,還是什麼都沒有」。 這正好是 U-Net 這個網路結構的本行;U-Net 原本就是用來切割醫學影像,在 X 光和 MRI 裡圈出器官邊界。 挑地震波和圈器官邊界,本質上是同一種題目。
第二個改動沒那麼顯眼,但一樣關鍵。地震波到達的「正確時間」本來是一個單一時間點, 要模型精準命中這個點很難訓練:目標又尖又稀疏,差一點就幾乎全錯。 PhaseNet 把這個尖銳的時間點攤成一條高斯曲線: 以人工標記的位置為中心、兩側帶一點寬度,等於把「人工標記本來就會有的誤差」直接寫進訓練目標裡。 目標變寬,模型就有了容錯空間,也好訓練得多。
把三軸波形丟進 U-Net,輸出 P、S、雜訊三條機率曲線,哪裡的曲線衝高,就是那種波到了。 它用美國北加州幾十年累積的人工標記資料訓練,結果又快又準,準到後來幾乎成了整個領域的標竿: 新方法一出來,第一件事就是拿它跟 PhaseNet 比。
圖/SeisBlue
EQTransformer:把三件事拆開來做
2020 年,同一個圈子的 Mousavi 等人提出 EQTransformer,登上《Nature Communications》。
如果說 PhaseNet 證明了「深度學習挑波可行」,EQTransformer 想的是「能不能做得更聰明」。 它引進了當時席捲 AI 圈的注意力機制(attention,後來大型語言模型用的就是同一套底層想法), 讓模型在看一段波形時,能同時權衡遠處和近處的線索。
它的關鍵設計,是把三件事拆開來做:偵測「這段裡到底有沒有地震」、標 P 波、標 S 波, 各自交給獨立的輸出分支(head),彼此不干擾。原因在於 PhaseNet 原本把 P 波、S 波、雜訊當成三個並排的頻道一起預測,但「有沒有地震」這種偵測訊號涵蓋整段事件、又寬又長, 份量遠比 P、S 那兩個又窄又小的高斯尖峰重;全部混在一起學,小小的 P、S 很容易被偵測訊號蓋過去。 拆成獨立的 head,每件事才能專心做好自己的。它用一個叫 STEAD 的大型公開地震資料集訓練, 資料量比 PhaseNet 當年又大了一截。
百花齊放之後的麻煩
PhaseNet、EQTransformer 之後,各種模型冒出來,這本來是好事,但很快撞上一個現實問題: 大家根本沒辦法公平比較。
每個模型用不同格式的資料、不同的前處理、不同的評分標準。你想知道 A 模型是不是真的比 B 好, 得先花好幾週把兩邊的資料管線、環境全部重搭一次。光是「把資料讀進來」這一步,就足以勸退很多人。 研究做不出可重現的對比,領域就很難往前。
SeisBench:地震 AI 的 USB 介面
2022 年,德國的研究團隊(Woollam、Münchmeyer 等人)推出 SeisBench,解決的正是這件事。
你可以把它想成地震 AI 的 USB:任何一個訓練好的模型(PhaseNet、EQTransformer 等等)、 任何一個公開資料集,都用同一種接法接上去。想換模型?改一行字。想換資料集?再改一行。 原本要搭好幾週的東西,現在幾行程式就跑起來,而且每個人跑出來的結果可以直接對比。
SeisBench 沒有發明新的挑波模型,但它做的事一樣重要:它把這個領域從「各做各的」變成 「人人能上手、結果能重現」。今天一個剛入門的學生,一個下午就能試完過去好幾篇論文的成果; 這在五年前幾乎做不到。
那接下來呢?
這幾年下來,AI 挑波從一個新點子,長成了開放又可重現的生態系。基礎設施鋪好了,門檻也降下來了。
但工具成熟,不代表問題都解決了。模型在某些情況下還是會出錯,例如 S 波振幅被壓抑, 或是遇到訓練時沒見過的地區與儀器就水土不服。基礎打穩之後,大家的注意力自然會從「能不能做」, 轉到這些更具體的毛病上。
想看 AI 挑波其中一個具體難題怎麼被拆解,可以接著讀:AI 為什麼老是漏看 S 波? →
參考文獻
Zhu, W., & Beroza, G. C. (2019). PhaseNet: A Deep-Neural-Network-Based Seismic Arrival-Time Picking Method. Geophysical Journal International, 216(1), 261–273. doi.org/10.1093/gji/ggy423
Mousavi, S. M., Ellsworth, W. L., Zhu, W., Chuang, L. Y., & Beroza, G. C. (2020). Earthquake Transformer—An Attentive Deep-Learning Model for Simultaneous Earthquake Detection and Phase Picking. Nature Communications, 11, 3952. doi.org/10.1038/s41467-020-17591-w
Woollam, J., Münchmeyer, J., Tilmann, F., Rietbrock, A., Lange, D., Bornstein, T., et al. (2022). SeisBench—A Toolbox for Machine Learning in Seismology. Seismological Research Letters, 93(3), 1695–1709. doi.org/10.1785/0220210324