當高能粒子撞上機器學習
- 物理專文
- 撰文者:陳凱風(國立臺灣大學物理學系)
- 發文日期:2022-04-01
- 點閱次數:2592
對高能物理來說,機器學習其實是個很古早的點子。自1980年代開始,從事高能物理研究,尤其是進行粒子物理實驗的科學家而言,在研究工作裡使用機器學習的演算法是再自然不過的事。只是以前這樣的演算法多半被稱作「多變數分析」(multivariant analysis, MVA)。最受歡迎的演算法包括「促進式決策樹」(Boosted Decision Tree, BDT),或是「類神經網路」(Artificial Neural Network, ANN)等等。
過去受限於電腦的計算能力,以及物理學家的「矜持」、也就是希望所有的資料分析步驟的都是透明的、可以被詮釋,不希望有所謂「黑盒子」的存在,傳統上相對淺、或是比較線性的模型比較受歡迎。如果是促進式決策樹,那決策樹的數量、與複雜度不能太高;對於神經網路而言,多半不會太深,頂多引入一層的隱藏層罷了。很多時候高能物理學家也可能會直接選擇線性的演算法,比如說「線性判別分析」(Linear Discriminant Analysis, LDA),尤其是希望研究的結果不要倚賴演算法、或是機器學習模型的時候會這樣做。
此外,輸入特徵還是以物理特性為基礎的變數為主,比如說粒子重建後的質量、動量、能量,粒子與粒子之間的關係,如角度分佈等等。這樣的好處就是粒子物理學家會十分清楚明白到底哪些資訊被放入機器學習的演算法中,也可以藉由演算法得知哪些物理參數是比較重要的,並獲得輸入特徵的排序,甚至是降低系統誤差:比如說可以將排序低、相對不重要的變數捨棄,降低校正的困難度等等。反過來說,站在今天機器學習演算法蓬勃發展之後,只是靠物理學家來編篡輸入特徵會受限於已存在的物理知識,並沒有完整的使用所有的資訊。直接使用更低階的資料,如偵測器直接取得的能量分佈、粒子軌跡的「深度學習」,是這幾年才逐漸被粒子物理學家所接受,而變得流行起來。
面對大數據的難題
為何高能粒子物理實驗會引入機器學習呢?主要因為粒子物理實驗本身就是個需要分析大量數據的研究工作。如果拿現在能量最高的對撞機、也就是位於瑞士日內瓦歐洲核子物理實驗室的大強子對撞機(Large Hadron Collider, LHC),底下大型研究計畫之一的CMS(Compact Muon Solenoid)實驗來當作範例,數據量就已經遠遠超過一般研究單位計算與儲存能力。這些實驗數據是這樣來的:LHC質子束對撞的頻率是四千萬赫茲,也就是每25個奈秒會有兩團質子交錯而過。考慮質子的數量與反應截面,實際上質子的對撞反應率約略每秒會有10億次反應。然而我們真想看到的物理反應,比如說著名的希格斯玻色子,大約是十萬秒才隨機出現一次。也就是說粒子物理學家得從100兆次的質子對撞反應中,挑出一個想要仔細研究的對撞數據並紀錄下來。
這些質子對撞事件都是藉由完全客製化、高精密的粒子偵測器來記錄。如CMS偵測器(圖ㄧ),基本上可以被想像成一個五層樓高的超級相機,大約有一億個「異質性」的畫素;之所以被稱作異質性的資料,主要理由是粒子偵測器紀錄粒子穿透偵測器材料留下的軌跡、能量,以及記錄時間;而軌跡的形狀、密度,與偵測器的設計結構有直接的關聯性,與一般相機簡單好理解的二維影像非常不同。以CMS偵測器、這個典型的對撞機偵測器為例,大致可以看做一個橫著放的圓筒,質子束從圓筒的兩個頂蓋注入、在圓筒著正中心對撞。內層是矽半導體的軌跡儀,可以紀錄高空間準確度的帶電粒子軌跡;矽軌跡儀外面包覆著以鉛鎢玻璃為主要材料的電磁量能器,只要是電子、或是光子打入,就可以產生閃爍光,藉此測得他們的能量。如果是強子(如K介子、中子等等),他們可以穿透電磁量能器、並在外層的強子量能器留下可測量的能量。如果是緲子,那他以一路飛過所有的裝備、以及超導磁鐵,在最外層的緲子偵測器留下軌跡。一般來說,我們會使用一些傳統的演算法把這些粒子穿過偵測器留下的紀錄,重建回粒子在對撞點附近的方向與動量大小。
圖一:位於瑞士日內瓦歐洲核子物理實驗室、大強子對撞機底下的「緊湊緲子線圈」(Compact Muon Solenoid, CMS)實驗偵測器。CMS偵測器是個長約21公尺、直徑約16公尺,設計接近於圓筒形的通用粒子偵測器,重量達12500公噸。主要的物理任務為發現與量測希格斯粒子、探索TeV級能量下的物理現象、尋找超對稱等新物理理論的證據。
一個LHC對撞事件通常包含約40個質子反應,產生數百顆粒子從對撞點穿出偵測器。圖二就是一個被偵測器所記錄下來,很可能包含希格斯玻色子衰變到雙光子反應的對撞事件。偵測器記錄著數百顆粒子的軌跡,很多的像素並沒有被打中,紀錄基本上還是相當空洞的。將一個LHC對撞事件裡數百顆粒子的資訊壓縮,容量大約是1 MB。與前面提到的質子束對撞頻率結合,可以產生每秒40 TB的線上實驗數據,沒有任何的系統可以完全吞下這樣的資料流量。因此,這些資料會在最短的時間送到距離偵測器約10-15公尺的初級觸發系統 (Level-1 Trigger),使用可程式化邏輯閘陣列 (FPGA) 以最快的速度將絕大多數沒有興趣的數據捨棄,將流量降到約十萬赫茲。接下來將數據送到地面的電腦叢集進行事件重建,根據軟體重建的結果、挑選有意思的事件之後,再次將流量降低到約一千赫茲;這個動作被稱作高級觸發系統 (High-Level Trigger)。這每秒傳出的一千個事件,才是科學家真正拿來做數據分析的資料。不過就算只有一千赫茲,也就是每秒鐘得儲存下1 GB的資料、而且得不眠不休持續運作十年以上。最後還是會讓實驗數據達到艾位元組 (EB, 等於1000,000 TB) 的等級。
圖二:由CMS偵測器所「拍下」的一個物理反應事件。圖中橘色的曲線代表所有被記錄下來的帶電荷粒子、多半為介子等強子。綠色的長條代表電磁量能器的紀錄、長度代表能量大小。電磁量能器的紀錄大多都是光子、或是電子留下的能量。藍色的長條則是強子量能器的紀錄;如果沒有對應橘色曲線就是中性強子,如中子等。這一個事件裡存在於兩個高能量的光子,組合出來的質量接近125 GeV,也就是一個希格斯玻色子的候選事件。
當機器學習成為解決方案
為了面對這樣超大量的數據,機器學習就變成重要的解決方案之一了。引入機器學習之後,期望可以增強物理量測方面的靈敏度,比如說更好的粒子能量回歸校正、粒子種類判別,以及去除背景事件等等。期望分析工具的準確度不會因為資料複雜度上升而下降,尤其是未來LHC對撞機實驗,每一個對撞事件都很可能同時捕捉到數百個質子反應。這就好像要在一個團體照片裡找出特定人物的頭像,然而照片裡的人物卻越來越多;必須利用機器學習的方法保持判別工具的靈敏度。此外,如果利用一些新誕生的機器學習方法,如異常偵測 (anomaly detection),搞不好還可以幫助科學家偵測到過去從所未見的物理反應。
為了面對超大量數據量的挑戰,除了可以用來簡化一些基於物理知識的模型,當機器學習演算法可以被大量平行處理就會具有絕大優勢。還可以將這些機器學習模型配置到傳統中央處理器CPU以外的計算資源,如繪圖處理器GPU、或是邏輯閘陣列FPGA之類的專業特化硬體,以達到最高的處理效率。
然而被使用在高能物理的機器學習演算法,與一般日常生活可見的機器學習主題(如影像辨識等等),存在一個決定性的差別:統計學上的詮釋。很多時候粒子物理學家不只是關注機器學習模型是否有效,甚至會在乎宣告的效能有多正確這件事。比如說,某個演算法可能宣稱它的準確度高達90%,粒子物理學家第一個問題很可以會問那他的誤差呢?是90%加減5%、還是1%、還是0.01%?同時也會詢問這個準確度的量測是否存在系統誤差:比如說在控制良好的環境下是準確度高達90%,那如果改到真實的實驗環境下,準確度是否會有所變化等等。也許有人會說粒子物理學家比較「囉唆」,不過這完全是為了能在統計學上有足夠的信心水準來描述實驗數據、避免犯錯。換句話說,沒有物理學家會希望利用了機器學習演算法之後,發現了從所未見的新物理現象,然而仔細檢查之後卻發現這個「新現象」只是因為對準確度的知識不足而造成的假象。
一個常見的解決方案,就是將部分資訊保留,不要將所有的材料都交給機器學習來判別。比如說,如果今天的研究是要能夠發現一個新的粒子,那粒子的質量很常是個重要的物理資訊;那在建立機器學習模型時會刻意分離質量的資訊、故意讓模型學不到粒子的質量。好讓最後一個「新粒子是否存在」這件事交由傳統的物理資訊來決定,也就是在質量的頻譜上是否有屬於新粒子的一個頂峰,而不倚賴機器學習模型給出的分數。這樣的代價常常會造成物理學家用的機器學習模型表現稍差,因為常常最重要的資訊被刻意的隱瞞了。不過這樣的做法是無法避免,理由是因為粒子物理的資料,通常離日常生活遙遠,不能倚賴人類來做最後的判斷。比如說,近年來利用生成對抗網路(Generative Adversarial Network, GAN)可以產生假造影像,如果產生失敗、不自然,人類一眼就可以挑出來;一個疑似新粒子的偵測事件是難以用同樣的方式來做最終的分類,尤其當大多數的可量測參數都已經被強大的機器學習挑過,已經沒有辦法再次使用。圖三就是一個簡單的類比:利用生成對抗網路產生出來的影像,我們一看就知道「夠不夠好」;但是實際上的粒子對撞資料卻很難直接分辨。
圖三:日常生活機器學習問題與高能資料分析的類比。左圖為利用生成對抗網路產生出來的人造頭像,隨著訓練程度、也就是從上排到下排,我們一看就知道是在逐漸進步。那最後的模型夠不夠好也是個可以直接靠人類來判斷。但是如右圖的粒子對撞資料,卻很難直接分辨;即使這六個對撞事件機器學習模型最後都給很高的分數,但實際上我們還是沒有辦法用一眼看出哪個事件是希格斯玻色子、哪一個是背景事件。必須留下其他還沒有被機器學習「學過」的資訊來做統計上的最後判斷。
運用方式與未來發展
在高能物理領域裡面,常見的機器學習運用方式包括:粒子鑑別(Particle Identification)、粒子噴流標記(Jet Tagging)、事件分類(Event Classification)、能量校正回歸(Energy Regression)、偵測器監控(Detector Monitoring)。因為機器學習的重要性越來越高,所以替次世代高能實驗研發新的演算法、或是機器學習的使用方式,也是一個非常重要的發展方向。此外,有鑒於高能領域裡的「開放數據」新方針,即使沒有加入特定研究團隊,還是可以利用開放數據來進行各式各樣的演算法開發;不僅是可以使用電腦模擬的數據、也可以使用真實的對撞數據進行機器學習。以下就幾個常見的機器學習運用簡介。
粒子鑑別
粒子鑑別可以說是高能物理領域裡最經典的任務了。根據偵測器量測到的資訊,好以辨別從對撞點誕生的粒子種類。如前面描述,對撞機實驗偵測器能直接量測到粒子與子偵測器的反應結果,可以是粒子飛行的軌跡、也可以是殘留在偵測器材料裡的能量訊號。物理學家根據粒子的物理特性來分辨此軌跡與能量訊號是來自特定種類的單一粒子,比如說光子沒有帶電荷、不會在磁場中轉彎,只會在電磁量能器上留下能量、不在軌跡儀上留有軌跡;然而有其他種類的粒子可以產生類似的訊號、比如說不帶電荷的強子,此時就可以用機器學習將好幾個不同偵測器的量測整合,盡量壓低誤判的機率。類似的操作也可以安排在其他粒子,如電子、緲子等等。目前在CMS實驗上,對於單一粒子的鑑別通常使用促進式決策樹為大宗,理由是輸入的資料通常為直接來自數個偵測器特化的量測值,希望鑑別的演算法不要太非線性,方便物理學家可以反查演算法對某筆子偵測器資料的依賴性;即使單一偵測器元件出問題時,粒子鑑別的結果不會有太帶的落差。
粒子噴流標記
當然更複雜的物理部件,如濤輕子(Tau Lepton)、或是粒子噴流標記,演算法的複雜度就會大增。目前主流的模型幾乎都是使用深度學習的神經網路。粒子噴流的來源通常是一個高能量的夸克、或是膠子從對撞點誕生,在空間中分裂出大量的強子,是個標準的量子色動力學反應。大量強子帶有初始夸克或膠子的部分動量飛出,形成一個錐狀的分佈、也就是所謂的粒子噴流了。濤輕子則是因為它會衰變成數個強子,某種程度看起來也是個粒子噴流。
在資料分析上,如何標記粒子噴流的源頭夸克種類是個非常不容易的問題,也是一個非常適合利用機器學習的地方。主要的困難包括如何將各種異質性的資料,如粒子的種類、三維動量、能量、電荷、誕生頂點,甚至量測的誤差等非常規的資料編碼成機器學習可以吞吐的資料形式;而且每一個粒子噴流所包含的粒子數量並不固定,可以少到個位數、也可以多到上百顆。被研究最多主題的就是如何標記一個噴流是否來自底夸克,而底夸克非常特殊,他的生命期比較長,所以底夸克噴流通常會帶有一個與對撞點不同的第二頂點,可以靠帶電荷粒子軌跡來判別。目前最新、表現最好的模型是混用卷積神經網路(CNN)與遞迴神經網路(RNN),分別代表粒子空間分佈的描述以及粒子誕生順序的資訊;最後以全聯接型的網路把高階資訊放入模型中。
除了單一夸克或膠子以外,一些比較重的粒子如W玻色子、Z玻色子、希格斯玻色子、以及頂夸克,只要動量夠高,他們也能形成一束粒子噴流,只是通常比較「胖」一點。W、Z玻色子,與希格斯玻色子都有機會變成一對夸克。在動量低時,這兩個夸克可以各自形成粒子噴流;但是隨著動量上升,比如說上升到4兆電子伏特以上後,來自兩個夸克的粒子噴流就會靠得很近,最後變成難以分開的單一束粒子噴流。頂夸克雖然也是單一夸克,只是它的在還沒變成一堆強子之前就已經衰變成一W玻色子與底夸克,然後W玻色子再衰變成兩個夸克,最終形成一個三個夸克所合成的粒子噴流。不過就如同之前的說明,偵測器的資料多半還是很空洞,只看單一噴流裡的強子分佈很難直接看出子叢集結構,就如圖四所展示一樣:只有將好多張圖疊加,才能清晰地看出來自希格斯玻色子衰變成底夸克對的兩個子叢集。因此利用機器學習來分析粒子噴流的分佈結構,是否存在兩個、或是三個子叢集,用來分辨一個高能量的粒子噴流是否來自特定的粒子衰變,是近年來火熱的問題之一。早期的演算法都是倚賴物理為導向的特徵參數;但是由於深度學習的快速進步,最新的演算法多半改成使用卷積神經網路為基礎,主要的理由就是粒子分佈空間結構分析和影像分析非常相近。
圖四:來自高能量希格斯玻色子衰變成底夸克對的粒子噴流影像。左邊展示的是十六個單一粒子噴流,將每個粒子的動量根據角度劃分成格狀累積而成的二維影像,顏色深度代表動量的大小。因為每個噴流粒子數量可多可少、而且很多空洞,雖然或多或少可以看出具有兩個子叢集,但是遠不如右邊的影像明顯。右邊的影像則是將80,000個粒子噴流的影像重疊在一起,子叢集的分佈就非常清楚了。
此外,就如之前所述,粒子物理學家總是希望能夠將決定性的物理資訊、比如說粒子質量保留下來,不要將所有的決定權都交給機器學習。因此也有不少人嘗試在粒子噴流鑑定的演算法中做手腳,盡量要求「不要」學到粒子質量資訊。常見的手段包括:把輸入訓練資料的質量資訊破壞;或是在訓練完成後,改變權重以隱藏質量的訊息;更進一步的方式則是在訓練資料時使用對抗網路(Adversarial Network),直接要求模型不能學到質量資訊。這樣可以保證,即使在使用機器學習模型來鑑定粒子噴流之後,還可以根據質量頻譜來「展示」物理的訊號。
其他常見的運用方式
除了希望能夠正確的判斷粒子種類以外,能量校正回歸也是非常常見的任務。基本上就是希望量測到的能量、動量,或是質量數值上要盡量接近真實值。那利用機器學習引入多方面資訊,在校正回歸上有絕大的優勢。比如說在量測希格斯玻色子的質量分佈上,引入機器學習的校正回歸可以比傳統演算法更精確,使得質量頻譜解析度上升。
其實在粒子物理實驗中,事件分類恐怕才是最常見的機器學習運用。至今大概已經沒有任何的物理期刊論文沒有用上機器學習了!主要的目標非常直覺:就是希望盡可能的把訊號事件與背景事件好好地分開,盡可能的提升訊雜比;也有另外的用法是利用機器學習來解決排列組合的問題,尤其是有些物理反應會產生好幾個噴流、與背景事件的噴流混在一起。但是我們沒有辦法知道哪幾個噴流才是我們要的事件,所以得要用機器學習來挑選正確的噴流。
偵測器監控則是非常新的做法。過去進行粒子對撞實驗,為了能夠監控偵測器狀態,傳統方法都是利用人力值班,盯著監控螢幕來判別系統是否正常運作。隨著偵測器越來越複雜這樣的做法越來越困難,因此機器學習又再度出動,只是這次是使用「異常偵測」的模型,補助值班人員快速找到出問題的偵測器部件。
替次世代高能實驗鋪路
現代大型實驗計畫都需要長久的規劃與準備,當然高能實驗也不惶多讓。就以LHC來說,它的升級計畫、也就是高亮度大強子對撞機 (HL-LHC) 即將在2027年以後啟動,對撞瞬時亮度可達現行LHC的五至七倍、資料量可達現行LHC的十倍,偵測器也得要同時升級才行;如CMS實驗即將換上「高粒度量能器」,把本來只有一層的鉛鎢玻璃與兩層矽材料的量能器,更換成26層以上的矽偵測器,可以更抗輻射、進行更精密的量測,但也同時大大地增加實驗數據的複雜度。
如前文所述,目前LHC對撞事件可包含約40次的質子對撞反應,在HL-LHC的環境下更可高達200次;也就是每一事件所紀錄下的粒子數會增加為五倍以上,然而實際需要的處理時間、計算力更是遠大於此一倍數;因為事件複雜度並非線性正比於粒子數,而是依照階乘上升!如果不增強事件重建、以及加速分析所使用的演算法,到時候有很高機會超過電腦的處理能力。目前已經成功的證明,如果在重建粒子軌跡之前,先使用CNN模型來篩選軌跡的起始點,可以成功降低重建事件的時間達五倍、而且只有很少部分的粒子損失。當然這不是唯一的研發方向,還有為了在資料流的初步就能有效率的篩選事件,物理學家打算在初級觸發系統裡的FPGA直接使用機器學習模型,用最快的速度處理大量的對撞資料。其他的改進也正在評估中,比如利用機器學習自動校正量能器、或是使用圖形網路模型(Graph Network)來重建粒子、甚至嘗試用機器學習來決定資料到時候應該要送到世界上哪一個網格電腦中心去,以最佳化全球的資料儲存效率等各式各樣的發展。
為了應對未來的高資料流量,發展機器學習的演算法、以及更有效率的運用方式,是無法避免的研發方向。幾個在籌備中的未來大型研究計劃,如在中國的環形正負電子對撞機 (CEPC)、日本的國際線型對撞機 (ILC)、同在歐洲CERN實驗室的未來環形對撞機 (FCC) 計畫,還有已經通過、即將在美國布魯克黑文實驗室建造的電子離子對撞機 (EIC),一定會有相似、甚至更高規格的需求。