
Квантовое машинное обучение: когда Шредердинг встречает ученых данных
25 июня 2025 г.Квантовые вычисления и машинное обучение являются двумя из самых разрушительных сил в современной информатике. Один из них основан на странной странности квантовой механики; Другие способности системы, которые распознают ваше лицо, рекомендуют ваш следующий разрыв Netflix или управлять вашим автомобилем (почти).
А теперь представьте, что их объедините.
Добро пожаловать вКвантовое машинное обучение (QML), где цель не просто более быстрое вычисление - это переопределяет то, что вычислительно возможно.
1. Квантовый бит: не просто модный
В основе квантовых вычислений лежиткубитПолем В отличие от вашего повседневного бита, который переворачивается от 0 до 1, кубит может жить в обоих штатаходновременноБлагодаря явлению под названиемсуперпозицияПолем
По математике:
|ψ⟩ = α|0⟩ + β|1⟩
Гдеα
иβ
сложные числа и|α|² + |β|² = 1
Полем Это позволяет квантовому компьютеру изучать много возможностей одновременно.
Пример Python: суперпозиция с воротами Адамара
from qiskit import QuantumCircuit
qc = QuantumCircuit(1)
qc.h(0) # Create superposition
qc.draw('mpl')
2. Квантовые ворота: логика для мультивселенной
Квантовые ворота манипулируют состояниями кубита, такими как логические ворота в классических вычислениях, но построены для квантовой сферы.
H
(Хадамард): создает суперпозициюX
: Quantum нетCNOT
: Создаетзапутывание, квантовая ссылка
qc = QuantumCircuit(2)
qc.h(0)
qc.cx(0, 1)
qc.draw('mpl')
3. Измерение: где возможность разрушается
Квантовое измерение разрабатывает кубит в определенное состояние (0 или 1) с определенными вероятностями, определенными|α|²
и|β|²
Полем
from qiskit import Aer, execute
qc.measure_all()
result = execute(qc, Aer.get_backend('qasm_simulator'), shots=1024).result()
print(result.get_counts())
4. Создание кванта машинного обучения
Квантовое машинное обучение-это не просто ускорение. Это способпереопределить, как мы обрабатываем и представляем данныеПолем
4.1 Квантовые карты функций
Чтобы запустить ML на квантовом оборудовании, вам сначала нужнокодироватьКлассические данные в квантовые состояния.
from qiskit.circuit.library import ZZFeatureMap
feature_map = ZZFeatureMap(feature_dimension=2, reps=1)
feature_map.draw('mpl') # <- Feature map diagram here
4.2 Параметризованные квантовые цепи (PQC)
Думайте об этом как о нейронных сетях, сделанных из квантовых ворот.
from qiskit.circuit import Parameter
theta = Parameter('θ')
qc = QuantumCircuit(1)
qc.ry(theta, 0)
qc.draw('mpl')
Позже мы будем оптимизироватьθ
Чтобы минимизировать функцию потери - подобно обучению весам в нейронной сети.
5. Квантовые векторные машины (QSVM)
QSVM расширяет Classic SVM, заменив точечные продукты на точечные продуктыКвантовые функции ядраПолем
from qiskit_machine_learning.kernels import QuantumKernel
quantum_kernel = QuantumKernel(feature_map=feature_map, quantum_instance=Aer.get_backend('statevector_simulator'))
print(quantum_kernel)
Пример обучения
from qiskit_machine_learning.algorithms import QSVM
training_data = {'A': [[0, 0], [1, 1]], 'B': [[1, 0], [0, 1]]}
qsvm = QSVM(quantum_kernel, training_data)
qsvm.fit(training_data, [0, 1])
6. Квантовые нейронные сети (QNN)
QNN используют параметризованные квантовые ворота в качестве обучаемых слоев. Каждый угол затвора похож на нейронный вес.
from qiskit.circuit import Parameter
theta1, theta2 = Parameter('θ1'), Parameter('θ2')
qc = QuantumCircuit(2)
qc.ry(theta1, 0)
qc.ry(theta2, 1)
qc.cx(0, 1) # entangle the qubits
qc.draw('mpl')
Обучение QNN с pytorch
from qiskit_machine_learning.connectors import TorchConnector
import torch
from torch import nn, optim
# Connect quantum circuit to PyTorch
connector = TorchConnector(qc)
model = nn.Sequential(connector, nn.Softmax(dim=1))
criterion = nn.CrossEntropyLoss()
optimizer = optim.Adam(model.parameters(), lr=0.01)
for epoch in range(100):
output = model(torch.tensor([[0.0, 1.0]]))
loss = criterion(output, torch.tensor([1]))
loss.backward()
optimizer.step()
Гибридная квантово-классическая тренировка является стандартной паттерной в сегодняшнем QML.
7. Алгоритм Гровера для оптимизации модели
Поиск Гровера находит элемент в√N
время - сделать это идеальным дляПоиск гиперпараметрав квантовом мл.
from qiskit import QuantumCircuit, Aer, execute
grover_circuit = QuantumCircuit(3)
grover_circuit.h([0, 1, 2])
grover_circuit.cz(0, 2)
grover_circuit.draw('mpl')
result = execute(grover_circuit, Aer.get_backend('qasm_simulator'), shots=1024).result()
print(result.get_counts())
8. Проблемы и дорогу впереди
Давайте будем честными: QML все еще в зачаточном состоянии.
- Квантовые компьютеры шумные и ограниченные
- Квантовое преимущество в реальном мире редко-сейчас
- Разработчики должны изучать обе квантовые физикииМл
Но все развивается быстро. По мере того, как аппаратные средства и наборы инструментов, такие как Qiskit и Pennylane, улучшаются, ожидайте более практических прорывов.
9. Последние мысли
Квантовое машинное обучение - это не только более быстрый ИИ - это переосмысление того, каким может быть ИИ.
От уловки ядра до квантовых нейронных сетей, QML открывает двери, о которых мы не знали. Если вы любопытный разработчик со вкусом к границе, сейчас самое время погрузиться.
Оригинал