Этот пост является частью книги: Практическое машинное обучение с помощью Python.

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

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

Но алгоритмы машинного обучения становится все труднее обучать. Поэтому, когда мы смотрим на представление, на ум приходят современные алгоритмы машинного обучения, такие как сеть Generative Pre-trained Transformer 3 (GPT-3), опубликованная в 2020 году. GPT-3 создает человекоподобный текст.

Обучение GPT-3 потребовало бы 355 лет на одном GPU (графическом процессоре) и стоило бы 4,6 миллиона долларов. Благодаря распараллеливанию обучение проходило намного быстрее. Тем не менее, это потребовало огромного количества вычислительных ресурсов.

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

Скажем, например, модель состоит из четырех логических (истинных или ложных) параметров. Тогда есть 2⁴=16 возможных конфигураций. Если бы параметры принимали одну цифру (0–9) в качестве значения, было бы 10⁴=10 000 возможных конфигураций. Соответственно, если бы у нас было 86 параметров вместо четырех, то возможных конфигураций модели было бы 10⁸⁶. Между прочим, это примерно столько же атомов в видимой Вселенной!

Модель GPT-3 состоит из 175 миллиардов параметров. Я бы не осмелился даже подумать о том, сколько существует возможных конфигураций.

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

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

Что делает квантовые вычисления такими мощными, так это не их скорость обработки. На самом деле, это довольно медленно. Что делает квантовые вычисления такими мощными, так это не их память. На самом деле он нелепо мал. Итак, мы говорим о нескольких квантовых битах.

Что делает квантовые вычисления такими мощными, так это алгоритмы, которые они делают возможными. Кроме того, эти алгоритмы имеют другие характеристики сложности, чем их классические эквиваленты.

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

Например, вычислительные затраты на сложение составляют O(n). Это означает, что усилия по сложению двух чисел линейно возрастают с размером (цифрами) числа. Вычислительное усилие умножения составляет O (n²). Усилие увеличивается на квадрат размера числа. Такие алгоритмы называются разрешимыми за полиномиальное время.

Но эти проблемы сравнительно просты. Например, лучший алгоритм, решающий проблему факторизации, — это нахождение простых множителей n-значного числа: O (e^(n^1/3). К сожалению, это означает, что усилия растут экспоненциально с увеличением количества цифр.

Разницу между O(n²) и O(Мы не должны недооценивать сложность e^ (n¹/3). В то время как ваш смартфон может перемножать числа из 800 цифр за несколько секунд, факторизация таких чисел занимает около 2000 лет на суперкомпьютере.

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

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

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

Actually, the quantum system does not exist in multiple
states concurrently. It exists in a complex linear combination
of a state 0 and a state 1. It is a different kind
of combination that is neither "or" nor is it "and".

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

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

Альберт Эйнштейн ярко отверг идею квантовой запутанности как «призрачного действия на расстоянии».

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

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

Вывод

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

Возможность изучить технологию именно тогда, когда она собирается доказать свое превосходство, — это уникальная возможность. Не пропустите.

Этот пост является частью книги: Практическое машинное обучение с помощью Python.

Получите первые три главы бесплатно здесь.