Квантовое машинное обучение: когда Шредердинг встречает ученых данных

Квантовое машинное обучение: когда Шредердинг встречает ученых данных

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 открывает двери, о которых мы не знали. Если вы любопытный разработчик со вкусом к границе, сейчас самое время погрузиться.


Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE