Начните свое путешествие по квантовому машинному обучению с изучения примеров TensorFlow Quantum

Статья предназначена для новичков в квантовом машинном обучении, неизбежном будущем современных идей классического машинного обучения. Основная цель этой статьи - представить области, в которых сочетание машинного обучения и квантовых вычислений полезно для решения проблем, связанных с конкретной предметной областью. Статья построена таким образом, что сначала описывается концепция квантовых вычислений, связанная с проблемой, а затем намечено решение проблемы командой Google AI Quantum. Кроме того, он следует за недавней работой, опубликованной командой Google AI Quantum в сотрудничестве с Университетом Ватерлоо, Alphabet’s X и Volkswagen в отношении квантового машинного обучения с использованием Tensorflow Quantum.

Прежде чем перейти к рассмотрению некоторых проблем, необходимо представить Tensorflow Quantum, которая представляет собой библиотеку с открытым исходным кодом для выполнения вычислений с квантовыми данными, а также для создания гибридных квантово-классических моделей обучения. Белая книга, относящаяся к библиотеке Tensorflow Quantum, доступна для получения более подробной технической информации.

Квантовые схемы, необходимые для квантовых вычислений, определяются как модель, в которой вычисление представляет собой последовательность квантовых вентилей. TensorFlow Quantum использует Cirq для разработки логики этих квантовых схем. Прежде чем двигаться дальше, я бы посоветовал вам просмотреть API-интерфейсы для TensorFlow Quantum и Cirq или оставить сайты в закладках для дальнейшего использования, когда это необходимо для понимания.

Бинарная классификация квантовых данных

Для этой задачи мы разрабатываем гибридную квантово-классическую нейронную сеть для классификации источников квантовых данных. Квантовые данные генерируются из сферы Блоха. В сфере Блоха мы сначала выбираем два луча в плоскости XZ, а затем выбираем точки, случайно распределенные вокруг лучей. Следовательно, задача состоит в том, чтобы разделить две капли, полученные в результате выбора вышеуказанных лучей. Ниже приведены изображения, соответствующие двум разным углам: θ и ϕ. Оба этих угла лежат в плоскости XZ и измеряются относительно положительной оси X. На изображениях, представленных ниже, θ соответствует углу между синим лучом и положительной осью X в плоскости XZ, тогда как ϕ аналогичным образом соответствует оранжевому лучу.

В конце концов, мы можем создать любое квантовое состояние, используя поворот по оси X и поворот по оси Z в сфере Блоха.

Для указанной выше задачи классификации была разработана гибридная квантово-классическая модель нейронной сети. Схема типичной гибридной квантово-классической нейронной сети показана ниже.

Сначала генерируются квантовые данные, которые в нашем случае являются точками на поверхности сферы Блоха, после чего создается квантовая схема с использованием квантовых вентилей Cirq Û с Φ в качестве соответствующих параметров, после чего выбирается слой из библиотеки Tensorflow Quantum для выполнять вычисления на кубитах в самой квантовой модели. Как только квантовые вычисления выполнены, ожидаемые выходные данные слоя получаются путем выборки или измерения среднего значения, полученного из кубитов. Этот акт измерения устраняет квантовую природу кубитов, что приводит к классической переменной. Эта классическая переменная затем подвергается классической модели нейронной сети, которая в конечном итоге выводит вероятности прогноза. На графике ниже мы представляем график потерь при обучении гибридной нейронной сети, обученной классифицировать точки, окружающие два луча на поверхности сферы Блоха. Уменьшение ошибки классификации во время продолжающегося обучения и возможная окончательная потеря 0,00085 в конце обучения предполагает, что предложенная гибридная нейронная сеть успешно классифицирует квантовые данные.

Рекуррентные нейронные сети с квантовыми графами (QGRNN)

В этом разделе мы стремимся изучить динамику целевого гамильтониана данной модели Изинга с использованием QGRNN. Модель Изинга с поперечным полем, которая будет использоваться здесь, является квантовой интерпретацией классической модели Изинга, используемой в термодинамике и магнетизме. Целевой гамильтониан модели Изинга выглядит следующим образом:

Модель Изинга в квантовых вычислениях в основном представляет собой решетчатую структуру со спинами кубитов, представленными Z, как показано на рисунке выше. J - это коэффициент связи, обозначающий силу взаимодействия между спиновыми парами кубитов, тогда как B - это коэффициент смещения, при котором кубит обладает определенным спином. Термин X добавлен, чтобы передать относительное влияние любых внешних полей на конкретный кубит по отношению к взаимодействиям спиновых пар ближайших соседей, которые являются первичными для модели Изинга. Взаимодействие между спинами в дополнение к переменным силам связи модели Изинга полезно при моделировании нескольких моделей машинного обучения, таких как сети Хопфилда и машины Больцмана (Schuld & Petruccione (2018)). Более того, модель Изинга близко имитирует фундаментальную математику подкласса вычислительных задач, называемых задачами квадратичная неограниченная двоичная оптимизация (QUBO).

Введя модель Изинга и ее гамильтониан, мы представляем ниже шаги для достижения вышеупомянутой цели ассимиляции динамики модели Изинга.

Получение квантовых данных с помощью вариационного квантового собственного преобразователя по модели Изинга

Теперь мы построим Вариационный квантовый собственный вычислитель (VQE), чтобы найти низкоэнергетическое состояние рядом с основным состоянием, чтобы его можно было использовать в качестве начального состояния модели Изинга и QGRNN. Вариационный метод позволяет найти приближенные основные энергетические состояния. Ниже приведены состояния с низкой энергией, полученные при обучении VQE, а также график потерь при обучении.

Построение модели Изинга и QGRNN

Нам нужно взять экспоненты гамильтонианов, чтобы построить модель Изинга. Однако, как правило, возведение в степень двух некоммутируемых наблюдаемых не равно возведению в степень их суммы. Для решения этой проблемы мы выбрали разложение Сузуки-Троттера, поскольку оно приводит к приближенным решениям, которые можно легко вычислить.

Теперь нам нужно инициализировать модель QGRNN. Поскольку целевой гамильтониан неизвестен QGRNN, мы инициализировали случайный граф внутри нашей QGRNN.

Построение верности с помощью теста Swap

На этом этапе мы сгенерировали квантовые данные из истинного гамильтониана модели Изинга, а также предсказанные квантовые данные из QGRNN. Как мы знаем, измерение кубита приводит к уничтожению его квантовой информации; поэтому мы реализуем Fidelity с Swap test для сравнения истинного и предсказанного квантовых состояний. Этот тест Swap использовался для вычисления средней функции потери неверности, которая будет использоваться для обучения QGRNN.

Обучение и результаты от QGRNN

В заключение из приведенного выше упражнения мы можем утверждать, что QGRNN изучает динамику временной эволюции заданного целевого гамильтониана на основе своих квантовых данных, в этом случае напоминающих модель Изинга.

Вариационный квантовый термализатор

В этом разделе, используя TensorFlow Quantum, мы стремимся изучить комбинацию квантовых вычислений и классических моделей, основанных на энергии. Здесь мы исследуем 2D-модель Гейзенберга и применим вариационный квантовый термализатор (VQT) для создания приблизительных тепловых состояний модели. VQT был представлен в следующем техническом документе (VQT).

Для отслеживания эффективности наших моделей обучения, основанных на энергии, мы используем управляемую величину, называемую Верность.

Энергетические модели обучения (EBM)

Основываясь на концепции физики и экспоненциальных семейств, мы будем использовать основанную на энергии машину Больцмана для изучения динамики двумерной модели Гейденберга. Классическую модель машины Больцмана можно быстро преобразовать в квантово-механическую модель Изинга, заменив каждый бит оператором Z Паули и сопоставив спин кубиту, то есть 1 в | 0⟩ и -1 в | 1⟩.

Когда делается анзац относительно нулевых корреляций между кубитами, машина Больцмана сводится к произведению независимых распределений Бернулли по набору кубитов, которое имеет упрощающие функции. Следовательно, мы сначала внедрим Bernoulli EBM в VQT. Мы используем классическую функцию потерь VQT, упомянутую в официальном документе VQT.

Результаты VQT путем преобразования EBM Бернулли в модель Изинга

Результаты VQT преобразования EBM машины Больцмана в модель Изинга

Безусловно. из этого можно сделать вывод, что методы, основанные на энергии, успешно изучили динамику гамильтониана двумерной модели Гейзенберга. Обратитесь к разделу Машины Больцмана с ограничениями (RBM), классифицирующим MNIST, для дальнейшего чтения по моделям на основе энергии.

Обрисовав в общих чертах три примера, а также понимание их концепций квантовых вычислений и машинного обучения, крайне важно не перегружаться. Моя цель - познакомить новичков с квантовым машинным обучением в дополнение к применению квантовых вычислений для решения различных проблем, специфичных для предметной области, и будет успешной только в том случае, если вы, как читатель, продолжите и продолжаете обновлять свои знания о квантовом машинном обучении. Ниже я представляю интересный подход к решению задач комбинаторной оптимизации с использованием квантового машинного обучения.

Дальнейшее чтение

Алгоритм квантовой приближенной оптимизации (QAOA)

Мета-обучение с использованием QAOA

PennyLane: кроссплатформенная библиотека Python для квантового машинного обучения, автоматического дифференцирования и оптимизации гибридных квантово-классических вычислений.

Strawberry Fields: полнофункциональная библиотека Python для проектирования, оптимизации и использования фотонных квантовых компьютеров.