На пути к сравнению квантовой и классической моделей машинного обучения

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

Ранее мы ввели меру мощности как полезный способ сравнения нейронных сетей. Выбрав в качестве показателя Effective Dimensions, мы готовы сравнивать квантовую и классическую архитектуры.

В этой части мы будем:

  • Познакомить с нейронными сетями.
  • Предложите гибридные квантовые нейронные сети.
  • Выберите модели для сравнения.
  • Сравните мощности.
  • Экстраполируйте результаты в больших масштабах.

Давай начнем!

Часть II: Возможности классических и гибридных квантовых нейронных сетей

Глубокие нейронные сети:

Время выбрать нашу модель. Мы хотим сравнить нейронные сети, которые являются универсальными моделями машинного обучения, с их разнообразием приложений и архитектур. Для простоты в этом блоге мы возьмем Deep Neural Networks. Они просты, легко объяснимы и состоят из слоев, широко используемых в других типах нейронных сетей. Как они работают?

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

  • ширина головы
  • длина морды (часть лица с носом вверху)
  • отношение длины ушей к голове

Все эти числа идут в узлы, где мы:

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

Мы повторяем процесс для всех слоев, называемых плотными слоями. Последний слой имеет только два узла, что дает два числа — прогнозную оценку классификации питомца как кошку или собаку. Основываясь на этом, мы можем получить такой результат, как [0,86, 0,14], выбрать наибольшее число, и, таким образом, модель предсказала животное как кошку с достоверностью 86%.

Во время тренировки параметры корректируются, чтобы иметь максимальную точность. Подробнее о нейронных сетях здесь [ссылка].

Гибридные квантовые нейронные сети:

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

Поскольку у нашего квантового слоя есть параметры и у нас есть способы их обучения на симуляторах и квантовых устройствах (см. Документация Pennylane — Квантовое дифференцируемое программирование), мы можем строить из них квантовые модели или объединять их с классическими слоями для создания гибридных моделей (Pennylane документации — гибридные вычисления).

Теперь мы готовы выбрать модели для сравнения, но какую кодировку и анзац мы хотим использовать в нашем сравнении? Это открытый вопрос в области исследований. Существуют бенчмарки, сравнивающие разные конфигурации [6][7], некоторые специфические анзацы, которые оказались полезными в некоторых случаях использования [8], и есть специальные квантовые слои, которые выполняют преобразование Фурье (см. Учебник PennyLane — Квантовые модели как ряды Фурье). ») или включать тригонометрические функции [9]. Нам просто нужно разумное покрытие кодирования и изменения данных с использованием амплитуд, фаз и суперпозиций, усиленных запутанностью — наше оружие, предлагаемое квантовыми вычислениями для преобразования данных. Мы будем использовать мгновенное квантовое полиномиальное (IQP) кодирование [4], которое кодирует входные функции в фазы кубитов. Мы начинаем с равной суперпозиции всех возможных состояний, применяя вентили Адамара. Затем в каждом кубите мы кодируем входные числа с помощью вентилей вращения по оси Z. Таким образом, мы по-прежнему имеем равную суперпозицию, но каждая возможная амплитуда состояния имеет разные фазы, ​​которые представляют собой линейные комбинации входных признаков (от α0 до α3). Чтобы ввести нелинейное преобразование, мы кодируем перемноженные пары соседних входных чисел (помеченные как α4 до α6) с помощью сэндвича вентилей CNOT — Rz — CNOT. Таким образом, фазы будут иметь дополнительные нелинейные члены, а также мы введем запутанность, которая затрудняет классическое моделирование кодирования.

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

Чтобы получить это, мы применяем аппаратно-эффективный анзац [5]:

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

В конце мы выполняем измерение и вычисляем ожидаемые значения в основе Z. Мы просто суммируем вероятности измерения кубита в состоянии |0› и вычитаем вероятности измерения его в состоянии |1›. Таким образом, мы получим значение в диапазоне [-1, +1] от каждого кубита — аналогично классической сигмоидной функции активации. Мы выполняем его на последних nкубитах, где n — номер выхода квантового слоя.

Чтобы показать вам, что эта настройка работает, вот пример классификации на известном наборе данных Iris.

Эффективная размерность классификаторов нейронных сетей:

Теперь, когда мы знаем, как работает квантовый уровень, давайте выберем архитектуры для сравнения. Мы будем использовать трехслойные классификаторы глубоких нейронных сетей, где гибридные нейронные сети имеют квантовый слой посередине (скрытый слой). В качестве класса задач возьмем простейшую мультиклассовую классификацию — предсказание 3-х классов. Мы проведем наш эксперимент с различными размерами входных данных, начиная с 2 функций до 10 для гибридной модели и до 50 для классической модели. Последнее, что нужно учитывать, это размер скрытого слоя. Хорошее эмпирическое правило — брать размер скрытого слоя таким же, как и входной слой. Таким образом, мы возьмем квантовый слой с тем же количеством кубитов, что и количество входных признаков во всей модели, и будем измерять и вычислять ожидаемые значения для всех них. Давайте визуализируем это:

Для этого эксперимента мы используем сигмовидную функцию активации в классических слоях, поскольку они ограничивают данные от -1 до 1 — так же, как выходные данные квантовых слоев. Только выходные слои будут иметь функцию активации SoftMax для классификации. Квантовый слой будет иметь анзац только с одним слоем вентилей, чтобы сделать его неглубоким.

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

Полученные результаты:

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

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

Вот это уже что-то! Даже HQNN с 40 входными функциями теоретически дает нам такую ​​же пропускную способность, как DNN со 100 входными функциями. Конечно, это не означает автоматически, что мы можем использовать этот меньший HQNN для классификации 100 входных признаков по 3 классам, но это хороший показатель для того, чтобы попробовать DNN с меньшими скрытыми квантовыми слоями, чем размер входных данных. Кроме того, это результаты экстраполяции тенденций результатов моделирования. Реальность на реальном квантовом оборудовании, вероятно, менее оптимистична, но для мелких анзацев стоит проверить!

Заключение:

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

Использованная литература:

[1] Понимание глубокого обучения требует переосмысления обобщений, Zhang et al. (2016)

[2] Мощь квантовых нейронных сетей (2020), Abbas et al.

[3] Эффективное измерение моделей машинного обучения (2021 г.), Abbas et al.

[4] Обучение под наблюдением с расширенными квантовыми пространствами признаков, Havlicek et al. (2018)

[5] Аппаратно-эффективный вариационный квантовый решатель для малых молекул и квантовых магнитов, Kandala et al. (2017)

[6] Обзор методов проектирования Ansatz для вариационных квантовых алгоритмов, Junhan Qin (2022)

[7] Оценка различных схем Ansatze для бинарных классификаторов квантовых нейронных сетей, Metavei et al. (2022)

[8] Квантовое машинное обучение: обзор и тематические исследования, Zeguendry et al. (2022)

[9] Квантовое машинное обучение в финансах: прогнозирование временных рядов, С. Димоска и Д. Эмманулопулос (2022 г.)

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

Обобщение и выразительность для глубоких нейронных сетей, Шао-Бо Линь (2018 г.)