9. Quantum Error Correction

2021. 1. 10. 07:16IBM C:LOUDERs/Quantum Computing

728x90

Error Correction


  • 오류보정을 알아보기에 앞서, 왜 필요한지 보겠습니다.
  • 예를들어, 기본 연산의 오류율이 0.1% 인 컴퓨터가 있습니다. (↔ 1000번당 1번 오류 발생)
  • 근데 실제 컴퓨터는 초당 수억개 의 연산을 합니다.
  • 오류가 엄청 많이 나겠죠?
  • 이 문제를 어떻게 해결 할 수 있을까요?

Classical Error Correction


  • Classic Error Correction 과 관련하여 3가지 Concept을 알아보겠습니다.
    • Error Model
    • Redundancy & Encoding
    • Error Recovery Procedure

  1. Error Model
    • Error ModelBit의 진화를 보여줍니다
    • 저장/이동 될 때 Bit는 Channel 이라는 곳을 통과합니다.
    • Channel은 Error에 대한 정보를 제공합니다.

    먼저 Classical Error model인 bit-flip channel을 알아보겠습니다.


    Bit Flip channel

    • 확률적으로 Bit가 이동합니다.

  1. Encoding & Redundancy
    • Error model에서 설명되는 Error에 대해서 강인하게 정보를 Encode 하고 싶습니다
    • 방법은 Bit를 추가해서 보호하면 됩니다 (Encode) 기본적인 Idea는 중복을 하는 것입니다. 다수결의 원칙처럼 중복된 데이터를 통해 원래 정보로 돌릴 수 있습니다. 이렇게 추가된 encoded bit를 codeword 라고 부릅니다.

  1. Error Recovery


[예제]

  • Bit가 3개 있습니다. 000 , 111 이런식
  • 어떤 bit 가 독립적인 확률 p 로 바뀝니다
  • 이 때, 전체 과정에서 오류가 발생할 확률은 ptot=3p2(1p)+p3p_{tot}=3p^2(1-p)+p^3 입니다.
    • p3p^3 : 3 비트가 모두 오류를 일으킬 확률
    • 3p2(1p)3p^2(1-p) : 2개 비트만 오류를 일으킬 확률

⇒ 기본적으로 n-개의 Bit에 반복해서 저장하면 오류율을 (2p)n22p)^{n \over 2} 수준으로 줄일 수 있습니다.


  • Error Correction 의 종류들
    • 격자 기반
    • 코드 기반
    • 통계 분석 기반
    • 타원 곡선 기반
    • 해시 기반

    이 중 코드기반 에 대해서 알아보겠습니다.

코드기반 오류 정정


흐름 : 중복 방식 → 패리티 체크 → 패리티 셋 → 패리티 오버랩 → LDPC

  1. 중복 방식

원리 : 같은 부분에서 오류가 나지 않으면 복원할 수 있을 것이다.

한계 : 같은 곳에서 오류가 발생하면 복원 불가능

또한, 오류를 잡기 위해 중복방식을 쓰기 때문에 코드 효율이 떨어집니다. 코드 효율 메시지의bit전송한전체bit{메시지의\, bit \over 전송한 \,전체 \,bit} 입니다.

2. 패리티 체크 방식

  • 패리티 라는 추가적인 비트를 사용합니다.
    • 짝수 방식 :

      특정 비트가 짝수가 되도록 패리티를 맞춤

    • 홀수 방식

한계 : 1개를 초과하는 오류를 감지할 수 없음

1의 전체 개수가 짝수개가 되도록 패리티를 설정

3. 패리치 체크 셋 방식

  • 패리티를 체크하는 Set를 묶는다

한계 : 같은 세트에서 1개를 초과하는 오류를 감지 할 수 없음

4. 패리티 오버랩 방식

  • 이를 통해서 기존의 한계를 극복할 수 있음 (1개 이상의 Error)

한계 : set이 커지고, 메시지가 커지면, 오류가 발생할 확률이 증가하며, 패리티 오버랩으로 확인하는데 많은 연산이 소모 됨

5. LDPC ( Low-Density Parity Check )

  • 아이디어 : Set이 담당하고 있던 면적(밀도)를 낮춘다

한계 : 생성된 Parity Bit 자체에 오류가 발생 할 수 있다

Quantum Error Correction


  1. Error Model
  • ψ=α0+β1|ψ⟩=α|0⟩+β|1⟩ 에서 시작합니다.
  • 다른 큐빗의 상태를 ϕ\phi 라고 할 때, ψϕψψψ⟩|ϕ⟩→|ψ⟩|ψ⟩ 로 복사하는 과정을 모델링 할 수 있습니다.
  • 오류 탐지
    • CNOT Gate를 통해서, Entangled State의 qubit을 직접 Measure 하지 않고 알 수 있습니다. 다른 qubit을 하나 더 추가해서 알 수 있습니다.
    • ψ=α0000+α0101+α1010+α1111.|ψ⟩=α_{00}|00⟩+α_{01}|01⟩+α_{10}|10⟩+α_{11}|11⟩.
    • ψ1203|ψ⟩_{12}|0⟩_{3} , 궁금한 qubit 1,2 를 두고, 새로 3번째 qubit 을 추가한 다음에, 3을 measure 하여, qubit 1,2 의 state를 얻습니다. (qubit 1,2,를 직접 측정하지 않고 !) 이 때 3번째 qubit을 ancilla 라고 부릅니다 → garbage가 되는 대상

2. Redundancy & Encoding

  • 기본 아이디어는 Redundacny를 사용한다는 것은 똑같습니다.
  • Bit-Flip model
    • 내용 : Quantum Channel을 통해서 qubit을 보낼 때, p 의 확률로 flip 되는 것
    • Encode : n개 bit를 entangled 시킵니다

  • Phase-Flip model
    • Encoding :
      • 0+++|0\rangle → |+++\rangle
      • 1|1\rangle → |---\rangle

  • Error Recovery Procedure
  • Shore's Bit-Flip Recover
    • 1,2,3 qubit을 TMR bit라고 부릅니다
    • 4,5를 Auxiliary 라고 부릅니다

  • Phase-Flip model

  • 접기