Доклады Российской академии наук. Математика, информатика, процессы управления. T. 514, Номер 2, 2023

Доклады Российской академии наук. Математика, информатика, процессы управления, 2023, T. 514, № 2, стр. 177-186

СТАТИСТИЧЕСКОЕ ОНЛАЙН-ОБУЧЕНИЕ В РЕКУРРЕНТНЫХ И ПРЯМОГО РАСПРОСТРАНЕНИЯ КВАНТОВЫХ НЕЙРОННЫХ СЕТЯХ

С. В. Зуев 1*

1 Белгородский государственный технологический университет им. В.Г. Шухова
Белгород, Россия

* E-mail: sergey.zuev@bk.ru

Поступила в редакцию 24.08.2023
После доработки 15.09.2023
Принята к публикации 24.10.2023

Полный текст (PDF)

Аннотация

Цели.

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

Методы.

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

Результаты.

Представлены и экспериментально подтверждены алгоритмы онлайн-обучения для рекуррентной и прямого распространения квантовой нейронной сети.

Выводы.

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

Ключевые слова: онлайн-обучение, адаптивный искусственный интеллект, квантовое машинное обучение, квантовая запутанность

1. ВВЕДЕНИЕ

Главным возможным преимуществом квантового машинного обучения считается экспоненциальное снижение сложности вычислений. В то время как классический искусственный нейрон может обрабатывать входные данные N измерений, квантовый нейрон может обрабатывать ${{2}^{N}}$-мерные данные. Это может значительно ускорить обучение [1]. Тем не менее существующие прототипы квантовых нейронных сетей (см., например, [26]) и других машинно обучаемых моделей (работы [715]) не показывают настолько высокой эффективности. Это связано с тем, что при проведении квантового вычисления необходимо обеспечить наличие “кубитов, которые могут быть инициализированы произвольными значениями” [16]. Иными словами, нужно уметь представлять данные в виде квантовых состояний или (что почти то же самое) научиться делать очень точные квантовые гейты.

Представление данных в виде состояния квантовой системы требует умения работать с размерностями данных без потери информации. Потому что размерности данных, представляемых состояниями кубитов, могут принимать только определенные значения, а вырожденные измерения (где установлено какое-то одно значение, скажем, 0) значительно снижают эффективность работы. Далее в настоящем исследовании будет представлен программный модуль genser, который доступен на PyPI и успешно справляется с задачей изменения размерности датасета. Надо сказать, что аналитики данных, как правило, прибегают к снижению размерности, для чего используется метод главных компонент, для которого есть и квантовый аналог (QPCA) [17] с заявленным экспоненциальным ускорением. Но бывает и так, что увеличение размерности данных может привести к лучшим результатам анализа и, кроме того, потеря информации (обязательная при применении метода главных компонент) не всегда приемлема.

В работе [18] был предложен метод квантового машинного обучения, основанный на запутанных квантовых состояниях. Отличительной чертой этого метода является то, что при таком обучении не требуется оптимизация и, следовательно, не нужны множественные итерации (эпохи). Была показана работа классификаторов, обученных предложенным способом, на некоторых известных датасетах и проведено сравнение с результатами, полученными другими классификаторами.

В настоящей работе метод квантового машинного обучения, основанный на запутанных состояниях (далее – КМОЗС) будет детально рассмотрен и полностью адаптирован для применения в онлайн-обучаемых моделях квантовых нейронных сетей, используемых для классификации и распознавания.

2. МАТЕРИАЛЫ И МЕТОДЫ

Квантовая запутанность в связи с моделью познания была предложена в 2005 г. [19]. Это модель для семантики комбинаций понятий, выполненных недекомпозиционным способом. В нем рассматриваются возникающие свойства/ассоциации/умозаключения в связи с комбинациями понятий. В КМОЗС эта идея используется для других целей: чтобы обеспечить способ разделения помеченных данных.

Описания квантовых и классических данных в настоящей работе будут сделаны традиционным образом. Множество $\left\{ {{{x}^{j}}} \right\}$ наборов из n действительных чисел ${{x}^{j}} = \left( {x_{0}^{j}, \ldots ,x_{{n - 1}}^{j}} \right)$ с меткой lj, определенной для каждого набора, представляет собой классические данные. Множество квантовых состояний

(1)
$\left| {{{q}^{j}}} \right\rangle \equiv \sum\limits_{k = 0}^{{{2}^{n}} - 1} {z_{k}^{j}\left| k \right\rangle } $
с теми же метками lj рассматривается как квантовые данные. Компоненты $z_{k}^{j}$ вектора квантового состояния рассматриваются заданными в определенном вычислительном базисе $\left| 0 \right\rangle , \ldots ,\left| {{{2}^{n}} - 1} \right\rangle $. Эти обозначения являются общепринятыми. Прежде чем будет установлена взаимосвязь между этими данными, опишем структуру пространства состояний квантовой системы.

2.1. Представление классических данных квантовыми данными

Пусть система состоит из $n$ частиц, каждая из которых дает при измерении один из двух результатов – это система из $n$ кубитов. Известно, что квантовые состояния описываются векторами с абсолютным значением, равным 1, и векторы, отличающиеся только фазовым коэффициентом ${{e}^{{i\phi }}}$, описывают одно и то же состояние. То есть, для координат $\left( {{{z}_{0}},...,~{{z}_{{N - 1}}}} \right)$ любого экземпляра квантовых данных, можно положить

(2)
$z_{0}^{2} + {{\left| {{{z}_{1}}} \right|}^{2}} \ldots + {{\left| {{{z}_{{N - 1}}}} \right|}^{2}} = 1,$
где ${{z}_{0}} \in \left[ {0,1} \right]$, ${{z}_{1}}, \ldots ,{{z}_{{N - 1}}} \in \mathbb{C}$. Это уравнение сферы в пространстве ${{\mathbb{R}}^{{2N - 1}}}$, т.е., сферы ${{S}^{{2N - 2}}}$. Каждую ее точку z можно записать в следующих обобщенных сферических координатах:
(3)
$\begin{gathered} {{z}_{0}} = \cos {{\delta }_{0}}\cos {{\delta }_{1}} \ldots \cos {{\delta }_{{N - 2}}}, \\ {{z}_{1}} = \sin {{\delta }_{0}}\cos {{\delta }_{1}} \ldots \cos {{\delta }_{{N - 2}}}{{e}^{{i{{\gamma }_{0}}}}}, \\ {{z}_{2}} = \sin {{\delta }_{1}}\cos {{\delta }_{2}} \ldots \cos {{\delta }_{{N - 2}}}{{e}^{{i{{\gamma }_{1}}}}}, \\ \end{gathered} $
$...$
${{z}_{{N - 2}}} = \sin {{\delta }_{{N - 3}}}\cos {{\delta }_{{N - 2}}}{{e}^{{i{{\gamma }_{{N - 3}}}}}},$
${{z}_{{N - 1}}} = \sin {{\delta }_{{N - 2}}}{{e}^{{i{{\gamma }_{{N - 2}}}}}},$
где ${{\delta }_{s}} \in \left[ {0,\frac{\pi }{2}} \right]$, ${{\gamma }_{s}} \in \left[ {0,2\pi } \right)$, $\forall s$.

Пусть имеется классический набор данных xj, $j = 0, \ldots ,J - 1$, размерности M такой, что значения каждого признака являются целыми числами, лежащими в интервале от 0 до ${{X}_{m}}$ (m = 0, ..., $M - 1,~{{X}_{m}} \in \mathbb{N}$). Иными словами,

$x_{m}^{j} \in \left[ {0,{{X}_{m}}} \right],\quad x_{m}^{j} \in \mathbb{Z}.$

Даже если исходный набор данных не таков, можно произвести соответствующее преобразование и получить требуемый набор. Такой датасет можно закодировать в набор квантовых состояний (квантовый датасет), если $M = 2 \cdot {{2}^{n}} - 2$ для какого-то натурального $n$. Если $N = {{2}^{n}}$, то квантовый датасет будет определен формулой (1), в которой для каждого j-го экземпляра данных числа $z_{k}^{j}$ определены формулой (3), в которой

$\delta _{s}^{j} = \frac{{x_{s}^{j}}}{{{{X}_{s}}}} \cdot \frac{\pi }{2},\quad s = 0, \ldots ,\quad N - 2,~$
$\gamma _{t}^{j} = \frac{{x_{t}^{j}}}{{{{X}_{t}} + 1}} \cdot 2\pi ,~\quad t = N - 1, \ldots ,\quad 2N - 3.$

Если в исходном датасете $M \ne 2 \cdot {{2}^{n}} - 2$, то потребуется изменить размерность датасета. Это можно сделать с помощью Python модуля genser, алгоритм работы которого описан далее.

2.2. Алгоритм обобщенной сериализации для изменения размерности датасета

В основе изменения размерности датасета без потери информации лежит хорошо известная сериализация, обобщенная следующей теоремой.

Теорема 1. Пусть $R_{X}^{s}$ = {(x0, ..., xs – 1), $~{{x}_{j}} \in [0,{{X}_{j}}]$, $~{{x}_{j}} \in \mathbb{Z}$, j = 0, ..., s – 1}. Множества $R_{X}^{s}$ и $R_{Y}^{t}$ изоморфны, если

$\mathop \prod \limits_{j = 0}^{s - 1} \left( {{{X}_{j}} + 1} \right) = \mathop \prod \limits_{k = 0}^{t - 1} \left( {{{Y}_{k}} + 1} \right).$

Доказательство. Предъявим биекцию в явном виде. Заметим, что если выполнено условие теоремы, то оба произведения (равные одному и тому же числу) имеют единственное разложение на простые сомножители (основная теорема арифметики). Имеем следующие альтернативы:

a) все ${{X}_{j}} + 1$ простые и все ${{Y}_{k}} + 1$ тоже простые;

b) все ${{X}_{j}} + 1$ простые, а среди ${{Y}_{k}} + 1$ есть составные;

c) среди ${{X}_{j}} + 1$ есть составные, а все ${{Y}_{k}} + 1$ простые;

d) среди ${{X}_{j}} + 1$ есть составные, и среди ${{Y}_{k}} + 1$ есть составные.

В случае a), очевидно, $s = t$ и можно построить биекцию вида ${{y}_{k}} = {{x}_{j}}$ для ${{X}_{j}} = {{Y}_{k}}$.

Если имеет место случай b), то, очевидно, $t < s$, и среди ${{Y}_{k}} + 1$ найдутся такие, которые являются произведением нескольких сомножителей вида ${{X}_{j}} + 1$:

${{Y}_{k}} + 1 = \left( {{{X}_{{{{j}_{1}}}}} + 1} \right) \cdot \ldots \cdot \left( {{{X}_{{{{j}_{r}}}}} + 1} \right).$

Для такого случая положим

$\begin{gathered} {{y}_{k}} = \left( {{{X}_{{{{j}_{1}}}}} + 1} \right) \cdot \ldots \cdot \left( {{{X}_{{{{j}_{{r - 1}}}}}} + 1} \right){{x}_{{{{j}_{r}}}}} + \\ \, + \left( {{{X}_{{{{j}_{1}}}}} + 1} \right) \cdot \ldots \cdot \left( {{{X}_{{{{j}_{{r - 2}}}}}} + 1} \right){{x}_{{{{j}_{{r - 1}}}}}} + \\ \, + \ldots + \left( {{{X}_{{{{j}_{1}}}}} + 1} \right){{x}_{{{{j}_{2}}}}} + {{x}_{{{{j}_{1}}}}} \\ \end{gathered} $
в качестве прямого отображения и
${{x}_{{{{j}_{1}}}}} = {{y}_{k}}\bmod \left( {{{X}_{{{{j}_{1}}}}} + 1} \right),~$
${{x}_{{{{j}_{2}}}}} = {{y}_{k}}{{\backslash }}\left( {{{X}_{{{{j}_{1}}}}} + 1} \right),~$
${{x}_{{{{j}_{3}}}}} = {{y}_{k}}{{\backslash }}\left( {\left( {{{X}_{{{{j}_{1}}}}} + 1} \right)\left( {{{X}_{{{{j}_{2}}}}} + 1} \right)} \right),$
$ \ldots ,$
${{x}_{{{{j}_{r}}}}} = {{y}_{k}}{{\backslash }}\left( {\left( {{{X}_{{{{j}_{1}}}}} + 1} \right) \ldots \left( {{{X}_{{{{j}_{{r - 1}}}}}} + 1} \right)} \right)$
в качестве обратного. Легко проверить, что это взаимно-однозначное отображение. Для оставшихся простыми сомножителей поступаем так же, как в случае a).

При выполнении c), биекция строится аналогично случаю b) с той лишь разницей, что теперь $s < t$ и $X$ нужно поменять местами с Y.

В случае d) нужно заметить, что между $R_{X}^{s}$ и $R_{Y}^{t}$ всегда можно поставить множество $R_{Z}^{p}$ ={(z0, ..., ${{z}_{{p - 1}}}),~{{z}_{j}} \in [0,{{Z}_{i}}],~i = 0, \ldots ,p - 1\} $, в котором все ${{Z}_{i}} + 1$ являются простыми сомножителями в разложении числа $\prod\limits_{j = 0}^{s - 1} {({{X}_{j}}\, + \,1)} $. По доказанному выше, существует биекция между $R_{X}^{s}$ и $R_{Z}^{q}$, а также биекция между $R_{Z}^{q}$ и $R_{Y}^{t}$, что означает наличие биекции между $R_{X}^{s}$ и $R_{Y}^{t}$. Таким образом, множества $R_{X}^{s}$ и $R_{Y}^{t}$ всегда изоморфны при выполнении условия теоремы.            $\square $

Для алгоритма изменения размерности датасета воспользуемся отображением, построенным при доказательстве Теоремы 1 и будем повышать (понижать) размерность на 1 на каждом шаге. Алгоритм выглядит следующим образом:

Вход: Датасет размерности J со значениями признака $j$ в интервале от 0 до ${{X}_{j}}$.

Выход: Датасет размерности K со значениями признака $k$ в интервале от 0 до ${{Y}_{k}}$, список параметров перехода.

Процедура:

1. Если $K > J$, перейти к шагу 8.

2. Среди величин ${{X}_{j}}$ ($j = 0, \ldots ,J - 1$), характеризующих датасет, выбрать минимальную. Если их несколько – выбрать ту, у которой минимальный индекс (номер признака). Результат обозначим ${{X}_{{{{j}_{1}}}}}$.

3. Повторить шаг 2 для набора величин ${{X}_{j}}$ без ${{X}_{{{{j}_{1}}}}}$, получить ${{X}_{{{{j}_{2}}}}}$.

4. Объединить признаки ${{j}_{1}}$ и ${{j}_{2}}$ по формуле: ${{y}_{{{{j}_{1}}}}} = \left( {{{X}_{{{{j}_{2}}}}} + 1} \right){{x}_{{{{j}_{1}}}}} + {{x}_{{{{j}_{2}}}}}$.

5. Положить ${{y}_{0}} = {{x}_{0}}, \ldots ,{{y}_{{{{j}_{1}} - 1}}} = {{x}_{{{{j}_{1}} - 1}}}$, ${{y}_{{{{j}_{1}} + 1}}}$ = ${{x}_{{{{j}_{1}} + 1}}}$, ..., ${{y}_{{{{j}_{2}} - 1}}} = {{x}_{{{{j}_{2}} - 1}}}$, ${{y}_{{{{j}_{2}}}}} = {{x}_{{{{j}_{2}} + 1}}}, \ldots ,{{y}_{{J - 2}}} = {{x}_{{J - 1}}}$.

6. Записать набор из четырех чисел (j1, ${{X}_{{{{j}_{1}}}}} + 1,{{j}_{2}},{{X}_{{{{j}_{2}}}}} + 1)$ в список параметров перехода.

7. Если размерность полученного датасета равна K, выдать датасет и список параметров перехода. Иначе – повторить шаги 2–6 для полученного после шага 5 датасета.

8. Среди величин ${{X}_{j}}$ выбрать максимальную. Если их несколько – выбрать ту, у которой максимальный индекс (номер признака). Результат обозначим ${{X}_{k}}$.

9. Если ${{X}_{k}} + 1$ составное число, то факторизовать его фактором, наиболее близким к $\sqrt {{{X}_{k}} + 1} $, получить ${{Y}_{k}} + 1,{{Y}_{J}} + 1$.

10. Если ${{X}_{k}} + 1 > 2$ простое число, то факторизовать Xk + 2 фактором, наиболее близким к $\sqrt {{{X}_{k}} + 2} $, получить ${{Y}_{k}} + 1,{{Y}_{J}} + 1$. Иначе выдать полученный датасет и список параметров с формулировкой “дальнейшее увеличение размерности невозможно”.

11. Разделить признак $k$ на два признака по формулам: ${{y}_{k}} = {{x}_{k}}\bmod \left( {{{Y}_{k}} + 1} \right)$, $~{{y}_{J}} = {{x}_{k}}{{\backslash }}\left( {{{Y}_{k}} + 1} \right)$.

12. Положить ${{y}_{0}} = {{x}_{0}}, \ldots ,{{y}_{{{{k}_{1}} - 1}}} = {{x}_{{{{k}_{1}} - 1}}}$, ${{y}_{{{{k}_{1}} + 1}}} = $ $ = {{x}_{{{{k}_{1}} + 1}}}, \ldots ,{{y}_{{J - 1}}} = {{x}_{{J - 1}}}$.

13. Записать набор из четырех чисел $\left( {k,{{Y}_{k}},J,{{Y}_{J}}} \right)$ в список параметров перехода.

14. Если размерность полученного датасета равна K, выдать датасет и список параметров перехода. Иначе – повторить шаги 8–13 для полученного датасета.

Этот алгоритм реализован в модуле genser: преобразование размерности “туда” осуществляется с помощью функции transform_to, принимающей исходный датасет и число – нужную размерность; преобразование “обратно” осуществляется функциями transform_out_up и transform_out_down, в которые передается трансформированный ранее датасет и список параметров перехода (на выходе – исходный датасет).

Теперь мы можем сравнительно вольно обращаться с размерностью датасета: ее можно трансформировать без потери информации к любой размерности от 1 до $\left\lfloor {\sum\nolimits_{j = 0}^{s - 1} {\log \left( {{{X}_{j}} + 1} \right)} } \right\rfloor $. Например, 3-мерный датасет с ${{X}_{0}} = 1$, ${{X}_{1}} = 12$, ${{X}_{2}} = 50$ можно преобразовать к датасету любой размерности от 1 до 10. В частности, всегда11 можно найти такое $n$, для которого измененная размерность датасета будет удовлетворять условию $M = 2 \cdot {{2}^{n}} - 2$ и, следовательно, данные могут быть представлены как квантовые.

2.3. Запутанный базис

Согласно постулатам квантовой механики, если существуют две системы с ${{n}_{1}}$ и ${{n}_{2}}$ кубитами, соответственно, то состояния объединенной системы имеют вид:

$\left| q \right\rangle = \sum\limits_{r = 0}^{{{2}^{{{{n}_{1}} + {{n}_{2}}}}} - 1} {{{c}^{r}}\left| r \right\rangle } ,$
где cr – амплитуды состояния системы в новом вычислительном базисе, образованном тензорным произведением исходных базисов: $\left| r \right\rangle = \left| {{{k}_{1}}} \right\rangle \left| {{{k}_{2}}} \right\rangle ,$ где ${{k}_{1}} = 0, \ldots ,{{2}^{{{{n}_{1}}}}} - 1$, ${{k}_{2}} = 0, \ldots ,{{2}^{{{{n}_{2}}}}} - 1$.

Получается, что если были системы с пространствами состояний ${{S}^{{{{2}^{{{{n}_{1}} + 1}}} - 2}}}$ и ${{S}^{{{{2}^{{{{n}_{2}} + 1}}} - 2}}}$, то объединенная система будет иметь пространство состояний ${{S}^{{{{2}^{{{{n}_{1}} + {{n}_{2}} + 1}}} - 2}}}$. Но, как легко убедиться,

${{S}^{{{{2}^{{{{n}_{1}} + 1}}} - 2}}} \otimes {{S}^{{{{2}^{{{{n}_{2}} + 1}}} - 2}}} \ne {{S}^{{{{2}^{{{{n}_{1}} + {{n}_{2}} + 1}}} - 2}}}.$

В случае, когда ${{n}_{1}} = {{n}_{2}} = 1$, получим

${{S}^{{{{2}^{{{{n}_{1}} + 1}}} - 2}}} \otimes {{S}^{{{{2}^{{{{n}_{2}} + 1}}} - 2}}} = {{S}^{2}} \otimes {{S}^{2}} \ne {{S}^{6}} = {{S}^{{{{2}^{{{{n}_{1}} + {{n}_{2}} + 1}}} - 2}}}.$

Причем в этом простейшем случае причина очевидна – при объединении систем фазовая мультипликативная инвариантность остается только с одним параметром, т.е., добавляется еще один параметр, который раньше был “скрытым” – это был фазовый множитель в одной из исходных систем. Но эта причина не до конца объясняет несовпадение пространств состояний: она добавляет только ${{S}^{1}}$, но снова

${{S}^{2}} \otimes {{S}^{2}} \otimes {{S}^{1}} \ne {{S}^{6}}$
ни по размерности, ни топологически. Иными словами, всегда найдется такое состояние объединенной системы, которое не получается произведением состояний исходных систем: налицо системное свойство объединенной системы.

Часть системы ${{n}_{1}} + {{n}_{2}}$-кубитов, которая не может быть выражена как произведение состояний подсистем, образует набор так называемых запутанных состояний. Основное свойство запутанного состояния заключается в том, что для вывода системы из запутанного состояния необходимо выполнить унитарное преобразование, которое существенно влияет на все ее подсистемы. В рассмотренном выше примере системы двух кубитов состояниями, которые не разлагаются в композицию состояний кубитов, являются состояния Белла:

$\left| {{{\beta }_{{00}}}} \right\rangle = \frac{1}{{\sqrt 2 }}\left( {\left| {00} \right\rangle + \left| {11} \right\rangle } \right),\quad \left| {{{\beta }_{{01}}}} \right\rangle = \frac{1}{{\sqrt 2 }}\left( {\left| {01} \right\rangle + \left| {10} \right\rangle } \right),~$
$\left| {{{\beta }_{{10}}}} \right\rangle = \frac{1}{{\sqrt 2 }}\left( {\left| {00} \right\rangle - \left| {11} \right\rangle } \right),\quad \left| {{{\beta }_{{11}}}} \right\rangle = \frac{1}{{\sqrt 2 }}\left( {\left| {01} \right\rangle - \left| {10} \right\rangle } \right).$

Как известно, они образуют базис Белла. Построение таких состояний легко обобщается на более высокие размерности – состояния в них остаются запутанными и тоже образуют базис в своем пространстве, далее он будет называться запутанным базисом. Его построение осуществляется схемой, обратной схеме на рис. 1.

Рис. 1.

Схема классификатора без оптимизации: во входящих состояниях должны быть зависимости.

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

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

2.4. Квантовая нейронная сеть на запутанных состояниях

В работе [18] представлены примеры классификации на запутанных состояниях как с оптимизацией, так и без нее. Для настоящего исследования требуется кратко описать построение квантовой нейронной сети на классификаторах без оптимизации, рассматриваемых как квантовые нейроны.

Можно сказать, что на рис. 1 представлен квантовый нейрон (далее q-нейрон), если убрать измерение в первом регистре. В этом случае на входе будет состояние $n$-частичной системы, а на выходе – состояние кубита и $n - 1$-значное измерение. Чтобы построить квантовую нейронную сеть (далее КНС), заметим, что q-нейрон, принимая на вход $n$ кубитов, возвращает $m < n$ кубитов вместе с $k = n - m$ классическими битами информации. КНС может быть обучена на основе этой классической информации и заданной разметки данных. Процедура обучения в случае q-нейронов без оптимизации несколько отличается от обычной: не нужно никаких итераций (эпох обучения), а требуются лишь данные и их метки. Причем, если метка экземпляра данных пришла уже после проведенной классификации, то характеристики КНС, представляющие собой сопоставления базисных векторов меткам, могут измениться прямо в этот момент. То есть такое обучение автоматически становится онлайн-обучением.

Копирование квантовых состояний запрещено. Поэтому КНС не содержат разветвлений. Но q-нейрон может содержать более одного квантового выхода – для этого достаточно просто убрать измерения в нужном числе регистров. Это можно использовать для создания сетей различной архитектуры. Так, КНС прямого распространения получается, если выходы нескольких q-нейронов становятся входами для следующего q-нейрона. А для создания рекуррентной КНС, нужно выход одного или нескольких q-нейронов объединить с новыми квантовыми данными для подачи в следующий слой.

Во всех КНС будет выполняться правило: сумма числа $Q$ кубитов на выходе сети и числа $C$ классических битов, полученных в результате измерений, равна числу $I$ входящих кубитов:

$I = Q + C.$

Однако, для сети прямого распространения, все $I$ кубитов должны быть введены в сеть сразу, а для рекуррентной сети квантовые данные могут вводиться постепенно. То есть для рекуррентной КНС можно установить какое-то предельное число $C$ классических бит, используемых в обучении, и работать со стримом квантовых данных, не загружая расчеты избытком статистических данных.

3. РЕЗУЛЬТАТЫ

Пусть имеется некоторый набор данных $\left\{ {d_{j}^{i},{{l}_{j}}} \right\}$, где $d_{j}^{i}$ есть значение $i$-го признака в $j$-й выборке, а ${{l}_{j}}$ – значение метки (класса) для $j$-й выборки. Разделим все данные на обучающую и тестовую выборки и обозначим их

$\left\{ {d_{{{{j}_{t}}}}^{i},{{l}_{{{{j}_{t}}}}}} \right\}\quad ~{\text{и\;}}\quad \left\{ {d_{{{{j}_{c}}}}^{i},{{l}_{{{{j}_{c}}}}}} \right\},$
соответственно. Будем считать, что размерность данных уже удовлетворяет условию $M = 2 \cdot {{2}^{n}} - 2$, метки принимают значения от 0 до $L - 1$, а значения всех признаков уже находятся в нужных интервалах:

$\delta _{j}^{i} \equiv d_{j}^{i} \in \left[ {0,\frac{\pi }{2}} \right],~\quad i = 0, \ldots ,\frac{M}{2} - 1$
$\gamma _{j}^{{i - \frac{M}{2}}} \equiv d_{j}^{i} \in \left[ {0,2\pi } \right),\quad ~i = \frac{M}{2}, \ldots ,M - 1.$

Будем считать, что $L = {{2}^{l}}$.

Закодируем данные в квантовые состояния следующим образом:

(4)
$\begin{gathered} z_{j}^{0} = \cos \delta _{j}^{0}\cos \delta _{j}^{1} \ldots \cos \delta _{j}^{{\frac{M}{2} - 1}},~ \\ z_{j}^{1} = \sin \delta _{j}^{0}\cos \delta _{j}^{1} \ldots \cos \delta _{j}^{{\frac{M}{2} - 1}}~{{e}^{{i\gamma _{j}^{0}}}} \\ z_{j}^{2} = {\text{sin}}\delta _{j}^{1}{\text{cos}}\delta _{j}^{2} \ldots {\text{cos}}\delta _{j}^{{\frac{M}{2} - 1}}~{{e}^{{i\gamma _{j}^{1}}}}, \ldots ,~~z_{j}^{{\frac{M}{2}}} = {\text{sin}}\delta _{j}^{{\frac{M}{2} - 1}}~{{e}^{{i\gamma _{j}^{{\frac{M}{2} - 1}}}}} \\ \end{gathered} $
(5)
$\left| {{{q}_{j}}} \right\rangle = \sum\limits_{k = 0}^{\frac{M}{2}} {z_{j}^{k}\left| k \right\rangle .} $

Далее рассмотрим отдельно обучение КНС прямого распространения и рекуррентной КНС.

3.1. Онлайн обучение в КНС прямого распространения

Рассмотрим КНС, один блок которой представлен на рис. 2.

Рис. 2.

Блок КНС прямого распространения.

На рис. 2, как обычно, квантовые состояния обозначены сплошными одиночными линиями, а классические выходы – двойными линиями. Пунктиром показано повторение регистров и групп регистров. Буквой N обозначен блок, представляющий собой квантовую схему, представленную на рис. 1, в которой измерения установлены не во всех регистрах: часть верхних регистров остается неизмеренной и выходит квантовыми состояниями. В качестве структуры данных для такого блока будем использовать следующую:

$B_{k}^{s} = \left( {\left| {q_{k}^{s}} \right\rangle ,v_{k}^{s},\left\{ {n_{k}^{s}:|q_{{n_{k}^{s}}}^{{s + 1}}} \right\}} \right).$

Здесь $s$ – номер слоя КНС, $k$ – номер q-нейрона в слое. На входе в блок имеем квантовое состояние $\left| {q_{k}^{s}} \right\rangle $, после прохождения этого q-нейрона получается число ${v}_{k}^{s}$ (результат измерения) и набор квантовых состояний $\left| {q_{{n_{k}^{s}}}^{{s + 1}}} \right\rangle $, каждое из которых идет на вход $n_{k}^{s}$-го q-нейрона следующего слоя. Исходящие из слоя $s$ состояния $\left| {q_{{n_{k}^{s}}}^{s}} \right\rangle $ объединяются в квантовое состояние

$\left| {q_{n}^{{s + 1}}} \right\rangle = \left| {q_{{n_{0}^{s} = n}}^{s}} \right\rangle ...\left| {q_{{n_{{{{K}_{s}} - 1}}^{s} = n}}^{s}} \right\rangle ,$
где ${{K}_{s}}$ – число q-нейронов в слое $s$, так, что при выполнении условия в нижнем индексе, состояние включается в состояние $\left| {q_{n}^{{s + 1}}} \right\rangle $, а иначе – не включается. Так образуются все блоки $B_{k}^{s}$ для всех слоев КНС. В сети прямого распространения в последнем слое измерим все регистры. Величины ${v}_{k}^{s}$, которые получаются в результате измерений, можно объединить в одно число, двоичная запись которого будет иметь вид
${v} = {{{v}}^{S}}{{{v}}^{{S - 1}}} \ldots {{{v}}^{1}},$
где ${{{v}}^{S}}$ – это последовательная запись измерения регистров в последнем слое (номер S), и так далее. Таким образом, в случае КНС прямого распространения, разрядность числа ${v}$ будет равна числу входящих в схему одночастичных регистров. При этом для хорошего качества классификации необходимо, чтобы было $\log \left( {\max {v} + 1} \right) > l$.

Параметры обучения (аналоги весов) в данном случае будут составлять матрицу ${{K}_{{va}}}$, элементы которой равны количеству случаев получения при измерении значения ${v}$ при настоящей метке a. Далее, для осуществления собственно классификации, найдем частоты меток a при полученном значении ${v}$:

(6)
${{{v}}_{{{v}a}}} = \frac{{{{K}_{{va}}}}}{{\sum\limits_a^{} {{{K}_{{va}}}} }}.$
и шкалируем их на единичный отрезок:

(7)
${{\kappa }_{{{v}a}}} = \frac{{{{\nu }_{{{v}a}}} - \mathop {\min }\limits_{v} {{\nu }_{{{v}a}}}}}{{\mathop {\max }\limits_{v} {{\nu }_{{{v}a}}} - \mathop {\min }\limits_{v} {{\nu }_{{{v}a}}}}}.$

Для использования при классификации построим словарь $D$, в котором каждому ключу – предполагаемой метке – сопоставим список значений – чисел ${v}$ – таких, при которых нормированная частота ${{\kappa }_{{{v}a}}}$ превышает частоту появления самой распространенной метки в обучающей выборке (возможен вариант “превышает среднюю частоту меток в выборке”).

$D = \left\{ {~a:\left[ {{{{v}}^{{a0}}}, \ldots ,{{{v}}^{{a{{t}_{a}}}}}} \right],~\forall a = 0, \ldots ,L - 1} \right\},~$
где ${{t}_{a}}$ – количество значений ${v}$, выбранных по критерию для данного a. Словарь $D$ дает возможность сопоставить метку пробному экземпляру данных после его прохождения через КНС: меткой будет тот ключ в словаре D, в списке которого окажется полученное при измерении число.

Алгоритм обучения будет следующим.

Вход: обучающие данные; нулевая матрица ${{K}_{{va}}}$; правило отбора значений ${v}$ для ключа $a$ в словарь $D$.

Выход: словарь $D,$ матрица ${{K}_{{va}}}$.

Процедура:

1. Пропустить экземпляр данных через КНС и получить результат измерений ${v}$.

2. Получить истинную метку $a$ этого экземпляра данных.

3. Увеличить значение ${{K}_{{{v}a}}}$ на 1.

4. Повторить шаги 1–3 для всех экземпляров обучающих данных.

5. Вычислить все ${{\kappa }_{{{v}a}}}$ по формулам (6) и (7).

6. Для каждого значения метки a перебрать все возможные значения ${v}$ и, при выполнении правила отбора, занести значение ${v}$ в список по ключу $a$ словаря $D$.

Алгоритм работы классификатора на тестовых данных.

Вход: экземпляр данных без метки; словарь $D$, матрица ${{K}_{{va}}}$.

Выход: метка экземпляра данных или $None$.

Процедура:

1. Пропустить экземпляр данных через КНС и получить результат измерений ${v}$.

2. Выбрать ключ $a$, по которому ${v}$ находится в списке в словаре $D$.

3. Если шаг 2 дал результат, то выдать $a$, иначе выдать $None$.

Если через какое-то время истинная метка для тестового экземпляра данных становится известной, то этот экземпляр вместе с меткой подают на вход алгоритма обучения. Тем самым достигается онлайн-обучение: обучающие данные корректируются по мере прихода новых данных с раз-меткой.

Рассмотрим эти алгоритмы на примере датасета о задержках авиарейсов, взятого с ресурса kaggle.com22. Исходный датасет содержит 7 признаков и одну метку. Признаки: авиакомпания, рейс, аэропорт отправления, аэропорт назначения, день недели, время. Метка – наличие задержки. В датасете 539383 экземпляра данных, из которых 240264 имеют метку 1, остальные – 0. Все значения признаков были переведены в целые числа и размерность датасета была обратимым образом увеличена до 30 – это позволило представлять данные в виде состояния 4-частичной квантовой системы. Для таких входящих состояний можно сделать либо однослойную КНС с единственным $q$-нейроном, либо двухслойную с двумя $q$-нейронами в первом слое и одним во втором. Рассмотрим двухслойную КНС.

Очевидно, ${v} = 0, \ldots ,15$, так как на входе 4-частичное состояние. В этом датасете экземпляры данных упорядочены по времени. Поэтому поставим задачу так: будем прогнозировать задержки 1000 рейсов на основе задержек предыдущих 1000 рейсов. Таким образом, обучающая выборка у нас будет включать 1000 экземпляров данных. Реализуем обучающий и тестовый алгоритмы и получим метрику F1 для каждого теста. Очевидно, таких тестов в этом датасете возможно сделать 538, но мы ограничимся 53 – этого будет достаточно, чтобы увидеть тенденцию. Как видно на графике, представленном на рис. 3, значение метрики сильно изменяется от теста к тесту. Однако, во-первых, среднее значение F1 почти в два раза превышает частоту задержек в полной обучающей выборке (из 53 000 экземпляров) и, во-вторых, снижение качества классификации наблюдается с примерной периодичностью, что может говорить о накоплении неучтенных долгосрочных факторов. При использовании рекуррентной КНС это обстоятельство должно быть хотя бы частично преодолено.

Рис. 3.

Значения метрики F1 в 53 последовательных тестах.

3.2. Онлайн обучение в рекуррентной КНС

Обратимся теперь к рекуррентной КНС, онлайн обучаемой без оптимизации. В отличие от предыдущего случая сети прямого распространения, теперь можно запускать экземпляры данных, относящиеся к разным моментам времени, в разные слои сети. Алгоритм обучения при этом будет основан на тех же соображениях, что и раньше, но на вход его будут поданы экземпляры размеченных данных $\left( {\left| {{{q}_{t}}} \right\rangle ,a} \right)$ с имеющимися уникальной временной меткой $t$ и классом $a$. Схема рекуррентной КНС для рассматриваемого датасета авиарейсов представлена на рис. 4. Количество входящих экземпляров данных может быть почти произвольным – ограничено только числом имеющихся кубитов и количеством имеющихся экземпляров данных. Справа от схемы рис. 4 будет стоять такое же завершение, как в случае КНС прямого распространения. И на выходе этой сети будет 4-разрядное двоичное число.

Рис. 4.

Рекуррентная КНС для 4-частичного входа.

Для эксперимента было выбрано число последовательных векторов, входящих в рекуррентную сеть, равное 5000. Может показаться, что для этого потребуются тысячи кубитов, но это не так: достаточно тех 12 кубитов, что использованы на схеме рис. 4, поскольку обведенная контуром часть схемы может повторяться на тех же кубитах, устанавливаемых каждый раз в требуемое состояние.

Рекуррентная сеть в эксперименте использовалась для предсказания задержки последнего рейса из пакета векторов, т.е., каждого 5000-го рейса. Сеть обучалась накопительным итогом (накапливались значения в матрице $K$).

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

Результат предсказания задержек рейсов с помощью рекуррентной КНС представлен на рис. 5. На нем видно, что для принятых параметров эксперимента, максимальное значение метрики F1 было достигнуто на примерно 10 проходе и дальше качество начало падать. Таким образом, имеет смысл ограничить накопление значений в матрице $K$ 10 шагами.

Рис. 5.

Значения метрики F1 при последовательных проходах данных с классификацией последнего экземпляра (размер пакета 5000 экземпляров).

Десять шагов с пакетами длиной 5000 – это обучение на истории 50 000 экземпляров. При этом на ближайшие 5–10 шагов сеть дает качество предсказания, близкое к 80%.

4. ЗАКЛЮЧЕНИЕ

Рассмотренное в работе квантовое машинное обучение имеет класс QC или QQ, т.е., использует квантовые данные на классических (эмулирующих) или квантовых устройствах. Предложенный $q$-нейрон может работать без обучения в обычном смысле: не нужны оптимизация и обратное распространение ошибки. Его обучение сводится к получению статистических весов исходов.

Построенные из $q$-нейронов квантовые нейронные сети предложены в двух топологиях: прямого распространения и рекуррентная. Рассмотрены процессы обучения КНС. Отдельно рассмотрен вопрос подготовки данных для анализа с помощью КНС. В частности, сформулирована и доказана Теорема 1, которая показывает возможность трансформации размерности данных в широком диапазоне значений, без потери информации (обратимо). Такая трансформация является необходимой для приготовления квантовых состояний из имеющихся классических векторов данных.

Новое направление развития квантового машинного обучения, предложенное в статье [18], использующее квантовую запутанность, в настоящей работе развито и получило дальнейшее теоретическое обоснование и практическое подтверждение.

Системы искусственного интеллекта, основанные на предложенных в настоящей работе конфигурациях квантовых нейронных сетей, далее планируется применять для создания интеллектуальных адаптивных систем управления автономными мобильными роботами, функционирующими в различных средах. Ключевой особенностью разрабатываемых систем является способность к быстрому онлайн-обучению, не требующему функциональной оценки (онлайн-обучение без подкрепления). В случае малых размерностей данных такие системы могут обойтись без квантовых вычислителей.

Список литературы

  1. Tacchino F., Macchiavello C., Gerace D. et al. An artificial neuron implemented on an actual quantum processor. npj Quantum Inf. 2019. V. 5. № 1. P. 26.

  2. Menneer T., Narayanan A. Quantum-inspired neural networks. In Proceedings of the Neural Information Processing Systems 95, Denver, CO, USA, 27–30 November 1995.

  3. Гушанский С.М., Буглов В.Е. Квантовое глубокое обучение сверточной нейронной сети с использованием вариационной квантовой схемы. Известия ЮФУ. Технические науки. 2021. Т. 7. № 224. С. 167–174.

  4. Cong I., Choi S. Lukin M.D. Quantum convolutional neural networks. Nat. Phys. 2019. V. 15. P. 1273–1278.

  5. Kerenidis I., Landman J., Prakash A. Quantum algorithms for deep convolutional neural networks. arXiv 2019. V. arXiv. P. 1911.01117.

  6. Henderson M., Shakya S., Pradhan S., Cook T. Quanvolutional neural networks: Powering image recognition with quantum circuits. Quantum Mach. Intell. 2020. V. 2. P. 2.

  7. Rebentrost P., Mohseni M., Lloyd S. Quantum Support Vector Machine for Big Data Classification. Phys. Rev. Lett. 2014. V. 113. P. 130503.

  8. Harrow A.W., Hassidim A., Lloyd S. Quantum Algorithm for Linear Systems of Equations. Phys. Rev. Lett. 2009. V. 103. P. 150502.

  9. Dang Y., Jiang N., Hu H., Ji Z., Zhang W. Image classification based on quantum K-Nearest-Neighbor algorithm. Quantum Inf. Process. 2018. V. 17. P. 1–18.

  10. Schuld M., Sinayskiy I., Petruccione F. Prediction by linear regression on a quantum computer. Phys. Rev. A. 2016. V. 94. P. 022342.

  11. Lu S., Braunstein S.L. Quantum decision tree classifier. Quantum Inf. Process. 2014. V. 13. P. 757–770.

  12. Lloyd S., Mohseni M., Rebentrost P. Quantum algorithms for supervised and unsupervised machine learning. arXiv 2013. V. arXiv. P. 1307.0411.

  13. Lloyd S. Least squares quantization in PCM. IEEE Trans. Inf. Theory 1982. V. 28: 129–137.

  14. Kerenidis  I.,  Landman  J.,  Luongo  A.,  Prakash  A. q-means: A quantum algorithm for unsupervised machine learning. arXiv 2018. V. arXiv. P. 1812.03584.

  15. Aïmeur E., Brassard G., Gambs S. Quantum speed-up for unsupervised learning. Mach. Learn. 2013. V. 90. P. 261–287.

  16. DiVincenzo D.P. The Physical Implementation of Quantum Computation. Fortschritte der Physik. 2000. V. 48. № 9–11. P. 771–783.

  17. Lloyd S., Mohseni M., Rebentrost P. Quantum principal component analysis. Nat. Phys. 2014. V. 10. P. 631–633.

  18. Зуев С.В. Геометрические свойства квантовой запутанности и машинное обучение. Russian Technological Journal. 2023. Т. 12. № 5: в печати.

  19. Bruza P.D., Cole R.J. Quantum Logic of Semantic Space: An Exploratory Investigation of Context Effects in Practical Reasoning, 2006. Available online: https://arXiv:quant-ph/0612178 (пpocмoтpeнo 20.08.2023).

Дополнительные материалы отсутствуют.

Инструменты

Доклады Российской академии наук. Математика, информатика, процессы управления