먼저 읽으면 좋은 용어
개념 소개
VQE(Variational Quantum Eigensolver)는 혼합(hybrid) 양자-고전 알고리즘으로, 주어진 해밀토니안 의 기저 상태(ground state) 에너지 를 근사적으로 구하는 데 사용된다. 완전한 양자 오류 정정이 어려운 NISQ(Noisy Intermediate-Scale Quantum) 장치에서도 작동하도록 설계되었다는 점이 실용적 강점이다.
핵심 아이디어는 양자역학의 **변분 원리(variational principle)**에서 출발한다. 임의의 정규화된 시험 상태 에 대해 다음 부등식이 항상 성립한다:
는 기저 상태 에너지의 상한이므로, 매개변수 를 최적화해 이를 최소화하면 에 점진적으로 수렴할 수 있다.
핵심 원리
VQE는 세 가지 구성 요소의 반복 루프로 작동한다.
1. Ansatz (시험 파동함수)
매개변수화된 양자 회로 를 초기 상태 에 적용해 시험 상태를 생성한다:
Ansatz는 표현력(expressibility)과 학습 용이성(trainability) 사이의 균형이 중요하다. 대표적 설계로는 Unitary Coupled Cluster(UCC)와 Hardware-Efficient Ansatz(HEA)가 있다.
2. 비용 함수 추정
해밀토니안을 파울리 연산자의 선형 결합으로 분해한다:
각 파울리 항의 기댓값 을 양자 회로에서 반복 측정하여 추정하고, 이를 선형 결합해 를 계산한다. 측정 횟수(샷 수)가 유한하므로 통계적 오차(샷 노이즈)가 필연적으로 발생한다.
3. 고전 최적화
를 최소화하기 위해 경사 하강법, SPSA, COBYLA 등 고전 최적화 알고리즘이 사용된다. 기울기 계산에는 **매개변수 이동 법칙(parameter-shift rule)**이 자주 적용된다:
이 규칙은 수치 미분 없이 실제 양자 회로 실행만으로 정확한 기울기를 얻을 수 있다는 점에서 중요하다.
바렌 평원(Barren Plateau) 문제: 무작위로 초기화된 깊은 회로에서는 기울기의 분산이 큐비트 수 에 대해 으로 지수 감소하여 최적화가 사실상 불가능해진다. 이는 현재 VQE 연구의 핵심 난제이다.
예시·응용
가장 대표적인 응용은 수소 분자()의 기저 상태 에너지 계산이다. STO-3G 기저 함수를 사용하면 2큐비트 해밀토니안으로 축약된다.
아래는 PennyLane을 이용한 간략한 VQE 구현 예시이다:
import pennylane as qml
from pennylane import numpy as np
# 2큐비트 해밀토니안 (H2 간략화 모델)
coeffs = [0.2252, 0.1715, -0.2252, 0.1715, 0.1200]
ops = [
qml.PauliZ(0),
qml.PauliZ(1),
qml.PauliZ(0) @ qml.PauliZ(1),
qml.PauliX(0) @ qml.PauliX(1),
qml.PauliY(0) @ qml.PauliY(1),
]
H = qml.Hamiltonian(coeffs, ops)
dev = qml.device("default.qubit", wires=2)
@qml.qnode(dev)
def ansatz(params):
qml.RY(params[0], wires=0)
qml.RY(params[1], wires=1)
qml.CNOT(wires=[0, 1])
return qml.expval(H)
# 고전 최적화 루프
params = np.array([0.1, 0.2], requires_grad=True)
opt = qml.GradientDescentOptimizer(stepsize=0.4)
for step in range(100):
params, energy = opt.step_and_cost(ansatz, params)
if step % 20 == 0:
print(f"Step {step:3d}: E = {energy:.6f} Ha")
실제 양자 화학 계산에서는 OpenFermion·PySCF 등으로 분자 해밀토니안을 생성하고, UCCSD(Unitary Coupled Cluster Singles and Doubles) ansatz를 적용하여 화학적 정확도(~1.6 mHa)에 근접한 결과를 얻는 것이 목표이다. VQE는 분자 에너지 이외에도 조합 최적화(MaxCut 등)를 QUBO 형태로 변환하여 적용하거나, 재료의 전자 구조 계산에 활용된다.
정리
VQE는 변분 원리를 기반으로 양자 하드웨어(에너지 추정)와 고전 컴퓨터(매개변수 최적화)를 결합한 혼합 알고리즘이다. 얕은 회로로도 운용 가능해 NISQ 장치에 적합하지만, 바렌 평원 문제·샷 노이즈·해밀토니안 분해 오버헤드 등 극복해야 할 과제가 존재한다. Ansatz 설계, 최적화 전략, 오류 완화(error mitigation) 기술의 발전이 VQE 실용화의 관건이다.
Exercises
연습문제
Q1변분 원리에 의하면 $E(\boldsymbol{\theta}) \geq E_0$가 항상 성립한다. 이때 시험 상태 $|\psi(\boldsymbol{\theta})\rangle$가 실제 기저 상태 $|\psi_0\rangle$와 정확히 일치할 경우, $E(\boldsymbol{\theta})$는 어떤 값이 되는가? 그 이유를 변분 원리의 관점에서 서술하라.
힌트 보기
기저 상태는 해밀토니안의 고유벡터임을 이용한다.
해설 보기
$|\psi(\boldsymbol{\theta})\rangle = |\psi_0\rangle$이면 $H|\psi_0\rangle = E_0|\psi_0\rangle$이므로, $E(\boldsymbol{\theta}) = \langle\psi_0|H|\psi_0\rangle = E_0\langle\psi_0|\psi_0\rangle = E_0$가 된다. 즉 등호 조건이 성립하며, $E(\boldsymbol{\theta})$는 정확히 기저 상태 에너지 $E_0$와 일치한다. 이는 VQE가 ansatz의 표현력이 충분할 때 정확한 기저 에너지를 원칙적으로 회수할 수 있음을 의미한다.
Q2매개변수 이동 법칙(parameter-shift rule)을 이용해 $\partial E / \partial \theta_i$를 계산하려면 양자 회로를 몇 회 실행해야 하는가? 매개변수가 총 $m$개일 때 전체 기울기 벡터를 구하기 위한 회로 실행 횟수를 구하라.
해설 보기
하나의 매개변수 $\theta_i$에 대한 기울기를 구하려면 $\theta_i + \pi/2$와 $\theta_i - \pi/2$ 두 점에서 각각 회로를 실행해야 하므로 2회가 필요하다. 매개변수가 $m$개이면 전체 기울기 벡터 계산에 $2m$회의 회로 실행이 필요하다. 이는 매개변수 수에 선형으로 비례하므로, 매개변수가 많아질수록 측정 오버헤드가 증가한다.
Q3바렌 평원(barren plateau) 현상이 VQE 학습에 미치는 영향을 서술하고, 이를 완화하기 위한 전략을 두 가지 이상 제안하라.
힌트 보기
기울기 분산과 회로 깊이·큐비트 수의 관계, 그리고 초기화 방법을 생각해 본다.
해설 보기
바렌 평원은 무작위로 초기화된 깊은 회로에서 기울기의 분산이 $O(2^{-n})$으로 지수 감소하는 현상이다. 이로 인해 최적화 방향을 잡을 수 없어 학습이 사실상 정지된다. 완화 전략으로는 ① **레이어별 학습(layer-by-layer training)**: 회로를 단계적으로 추가하며 이전 층의 가중치를 고정하고 학습하는 방식, ② **얕은 국소 ansatz 사용**: 전역적 얽힘 대신 국소 연산자에 제한된 ansatz 설계, ③ **사전 학습된 초기값 사용(warm start)**: 고전 알고리즘의 해를 초기 매개변수로 활용, ④ **자연 기울기(natural gradient) 최적화**: 파라미터 공간의 기하 구조를 반영해 실효적인 기울기를 계산하는 방법 등이 있다.
관련 용어


