VQA는 양자회로와 고전 optimizer를 번갈아 쓰는 알고리즘 계열입니다. NISQ 장비에서 긴 오류정정 회로 대신 짧은 파라미터 회로를 반복 실행하는 전략입니다.
## 기본 루프 {#loop}
1. 파라미터 $\theta$로 회로 $U(\theta)$를 준비합니다.
2. 양자장비에서 observable 기대값을 추정합니다.
3. 고전 optimizer가 $\theta$를 갱신합니다.
4. 목적함수가 수렴할 때까지 반복합니다.
$$
C(\theta)=\langle0|U^\dagger(\theta)HU(\theta)|0\rangle
$$
VQE에서는 이 cost가 에너지이고, QAOA에서는 combinatorial optimization 목적함수의 기대값입니다.
## 왜 VQA인가 {#why-vqa}
이상적인 fault-tolerant quantum computer가 있으면 QPE, HHL, QSVT 같은 깊은 회로를 목표로 할 수 있습니다. 하지만 NISQ 장비에서는 긴 회로가 오류로 무너집니다. VQA는 이 현실을 받아들이고, 양자장비에는 짧은 회로의 기대값 계산을 맡기고, 파라미터 탐색은 고전컴퓨터에 맡깁니다.
즉 VQA는 양자컴퓨터의 모든 것을 대체하는 방식이 아니라 hybrid 방식입니다. 양자컴퓨터의 역할은 고전적으로 다루기 어려운 상태공간의 기대값을 샘플링하는 것이고, 고전컴퓨터의 역할은 noisy한 목적함수 위에서 다음 파라미터를 고르는 것입니다.
## VQE {#vqe}
VQE는 변분 원리를 사용합니다. 해밀토니안 $H$의 바닥상태 에너지 $E_0$에 대해 임의 상태의 기대값은 항상 그 이상입니다.
$$
E(\theta)=\langle\psi(\theta)|H|\psi(\theta)\rangle\ge E_0
$$
따라서 $E(\theta)$를 낮추는 파라미터를 찾으면 바닥상태에 가까운 상태를 얻습니다. 해밀토니안은 보통 Pauli sum입니다.
$$
H=\sum_j c_jP_j,
\qquad
E(\theta)=\sum_j c_j\langle P_j\rangle_\theta
$$
각 Pauli 항의 기대값을 shots로 추정하므로 측정 예산이 중요합니다.
## VQE에서 필요한 물리 감각 {#vqe-practice}
학부 양자역학에서 해밀토니안의 고유값은 가능한 에너지입니다. 바닥상태는 가장 낮은 에너지 고유상태입니다.
$$
H|E_j\rangle=E_j|E_j\rangle,
\qquad E_0\le E_1\le\cdots
$$
VQE가 필요한 이유는 분자나 물성 모델의 Hilbert space가 너무 빠르게 커지기 때문입니다. 고전컴퓨터가 전체 행렬을 직접 대각화하기 어려운 영역에서, 양자컴퓨터는 같은 Hilbert space를 물리적으로 표현할 수 있다는 기대가 있습니다. 다만 NISQ에서는 정확한 고유값 알고리즘 대신 짧은 ansatz로 바닥상태 근처를 찾는 전략을 씁니다.
## QAOA {#qaoa}
QAOA는 cost Hamiltonian과 mixer Hamiltonian을 번갈아 적용합니다.
$$
|\gamma,\beta\rangle
=
\prod_{\ell=1}^{p}e^{-i\beta_\ell H_M}e^{-i\gamma_\ell H_C}|+\rangle^{\otimes n}
$$
$p$가 커질수록 표현력은 커지지만 회로도 깊어집니다. NISQ에서는 작은 $p$에서 의미 있는 근사 성능을 얻는지가 핵심입니다.
## Cost landscape와 shots noise {#cost-landscape}
VQA의 optimizer는 정확한 함수값을 보는 것이 아니라 shots로 추정한 noisy한 함수값을 봅니다.
$$
\hat C(\theta)=C(\theta)+\eta_{\mathrm{shot}}+\eta_{\mathrm{hardware}}
$$
shots를 늘리면 통계 오차는 줄지만 실행 비용이 늘어납니다. 하드웨어 오류는 shots를 늘린다고 사라지지 않습니다. 그래서 VQA 실험에서는 optimizer가 실패했을 때 “ansatz가 나쁜지, shots가 부족한지, noise가 큰지, learning rate가 큰지”를 분리해야 합니다.
## Barren plateau {#barren}
파라미터가 많은 랜덤 회로에서는 gradient가 지수적으로 작아질 수 있습니다.
$$
\mathrm{Var}\left({\partial C\over\partial\theta_i}\right)\sim O\left({1\over 2^n}\right)
$$
이 현상을 barren plateau라고 합니다. optimizer 입장에서는 어디로 가야 할지 신호가 거의 없는 평평한 지형처럼 보입니다. 문제 구조를 반영한 ansatz, 얕은 회로, local cost, 좋은 초기화가 완화책입니다.
## 양자적 성질이 필요한 지점 {#why-quantum-needed}
VQA에서 양자컴퓨터가 필요한 이유는 단순히 “파라미터가 있는 함수”를 만들기 위해서가 아닙니다. 그런 함수는 고전 신경망으로도 만들 수 있습니다. 양자컴퓨터를 쓰는 이유는 특정 문제에서 상태공간, 얽힘, 해밀토니안 기대값이 자연스럽게 양자계 언어로 표현되기 때문입니다.
예를 들어 화학 문제는 전자 상태 자체가 양자상태입니다. 이 상태를 고전 bit로 모두 펼치면 차원이 폭발합니다. 반면 양자회로는 큐비트 수에 따라 Hilbert space가 지수적으로 커지므로, 적절한 ansatz가 있다면 전자 상태의 중요한 부분을 더 자연스럽게 표현할 수 있습니다. 이 기대가 VQE의 핵심 동기입니다.
## Optimizer 선택 {#optimizer}
| optimizer | 감각 |
| --- | --- |
| COBYLA/Nelder-Mead | gradient 없이 작은 문제에서 시작하기 좋음 |
| SPSA | shots noise가 있는 환경에서 자주 사용 |
| Adam/SGD | parameter-shift gradient와 결합 가능 |
| natural gradient | quantum geometry를 반영하지만 비용이 큼 |
## VQA 실험 기록 {#workflow}
1. ansatz 구조와 depth
2. observable 분해와 측정 grouping
3. shots 수와 seed
4. optimizer 이름과 hyperparameter
5. raw cost, mitigated cost, gradient norm
6. 최종 파라미터와 회로 리소스