양자 오류 정정(Quantum Error Correction)란?

하나의 논리 큐비트의 정보를 많은 물리 큐비트로 펼쳐서 갖게 하고, 오류의 단서(신드롬)만을 측정하여 계산 도중에 오류를 찾아 고치는 기술. 비트 반전과 위상 반전 두 가지 오류를 모두 다뤄야 하며, 물리 오류율이 임계값보다 충분히 낮은 것이 전제가 된다.

일본어 명칭: 量子誤り訂正

양자 오류 정정(Quantum Error Correction)은(는) 양자 컴퓨터의 하드웨어 등 1개 분야의 연습 문제 1개에 나와요.

분야: 양자 컴퓨터의 하드웨어

고전적인 오류 정정과의 차이

고전적인 오류 정정은 데이터를 복사하거나 패리티 비트를 붙여서 오류를 찾아 고칩니다. 큐비트에서는 미지의 상태를 복제할 수 없고(복제 불가능 정리), 데이터를 직접 측정하면 중첩이 깨져 버립니다. 그래서 예를 들어 α|0⟩ + β|1⟩를 α|000⟩ + β|111⟩ 같은 얽힌 상태로 펼치고, 보조 큐비트로 '첫 번째와 두 번째가 같은가', '두 번째와 세 번째가 같은가'만을 측정합니다. 이 결과(신드롬)로부터 어디에서 비트가 반전되었는지를 알 수 있어, α와 β를 모르는 채로 원래대로 되돌릴 수 있습니다. 실제 부호는 위상 반전 오류도 동시에 검출할 수 있도록 만듭니다.

임계값과 부호 거리

물리 큐비트의 오류율이 임계값(표면 코드에서는 기준으로 1% 정도)보다 낮으면, 부호를 크게 할수록 논리 오류율은 지수적으로 내려갑니다. 표면 코드에서는 논리 오류율이 대략 (p/p_th)^((d+1)/2)에 비례하며, 부호 거리 d를 2 늘릴 때마다 p_th/p분의 1이 됩니다. 회전형 표면 코드에서는 하나의 논리 큐비트에 데이터용 d²개와 측정용 d² − 1개, 합하여 2d² − 1개의 물리 큐비트를 사용하며, d = 25라면 1,249개가 됩니다.

구현의 과제

초전도 방식의 표면 코드에서는 신드롬 측정이 대략 1 µs마다 반복되므로, 그 결과로부터 오류의 위치를 추정하는 복호기(디코더)도 그에 뒤처지지 않는 속도로 계속 동작해야 합니다. 여기에는 FPGA나 전용 회로가 쓰입니다. 또한 큐비트가 |2⟩ 등 바깥 준위로 새는 오류나, 방사선 등으로 많은 큐비트에 동시에 일어나는 오류는 보통의 부호가 상정하는 독립적인 오류와 다르므로 별도의 대책이 필요합니다. 오류에 강한 계산을 하려면 특정 게이트를 위해 특별한 상태를 만드는 공정도 필요하며, 이것도 필요한 큐비트 수를 늘립니다.

도전해 보기: 양자 오류 정정(Quantum Error Correction) 관련 문제

양자 오류 정정에서 고전적인 오류 정정처럼 '같은 데이터를 3개 복사하여 다수결을 취하는' 방법을 그대로 쓸 수 없는 이유로 올바른 것은?

  1. A미지의 양자 상태는 정확히 복제할 수 없고(복제 불가능 정리), 값을 확인하려고 측정하면 중첩이 깨져 버리기 때문
  2. B큐비트는 0과 1의 두 값만 취하므로, 다수결을 취할 의미가 없기 때문
  3. C큐비트의 오류는 비트 반전뿐이므로, 복사하지 않아도 패리티를 하나 붙이는 것만으로 정정할 수 있기 때문
정답과 해설 보기

정답: A. 미지의 양자 상태는 정확히 복제할 수 없고(복제 불가능 정리), 값을 확인하려고 측정하면 중첩이 깨져 버리기 때문

복제 불가능 정리에 의해, 미지의 양자 상태 α|0⟩ + β|1⟩를 다른 큐비트에 그대로 옮겨 적는 조작은 존재하지 않습니다. 또한 데이터를 가진 큐비트를 직접 측정하면 중첩이 깨져 버립니다. 그래서 양자 오류 정정에서는 하나의 논리 큐비트의 정보를 여러 물리 큐비트의 얽힌 상태로 펼쳐서 갖게 하고, 보조 큐비트를 사용하여 이웃한 큐비트의 패리티 같은 오류의 단서(신드롬)만을 측정합니다. 큐비트의 오류에는 비트 반전 외에 위상 반전도 있어, 둘 다 검출해야 합니다.

자주 묻는 질문

하나의 논리 큐비트에 물리 큐비트는 몇 개 필요한가요?

부호의 종류, 물리 오류율, 목표로 하는 논리 오류율에 따라 크게 달라집니다. 표면 코드에서 물리 오류율이 0.1% 정도인 경우, 실용적인 계산에는 수백~천수백 개 정도라는 추산이 자주 쓰입니다. 물리 오류율이 내려가면 필요한 수도 줄어듭니다.

오류 완화(error mitigation)와는 어떻게 다른가요?

오류 정정은 계산 도중에 오류를 고치므로 원리적으로는 긴 계산도 가능해지지만, 많은 물리 큐비트가 필요합니다. 오류 완화는 오류의 영향을 추정하여 측정 결과의 후처리로 보정하는 방법으로, 큐비트를 늘리지 않고 쓸 수 있지만 회로가 커지면 필요한 측정 횟수가 급격히 늘어나므로 긴 계산에는 쓸 수 없습니다.

해설 속 양자 오류 정정(Quantum Error Correction)

양자 오류 정정(Quantum Error Correction)이(가) 나오는 문제 (1)

  1. 양자 오류 정정에서 고전적인 오류 정정처럼 '같은 데이터를 3개 복사하여 다수결을 취하는' 방법을 그대로 쓸 수 없는 이유로 올바른 것은?

관련 용어

큐비트(Qubit) 결어긋남(Decoherence) 쇼어 알고리즘(Shor's Algorithm) 스핀 큐비트(Spin Qubit) 양자 게이트(Quantum Gate) 양자 내성 암호(Post-Quantum Cryptography) 양자 얽힘(Quantum Entanglement) 양자 중첩(Quantum Superposition) 이온 트랩(Ion Trap) 조셉슨 접합(Josephson Junction)

용어집으로 돌아가기