利用無監督學習探測SSH模型中的拓撲相變
我們今天聊點好玩的。
CS界最火熱的莫過於人工智慧技術了,其中最有趣的就是神經病網路;
而物理中近幾年來最有意思的是超出朗道相變的拓撲相變理論。
最近,有人在使用機器學習相關方法去做相變的表徵,例如:
https://www.nature.com/articles/nphys4037.pdf?origin=ppub我們發現,作者使用了無監督學習中的主成分分析(PCA)去分類Kitaev Model的糾纏譜(ES)從而得到拓撲分類;一個簡單的問題是,這樣的主成分分析是建立在ES已經成功分類的基礎之上的,
而糾纏特徵譜是一個相對本身就很高級的概念,我想指出,因為有限大小的格子,在能隙內存在邊界上的無能隙的激發,僅僅通過本徵譜或者本徵函數就可以學習到拓撲相變,不需要ES將數據進行複雜的預處理。
為什麼物理可以被機器學習?實際上,物理上的東西是比生活中的東西更加適合被機器理解的,一個簡單的想法是,對於local的哈密頓,有一些所謂的domain wall;而在時間域上, 關聯度很大,因此無論是N D統計或者是N+1 D動力學,至少傳統的RNN,CNN看起來是優秀的,但是畢竟是煉丹,多得就不知道了。
我們先看一個低能力的例子,然後做作業的時候,我們大開腦洞。
本徵函數的例子我將通過SSH模型給出,也就是我們這裡的重點,而本徵譜學起來很簡單。SSH的哈密頓量很簡單,
拓撲相出現在 的時候,由於是二次的,一兩行命令就能寫出來體系的哈密頓核:
diag1 = np.array(
[1 + delta_t*(-1)**(i) for i in range(2*L-1)],
dtype = complex,
)
H = np.diag(diag1,-1) +np.diag(diag1,1)
然後我們可以隨意將之對角化拿到不同能量下的粒子數分佈:
w,v = blas.eigh(H)
N=np.real(np.conj(v)*v)
隨後,N的第 列就對應了 中第 個本徵能量對應的本徵函數的分佈,我們將之畫出,得到拓撲相和非拓撲相下的分佈:
紅色圈圈就是我們的目標,也就是SSH模型在零能量附近的邊緣態。
我們可以用電腦大量的產生這樣的數據,我自己是產生了一大推,並且可以手動的加上on-site弱的disorder(也可以不加,但是拓撲是穩定的),我們現在隨便寫一個神經病網路,我用的是一個叫做派電筒(pytorch)的包,我們這樣去寫一個無監督學習:
class AutoEncoder(nn.Module):
def __init__(self):
super(AutoEncoder, self).__init__()
self.encoder = nn.Sequential(
nn.Linear(4*L*L, 128),
nn.ReLU(),
nn.Linear(128, 64),
nn.ReLU(),
nn.Linear(64, 2),
)
self.decoder = nn.Sequential(
nn.Linear(2, 64),
nn.ReLU(),
nn.Linear(64, 128),
nn.ReLU(),
nn.Linear(128, 4*L*L),
)
def forward(self, x):
encoded = self.encoder(x)
decoded = self.decoder(encoded)
return encoded, decoded
各個量的含義自明。
我們使用阿達姆優化器,小氣的正方形錯誤作為我們的損失函數,我們在0前後隨便搜8000個數據(可以是加無序的拓撲),然後patch成32個,然後shuffle了送進去,我們很快可以得到:
1標記的是有拓撲的,0標記的是沒有拓撲的地方;收斂的很快,為了大家方便,我特意煉丹到一個比較慢的學習步驟上去,得到:
我們看到,學波函數簡直是一個trivial的事情。
本徵譜的一個簡單的例子是,在有限大的方格子畫磁通為 的能譜分佈:
會發現在能隙中的本徵值的個數 和總的本徵值的個數 大概有著 的關係,其中 是體系的周長。如果上面的圖太密集了不好看,就看我畫的,懶得打標題了:
通過使用任何一種無監督學習的辦法去學習本徵譜,我們可以對體系的拓撲性質進行刻畫(有無拓撲),至少通過我的測試,可以將體系分為Qauntum Hall (Z), Normal Insulator, 和Normal Mental. 這個看起來就更加基本一些了。通過本徵譜學習拓撲,留作習題。
作業:
1、Qi Xiao-Liang 指出,[1712.01850] Determining a local Hamiltonian from a single eigenstate 對於一局域哈密頓的單一的本徵態,就幾乎足夠得到整個哈密頓了。看起來很詭異,但是通過關聯譜函數的研究,我們看到,事實確實如此。試構建合適的人工智障,基於單個本徵態去判斷體系是否有能隙。
2、對於相互作用體系,我們能否如此進行拓撲分類?對於非厄米體系呢?
3、試利用RNN去處理TEBD的前一段數據,證明,RNN對於某些體系確實具有預測能力。
4、試證明,上面的自煉丹過程(auto-encode)確實能夠區分MBL態,無論這個態的數據來自ED還是來自DRMG-X。
蔡家麒,華中科技大學物理學院,
於18年10月作
Email: caidish艾特hust.edu.cn
Blog: https://physcai.com
代碼太zz,就不開源了。
推薦閱讀: