Введение

Квантовая механика в нейронных сетях

Квантовые нейронные сети – это вычислительные модели нейронных сетей, основанные на принципах квантовой механики. Первые идеи о квантовых нейронных вычислениях были опубликованы независимо друг от друга в 1995 году Субхашем Каком и Роном Крисли, в контексте теории квантового разума, которая постулирует, что квантовые эффекты играют роль в когнитивных функциях. Однако, типичные исследования в области квантовых нейронных сетей включают в себя сочетание классических моделей искусственных нейронных сетей (которые широко используются в машинном обучении для важной задачи распознавания образов) с преимуществами квантовой информации с целью разработки более эффективных алгоритмов. Важной мотивацией для этих исследований является сложность обучения классических нейронных сетей, особенно в задачах, связанных с большими данными. Существует надежда, что такие особенности квантовых вычислений, как квантовый параллелизм или эффекты интерференции и запутанности, могут быть использованы в качестве ресурсов. Поскольку технологическая реализация квантового компьютера все еще находится на начальной стадии, такие модели квантовых нейронных сетей в основном являются теоретическими предложениями, ожидающими своей полной реализации в физических экспериментах. Большинство квантовых нейронных сетей разрабатываются как сети прямого распространения. Подобно своим классическим аналогам, эта структура принимает входные данные из одного слоя кубитов и передает их следующему слою кубитов. Этот слой кубитов обрабатывает эту информацию и передает выходные данные следующему слою. В конечном итоге путь приводит к финальному слою кубитов, вплоть до постулирования нелинейных квантовых операторов (математическая структура, которая является предметом споров). Недавно Шулд, Синайский и Петручччоне предложили прямую реализацию функции активации, используя схему, основанную на модели квантовых вычислений, и алгоритм оценки квантовой фазы.

Квантовые сети

В более широком масштабе исследователи пытались обобщить нейронные сети для квантовой среды. Один из способов построения квантового нейрона заключается в обобщении классических нейронов, а затем в дальнейшем обобщении их для создания унитарных гейтов. Взаимодействия между нейронами могут контролироваться квантово, посредством унитарных гейтов, или классически, через измерение состояний сети. Этот высокоуровневый теоретический подход может быть широко применен, используя различные типы сетей и различные реализации квантовых нейронов, такие как нейроны, реализованные на основе фотонов, и квантовый резервуарный процессор (квантовая версия вычислителя с резервуаром). Большинство алгоритмов обучения следуют классической модели обучения искусственной нейронной сети для изучения функции отображения входных данных в выходные для заданного обучающего набора и используют классические контуры обратной связи для обновления параметров квантовой системы до тех пор, пока они не сойдутся к оптимальной конфигурации. Обучение как задача оптимизации параметров также рассматривалось в рамках адиабатических моделей квантовых вычислений. Квантовые нейронные сети могут быть применены к разработке алгоритмов: имея кубиты с настраиваемыми взаимными взаимодействиями, можно попытаться обучить взаимодействия, следуя классическому правилу обратного распространения ошибки на основе обучающего набора желаемых соотношений между входом и выходом, которые принимаются за поведение желаемого выходного алгоритма. Таким образом, квантовая сеть "обучается" алгоритму.

Обучение

Квантовые нейронные сети теоретически могут обучаться аналогично обучению классических/искусственных нейронных сетей. Ключевое различие заключается в обмене информацией между слоями нейронной сети. В классических нейронных сетях в конце операции текущий перцептрон копирует свой выход на следующий слой перцептронов в сети. Однако в квантовой нейронной сети, где каждый перцептрон является кубитом, это нарушило бы теорему о невозможности клонирования. Предлагаемым обобщенным решением является замена классического метода "fan-out" на произвольный унитарный оператор, который распространяет, но не копирует, выход одного кубита на следующий слой кубитов. Используя этот унитарный оператор "fan-out" с фиктивным кубитом в известном состоянии (например, в базисе вычислений), также известным как вспомогательный кубит (ancilla bit), информация из кубита может быть передана на следующий слой кубитов. Используя эту квантовую сеть прямого распространения, глубокие нейронные сети могут быть эффективно выполнены и обучены. Глубокая нейронная сеть – это, по сути, сеть со многими скрытыми слоями, как показано на примере модели нейронной сети выше. Поскольку рассматриваемая квантовая нейронная сеть использует унитарные операторы "fan-out", и каждый оператор действует только на свой вход, одновременно используются только два слоя. На рисунке показано, что проблема "бесплодного плато" становится все более серьезной по мере расширения VQA. Градиентный спуск широко используется и успешно применяется в классических алгоритмах. Однако, несмотря на то, что упрощенная структура очень похожа на нейронные сети, такие как CNN, QNN показывают значительно худшие результаты. Поскольку квантовое пространство экспоненциально расширяется с ростом числа кубитов, наблюдения будут концентрироваться вокруг среднего значения с экспоненциальной скоростью, при этом градиенты также экспоненциально малы. Эта ситуация известна как "бесплодные плато", поскольку большинство исходных параметров оказываются запертыми на "плато" с почти нулевым градиентом, что приближается к случайному блужданию, а не к градиентному спуску. Это делает модель не поддающейся обучению. Фактически, эта проблема присуща не только QNN, но и почти всем более глубоким алгоритмам VQA. В текущую эпоху NISQ это одна из проблем, которые необходимо решить, чтобы расширить применение различных алгоритмов VQA, включая QNN.