Квантовые нейронные сети — это вычислительные модели нейронных сетей , основанные на принципах квантовой механики . Первые идеи квантовых нейронных вычислений были независимо опубликованы в 1995 году Субхашем Каком и Роном Крисли [1] [2] в рамках теории квантового разума , которая утверждает, что квантовые эффекты играют роль в когнитивных функциях. Однако типичные исследования в области квантовых нейронных сетей включают объединение классических моделей искусственных нейронных сетей (которые широко используются в машинном обучении для важной задачи распознавания образов) с преимуществами квантовой информации для разработки более эффективных алгоритмов. [3] [4] [5] Одной из важных мотиваций для этих исследований является сложность обучения классических нейронных сетей, особенно в приложениях с большими данными . Есть надежда, что такие особенности квантовых вычислений , как квантовый параллелизм или эффекты интерференции и запутанности, можно будет использовать в качестве ресурсов. Поскольку технологическая реализация квантового компьютера все еще находится на преждевременной стадии, такие модели квантовых нейронных сетей представляют собой в основном теоретические предложения, ожидающие полной реализации в физических экспериментах.
Большинство квантовых нейронных сетей разрабатываются как сети прямого распространения . Подобно своим классическим аналогам, эта структура принимает входные данные от одного слоя кубитов и передает эти входные данные на другой слой кубитов. Этот уровень кубитов оценивает эту информацию и передает выходные данные на следующий уровень. В конце концов путь ведет к последнему слою кубитов. [6] [7] Слои не обязательно должны быть одинаковой ширины, то есть они не обязательно должны иметь такое же количество кубитов, как слой до или после него. Эта структура обучается тому, какой путь выбрать, аналогично классическим искусственным нейронным сетям . Это обсуждается в нижнем разделе. Квантовые нейронные сети относятся к трем различным категориям: квантовый компьютер с классическими данными, классический компьютер с квантовыми данными и квантовый компьютер с квантовыми данными. [6]
Исследования квантовых нейронных сетей все еще находятся в зачаточном состоянии, и было выдвинуто множество предложений и идей различного масштаба и математической строгости. Большинство из них основано на идее замены классических бинарных нейронов или нейронов Мак-Каллоха-Питтса кубитом (который можно назвать «куроном»), в результате чего нейронные единицы могут находиться в суперпозиции состояний «активация» и «покой» . '.
Многие предложения пытаются найти квантовый эквивалент персептрона, из которого строятся нейронные сети. Проблема в том, что нелинейные функции активации не соответствуют непосредственно математической структуре квантовой теории, поскольку квантовая эволюция описывается линейными операциями и приводит к вероятностному наблюдению. Идеи имитации функции активации перцептрона с помощью квантовомеханического формализма простираются от специальных измерений [8] [9] до постулирования нелинейных квантовых операторов (математическая основа, которая является спорной). [10] [11] Прямая реализация функции активации с использованием схемной модели квантовых вычислений недавно была предложена Шульдом, Синайским и Петруччионе на основе алгоритма оценки квантовой фазы . [12]
В более широком масштабе исследователи попытались обобщить нейронные сети до квантовых условий. Один из способов создания квантового нейрона — сначала обобщить классические нейроны, а затем обобщить их дальше, чтобы создать унитарные вентили. Взаимодействием между нейронами можно управлять квантово, с помощью унитарных вентилей , или классически, посредством измерения состояний сети. Этот высокоуровневый теоретический метод может применяться широко, используя различные типы сетей и различные реализации квантовых нейронов, такие как фотонно реализованные нейроны [7] [13] и процессор квантового резервуара (квантовая версия резервуарных вычислений ). [14] Большинство алгоритмов обучения следуют классической модели обучения искусственной нейронной сети для изучения функции ввода-вывода данного обучающего набора и используют классические петли обратной связи для обновления параметров квантовой системы до тех пор, пока они не сойдутся к оптимальной конфигурации. Обучение как задача оптимизации параметров также рассматривалась в адиабатических моделях квантовых вычислений. [15]
Квантовые нейронные сети могут применяться для разработки алгоритмов: имея кубиты с настраиваемыми взаимными взаимодействиями, можно попытаться изучить взаимодействия, следуя классическому правилу обратного распространения ошибки , из обучающего набора желаемых отношений ввода-вывода, которые считаются желаемым поведением алгоритма вывода. [16] [17] Таким образом, квантовая сеть «изучает» алгоритм.
Первый алгоритм квантовой ассоциативной памяти был представлен Дэном Вентурой и Тони Мартинесом в 1999 году. [18] Авторы не пытаются перевести структуру моделей искусственных нейронных сетей в квантовую теорию, а предлагают алгоритм для схемного квантового компьютера , который имитирует ассоциативную память . Состояния памяти (в нейронных сетях Хопфилда , сохраненные в весах нейронных связей) записываются в суперпозицию, и алгоритм квантового поиска, подобный Гроверу, извлекает состояние памяти, наиболее близкое к заданному входному сигналу. По сути, это не полностью адресуемая по содержанию память, поскольку можно извлечь только неполные шаблоны.
Первая по-настоящему адресуемая по содержанию квантовая память, которая может извлекать шаблоны даже из поврежденных входных данных, была предложена Карло А. Тругенбергером. [19] [20] [21] Обе памяти могут хранить экспоненциальное (в единицах n кубитов) количество шаблонов, но могут использоваться только один раз из-за теоремы о запрете клонирования и их уничтожения при измерении.
Однако Тругенбергер [20] показал, что его проабабилистическая модель квантовой ассоциативной памяти может быть эффективно реализована и многократно использована многократно для любого полиномиального числа хранимых шаблонов, что является большим преимуществом по сравнению с классической ассоциативной памятью.
Значительный интерес был проявлен к «квантовой» модели, которая использует идеи квантовой теории для реализации нейронной сети, основанной на нечеткой логике . [22]
Квантовые нейронные сети теоретически можно обучать аналогично обучению классических/искусственных нейронных сетей. Ключевое отличие заключается в взаимодействии между слоями нейронных сетей. В классических нейронных сетях в конце заданной операции текущий перцептрон копирует свои выходные данные на следующий уровень перцептронов в сети. Однако в квантовой нейронной сети, где каждый перцептрон является кубитом, это нарушит теорему о запрете клонирования . [6] [23] Предлагаемое обобщенное решение этой проблемы состоит в замене классического метода разветвления произвольным унитарным методом , который распределяет, но не копирует, выходные данные одного кубита на следующий слой кубитов. Используя этот унитарный разветвление ( ) с кубитом фиктивного состояния в известном состоянии (например, в вычислительном базисе ), также известном как вспомогательный бит , информация из кубита может быть передана на следующий уровень кубитов. [7] Этот процесс соответствует требованию обратимости квантовой операции . [7] [24]
Используя эту квантовую сеть прямой связи, можно эффективно выполнять и обучать глубокие нейронные сети. Глубокая нейронная сеть — это, по сути, сеть со многими скрытыми слоями, как показано в примере модели нейронной сети выше. Поскольку обсуждаемая квантовая нейронная сеть использует разветвленные унитарные операторы, и каждый оператор действует только на свой соответствующий вход, в любой момент времени используются только два слоя. [6] Другими словами, ни один унитарный оператор не действует на всю сеть в любой момент времени, а это означает, что количество кубитов, необходимых для данного шага, зависит от количества входов в данном слое. Поскольку квантовые компьютеры печально известны своей способностью выполнять несколько итераций за короткий период времени, эффективность квантовой нейронной сети зависит исключительно от количества кубитов в любом заданном слое, а не от глубины сети. [24]
Для определения эффективности нейронной сети используется функция стоимости, которая по существу измеряет близость выхода сети к ожидаемому или желаемому результату. В классической нейронной сети веса ( ) и смещения ( ) на каждом этапе определяют результат функции стоимости . [6] При обучении классической нейронной сети веса и смещения корректируются после каждой итерации, и с учетом приведенного ниже уравнения 1, где — желаемый результат, а — фактический результат, функция стоимости оптимизируется, когда = 0. Для квантовой нейронной сети В сети функция стоимости определяется путем измерения соответствия конечного состояния ( ) желаемому состоянию результата ( ), как показано в уравнении 2 ниже. В этом случае унитарные операторы корректируются после каждой итерации, а функция стоимости оптимизируется при C = 1. [6]
Уравнение 1
Уравнение 2
Градиентный спуск широко используется и успешно применяется в классических алгоритмах. Однако, хотя упрощенная структура очень похожа на нейронные сети, такие как CNN, QNN работают намного хуже.
Поскольку квантовое пространство экспоненциально расширяется по мере роста q-бита, наблюдения будут концентрироваться вокруг среднего значения с экспоненциальной скоростью, где также будут иметь экспоненциально малые градиенты. [26]
Эта ситуация известна как «бесплодные плато», поскольку большая часть начальных параметров захватывается «плато» почти нулевого градиента, что приближает случайное блуждание [26], а не градиентный спуск. Это делает модель необучаемой.
На самом деле не только QNN, но и почти все более глубокие алгоритмы VQA имеют эту проблему. В нынешнюю эпоху NISQ это одна из проблем, которую необходимо решить, если необходимо найти больше приложений для различных алгоритмов VQA, включая QNN.