• 沒有找到結果。

量子三角反鐵磁模型採樣方法

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

表示自旋 σi =−1。以 L = 32 及 L = 512 為例,分別展示溫度低於臨界溫度、處 於臨界溫度(Tc≈ 2.26)及高於臨界溫度的組態。觀察大尺寸系統 L = 512,可以 看到溫度高於 Tc,自旋組態的對稱性越高,黑白點均勻分佈而不形成同色的大區 塊;溫度低於 Tc,則大多數自旋朝同方向而使某一特定顏色占據組態圖的大部份 面積;處於臨界溫度時,黑白兩色各形成許多不同大小的區塊。較小尺寸 L = 32 的組態圖較無法呈現上述熱力學極限下不同相態的特徵,但亦可看出組態圖像在 不同溫度範圍的差異。組態圖像差異明顯有利於機器學習辨識。

3.2 量子三角反鐵磁模型採樣方法

蒙地卡羅方法亦用於對量子三角反鐵磁模型作自旋組態作採樣。對於以哈密頓 算符 ˆH 定義的量子系統,溫度 T 熱平衡下觀察量 ˆO 期望值為

⟨ ˆO⟩ = 1

ZTr(Oeˆ − ˆH/T) , (3.8) 其中配分函數 Z 表示為

Z = Tr(e− ˆH/T) , (3.9) 針對量子多體系統設計的量子蒙地卡羅(QMC)演算法中,所謂隨機級數展開

(Stochastic Series Expansion, SSE)QMC 方法 [6] 應屬最有效率的方法之一。SSE 方法首先將 e− ˆH/T 作級數展開:

e−β ˆH =

n=0

(−β)n n!

Hˆn, (3.10)

其中我們引入溫度倒數 β = 1/T 。考慮將哈密頓算符 ˆH 改寫成局域算符 { ˆHt} 的 組合:

H =ˆ

ti

Hˆti, (3.11)

(a) Clock phase (b) KT phase (c) PM phase

Figure 3.2: 三角反鐵磁模型(L = 30)各相態組態圖。(a) h = 0.65, T = 0.1 (b) h = 1.6, T = 0.05 Metropolis 演算法作局域自旋組態的更新,也可大範圍的作自旋叢集的更新 [7]。

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

對於每對選取的溫度值與橫場值 (T, h),我們同樣預跑一些蒙地卡羅步驟來達平 衡態,之後以每筆間隔 128 步方式蒐集 10,000 筆自旋組態作為機器學習的資料。

圖 3.2 展示以 SSE 方法獲得三角反鐵磁模型在三個相態的自旋組態樣本。考 慮的系統大小為 L = 30。與前一節展示的古典易辛模型自旋組態比較,這裡量子 組態似乎無法以圖像看出各相態的特徵。

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

Chapter 4

深度學習自旋組態

本章描述我們用以學習自旋組態的神經網路模型架構,並討論預測相態的結 果。神經網路模型可視為一組安排成層狀互相連結的神經元(neurons )。層數多 的神經網路模型稱為深層神經網路,為作所謂深度學習(deep learning)所使用 的模型 [8, 9]。我們採用兩類型的神經網路模型,分別是多層感知器,及捲積神經 網路。Google 所開發的 TensorFlow [10] 為廣泛被應用於深度學習的程式庫,而 Python 套件 Keras [11] 提供一便捷使用 TensorFlow 的介面。本論文的神經網路 模型均藉 Keras 建構而成。

我們採監督學習(supervised learning)的方式讓神經網路機器辨識自旋組態 所對應的相態。監督學習需要一組有標籤的訓練資料;在我們的問題,這組資料 為由蒙地卡羅方法產生的自旋組態(見第 3 章的討論)。我們將 n 組加標籤的訓 練資料表示為{(Xα, yα)}α=1,2,··· ,n,其中 Xα 為元素值 ±1(代表自旋朝上或朝下)

的向量,其維度為自旋數目 N,例如,對 L = 30 的三角反鐵磁而言 Xα 維度為 900;yα 為對應 Xα 的標籤。我們以慣用的 one-hot encoding 方式製標籤 [8],對 C 類(C classes)問題,我們共有 C 個標籤,對編號為 α 的那筆資料,one-hot 向量形式的標籤為 [yα1, yα2,· · · , yαC],其中

yαc =









1 if yα = c , 0 otherwise.

(4.1)

例如對於有三個相態的三角反鐵磁,標示 [1, 0, 0] 為順磁態,[0, 1, 0] 為 KT 態,

(weights)。判斷學習成效的一指標函數為所謂的損失函數(loss function),用以 度量預測的標籤與真實標籤的差距;若差距小,損失函數值則小。我們以負的平 均對數似然(negative log-likelihood)來作為與損失函數相關的欲極小化的目標函 數(代價函數) [9]: 極小化損失函數的一種方法為梯度下降法(Gradient Descent),也就是根據損 失函數梯度方向迭代更新參數 w:

wt+1= wt− η∇wL , (4.4)

上式中的 η 為可調整的參數,稱為學習率(learning rate);調整 w 的方向為 L 負梯度大的方向,如此可在訓練過程調整 w 流向目標函數的一個局部最小值

(local minimum)。機器學習技術中常用的最佳化(optimization)方法為梯度下 降法的擴充版本,例如,隨機梯度下降法(Stochastic Gradient Descent, 以下簡 稱 SGD) [12] 及 Adam 演算法 (Adaptive Moment Estimation) [13],這兩種最佳 化演算法也將運用在本論文。簡單說,SGD 就是隨機挑選訓練資料的一小部分資 料(稱為 minibatch)作為梯度的依據。SGD 可另外加上一慣性項,所謂的動量

(momentum),當作在參數空間移動方向的記憶 [9]。加動量的 SGD 可表示為

input layer

hidden layer hidden layer

output layer

Figure 4.1: 多層感知器基本架構。

多層感知器 (Multilayer Perceptron) 網路,簡稱 MLP,包含輸入層、隱藏層 和輸出層三層基本結構,其中至少一層隱藏層,且其數目可為任意多。每一層 由不同數目的神經元組成,每層間為完全連結(fully-connected)的架構(見示 意圖 4.1)。以分類問題來說,輸出層的神經元數目即為類別數目 C。資訊的傳 遞是由輸入層向輸出層單向進行的,即所謂前饋神經網路(feed-forward neural network)。

一個神經元的功能主要將接受到的資料向量與權重作純量積(可能再加偏權值

(bias)b ), 再經過非線性激活函數(activation function)g 輸出。如此,神經元

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

轉換資訊的功能可表示為

zj(ℓ)=

k

wjk(ℓ)x(ℓk−1)+ b(ℓ)j , x(ℓ)j = g(ℓ)(zj(ℓ)) ,

(4.6)

這裡 w(ℓ)jk 代表連結第 (ℓ− 1) 層第 k 個神經元及第 (ℓ) 層第 j 個神經元的權重,bj 為第 ℓ 層第 j 個神經元的偏權值,g(ℓ) 為第 ℓ 層的激活函數。式 (4.6) 也可更簡潔 地以向量形式表示為:

X(ℓ)= g(ℓ)(w(ℓ)X(ℓ−1)+ b(ℓ)) . (4.7)

常用的激活函數包含 sigmoid 函數:

g(z) = 1

1 + e−z , (4.8) ReLU(rectified linear unit)函數:

g(z) = max(0, z) , (4.9)

等。對於一個 M 層感知器(M 層前饋神經網路),我們可將其 fw(X) 的運作如 下表示 [8]:

fw(X) = g(M )(w(M )· · · g(2)(w(2)g(1)(w(1)X)) . (4.10) 當神經網路的深度 M 大時,可見找尋最佳的一組大量參數的計算工程之浩大。

值得一提,所謂反向傳遞演算法(backpropagation algorithm) [14] 在深層神經網 路的參數最佳化過程中扮演關鍵性的角色。基本上,反向傳遞演算法可由偏微分 的連鎖律(chain rule)導出 [9, 15]。在 Keras 套件中反向傳遞演算法已包含於最 佳化計算過程。

除了上述提到的一些神經網路基礎及最佳化技術,實務上執行深度學習其

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

Figure 4.2: Dropout 技術的示意圖,取自 [16]。右圖 (b) 為從完全連結的神經網路中 (a) 隨機丟 棄一些神經元間的連結的一個例子。

能因模型參數過多及複雜度太高而衍生的過度擬合(overfitting)問題 [16]。而 BatchNorm 的作用在於將輸入一層神經元待訓練的資料分小批(minibatch)作標 準化,使其平均值為零且標準差歸一 [17],藉以避免資訊在神經網路層層傳遞中 分佈改變造成梯度消失進而導致最佳化方法沒效率 [17],或另一被提出的解釋:

可使目標函數的景觀變平滑而有利尋找極小值 [18]。

最後關於輸出層(第 M 層)。在分類問題上,輸出層一般為 softmax 層,並 有 C 個神經元,其中 C 為類別個數。如同式 (4.6) 的描述,具權重的輸入值為 zcM =kwck(M )x(Mk −1)+ b(M )c ,再由 softmax 激活函數轉換為 [9, 15]

ˆ

yc = e−zc′M

C c=1

e−zMc

(4.11)

所獲得的 ˆyc 即代表歸屬於第 c 類的機率;也不難看出此機率滿足 cyˆc = 1。

相關文件