當前位置:
首頁 > 新聞 > 深度高能粒子對撞追蹤:Kaggle TrackML粒子追蹤挑戰賽亞軍訪談

深度高能粒子對撞追蹤:Kaggle TrackML粒子追蹤挑戰賽亞軍訪談

雷鋒網 AI 科技評論按: Kaggle TravML 粒子追蹤挑戰賽的頒獎儀式即將在 NIPS 2018 大會上進行。這個比賽不僅是機器學習助力其它領域科學研究的經典案例,而且來自中國台灣的 Pei-Lien Chou 也獲得了挑戰賽的第二名。


TrackML 粒子追蹤挑戰賽介紹

為了探索我們的宇宙是由什麼構成的,歐洲核子研究中心的科學家們正在碰撞質子,本質上就是重現了小型大爆炸,並且用複雜的硅探測器仔細觀察這些碰撞。

雖然編排碰撞和觀測已經是一項巨大的科學成就,但是分析由實驗產生的大量數據正成為一個最為嚴峻的挑戰。

實驗的速率已經達到了每秒數億次的碰撞,這意味著物理學家必須每年對數十千兆位元組的數據進行篩選。而且,隨著探測器解析度的提高,需要更好的軟體來實時預處理和過濾最有用的數據,從而產生更多的數據。

為了幫忙解決這個問題,一個在 CGRN(世界上最大的高能物理實驗室)工作,由機器學習專家和物理學家組成的小組,已經與 kaggle 和著名的贊助商合作來回答這個問題:機器學習能幫助高能物理學發現並描述新粒子嗎?

具體來說,在這次競賽中,參賽者們面臨著一個挑戰,那就是建立一個演算法,它需要能夠從硅探測器上留下的 3D 點快速重建粒子軌跡。這一挑戰包括兩個階段:

在 kaggle 上的調整精確度的階段是從 2018 年 5 月到 2018 年 8 月 13 號(獲獎者將在 9 月底公布)。在這一階段,主辦方只關注最高分數,而不會管得到這個分數需要運行的時間。這個階段是一個正式的 IEEE WCCI 競賽(會議地址在里約熱內盧, 2018 年 7 月舉辦)。

生產階段將在 2018 年 9 月開始,參與者將提交他們的軟體,由平台進行評估。激勵取決於系統達到良好的分數時,評估的吞吐量(或速度)。這個階段是一個官方的 NIPS 競賽(會議地址在蒙特利爾,2018 年十二月舉辦)。

在 Kaggle 比賽官方頁面(https://sites.google.com/site/trackmlparticle/)上可以獲得精確度調整階段的所有必要信息。


挑戰賽亞軍 Pei-Lien Chou 訪談

Pei-Lien Chou 是 TrackML 粒子追蹤挑戰賽亞軍。他帶領了一隻研究用深度學習方法解決圖像相關問題的團隊參加了這次比賽。Pei-Lien Chou 在視頻監控領域有 12 年經驗。他在國立台灣大學讀取了數學學士學位,並在中國台灣國立清華大學攻讀了語音信號處理的碩士學位。

在這次競賽中,kaggle 參賽者被要求建立一個演算法,這種演算法能夠快速地從硅探測器上留下的3D點重建粒子軌跡。 這是這個比賽兩階段挑戰的一部分。在 2018 年 5 月至 8 月 13 日的精確度調整階段,只關注最高分數,而不考慮評估需要的運行時間。第二階段是正式的NIPS競賽,這個階段重點關注準確性和演算法速度之間的平衡。

比賽結果出爐後,Kaggle Team 與 Pei-Lien Chou 進行了訪談,雷鋒網編輯整理如下。


基礎知識

在參加這次比賽前,你的背景是什麼?

我擁有數學學士學位和電子工程碩士學位。從去年開始,我就一直是以基於圖像的深度學習的工程師。

你是如何開始在kaggle上參加比賽的?

大約 1.5 年前,我加入了 Kaggle 來練習深度學習,這對我的工作幫助很大。我在第一次比賽中就進入了前 1%,在接下來的下一次比賽中就贏了。參加 kaggle 比賽真令人興奮。

是什麼促使你參加這次比賽的?

起初我沒有注意到這次比賽,因為它不是基於圖像的,儘管我在這次比賽中嘗試了一些點雲方法。但當我意識到組織者是歐洲核子研究中心(CERN),也就是製造黑洞的那些人時,我毫不猶豫地加入了。


有關技術

你的方法是什麼?

我的方法是從一個簡單的想法開始的。我想建立一個模型,這個模型可以把每個事件的所有軌道(模型輸出)映射到檢測器中(模型輸入),就和我們使用 DL 解決其他問題的方法一樣。

如果一次事件有 N 個命中(通常 N 在 100k 左右),則輸出可以很容易地用 NxN 矩陣表示,如果 i 和 j 在同一軌道上,則 Mij=1,否則為 0 。但是模型太大了,所以我把它分成了最小的單元:輸入兩個點擊並輸出它們的關係(如圖 1 )。和真實的只連接相鄰的點的「連接點」遊戲不一樣,為了穩健性,我連接了所有屬同一軌道的點。此時,我已經準備好了參加這次比賽。

你是怎麼做的?

首先,我使用命中位置(x,y,z)作為輸入,通過 10 個項目的訓練,很容易獲得 99% 的準確率。但我很快發現這並不足以重建軌道。問題是,即便誤差率 0.01,對於給定的命中,負對數目可以達到 0.01*100k = 1000,而實際的負對數目在 10 左右(軌道的真實平均長度)。但是為了得分,我們需要真實的數據和模型有超過 50% 的部分是重疊的。

接下來怎麼做?

我第一次在自己的計算機上嘗試運行的時候就得到了 0.2 的得分,這與當時的公共內核相同。我猜也許我做到 0.6 就能贏,並且希望通過我的方法可以做到。天曉得!

你是如何得到更好的預測結果的?

我嘗試了很多方法,並且我的進步大大超出了我的預期。

採用更大的模型,更多的訓練數據。

具有 4k-2k-2k-2k-2k-1k 神經元的 5 個隱層 MLP,總共訓練 3 組,5310 次事件,大約 24 億個正例對和更多的負例對。

選取更好的特徵

一對 27 個特徵:x,y,z,count(cell),sum(cell.value),兩個單位向量來自神經單元,用於估計命中方向和訓練時的隨機反轉(如圖2),並且假設兩個擊中是線性的或螺旋形的 (0,0,z0),用前兩個估計向量和曲線的切線計算 abs(cos()),並且最後一個是 z0。

更好的負樣本

多對接近正例對的負例對進行採樣(也就是重點提高模型分辨相近的正例負例的能力),並且我做了一些很難負例的挖掘。

最後,在 0.97TPR 下,對於給定的命中,我平均得到了 80 個負對,並且只有 6 個假陽性對的概率大於真陽性對的平均值。並且只有 6 個負對的概率大於正對的平均值。

你是如何重建軌跡的?

到目前為止,我有一個不太精確的 NxN 關係矩陣,但如果我把它們全部用上,就可以得到很好的軌跡。

重建:找到 N 個軌跡

1. 以一次撞擊作為種子(例如第 i 次命中),找到最高概率(這個概率大於閾值)對 P(i,j),然後將第 j 次撞擊添加到軌道。

2. 求最大值 P(i,k)+P(j,k),如果兩對概率大於閾值,則將第 k 次撞擊添加到軌道 。

3. 測試新的命中,看看它是否和 x-y 平面上的圓匹配,圓是有兩三次命中的軌跡後面的圓。(這句話也不是很懂)(沒有這一步,我只能得到0.8分)。在軌跡有兩次或者三次撞擊後,根據現有的命中在 x-y 平面中組成一個圓,然後看新一次的撞擊是否在這個圓內

4. 找到下一個撞擊,直到沒有更多的撞擊符合這個圓。

5. 循環步驟1用於所有 n 次撞擊(如圖 3)。

合併擴展

1. 計算所有軌道的相似度作為軌道的質量,這意味著在軌道中,如果所有撞擊(作為種子)對應的軌道相同,則軌道的合併優先順序較高。(圖 6)

2. 首先選擇高優先順序軌跡,然後通過放鬆重構步驟中的約束條件對其進行擴展。

3. 循環

其它的工作

我最後添加了 z 軸約束和兩個模型的集成,得到了 0.003 改進。

我還嘗試應用 PointNet 在預測的樣本中找到軌跡並細化跟蹤。這兩種方法都表現良好,但沒有更好。

圖 3:用 6 個命中重建一次事件的例子

圖 6:合併優先順序確定的一個實例

圖 4:x-y 平面上的種子(大圓)及其對應的候選(匹配顏色)。很明顯種子是在一條軌道上的。

圖 5:每個命中的直徑與九個真命中(紅色)的預測概率之和成正比。

我把這個過程稱為無止境的循環,這離我原來的想法很遠。儘管如此,當我的準確率超過 0.9 的時候,我還是很高興。

訓練和預測獲勝方案的運行時間是多少?

你知道,我的訓練數據有 5k 個事件,而且我還要做難的負例的挖掘。對於每個測試事件,我必須預測 100k*100k 對,重建 100k 軌道(實際上在獲勝解決方案中是 800k+),合併它們並擴展到 10k 軌道。所以運行時間是天文數字。在一台計算機上再做一次這項工作可能需要幾個月的時間。


賽後感想

DL 適合這個主題嗎?

在我看來,這取決於目標能否被很好的描述。如果目標可以被描述,那麼基於規則的方法應該更好。換句話說,在這種競賽中,使用聚類的方法就可以得到0.8的準確率,所以用深度學習來做簡直是自找麻煩。但是這依然是有趣的。

對於剛剛開始從事數據科學的人,你有什麼建議嗎?

你如果還沒有加入 Kaggle,那一秒鐘都不要耽擱,現在就加入吧!

雷鋒網 AI 科技評論整理。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 雷鋒網 的精彩文章:

ZMP 收費自動駕駛計程車上線,日本的自動駕駛熱潮要來了?
西班牙AI研究院副院長:AI+教育的終極奧義是「個人助理」

TAG:雷鋒網 |