贝叶斯神经网络计算核裂变碎片产额
作者丨龐龍剛
單位丨華中師范大學
研究方向丨高能核物理、人工智能
今天介紹一篇北京大學物理系使用貝葉斯神經網絡計算核裂變碎片產額的文章。這篇文章發表在 PRL 上,業內同行都很感興趣。這里對我們大同行的文章做個解讀,通過費曼學習法,研究一下什么是貝葉斯神經網絡。
什么是核裂變碎片產額
一個重的原子核裂變成兩個或多個輕原子核,并釋放能量的過程,都可以稱作核裂變。裂變產物 -- 輕原子核,叫裂變碎片。如果母核 A 有 230 個核子,子核 B 有 115 個核子,子核 C 有 115 個核子,則此裂變為對稱裂變,裂變產物分布為 N=115 的地方有個高峰。如果子核 A 有 90 個核子,子核 B 有 140 個核子,則此裂變為非對稱裂變。裂變產物分布在 N=90 和 N=140 處有兩個峰。裂變碎片產額分布如下圖左邊子圖所示。
▲?文章配圖例子。橫軸是衰變產物中核子的個數(Mass Number),縱軸是裂變產額。
通過理論計算或模型預言重原子核的裂變碎片產額分布,并與實驗數據對比,能夠幫助排除不符合實驗的裂變動力學模型。
如果理論結算結果與實驗測量的裂變碎片產額分布一致,則說明理論可能是對的,就可拿理論去預測更多的量。
原子核的質量與裂變
這一段面向大眾科普一下核物理。我們先從愛因斯坦的質能關系出發:
其中 E 是能量,m 是質量,c是光速,在自然單位制下,c=1,公式可以簡化為 E = m。
這個公式告訴我們能量就是質量。核裂變要用到這個公式 -- 如果一個大原子核 A 裂變成兩個小原子核 B+C,則釋放的能量等于裂變前后的質量差。
但是為何 A 變成 B 和 C 的時候總質量會發生變化呢?明明 A 中的質子數等于 B 和 C 中質子數之和,A 中的中子數等于 B 和 C 中中子數之和。?
這是因為 m = E,質量也是能量。原子核的質量等于里面質子質量+中子質量+質子,中子動能+質子質子,質子中子,中子中子的相互作用勢能。?
另一個簡單的例子是質子質量,一個質子里有 3 個組分夸克,2 u + 1 d。一個 u 夸克質量 2.16 兆電子伏特左右,一個 d 夸克質量 4.67 兆電子伏特,總質量應該是 2.16 x 2 + 4.67 = 8.99 兆電子伏特。但測量的質子質量是 938 兆電子伏特。剩余的質量全部來自夸克,膠子的動能,以及它們之間的相互作用勢能。?
大自然目前發現 4 種相互作用力,1)萬有引力;2)庫侖力;3)強相互作用力(核力);4)弱相互作用力。除了萬有引力不貢獻核子核子之間的相互作用勢能,其他三種力都有貢獻。
庫侖力貢獻了質子質子之間的電磁相互作用勢能。強相互作用貢獻了核子核子相互作用的一部分。弱相互作用大家可能比較陌生,它發生在基本粒子味道改變的過程,比如中子衰變成質子的過程,中子 (夸克組分 udd) 衰變成質子(夸克組分 uud)時,一個 d 夸克變成了 u 夸克,起作用的就是弱相互作用。?
知道了愛因斯坦質量能量關系,就可以預測一下不同原子核的質量了,如果一個原子核有 Z 個質子,N 個中子,則總的核子數 A=Z+N。在宏觀液滴模型下,原子核的質量大概可以寫成如下形式,里面包含參數化的各種各樣的能量對原子核質量的貢獻(當然,下列公式沒有包括微觀的來自庫伯對和自旋軌道耦合的殼修正項)。
▲?參考文獻:Nuclear ground-state masses and deformations: FRDM (2012)
上面的公式就算對于宏觀部分,也是簡化的公式,主要是因為如果原子核不是球形,是變形核,則體積能,表面能,曲率能,庫倫能等等各種能量都要重新計算(對變形核中電荷分布,核子分布積分)。在 Peter Moller 的文章中,有張配圖,說明原子核處于不同變形時的質量變化(或者叫能量變化,勢能變化)。
▲?不同核變形時的勢能。從左往右數第2個,紡錘形的那個表示基態(即能量最低態)時的原子核形狀。右邊有個勢能位壘,穿過位壘就會發生核裂變。
我熟悉的一種計算核裂變碎片產額的方法是對不同的核變形因子(5 維參數空間),計算原子核的勢能,這樣就得到 5 維空間的勢能曲面。原子核的形狀在勢能曲面上做隨機行走,如果爬上了勢能位壘,穿到了對面,就發生一次核裂變。而裂變產額,可以由多次隨機行走的結果統計得到。?
北京大學的這篇 PRL 在綜述部分簡述了一些核裂變動力學的計算方法。比如提到了計算核裂變的最新方法是 Time-dependent Hartree-Fock-Bogoliubov 方法以及 Time-dependent Generator-Coordinate 方法,我不是很熟悉就不做贅述。?
我猜測,如果能夠得到重原子核在不同形變時的高維勢能曲面,則可以設計實驗,使用精確的入射中子(或質子)能量,將核廢料中的原子核激發,更快的衰變,更快的凈化。?
北京大學這篇文章直接拿核數據庫中的數據進行貝葉斯神經網絡分析,從而預測新的原子核裂變時的碎片產額分布,并給出置信度。在此過程中,沒有理論的模型進行裂變動力學模擬。這種方法有它自己的優點和缺點。優點在于結果模型無關,可能從實驗數據中提取理論模型所沒有包含的物理。缺點是神經網絡省略了裂變動力學的中間過程,不能對裂變機制提供更深層次的理解。
貝葉斯神經網絡
貝葉斯神經網絡與傳統神經網絡的區別在于,網絡參數不是固定的數值,而是一個分布函數。這樣的好處是它能給出兩種不確定度。
第一種是網絡參數改變時結果的不確定度。第二種是如果訓練數據存在誤差,會給訓練好的神經網絡的預測帶來多大不確定度,比如 x=1 時,y 有時等于 1.1,有時等于 0.9,傳統的神經網絡可能最終給出一個平均預測 P(y=1 | x=1) = 1。而貝葉斯神經網絡會給出 P(y | x=1) 的分布,這個分布有均值,也有方差。另外,根據貝葉斯公式,如果有新的數據進來,神經網絡的預測會不斷的更新,做出更好的后驗分布預測。
什么是貝葉斯神經網絡
▲?Weight Uncertainty in Neural Networks 2015 文章配圖,左圖為傳統神經網絡,右圖為貝葉斯神經網絡。
貝葉斯神經網絡英文為 Bayesian Neural Network,簡稱 BNN。BNN 與傳統神經網絡的區別可以用上面這張圖表示。左圖為傳統神經網絡,每個參數是固定的數值,右圖是 BNN, 每個參數是一個連續的分布函數。
從右圖分布函數中每抽取一組離散的參數,就能得到一個傳統的神經網絡。所以,BNN 相當于學習了一個無窮多傳統神經網絡的系綜,預期能夠提高網絡的泛化能力。如果每個參數的分布用正態分布 N(μ,σ)?近似,則 BNN 相當于使用兩倍于傳統神經網絡的參數個數,學到了無窮多個傳統神經網絡的系綜。?
BNN 如何用到貝葉斯公式呢?既然網絡的參數是分布函數,那么參數 θ 初始化的分布函數形式可以當成是先驗 P(θ),神經網絡的輸出與訓練數據??的距離定義為似然函數 P(D|θ)。訓練目標為使用貝葉斯公式通過先驗和似然函數最大化 BNN 參數滿足的后驗分布 P(θ|D)。
似然函數可以理解為將神經網絡輸出與標準答案的 Mean Square Error 通過高斯分布轉化為概率之后的數值,如下式所示:
似然函數表示參數為 θ,輸入為 x 的神經網絡 f(x,θ) 描述數據 y 的好壞程度。?
貝葉斯公式中的分母 P(D) 很難計算。P(D) 又叫做證據(Evidence)。展開成積分式如下:
它是一個歸一化因子。表示有多少組不同的參數 θ',可以描述同樣的數據 D。P(D) 的值越大,說明同一組數據可能的模型解釋越多,最優模型是其中一種的概率,即 P(θ|D)?越小。
如何計算均值?
只要知道后驗分布,BNN 對新的輸入??的預測可以通過對參數 θ 的積分做到。
注:傳統的神經網絡預測結果為?,BNN 相當于一個神經網絡系綜的平均值。
如何計算不確定性?
神經網絡預測的不確定性可以量化為方差 Variance。這里的不確定性來源有兩個:1)神經網絡模型本身的不確定性??-- 這是因為參數 θ 一般是高斯分布函數,自帶方差;2)數據的內在不確定性??-- 比如數據中有噪音,同一個輸入 x, 有些訓練樣本?,有些樣本?。寫成式子:
數據的方差可以直接得到。模型的方差也可以通過對參數 θ 積分得到:
這篇文章的最后介紹一種使用傳統神經網絡計算不確定性的方法,Monte Carlo Dropout,實現起來更簡單。?
如何在新數據上繼續學習?
貝葉斯概率表示人對某件事發生的可能性的信仰,這種信仰會隨著新數據的出現不斷修正。在修正的時候,之前的后驗就會變成先驗。在有新數據??出現時,修正的過程如下式所示:
將上式中基于過去數據的后驗 P(θ|D)?當作面臨新數據的先驗 P(θ),則回到貝葉斯公式。
貝葉斯神經網絡如何初始化
貝葉斯神經網絡的參數是分布函數。但是我們不知道什么樣的分布函數可以表示我們對數據的先驗理解。一般情況下,大家都做了簡化,比如假設參數滿足標準正態分布 N=(μ=0,σ=I)。然后根據數據,慢慢的調整信仰。?
根據最新的深度神經網絡參數初始化的研究,將所有網絡參數初始化為標準正態分布是不明智的行為,可能會導致訓練過程的梯度消失或梯度爆炸。更好的方案是,如果網絡使用 tanh 激活函數,則采用 Xavier 初始化;如果網絡使用 Relu 激活函數,則使用 He 初始化。當然,如果 BNN 的層數足夠淺,使用標準正態分布初始化應該也沒問題。
貝葉斯神經網絡如何訓練
在參考文獻 [1] 中介紹了很多種訓練方法,比如 Gibbs 采樣,Metropolis 算法,Langevin Monte Carlo 和 Hybrid Monte Carlo。我第一次看到這樣訓練神經網絡的時候愣了一下。但這些確實是使用貝葉斯分析的時候經常使用的方法,這些方法的好處是可以對非歸一化的分布函數 P(θ|D)∝P(D|θ)P(θ) 做重要抽樣。從而跳過貝葉斯方法里最不好計算的歸一化因子 P(D)。?
多層神經網絡就這樣與馬爾可夫蒙特卡洛聯系了起來。神經網絡參數分布函數的 mean 和 variance 可以當成高維參數空間的點,訓練的過程使用 Metropolis 重要抽樣,在高維參數空間隨機行走,從而得到能夠描述數據 D 的最好的后驗分布 P(θ|D)。?
多層神經網絡與馬爾可夫性的第二個聯系在于簡單前饋神經網絡的層與層之間。第 L+1 層能夠表示的泛函空間完全由第 L 層的輸出決定。這是一個馬爾可夫過程。最直接的問題是如果有無窮多的隱藏層,最后一層表示的泛函空間能否收斂?
Batch Normalization 發明的時候就說很難收斂,因為有 Covariate Shift,導致樓越蓋越歪。Residual net 能夠加很多層,也是因為通過訓練殘差,而不是構造全新的泛函空間,防止歪樓。?
在文獻 [4] 中,Google DeepMind 的科學家提出了另外一種 BNN 的訓練方法,即變分推斷(Variational Inference),使用變分推斷中的重參數化技巧,將后驗分布近似為正態分布,通過 KL divergence 得到損失函數,對損失函數的 ELBO 進行誤差的向后傳播。過于細節,這里不做過多介紹(其實是因為看到 Monte Carlo Dropout 方法之后,我突然覺得不需要 BNN 也可以計算不確定性了)。細節可以參考文獻?[4]。?
這篇計算核裂變碎片產額的文章使用了 Stochastic Gradient Langevin Dynamics 做訓練,使用 Hybrid Monte Carlo 方法做推斷時的積分。
為何使用貝葉斯神經網絡BNN
鏡像問題:“為何不使用傳統的神經網絡”,貝葉斯神經網絡能提供什么傳統神經網絡不能提供的信息。?
大家一般認為 BNN 在小數據集上學習更健壯,不易過擬合 。但這個說法其實沒有嚴格的證據或證明。2015年Google DeepMind 的文章【參考文獻 4】顯示,一個使用隨機梯度下降 + Dropout 的傳統神經網絡可以得到與貝葉斯神經網絡同樣的測試精度。從那以后,大家慢慢發現, Dropout 是一種對貝葉斯神經網絡的近似。?
另一種廣泛接受的觀點是傳統神經網絡不能提供模型的不確定性,BNN 可以。但是來自劍橋的一篇文章,推翻了這種觀點。作者在摘要里寫到:?
貝葉斯神經網絡提供了模型的不確定性,但與之相隨的是令人望而卻步的計算花銷。我們發展了一個新的理論框架,使用傳統的神經網絡,加上 Dropout,作為深度高斯過程的貝葉斯推斷近似。這個理論的直接結果是,我們使用有 Dropout 的神經網絡來建模不確定性 -- 從傳統神經網絡被扔掉的部分提取信息。這種方法既解決了傳統神經網絡不能提供不確定性的問題,又不會犧牲計算復雜度與測試精度。?
下面這個表是他們文章中的結果,在很多數據集上,Dropout 不確定性的計算結果要好于 BNN。
▲?VI 是貝葉斯神經網絡結果。可以看到 Dropout 方法得到的不確定度性大部分數據集上優于貝葉斯神經網絡。
這是怎么做到的呢?這篇博客順便介紹一下。他們的文章中有一個例子,對于一個訓練好的回歸神經網絡,如果在測試的時候打開 Dropout,那么對同一個輸入,每次前饋都會產生一個不同的結果。比如說對同一個輸入,讓神經網絡預測 6 次,得到 6 個不同的回歸結果 [5, 4.9, 4.8, 5.3, 5.4, 5]。
那么這 6 個數字的均值和方差可以用來近似 BNN 輸出的均值和模型不確定度。這種估計不確定度的方法稱作 Monte Carlo dropout。?
文章 [9] 從數學上證明了帶 Dropout 的多次前饋等價于蒙特卡洛抽樣。多次輸出的平均值等價于 BNN 的平均值。多次輸出的方差(二階矩)加上數據精度的負一次方等價 BNN 計算出來的模型不確定度 。多次前饋的方差越大,說明網絡的不確定度越大。
總結
貝葉斯神經網絡有很誘人的特質 -- 以兩倍的參數得到無窮多神經網絡的系綜;除了給出預測,還能給出預測的不確定性。但是,它的計算花銷巨大,訓練復雜。傳統神經網絡加上 Monte Carlo Dropout,貌似能夠提供同樣的多網絡系綜與預測不確定性。如果是新的研究,為了得到計算的不確定性,我更推薦嘗試后面這種方法。
參考文獻
[1] http://www.cs.toronto.edu/~radford/ftp/thesis.pdf
[2] https://arxiv.org/pdf/1906.04485.pdf?
[3] https://arxiv.org/pdf/1508.06294.pdf
[4] https://arxiv.org/pdf/1505.05424.pdf
[5]?https://www.zhihu.com/search?type=content&q=貝葉斯神經網絡如何訓練
[6]?https://zhuanlan.zhihu.com/p/79715409
[7]?https://www.cs.utah.edu/~zhe/teach/6190-pdf/16-BNN.pdf
[8]?http://medium.com/neuralspace/bayesian-neural-network-series-post-1-need-for-bayesian-networks-e209e66b70b2
[9] https://arxiv.org/abs/1506.02142
[10]?http://people.ee.duke.edu/~lcarin/Chunyuan1.15.2016.pdf
[11]?http://medium.com/%40ahmdtaha/dropout-as-a-bayesian-approximation-representing-model-uncertainty-in-deep-learning-7a2e49e64a15
[12] https://zhuanlan.zhihu.com/p/82108924
[13]?https://arxiv.org/pdf/1703.02914.pdf
[14]?https://eng.uber.com/neural-networks-uncertainty-estimation/?
[15]?https://arxiv.org/pdf/1810.05546.pdf
#投 稿 通 道#
?讓你的論文被更多人看到?
如何才能讓更多的優質內容以更短路徑到達讀者群體,縮短讀者尋找優質內容的成本呢?答案就是:你不認識的人。
總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學者和學術靈感相互碰撞,迸發出更多的可能性。?
PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優質內容,可以是最新論文解讀,也可以是學習心得或技術干貨。我們的目的只有一個,讓知識真正流動起來。
?????來稿標準:
? 稿件確系個人原創作品,來稿需注明作者個人信息(姓名+學校/工作單位+學歷/職位+研究方向)?
? 如果文章并非首發,請在投稿時提醒并附上所有已發布鏈接?
? PaperWeekly 默認每篇文章都是首發,均會添加“原創”標志
???? 投稿郵箱:
? 投稿郵箱:hr@paperweekly.site?
? 所有文章配圖,請單獨在附件中發送?
? 請留下即時聯系方式(微信或手機),以便我們在編輯發布時和作者溝通
????
現在,在「知乎」也能找到我們了
進入知乎首頁搜索「PaperWeekly」
點擊「關注」訂閱我們的專欄吧
關于PaperWeekly
PaperWeekly 是一個推薦、解讀、討論、報道人工智能前沿論文成果的學術平臺。如果你研究或從事 AI 領域,歡迎在公眾號后臺點擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。
▽ 點擊 |?閱讀原文?| 獲取最新論文推薦
總結
以上是生活随笔為你收集整理的贝叶斯神经网络计算核裂变碎片产额的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎么看电脑的开机记录 电脑开机记录查看方
- 下一篇: 收藏!这 10 篇硬核论文,让你宅家也能