Yangja Wiki / 실무적 응용

양자컴퓨터 실사용 - pQC

pQC는 parameterized quantum circuit입니다. 실제 NISQ 응용에서 가장 자주 만나는 형태는 고정된 회로 구조에 각도 파라미터를 넣고, 측정값을 목적함수로 쓰는 방식입니다.

정의

파라미터 \theta를 가진 회로를 아래처럼 씁니다.

$$
|\psi(\theta)\rangle=U(\theta)|0^n\rangle
$$

측정 가능한 값은 보통 observable O의 기대값입니다.

$$
f(\theta)=\langle\psi(\theta)|O|\psi(\theta)\rangle
$$

pQC 자체는 알고리즘 이름이라기보다 회로 형식입니다. VQA, QML, QAOA, VQE가 모두 pQC를 재료로 사용합니다.

기본 구성요소

요소역할
feature map고전 데이터 x를 회로 각도나 상태로 넣음
ansatz학습 가능한 파라미터 회로 구조
entanglerCX/CZ/RZZ 등으로 큐비트 사이 상관을 만듦
measurement기대값 또는 bitstring 분포를 읽음
classical loopoptimizer가 파라미터를 갱신

필요한 학부 수준 배경

pQC를 이해하려면 선형대수의 “벡터에 행렬을 곱한다”는 감각이 필요합니다. 양자상태는 복소벡터이고, 게이트는 대체로 유니터리 행렬입니다.

$$
|\psi_{\mathrm{out}}\rangle
=
U(\theta)|\psi_{\mathrm{in}}\rangle
$$

고전 머신러닝에서 파라미터 \theta가 함수의 모양을 바꾸듯, pQC에서는 회전각 \theta가 양자상태의 방향과 상대위상을 바꿉니다. 중요한 차이는 출력 전체 상태를 그대로 읽을 수 없고, 측정을 통해 확률적 결과나 기대값만 얻는다는 점입니다.

그래서 pQC에는 양자컴퓨터의 세 성질이 직접 필요합니다. 첫째, 중첩은 여러 basis 성분을 동시에 가진 상태를 만듭니다. 둘째, 얽힘은 단순한 독립 feature 조합보다 복잡한 상관을 만듭니다. 셋째, 간섭은 어떤 결과의 진폭은 키우고 어떤 결과의 진폭은 지우는 방식으로 모델의 표현력을 만듭니다.

작은 예시

1큐비트 회로에서 R_y(\theta)를 적용하고 Z를 측정하면 아래입니다.

$$
R_y(\theta)|0\rangle
=
\cos{\theta\over2}|0\rangle+\sin{\theta\over2}|1\rangle
$$
$$
\langle Z\rangle
=
\cos^2{\theta\over2}-\sin^2{\theta\over2}
=
\cos\theta
$$

즉 회로 출력은 파라미터의 삼각함수로 나타납니다. 여러 큐비트와 얽힘층을 넣으면 이런 삼각함수들이 복잡하게 섞여 학습 가능한 함수가 됩니다.

Hardware-efficient ansatz

하드웨어에 맞춘 ansatz는 보통 단일 큐비트 회전층과 얽힘층을 반복합니다.

$$
U(\theta)
=
\prod_{\ell=1}^{L}
U_{\mathrm{ent}}
\left(\bigotimes_{j=1}^{n}R_z(\theta_{\ell,j,3})R_y(\theta_{\ell,j,2})R_x(\theta_{\ell,j,1})\right)
$$

장점은 구현이 쉽다는 점입니다. 단점은 표현력이 너무 크면 barren plateau가 생기고, 너무 작으면 문제 구조를 담지 못합니다. 실무에서는 하드웨어 연결성, 2큐비트 게이트 오류율, 필요한 표현력 사이에서 타협합니다.

표현력과 trainability

pQC가 복잡한 함수를 표현하려면 충분한 회전층과 entangling layer가 필요합니다. 하지만 표현력이 너무 큰 회로는 학습이 쉬운 회로와 다릅니다. 랜덤한 깊은 회로는 상태공간을 넓게 덮을 수 있지만, gradient가 작아져 optimizer가 움직이기 어려울 수 있습니다.

실무에서는 아래 균형을 봅니다.

선택좋은 점나쁜 점
얕은 회로noise가 적고 학습이 비교적 안정적표현력이 부족할 수 있음
깊은 회로복잡한 상관을 표현 가능decoherence와 barren plateau 위험
문제 구조 ansatz필요한 상태공간을 효율적으로 탐색도메인 지식이 필요
hardware-efficient ansatz장비에서 실행하기 쉬움문제 구조와 안 맞을 수 있음

gradient 계산

회전 게이트 e^{-i\theta P/2}에 대해 parameter-shift rule을 쓸 수 있습니다.

$$
{\partial f\over\partial\theta}
=
{1\over2}\left[
f\left(\theta+{\pi\over2}\right)
-f\left(\theta-{\pi\over2}\right)
\right]
$$

한 파라미터의 gradient를 얻기 위해 회로를 두 번 더 실행합니다. 파라미터 수가 많으면 gradient 추정 비용도 커집니다. shots noise까지 있으면 optimizer가 흔들립니다.

측정 설계

pQC의 출력은 상태벡터가 아니라 측정입니다. 따라서 모델을 설계할 때 “무엇을 측정할 것인가”가 회로만큼 중요합니다.

$$
y(\theta)=\langle O\rangle_\theta
$$

O=Z_0처럼 단일 큐비트만 보면 local한 정보만 읽습니다. O=Z_0Z_1처럼 상관 observable을 측정하면 두 큐비트의 parity 정보를 읽습니다. 회로가 얽힘을 만들었더라도 측정 observable이 그 얽힘을 볼 수 없으면 모델 출력에는 반영되지 않을 수 있습니다.

실사용 감각

  • pQC는 “양자 신경망”이라는 말보다 더 정확한 실무 단위입니다.
  • 데이터 인코딩, ansatz, 측정 observable이 모델의 inductive bias를 결정합니다.
  • 2큐비트 게이트가 많으면 표현력은 늘 수 있지만 하드웨어 오류도 늘어납니다.
  • 학습 곡선은 optimizer 문제인지, shots noise인지, ansatz 문제인지 분리해 봐야 합니다.