• 沒有找到結果。

在這次的研究中我們使用了卷積神經網路來研究正方形晶格上的Potts model。特別是我們把零溫的自旋狀態作為訓練集。而在有限溫度的自旋狀態則 是使用Swendsen-Wang 演算法產生,並利用訓練完成的神經網路對這些自旋狀 態進行分析。在接下來的幾個小節中,我們將會介紹這次研究中使用的方法,

以及其相關的背景知識,包含蒙地卡羅方法、Metropolis 演算法、Swendsen-Wang 演算法、感知器、多層感知器、卷積神經網路、直方圖方法以及資料集的 標註方式。

9

蒙地卡羅方法

蒙地卡羅方法(Monte-Carlo method,MC method)是一種透過多次隨機取 樣求得數值結果的演算法。蒙地卡羅方法又被稱為隨機模擬方法,最早可追溯 至18 世紀法國數學家 Buffon 所提出的投針求𝜋問題,由於當時沒有計算機,因 此這類方法並沒有獲得太多應用的機會。現代基於馬可夫過程的馬可夫鏈蒙地 卡羅方法(Markov chain Monte Carlo,MCMC)直到二戰時期才被 Stanislaw Ulam 提出,並以蒙地卡羅(摩納哥大公國的一座城市,以大賭場聞名)命名, 分函數(partition function):

Z = ∑ 𝑒−𝛽𝐸𝜈

𝜈

其中𝜈表示所有可能的微觀狀態。這樣的機率分佈被稱為波茲曼分佈

(Boltzmann distribution),而𝑒−𝛽𝐸𝜇被稱為微觀狀態𝜇的波茲曼權重(Boltzmann weight)。測量一巨觀系統的物理量𝑂則意味著測量每個微觀狀態下的物理量 𝑂𝜇,並按波茲曼權重對其取期望值:

(3-1)

(3-2)

10

11

12

(detailed balance)。細緻平衡條件的數學形式如下:

𝑃(𝜇𝑖 → 𝜇𝑗) 𝑃(𝜇𝑗 → 𝜇𝑖)=𝑝𝜇𝑗

𝑝𝜇𝑖 = 𝑒−𝛽(𝐸𝜇𝑗−𝐸𝜇𝑖)

除細緻平衡條件外,欲使馬可夫鏈蒙地卡正確的進行取樣尚需遵守歷遍性

(Ergodicity)條件。歷遍性條件要求:當系統達平衡狀態後,任意狀態𝜇𝑖在經 過有限次的轉移後,要能達到另一個任意狀態μ𝑗

13

下一個狀態的機率。藉由引入選擇機率以及接受機率,馬可夫鏈蒙地卡羅方法 可依以下流程進行狀態轉移:(1)基於當前狀態𝜇𝑖,依選擇機率𝑔(𝜇𝑖 → 𝜇𝑗)選擇 一個狀態𝜇j作為新狀態的候選狀態。(2)依接受機率𝐴(𝜇𝑖 → 𝜇𝑗)決定是否採用𝜇𝑗 作為新的狀態,如採用,則將狀態轉移至𝜇𝑗,如不採用,則維持狀態𝜇𝑖

絕大多數的馬可夫鏈蒙地卡羅方法均採取前段所敘述的策略進行取樣。不 同馬可夫鏈蒙地卡羅方法之間最大的差異在於生成新狀態的方式,也就是選擇 機率𝑔(𝜇𝑖 → 𝜇𝑗)以及接受機率𝐴(𝜇𝑖 → 𝜇𝑗)。採取不同生成方式的馬可夫鏈蒙地卡 羅方法各有其優缺點,適用範圍也不同,這使得馬可夫鏈蒙地卡羅方法得以成 功得應用至各種不同的領域中。

在接下來的小節中將會介紹兩種常見於凝態研究中的馬可夫鏈蒙地卡羅方 法,分別是Metropolis 演算法以及 Swendsen–Wang 演算法,特別是我們會考慮 古典自旋系統,並且介紹如何應用馬可夫鏈蒙地卡羅方法於這些系統上。

14

Metropolis 演算法

Metropolis 演算法是最知名、應用最廣範的馬可夫鏈蒙地卡羅方法。它在 1953 年由美國物理學家 Nicholas Metropolis 以及其同事們所提出[36]。Metropo-lis 演算法以它簡潔、容易理解的特性而聞名,因此當人們在學習蒙地卡羅方 法、理解在前一小節中提到的概念時,實作Metropolis 演算法幾乎是必經的練 習。在這小節中我們將簡短的介紹Metropolis 演算法。

Metropolis 演算法滿足前一小節中提到的細緻平衡與歷遍性兩條件。歷遍 性強調經過有限次的轉移後系統能從狀態𝜈轉移至另一個狀態𝜇,為了滿足歷遍 性條件,選擇新狀態𝜇的方法是一大重點。Metropolis 演算法使用的方式是所謂 的局域更新(local update),或單自旋更新(single-spin update)方法。局域更 新方法以當前狀態𝜈為基礎,在𝑁個晶格點中隨機挑選一個,並改變其自旋值後 作為新狀態𝜇,隨後依機率接受/駁回更新。Metropolis 演算法的選擇機率為:

𝑔(𝜇𝑖 → 𝜇𝑗) = 1

15

4. 計算𝜇0及𝜇1之能量

5. 依接受機率𝐴(𝜇𝑖 → 𝜇𝑗) = min (1, 𝑒−𝛽(𝐸𝜇𝑗−𝐸𝜇𝑖))決定是否更新狀態 6. 重複步驟 1. ~ 5.

Swendsen–Wang 演算法

Swendsen–Wang 演算法是由 Robert H. Swendsen 與王建生在 1987 年所提 出的蒙地卡羅演算法[37]。因其效能較局域更新蒙地卡羅演算法(如 Metropolis 演算法)高上許多而被廣泛採用於古典凝態系統的相關研究中。由於在模擬時 會將鄰近晶格點加入叢集(cluster)中,並同時改變位於同一個叢集中晶格點 所帶的自旋值,因此此方法又稱為叢集蒙地卡羅演算法。

Swendsen–Wang 演算法之運作流程如下[37-39]:

1. 在所有相鄰且具有相同自旋值的晶格點間依照機率𝑝 = 1 − exp(−𝛽)生 成鍵結,其中𝛽為溫度𝑇之倒數。如果可從一晶格點𝑖透過數個鍵結與晶 格點𝑗相連接,則晶格點𝑖, 𝑗處於同一個叢集中(見 Fig. 3.1)。

2. 將處於相同叢集中的晶格點之自旋值均勻隨機的改變至{1, 2, 3 … … 𝑄}

之間的任意數值。重複此一過程直到所有叢集均被考慮過(見 Fig.

3.2)。

3. 清除所有的鍵結,回到步驟 1.。

16

Fig. 3.1 二維正方形晶格 Potts model 在週期性邊界條件下組成 clusters 的示意圖。各個相鄰

且具有相同自旋值的晶格點依照機率p=1-exp(-β)生成鍵結。上圖中紅、綠、藍三色分別代表自

旋值為1、2、3,其中紫色框線所圍起的範圍即是 cluster。

Fig. 3.2 二維正方形晶格 Potts model 在週期性邊界條件下改變 cluster 之結果示意圖。上圖

中紅、綠、藍三色分別代表自旋值為1、2、3,其中紫色框線所圍起的範圍即是 cluster。由

Fig3.1、Fig3.2 可觀察到,有些 clusters 中的自旋值維持不變。

17

估計輸出值和標籤相異的程度的函數被稱為損失函數𝐿(loss function)或成 本函數(cost function)。均方誤差(mean squared error,MSE)是常用於回歸分析 的一種損失函數,其函數定義如下:

MSE(𝑦(𝛉, 𝐱), 𝑦̂) = (y(𝛉, 𝐱) − 𝑦̂)2

上式中𝛉是模型中所有可供調整的參數(如:感知器中的權重、偏壓,這部分會 在後續小節中提到);𝐱是輸入值;𝑦是模型的輸出值且為輸入值和(可調)參數 的函數;𝑦̂是標籤值。多分類問題通常使用具有 Q 分量的向量作為輸出(Q 為 分類的數量),在此情況下多會採用交叉熵(cross entropy)作為損失函數[40],

交叉熵的定義如下:

18

佳化演算法為隨機梯度下降法(stochastic gradient descent,SGD)[41]。隨機梯 度下降法的運作流程如下:

1. 隨機將訓練集切分為數個含有𝑛個樣本的「小批(mini batch)」。

2. 將小批中的資料輸入模型,並估算損失函數𝐿。

3. 計算損失函數對人工神經網路中可調整的參數𝛉之梯度∇𝛉𝐿。

4. 將 3. 的結果乘以學習率λ來更新人工神經網路之參數值 𝛉 = 𝛉 − λ∇𝛉𝐿。

5. 回到 2. 直到所有小批均被使用過為止。

受隨機梯度下降法的啟發,電腦科學家們又發展出許多適用於人工神經網 路的最佳化演算法,如:自適應時刻估計(Adaptive Moment Estimation,

Adam)[42]、動量法(momentum)[43]以及 Adagrad[44]等方法,其中又以 Adam 在各種實際應用中效果最佳。在這次的研究中,我們使用 cross entropy 作為損失函數,Adam 作為最佳化演算法。

19

對於 Q-state Potts model 而言,每個晶格點上的自旋值亦可視為無序分類 變數,因此在將其輸入至人工神經網路前,會先使用獨熱編碼之技巧對自旋狀 態進行預處理。Fig. 3.3、Fig. 3.4 以 Q=3、L=10 的 2 維 Potts model 在𝑇 ≫ 𝑇𝑐以 及𝑇 ≪ 𝑇𝑐時的自旋狀態為例,其中紅、綠、藍三色分別為自旋值 1、2、3,右 側黑白方框依序為自旋值為 1、2、3 經編碼後的結果。要注意的是經過獨熱編

1 無序分類變數(unordered categorical variable)是兩兩之間無強度和順序的差別的變數,

例如:性別(男女)、職業(士農工商)、科目(自然、國文、數學)等。與之相對的為有序分 類變數,例如:等第(A+、A-、A……E)、電磁輻射種類(無線電、微波……)等有順序或強度 差異的變數。

20

碼後,𝐿 × 𝐿的 Q-state Potts model 會變為維度為𝐿 × 𝐿 × 𝑄的廣義向量(張 量)。

Fig. 3.3 2D 3-state Potts model 於T ≪ Tc時的三種自旋狀態之獨熱編碼示意圖。其中箭頭左側之方形

表示在經過獨熱編碼前的自旋狀態,紅色、綠色、藍色分別代表自旋數值為1、2、3;箭頭右側三個方

形表示自旋狀態在經獨熱編碼後的結果,黑、白分別代表經獨熱編碼後數值為0、1。

Fig. 3.4 2D 3-state Potts model 於𝑇 ≫ 𝑇𝑐時的自旋狀態之獨熱編碼示意圖。其中箭頭左側之方形表

示在經過獨熱編碼前的自旋狀態,紅色、綠色、藍色分別代表自旋數值為 1、2、3;箭頭右側三個方形表

示自旋狀態經獨熱編碼後的結果,黑、白分別代表經獨熱編碼後數值為 0、1。

21

人工神經網路

人工神經網路是一種使用電腦模擬生物神經網路的計算模型。人工神經網 路有許多種類別,例如:卷積神經網路(CNN)、遞歸神經網絡(recurrent neu-ral network,RNN)等,不同的人工神經網路適用於不同的場合,例如卷積神 經網路適用於圖像辨識,遞歸神經網路適用於自然語言處理(natural language processing,NLP)。這些人工神經網路的共通點是:它們都是由許多人工神經 元組合而成的[2]。

人工神經元是將神經細胞的構造簡化而來的數學模型,在介紹人工神經元 之前,必須先介紹神經細胞的構造及功能。神經細胞是生物體的神經系統中最 基本的單元,神經細胞具有接收、整合、傳導、輸出電訊號的功能。神經細胞 的型態相當多樣,典型的神經細胞包含以下構造:樹突、細胞體、軸突以及突 觸。樹突的功能為接收電訊號;細胞體的功能為將在樹突接收的電訊號進行整 合,並決定自身是否輸出電訊號;軸突負責將細胞體所產生的電訊號傳遞至突 觸;突觸則將電訊號傳導至下一個細胞。Fig. 3.5 是神經細胞之結構示意圖。

Fig. 3.5 神經細胞結構示意圖。樹突接收訊號,經由細胞體整合訊號後經由軸突將訊號傳

導至突觸,突觸將訊號傳導至下一個細胞。[維基百科神經元條目之例圖重繪]

22

神經細胞依照功能大致可分為三類:感覺神經元、運動神經元、聯絡神經 元。感覺神經元負責將受器接收到的訊號傳導至中樞神經系統;運動神經元將 訊號由中樞神經系統傳導至肌肉、腺體等動器;聯絡神經元接收神經細胞元的 電訊號,並將電訊號傳導至下一個神經細胞。藉由串接無數個聯絡神經元可構 成脊隨、腦等中樞神經系統(central nervous system,CNS)[45]。

人工神經元仿造了神經細胞接收、整合、輸出的功能。人工神經元接收數 個訊號,並將各個訊號乘以相應的權重後加總,加入偏壓(bias)後輸入活化函

人工神經元仿造了神經細胞接收、整合、輸出的功能。人工神經元接收數 個訊號,並將各個訊號乘以相應的權重後加總,加入偏壓(bias)後輸入活化函

相關文件