量子糾錯 (Quantum Error Correction, QEC)
四、 錯誤處理:糾錯與緩解
3. 量子錯誤更正 (Quantum Error Correction, QEC)
3.1 錯誤來源與種類
由於量子位元對環境干擾極其敏感,各種噪聲都可能引入計算錯誤。主要的錯誤來源包括退相干(decoherence)和閘操作不完美等。退相干指量子位元與環境耦合後相干性喪失,使量子態趨於經典混合,常見於超導或離子系統與周圍環境交互作用。閘操作不完美則指施加量子閘時因校準偏差或噪聲導致的錯誤。
從效應上分類,量子位元的錯誤可抽象為三種基本類型:位元翻轉錯誤(bit-flip)將|0⟩誤變為|1⟩或反之,類似X閘作用;相位翻轉錯誤(phase-flip)改變了|1⟩相對於|0⟩的相位(|0⟩與|1⟩相對相位翻轉),類似Z閘作用;以及兩者兼有的綜合錯誤(例如Y閘引起同時位元與相位翻轉)。實際物理過程(如熱弛豫、能量弛豫)可分解成上述基本錯誤的組合。在當前實驗中,常見錯誤率雖然很低但仍不可忽略,因此必須透過錯誤更正來防止累積。:contentReference[oaicite:70]{index=70}IBM在2015年的一項研究中,首次實現了同時偵測出位元翻轉與相位翻轉兩種錯誤的技術,相較以往一次只能偵測一種錯誤,大幅提升了量子比特錯誤診斷的能力:contentReference[oaicite:71]{index=71}。
3.2 錯誤更正基本原理
量子錯誤更正的核心思想是在量子資料中引入冗餘,以便即使部分量子位元受到干擾,仍能從其餘位元中恢復正確的量子資訊:contentReference[oaicite:72]{index=72}。與經典錯誤更正類似,我們將一個邏輯量子位元的狀態用多個物理量子位元的聯合狀態來表示(稱作編碼)。當某些物理位元發生錯誤時,透過適當的糾錯碼設計,可以從多體糾纏狀態中檢測並推斷錯誤類型,再加以校正。:contentReference[oaicite:73]{index=73}值得注意的是,量子力學的不可複製定理禁止我們簡單地複製量子態來備份資訊,因此量子糾錯必須依賴間接的方式來獲取錯誤信息:透過對精心設計的輔助比特(或稱
測量比特)進行測量,得到稱為綜合症(syndrome)的錯誤指示。
典型的量子糾錯過程包括:先將邏輯態編碼到多個物理比特上,週期性地進行綜合症測量,以檢查是否發生特定形式的錯誤。這些測量選擇性地檢查比特間的關聯(如奇偶校驗),而不破壞邏輯資訊本身。根據測量結果對應的綜合症,我們可以判斷哪種錯誤發生在何處,再有針對性地施加校正量子閘將錯誤逆轉。例如,若某碼設計能檢測單一比特的X或Z錯誤,當偵測到某比特出現X錯誤綜合症時,就對該比特施加X閘校正。
量子錯誤更正需要重複進行,形成糾錯迴路。只要每回合錯誤率低於碼的容錯閾值,隨著編碼比特數增加,可以將邏輯錯誤率指數級地降低:contentReference[oaicite:74]{index=74}。這稱為量子閾值定理,它保證了當元件可靠度超過某臨界值時,就可以透過有限冗餘實現任意長的可靠計算。實現這一目標需付出極大代價:通常一個邏輯量子位元可能需要上百甚至上千個物理量子位元來保護,同時不斷地快速讀出輔助比特並進行即時反饋校正。這對量子計算機的架構和控制系統都提出了極高要求。
3.3 常見的量子錯誤更正碼
- 肖爾碼 (Shor Code):最早的量子糾錯碼之一,由Peter Shor於1995年提出:contentReference[oaicite:75]{index=75}。肖爾碼使用9個物理量子比特來編碼1個邏輯量子比特,可糾正任意單比特錯誤:contentReference[oaicite:76]{index=76}。其構造結合了位元翻轉碼和相位翻轉碼:首先用3個比特的重複碼保護位元值,再將每個比特經由Hadamard變換後再用3個比特保護相位,總共9個比特。當一個比特發生X或Z錯誤時,綜合症測量可以檢測到哪一組中發生異常,進而校正之。肖爾碼是概念驗證性質的碼,雖然冗餘度高但首度證明了量子糾錯的可行性。
- 斯蒂恩碼 (Steane Code):由Andrew Steane於1996年提出,是一個7比特的量子糾錯碼:contentReference[oaicite:77]{index=77}。它屬於CSS碼(Calderbank-Shor-Steane碼)的一種,直接源自經典的[7,4,3]漢明碼。Steane碼能夠糾正任意單比特錯誤,其較肖爾碼減少了冗餘(7比特編碼1比特)。該碼的檢錯算符由3個X型和3個Z型六個穩定子構成,各自對應經典漢明碼的校驗矩陣。Steane碼的另一優點是可採用「糾纏退避術」進行非破壞性隱式校正,具備一定的實用價值。目前在離子阱等系統已有實驗演示Steane碼的糾錯能力:contentReference[oaicite:78]{index=78}。
- Bacon–Shor碼:這是Shor碼的一種推廣形式,由Dave Bacon與Austin Shor等人提出,也是第一種子系統碼的例子:contentReference[oaicite:79]{index=79}。Bacon–Shor碼將n×m的二維排列量子比特作為編碼空間,其中行與列的冗餘允許定義出權重較低的穩定子以檢測錯誤,但同時引入了一些不影響編碼邏輯態的「垃圾」自由度(子系統)。這使得在不破壞邏輯態的前提下,可以簡化部分綜合症的測量。最小的Bacon–Shor碼是9比特碼(3×3陣列)編碼1個邏輯比特,能糾正任意單比特錯誤:contentReference[oaicite:80]{index=80}。Bacon–Shor碼的優勢在於某些實作上測量方便、閘操作更簡單,但缺點是它本身沒有拓撲保護,隨距離增加閾值趨近於0,需要較小距離下搭配其他方案。
- 表面碼 (Surface Code):當前研究最廣泛、被認為最有希望實用化的量子糾錯碼之一。表面碼是一種拓撲量子糾錯碼,將量子比特排列在一張平面格子(通常是2D平面或平面上的穴形排列)上,每個物理比特只需與鄰近比特作用。透過定義每個小鄰域(如由4個比特組成的Plaquette)上的X-型與Z-型穩定子,可以檢測平面上任何局部的X或Z錯誤。表面碼的糾錯能力隨著平面尺寸增加(即碼的距離增大)而增強,並具有目前最高的錯誤閾值之一(約1%),意味著只要單量子閘錯誤率低於1%,理論上表面碼就能壓制錯誤達任意低:contentReference[oaicite:81]{index=81}。Google在2023年使用127個超導量子比特的「Sycamore」處理器演示了表面碼的關鍵里程碑:成功構建多個邏輯量子比特,並觀察到隨著碼距離增加邏輯錯誤率指數下降:contentReference[oaicite:82]{index=82}。表面碼的實作挑戰在於其需要大量物理比特冗餘(一個邏輯比特可能用上百比特)以及快速並行的穩定子測量,但在超導和離子平台上已逐步逼近小型糾錯迴路的實現。
3.4 對量子電腦建構的影響與挑戰
量子錯誤更正技術對量子電腦的實際建構產生深遠影響。一方面,它提供了實現大規模可靠量子計算的唯一途徑:沒有糾錯,大多數量子系統的相干時間無法支撐足夠長的計算。但另一方面,糾錯引入了巨大的硬體和控制開銷。目前最先進的量子處理器僅有數十至上百個量子位元,要執行容錯計算可能需要上百萬個物理位元以編碼足夠多的邏輯位元,這對製程和控制電子學提出了前所未有的要求。
首先,硬體層面需要拓展量子位元數量並確保其個別錯誤率在閾值以下。這意味著超導、離子阱等平臺要在擴充數量的同時維持或降低單比特與雙比特閘的錯誤率。目前Google、IBM等致力於提高超導比特的一致性和降低噪聲,希望達到容錯所需水準。同時,晶格型拓撲碼(如表面碼)要求量子位元在幾何上進行2D規則排列,這對製造與封裝技術也是挑戰。
其次,操作層面需要高速、高精度的量子態讀出和即時反饋控制。糾錯碼通常每幾個量子閘操作就需插入一次綜合症測量迴路,整個過程需要在相干時間內完成並應用修正。這要求控制系統能在微秒量級上讀取數十乃至上百個輔助比特的測量結果,經運算決策後快速調用相應補償閘,這超出了傳統電子控制的速度範疇,需要特殊的協同設計。
最後,量子錯誤更正還對軟體架構與演算法提出挑戰。如何優化編碼方案以減少冗餘、研發適用於不同硬體的糾錯碼、以及在高層演算法中引入錯誤預警和容錯步驟,都是目前研究的重點方向。例如,針對NISQ裝置的錯誤緩解技術就是在完全容錯前的一種折衷方案。當真正容錯的量子電腦實現時,預計其架構將與今日的實驗原型有顯著不同,但也標誌著量子計算將跨越從科學實驗到實用技術的關鍵門檻。
6. 容錯的必要性
6.1 量子錯誤的獨特性
量子錯誤的性質遠比古典錯誤複雜。在古典電腦中,錯誤通常只有一種形式:位元翻轉(bit-flip),即0變成1或1變成0。然而,在量子世界中,錯誤是連續的。除了對應於Pauli-X算符的位元翻轉錯誤,還存在一種沒有古典對應的錯誤:相位翻轉(phase-flip),它對應於Pauli-Z算符,會將量子態 $|1\rangle$ 的相位變為 $-|1\rangle$,從而破壞疊加態的精確性 [10, 58]。此外,還可能發生位元和相位同時翻轉的錯誤(對應Pauli-Y算符)。事實上,任何單個量子位元上發生的任意錯誤,都可以被分解為Pauli算符 $I, X, Y, Z$ 的線性組合 [58, 59]。
更具挑戰性的是,量子力學的「不可克隆定理」指出,我們無法完美地複製一個未知的任意量子態 [60]。這意味著古典糾錯中最簡單直接的策略——重複編碼(例如,將資訊0編碼為000,通過多數表決來糾錯)——無法直接應用於量子資訊。我們不能簡單地複製一個量子位元來防範錯誤 [59, 60]。
6.2 量子糾錯的核心概念
面對這些獨特的挑戰,QEC發展出了一套精巧的理論框架,其核心概念包括:
- 冗餘編碼 (Redundancy): 儘管不能複製,但我們可以將單個「邏輯量子位元」(logical qubit)的資訊,通過糾纏,「分散」編碼到多個「物理量子位元」(physical qubits)的集體狀態中 [10, 59, 60, 61]。邏輯量子位元是我們想要保護的理想資訊單元,而物理量子位元是構成電腦的、易受噪聲影響的實際單元。
- 症狀測量 (Syndrome Measurement): 這是QEC的精髓所在。通過對物理量子位元進行特定的集體測量(通常是藉助輔助的「ancilla」量子位元),我們可以提取出關於錯誤類型和發生位置的資訊,這些資訊被稱為「錯誤症狀」(error syndrome)。最關鍵的是,這個測量過程被巧妙地設計成不會洩露或干擾儲存在邏輯量子位元中的實際量子資訊(即 $\alpha$ 和 $\beta$ 的值),從而避免了測量導致的波函數坍縮問題 [10, 61]。
- 穩定子形式化 (Stabilizer Formalism): 這是一個強大而優雅的數學框架,用於描述和構建QEC碼。在該框架下,一個編碼的碼空間(code space)被定義為一個由一組相互對易的Pauli算符(稱為穩定子生成元)所構成的群的公共+1特徵子空間 [58, 62]。任何作用在碼字上的穩定子算符都會使其保持不變。當錯誤發生時,狀態會被「踢出」這個子空間,變成某些穩定子算符的-1特徵態。通過測量這些穩定子生成元的特徵值(結果為+1或-1),我們就能得到一組二進制症狀,從而推斷出最可能發生的錯誤並進行糾正。
- 編碼距離 (Code Distance, d): 這是一個衡量QEC碼能力的重要參數,定義為能夠將一個有效碼字變換為另一個有效碼字的最小Pauli錯誤算符的權重(即作用在非單位矩陣上的量子位元數)。一個距離為 $d$ 的編碼能夠檢測 $d-1$ 個錯誤,並能糾正 $t = \lfloor(d-1)/2\rfloor$ 個任意的物理量子位元錯誤 [10, 60]。
QEC的實現本身也依賴於量子閘操作,而這些操作同樣會引入錯誤。這引出了一個更深層次的概念——「容錯」(Fault Tolerance)。一個容錯的QEC方案必須保證,執行糾錯操作的過程本身所引入的新錯誤,不會級聯擴散,導致不可糾正的邏輯錯誤 [63, 64]。這對物理量子閘的保真度提出了一個最低要求,即「容錯閾值」(fault-tolerant threshold)。只有當物理錯誤率低於這個閾值時,增加編碼的冗餘度才能真正地、可持續地降低邏輯錯誤率。達到並超越這個閾值,是構建可擴展、大規模量子電腦的關鍵瓶頸和核心研究方向。
7. 基礎QEC碼巡禮
自QEC理論誕生以來,研究人員已經設計出多種QEC碼。其中,Shor碼、Steane碼和表面碼是最具代表性的例子,它們展示了QEC思想的演進。
7.1 Shor碼
Shor碼由Peter Shor於1995年提出,是歷史上第一個量子糾錯碼,它證明了在理論上克服量子噪聲是可能的 [10, 65, 66]。
- 結構與原理: Shor碼是一個 `[]` 碼,即使用9個物理量子位元來編碼1個邏輯量子位元,其編碼距離為3,因此能夠糾正任意單個物理量子位元上發生的錯誤 [10, 59, 65, 67]。它的構建思想非常巧妙,是一種「級聯碼」(concatenated code)[67]。它將兩種簡單的3-qubit重複碼組合在一起:首先,用一個相位翻轉重複碼來保護量子態的相位資訊;然後,再將這個碼中的每一個量子位元,用一個位元翻轉重複碼來保護其位元值資訊。這樣,一個邏輯位元的資訊就被分散到了 $3 \times 3 = 9$ 個物理位元中,同時具備了抵抗位元翻轉和相位翻轉錯誤的能力 [59]。
7.2 Steane碼
幾乎在Shor碼提出的同時,Andrew Steane也獨立地發現了Steane碼,它在編碼效率上更進一步。
- 結構與原理: Steane碼是一個 `[]` 碼,僅用7個物理量子位元就能編碼1個邏輯量子位元,並同樣能糾正任意單個錯誤 [62, 64, 68]。它屬於CSS碼(由Calderbank、Shor和Steane共同提出)的一類,這類碼的特點是其穩定子可以被分為純X類型和純Z類型,並且可以由兩個古典線性碼來構造。Steane碼正是利用了經典的 `` 哈明碼(Hamming code)來分別構建其X錯誤和Z錯誤的校驗矩陣 [62, 68]。
- 優勢: 除了更高的編碼效率,Steane碼在容錯計算方面也顯示出優勢。它的一些邏輯閘操作(如CNOT閘)可以通過在物理量子位元上逐位(transversally)應用相應的閘來實現,這種結構有助於防止錯誤在閘操作過程中擴散,使得構建容錯電路更為簡潔 [63, 64]。
7.3 表面碼
表面碼是目前最受關注和研究最深入的QEC碼,被廣泛認為是構建大規模容錯量子電腦最有希望的候選方案。
- 結構與原理: 表面碼是一種拓撲QEC碼,其物理量子位元排列在一個二維的方格晶格上 [10]。邏輯資訊並非儲存在某幾個特定的量子位元上,而是編碼在整個晶格的全局、拓撲性質中。其穩定子測量對應於晶格上局部的「面算符」(plaquette operators,通常是Z型)和「頂點算符」(vertex operators,通常是X型)。
- 優勢: 表面碼最大的優點是其極高的容錯閾值。理論估計其閾值可以達到1%左右 [10],這在所有已知的QEC碼中是最高的之一。這意味著只要物理元件的錯誤率能控制在這個水平之下,原則上就可以通過增大晶格的尺寸(即增加物理量子位元數量)來任意地壓低邏輯錯誤率。此外,其穩定子測量只需要在晶格上的近鄰量子位元之間進行交互,這與當前主流的超導量子晶片等二維硬體架構天然契合 [4]。
- 挑戰: 表面碼的主要缺點是其巨大的資源開銷(overhead)。為了編碼一個高質量的邏輯量子位元,可能需要數百甚至數千個物理量子位元 [61]。這使得在近期內利用表面碼構建擁有大量邏輯量子位元的電腦仍然是一個巨大的挑戰。
從Shor碼的概念性證明,到Steane碼的效率提升,再到表面碼對實用性和高閾值的追求,QEC碼的發展清晰地反映了該領域從理論探索走向工程實踐的演進路徑。下表對這三種關鍵的QEC碼進行了比較。
提議的表格2:關鍵量子糾錯碼比較
編碼 | 參數 [[n,k,d]] | 物理/邏輯位元比 | 糾錯能力 | 核心原理 | 主要優勢 | 主要挑戰 |
---|---|---|---|---|---|---|
Shor碼 | [] | 9 : 1 | 糾正任意1-qubit錯誤 | 級聯碼:位元翻轉碼 + 相位翻轉碼 [59, 67]。 | 歷史上第一個,證明了QEC的可能性 [65]。 | 資源開銷較大,容錯實現複雜。 |
Steane碼 | [] | 7 : 1 | 糾正任意1-qubit錯誤 | CSS碼,基於古典哈明碼 [62, 68]。 | 編碼效率更高,具有良好的容錯閘結構 [64]。 | 閾值相對表面碼較低。 |
表面碼 | [[d², 1, d]] (簡化) | d² : 1 (d > 1) | 糾正 (d-1)/2 個錯誤 | 拓撲碼,穩定子為局部算符 [10]。 | 極高的容錯閾值,僅需近鄰交互,適合2D硬體 [10]。 | 巨大的物理量子位元開銷(overhead)[61]。 |