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

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

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

Что такое квантовые вычисления?

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

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

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

Квантовое машинное обучение

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

Приложения квантового машинного обучения

  1. Имея данные, содержащие миллионы столбцов, вы можете взять их квантовую версию и разложить на основные компоненты. Таким образом, как вычислительная сложность, так и временная сложность уменьшаются в геометрической прогрессии.
  2. В классических компьютерах некоторые алгоритмы могут выполняться только до определенного числа измерений. Более того, это потребует слишком большой вычислительной мощности, которой у этих компьютеров нет. Однако квантовые компьютеры могут выполнять эти алгоритмы с экспоненциально более высокой скоростью. Принцип суперпозиции и запутанности позволяет ему работать эффективно и быстрее давать результаты.
  3. Из-за того, как работают кубиты, вместо того, чтобы иметь четкое положение, они встречаются в смешанной «суперпозиции», точно так же, как монета вращается в воздухе, прежде чем упасть на вашу руку. Это позволяет ему иметь возможность обрабатывать экспоненциально больше данных по сравнению с классическими вычислениями.

Реализация квантовых машин опорных векторов

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

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

Здесь было создано несколько граничных линий, чтобы точно разделить два класса, красные точки и синие точки. Если была введена новая точка, и она находилась выше граничной линии, то мы знаем, что это синяя точка, и наоборот.

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

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

Кискит

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

Реализация алгоритма квантовой машины опорных векторов

Теперь мы запускаем наш алгоритм с набором данных из реального мира: набор данных о раке молочной железы. Это набор данных, предоставленный scikit Learn. Данные содержат 30 признаков (средний радиус, средняя текстура и т. д.) и классифицируются по двум признакам: злокачественные и доброкачественные.

После установки необходимых библиотек, qiskit и qiskit.aqua, мы сначала импортируем все необходимые библиотеки.

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

Когда набор данных готов, мы можем настроить алгоритм квантовой машины опорных векторов. Здесь мы используем ZZFeatureMap, которая является квантовой картой признаков. Эти карты преобразуют классические данные в квантовые данные. Он берет классическую точку данных x и переводит ее в набор параметров ворот в квантовой схеме, создавая квантовое состояние. Чтобы построить машину опорных векторов, необходимо составить карту объектов. Провайдер Aer предоставляет нам доступ к серверной части, состоящей из нескольких симуляторов, входящих в состав Qiskit и работающих на вашем локальном компьютере.

Теперь мы реализуем классический алгоритм SVM, чтобы сравнить их.

Заключение

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

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