courses
고전 컴퓨터가 진땀을 빼는 문제가 있습니다. 분자가 상호작용하는 방식을 시뮬레이션하고, 거대한 조합 공간을 탐색하고, 큰 수를 인수분해하는 일은 하드웨어 성능 향상을 앞지를 만큼 계산량이 빠르게 불어납니다. 양자 컴퓨터는 이런 문제를 다른 각도에서 접근하며, 소수지만 늘어나는 연구자들은 그 차이가 머신 러닝에도 도움이 될 수 있는지 묻고 있습니다.
그 질문이 바로 양자 머신 러닝(QML)의 본질입니다. 이 가이드는 QML이 실제로 무엇인지, 이해에 필요한 양자 개념, 현재 사람들이 실험 중인 주요 알고리즘, 그리고 이 분야의 현재 위치를 살펴봅니다. 미리 말하자면, 헤드라인에서 느끼는 것보다 훨씬 초기 단계에 있습니다. 이미 저희 Machine Learning Scientist in Python 트랙으로 고전적 ML을 다뤄 보셨다면, 여기에서도 익숙한 구조를 많이 보게 될 것입니다.
양자 머신 러닝이란?
양자 머신 러닝은 머신 러닝 작업의 일부를 수행하거나 가속하기 위해 양자 컴퓨팅을 사용하는 것을 말합니다. 이는 데이터를 양자 상태로 인코딩하거나, 고전적 모델 구성요소 대신 양자 회로를 사용하거나, 일반적인 학습 루프 안에서 양자 서브루틴을 호출하는 것을 의미할 수 있습니다. 이 라벨은 범위가 넓습니다. 대부분은 고전적이지만 한 단계만 양자화한 방법부터 전적으로 양자 하드웨어에서 돌아가도록 설계된 모델까지 포괄합니다.
본격적으로 들어가기 전에, QML이 아닌 것을 먼저 짚고 가는 것이 혼란을 줄이는 데 도움이 됩니다. 지금 사용하는 모델을 즉시 더 빠르게 바꿔 줄 대체제가 아니며, 고전적 ML을 전면 대체하려는 경주도 아닙니다. 이 분야의 대부분은 연구 단계로, 시뮬레이터나 작고 잡음이 많은 양자 장비에서 실행됩니다. 솔직한 정리는 이렇습니다. QML은 더 좁은 질문을 합니다. 즉, 양자 하드웨어가 고전 하드웨어로는 쉽게 따라잡기 어려운 무언가를 제공할 수 있는 특정 ML 문제가 있는가? 소수의 문제 유형에서는 답이 유망해 보입니다. 대다수에서는 여전히 고전적 ML이 정답이며, 저희 Understanding Machine Learning 코스가 대부분의 사람에게 필요한 기초를 다룹니다.
양자 컴퓨팅 기초
이 글을 따라가려면 물리학 학위가 필요하지는 않지만, 몇 가지 아이디어를 알면 QML이 훨씬 덜 신비롭게 느껴집니다. 요약만 보셔도 됩니다. 이미 익숙하다면 건너뛰세요.
큐비트와 비트
고전적 비트는 0 또는 1입니다. 큐비트는 두 상태의 혼합을 동시에 가질 수 있으며, 측정할 때에야 비로소 명확한 0 또는 1로 정해집니다. 측정 전 큐비트는 각 결과의 확률을 결정하는 두 개의 진폭으로 표현됩니다. 핵심은 이것입니다. n개의 큐비트 레지스터는 2ⁿ개의 상태 조합을 한 번에 나타낼 수 있지만, n개의 고전 비트는 매 순간 그중 하나만 담을 수 있습니다.
단, 양자 컴퓨팅에는 늘 따라오는 함정이 있습니다. 그 많은 상태를 그대로 읽어 낼 수는 없습니다. 측정하면 큐비트가 단일 값으로 붕괴하기 때문에, 유용한 정보를 얻으려면 주의가 필요합니다. 이 제한은 처음엔 별것 아닌 것처럼 들리지만 생각보다 훨씬 중요하며, 잠시 후 보시겠지만 QML 알고리즘이 설계되는 방식에 큰 영향을 줍니다.
중첩과 얽힘
그 상태의 혼합을 중첩이라 부릅니다. 두 번째 아이디어인 얽힘에서 흥미로워집니다. 둘 이상의 큐비트가 매우 강하게 상관되어, 다른 큐비트를 설명하지 않고는 하나를 설명할 수 없게 됩니다. 얽힌 큐비트 하나를 측정하면, 원칙적으로 거리가 멀어도 짝에 대해 어떤 정보를 즉시 알게 됩니다. 고전 비트에는 이에 해당하는 개념이 없으며, 양자 컴퓨팅의 이점으로 제시되는 것의 대부분이 어떤 식으로든 여기에 기대고 있습니다.
양자 게이트
그렇다면 중첩과 얽힘 상태의 큐비트를 실제로 어떻게 다룰까요? 그때 필요한 것이 양자 게이트입니다. 이는 큐비트 상태의 가역적인 회전입니다. 아다마르 게이트는 큐비트를 중첩 상태로 만들고, CNOT 게이트는 두 큐비트를 얽히게 합니다. 게이트를 이어 붙이면 양자 회로가 되며, 이는 프로그램의 양자 버전입니다. 모든 것은 선형대수에 기반합니다. 상태는 벡터, 게이트는 행렬이며, 회로를 실행하는 것은 일련의 행렬 연산입니다. 이 부분이 아쉽다면, 데이터 과학 학습 경로에서 익힌 선형대수 역량이 그대로 통합니다.
큐비트, 중첩, 얽힘, 게이트만 이해하면, QML 워크플로에서 이 요소들이 실제로 어떻게 맞물리는지 볼 준비가 된 것입니다.
양자 머신 러닝은 어떻게 작동하나
거시적으로 보면, QML 워크플로는 네 단계로 이뤄집니다. 첫째, 고전 데이터를 양자 상태로 인코딩합니다. 보통 특징 값을 회전 각도나 진폭에 매핑합니다. 둘째, 종종 조정 가능한 매개변수를 가진 양자 회로를 적용합니다. 셋째, 회로를 측정합니다. 한 번의 측정은 붕괴된 단일 결과만 주기 때문에, 신뢰할 수 있게 추정하려면 여러 번 실행해 표본을 충분히 모아야 합니다. 넷째, 그 결과를 학습 과정에 피드백합니다.
실용적인 QML의 대부분은 마지막 단계에 있습니다. 모든 것을 양자 장비에서 돌리는 대신, 하이브리드 루프를 구성합니다. 양자 회로가 값을 내고, 고전적 옵티마이저가 회로의 매개변수를 조정하며, 이 사이클을 반복합니다. 모델을 학습시키는 과정과 동일하지만, 계산의 한 조각이 양자 하드웨어에서 이뤄진다는 점만 다릅니다. 오늘날의 양자 장비는 잡음이 많고 규모가 작습니다(NISQ 시대, 즉 noisy intermediate-scale quantum이라 부릅니다). 따라서 무거운 계산은 고전적으로 처리하고, 이점이 있는 부분만 오프로드하는 것이 실용적입니다. 왜 하이브리드가 유리한지 다음 섹션에서 다시 다루겠습니다.
양자 머신 러닝 접근 방식의 유형
이제 기본 네 단계 워크플로를 봤으니, 그중 얼마나 많은 부분이 실제로 양자 하드웨어에서 돌아가야 하는지 물어볼 만합니다. 양자 컴퓨팅과 머신 러닝을 결합하는 방법은 대략 세 가지이며, 양자 장비가 실제로 담당하는 작업의 비중에 따라 구분됩니다.
양자 강화 머신 러닝
여기서는 모델이 본질적으로 고전적이지만, 선형계 풀이, 커널 추정, 분포에서의 샘플링처럼 비용이 큰 단계를 양자 루틴에 맡겨 속도를 기대합니다. 나머지 파이프라인은 저희 Supervised Learning with scikit-learn 코스에서 만드는 지도 학습과 유사합니다.
완전 양자 모델
반대 극단에는 데이터와 모델이 모두 양자 상태에 존재하며, 처음부터 끝까지 양자 하드웨어에서 실행되는 방법이 있습니다. QML 중 가장 야심 찬 방식이며, 현재로서는 실용성이 가장 낮습니다. 현존 하드웨어로는 유용한 규모를 지원하지 못합니다.
하이브리드 양자-고전 모델
두 극단 사이에 오늘 실제로 통하는 접근법이 있으며, 진지한 QML 연구의 대부분이 여기에 있습니다. 매개변수화된 양자 회로가 계산의 일부를 처리하고, 고전적 옵티마이저가 이를 학습시킵니다. 작고 잡음이 많은 하드웨어의 한계를 피하면서, 양자 장비가 현재 잘하는 일만 맡기도록 합니다.
양자 머신 러닝 알고리즘
계속해서 반복해서 보게 될 알고리즘 계열이 몇 가지 있습니다. 수학은 금세 깊어지므로 여기서는 높은 수준으로 유지하겠습니다. 무엇을 위해 쓰이는지만 이해하시면 됩니다.
가변형 양자 회로(VQC)
가변형 양자 회로는 조정 가능한 매개변수를 가진 양자 회로로, 앞서 설명한 하이브리드 루프에서 학습합니다. 근시일 QML의 일꾼 같은 존재이며, 여기 나오는 다른 모델들의 기반이 되기도 합니다. 다음은 인기 오픈 소스 QML 라이브러리인 PennyLane에서의 대략적 예시입니다.
import pennylane as qml
# A 2-qubit device that runs on a local simulator
dev = qml.device("default.qubit", wires=2)
@qml.qnode(dev)
def variational_circuit(inputs, weights):
# Encode two input features as qubit rotation angles
qml.AngleEmbedding(inputs, wires=[0, 1])
# The trainable layer a classical optimizer will adjust
qml.BasicEntanglerLayers(weights, wires=[0, 1])
# Measure to get a value we can feed back into training
return qml.expval(qml.PauliZ(0))
여기서 weights는 고전적 옵티마이저가 여러 반복에 걸쳐 업데이트하는 값으로, 경사하강법이 신경망의 가중치를 업데이트하는 방식과 같습니다. 이 패턴을 이해하면, 나머지 알고리즘은 같은 주제의 변주처럼 느껴질 것입니다.
양자 서포트 벡터 머신
양자 SVM은 고전적 SVM의 구조를 유지하되, 데이터 포인트 간 유사도(커널)를 계산하는 데 양자 회로를 사용합니다. 양자 특징 공간이 고전적 커널로는 어려운 패턴을 포착할 수 있기를 기대하는 것입니다. 실제 데이터셋에서 도움이 되는지는 아직 열린 문제입니다.
양자 신경망(QNN)
양자 신경망은 매개변수화된 회로를 층으로 쌓아 고전적 네트워크처럼 학습합니다. 저희 Introduction to Deep Learning in Python 코스에서 모델을 학습해 보셨다면 루프가 익숙할 것입니다. 순전파, 손실, 업데이트의 흐름은 같고, 순전파만 양자 회로에서 수행됩니다.
양자 k-평균
양자 k-평균은 군집화 알고리즘으로, 점들 사이 거리를 추정하는 양자 서브루틴을 사용합니다. 이는 대규모에서 고전적 k-평균의 지배적 비용 요소입니다. 이 목록 중 "비용 큰 한 단계를 양자로 교체"하는 가장 직접적인 예입니다.
이 모든 알고리즘을 보고 나면, 정말로 양자 속도 향상을 제공하는지가 궁금하실 겁니다. 바로 다음에서 그 점을 살펴보겠습니다.
양자 머신 러닝의 잠재적 장점
세 가지 잠재적 이점이 자주 거론됩니다. 특정 구조적 문제, 예를 들어 화학과 소재 분야의 양자 시스템 시뮬레이션은 양자 하드웨어와 자연스럽게 맞아떨어져 이 영역에서의 우위가 가장 그럴듯합니다. 양자 특징 공간이 고전적으로는 포착하기 어려운 복잡한 관계를 표현할 가능성도 있습니다. 그리고 몇몇 특정 알고리즘에서는 이론적으로 매우 큰, 심지어 지수적 속도 향상이 제시됩니다.
계속해서 "잠재적"이라고 말하는 점에 주목하세요. 이러한 이점은 대체로 현실 하드웨어가 아직 충족하지 못하는 가정하에서 이론적으로 증명된 것입니다. 자주 드는 예로, 몇 가지 이론적 속도 향상은 데이터가 이미 양자 상태로 로딩되어 있다고 가정합니다. 하지만 고전 데이터를 그 상태로 올리는 비용이 속도 향상만큼 들 수 있습니다. 이런 숨은 병목 때문에, 주장된 이점과 실증된 이점의 목록은 아직 크게 다릅니다.
이 간극을 고려하면, 고전적 ML과 양자 ML을 직접 나란히 놓고 보는 것이 좋습니다.
양자 머신 러닝 vs. 고전적 머신 러닝
차이를 가장 깔끔하게 보는 방법은 나란히 비교하는 것입니다.
|
고전적 ML |
양자 ML |
|
|
계산 모델 |
비트, 결정적 연산 |
큐비트, 중첩, 얽힘 |
|
확장성 |
성숙한 도구, 프로덕션 규모로 운영 |
작고 잡음 많은 하드웨어가 한계 |
|
성숙도 |
수십 년의 연구, 폭넓은 채택 |
부상 중, 대부분 실험 단계 |
고전적 ML은 오늘날의 실무를 압도하고 있으며, 당분간도 그럴 것입니다. 도구, 하드웨어, 인재가 모두 갖춰져 있기 때문입니다. QML은 언젠가 양자적 구조가 빛을 발하는 문제에서 틈새를 개척할지도 모르는 초기 도전자입니다. 둘을 라이벌로 보는 것은 요점을 놓치는 일입니다. 지금은 서로 다른 리그에서 뛰고 있으며, 흥미로운 질문은 어느 문제가 결국 경계를 넘어올지입니다.
이 "다른 리그"라는 틀은 이 분야를 따라다니는 신화들에 대한 가장 좋은 해독제이기도 합니다. 이제 그 오해를 바로잡아 보겠습니다.
양자 머신 러닝에 대한 흔한 오해
QML에는 몇 가지 신화가 따라붙습니다. 짚고 넘어갈 가치가 있습니다.
"양자 ML은 모든 것에 더 빠르다." 그렇지 않습니다. 제안된 속도 향상은 특정 조건의 특정 알고리즘에 적용됩니다. 대다수 ML 과제에서 양자 장비는 이점을 제공하지 않으며, 오늘날의 하드웨어를 고려하면 오히려 더 느립니다.
"양자 컴퓨터가 고전 컴퓨터를 대체할 것이다." 아닙니다. 양자 컴퓨터는 좁은 범주의 문제를 겨냥한 특수 가속기이지, 범용 대체제가 아닙니다. 여러분의 노트북은 사라지지 않을 것이고, 하이브리드 QML의 고전적 부분도 마찬가지입니다.
"QML은 오늘 당장 프로덕션 준비가 되어 있다." 이것이 초보자를 가장 헷갈리게 합니다. 이 분야는 실험 단계이고, 하드웨어는 제한적이며 잡음이 많고, 거의 모든 것이 시뮬레이터에서 돌아갑니다. QML은 지금 배워 두고 지켜볼 대상이지, 당장 배포할 대상이 아닙니다.
과장을 걷어내면, 자체 가치로 배울 만한 진짜 흥미로운 분야가 남습니다. 코드를 써 보고 싶다면, 이제 어디서 시작할지 보겠습니다.
양자 머신 러닝 시작하기
개념을 보고 코드를 직접 써 보고 싶다면, 반가운 소식이 있습니다. 도구가 오픈 소스이고 초보자 친화적입니다. PennyLane(위 예시의 라이브러리)과 Qiskit이 가장 흔한 진입점이며, 둘 다 시뮬레이터에서 동작하므로 실제 양자 장비 없이도 실험을 시작할 수 있습니다. Qiskit의 머신 러닝 모듈은 준비된 양자 커널, 분류기, 신경망을 제공하며, PyTorch와도 연결되어 고전적 작업에서 넘어오기에 편안한 다리 역할을 합니다.
조언을 드리자면, 먼저 고전적 기초를 탄탄히 하세요. 하이브리드 루프, 옵티마이저, 모델이 학습하는 방식은 모두 고전적이며, 실제로 가장 많이 의존하게 될 부분입니다. 저희 Machine Learning Scientist in Python 트랙이 그 토대를 다루며, 그다음에는 양자 특화 요소가 추가되는 형태이지, 완전히 새 출발이 아닙니다. 회로를 실행하고 매개변수를 조정하면서 배우세요. 중첩에 대한 글만 읽는 데에는 한계가 있습니다.
맺음말
양자 머신 러닝은 빠르게 움직이는 두 분야의 접점에 서 있으며, 양자 컴퓨팅의 정보 표현 방식을 빌려 ML 파이프라인의 일부를 다룹니다. 이 글은 가능한 한 현실에 발을 딛고자 했습니다. 지금 기술계에서 거의 무엇보다도 과장이 많은 주제이기 때문입니다. 솔직한 요약은 소박합니다. QML은 초기 단계이고, 대부분 실험적이며, 어디에서 성과를 낼지 진정으로 불확실합니다.
그렇다고 무시할 이유는 아닙니다. 오히려 기본을 지금 이해해 두어야 합니다. 분야가 아직 처음부터 끝까지 배울 수 있을 만큼 작을 때 말이죠. 만약 양자 하드웨어가 낙관론자들의 기대대로 성숙한다면, 큐비트, 회로, 하이브리드 학습이 어떻게 맞물리는지 이미 이해한 사람들이 이를 쓸 준비가 되어 있을 것입니다. 설령 모든 곳에서 성과를 내지 못하더라도, 컴퓨팅의 매혹적인 한 구석을 배운 셈이니, 솔직히 말해 그것도 나쁘지 않은 결말입니다.
Vinod Chugani는 도쿄에서 JPMorgan의 최연소 헤지펀드 세일즈 데스크 책임자로 커리어를 시작했으며, 이후 리먼 브라더스에서 개인 판매 실적 기록을 세웠고, 이어서 30개국에 걸친 전자제품 유통 사업을 구축하여 매출을 SG$1억을 넘어 성장시킨 뒤 데이터 분야로 방향을 틀었습니다. 듀크대학교 경제학 졸업생이자 NYC Data Science Academy 출신인 그는 Maven의 Hugo Bowne-Anderson가 진행한 Building AI Applications 과정에서 100명+ 지원자 중 세 명뿐인 장학생 가운데 한 명이었습니다. 현재는 DataCamp, KDnuggets, Machine Learning Mastery, Statology에 통계부터 에이전트형 AI까지 폭넓은 주제로 글을 기고하고 있으며, NYC Data Science Academy에서 데이터 전문가들을 멘토링하고 있습니다. 지금까지 1,000회가 넘는 일대일 멘토링 세션을 진행했습니다.
FAQs
간단히 말해 양자 머신 러닝이란 무엇인가요?
양자 컴퓨팅을 사용해 머신 러닝 작업의 일부를 수행하거나 가속하는 것입니다. 예를 들어, 데이터를 양자 상태로 인코딩하거나 모델의 한 단계를 양자 회로로 대체하는 방식입니다. 오늘날의 QML은 대부분 하이브리드로, 양자 회로가 작은 조각을 담당하고 나머지는 고전 컴퓨터가 처리합니다.
QML을 배우려면 양자 물리학을 알아야 하나요?
깊이까지는 아닙니다. 몇 가지 개념(큐비트, 중첩, 얽힘, 양자 게이트)에 대한 실용적 이해와 선형대수에 대한 익숙함이 필요합니다. 학습 과정 자체는 고전적 ML과 매우 유사하므로, 탄탄한 ML 배경이 물리학 지식보다 더 큰 도움이 됩니다.
양자 머신 러닝은 고전적 머신 러닝보다 빠른가요?
특정 조건의 특정 문제에 한해서, 그리고 주로 이론상 그렇습니다. 대다수 ML 작업에서는 양자 하드웨어가 속도 향상을 제공하지 않으며, 현재 장비가 작고 잡음이 많아 실제로는 더 느립니다. "양자가 더 빠르다"는 포괄적 주장은 의심하는 것이 좋습니다.
QML에 어떤 프로그래밍 도구를 사용하나요?
PennyLane과 Qiskit이 가장 흔한 오픈 소스 라이브러리이며, 둘 다 시뮬레이터에서 동작해 실제 양자 하드웨어 없이도 연습할 수 있습니다. Qiskit의 머신 러닝 모듈은 PyTorch와도 연결되어 고전적 딥러닝에서의 전환을 더 부드럽게 해 줍니다.
양자 강화, 완전 양자, 하이브리드 모델의 차이는 무엇인가요?
양자 강화 모델은 대부분 고전적이며 한 단계를 양자 루틴에 맡깁니다. 완전 양자 모델은 전적으로 양자 하드웨어에서 실행되며 아직 실용적이지 않습니다. 하이브리드 양자-고전 모델은 양자 회로와 고전적 옵티마이저가 작업을 분담합니다(오늘 실제로 통하는 접근법).
지금 당장 QML을 프로덕션 프로젝트에 사용할 수 있나요?
현실적으로는 어렵습니다. 이 분야는 실험 단계이고, 하드웨어는 제한적이며 잡음이 많고, 거의 모든 것이 시뮬레이터에서 돌아갑니다. QML은 배워 두고 추적할 가치는 있지만, 지금 당장 프로덕션 시스템에 투입할 준비가 되어 있지는 않습니다.
초보자는 어떤 알고리즘부터 시작해야 하나요?
가변형 양자 회로(VQC)가 자연스러운 출발점입니다. 양자 신경망과 양자 SVM을 포함한 대부분의 QML 모델의 기반이기 때문입니다. 다른 것으로 확장하기 전에 VQC에서 하이브리드 학습 루프에 익숙해지세요.
양자 컴퓨터가 고전 컴퓨터와 고전 ML을 대체하나요?
아닙니다. 양자 컴퓨터는 좁은 범주의 문제를 위한 특수 가속기이며, 범용 컴퓨터의 대체제가 아닙니다. 하이브리드 QML에서도 파이프라인의 대부분은 고전적으로 남아 있고, 고전적 ML은 당분간 실무를 계속 지배할 것입니다.
