Квантовая революция: какими будут компьютеры будущего
В следующие годы нам в буквальном смысле предстоит совершить квантовый скачок. Компьютеры будут производить вычисления, которые в настоящее время невозможны. CHIP разобрался, кто стоит за прогрессом и как будут работать компьютеры будущего.
Нейронные сети и квантовые компьютеры — две технические разработки, которые поспособствуют развитию компьютеров в следующем десятилетии.
Единицы, нули — с самого начала своего существования, вот уже почти семьдесят лет, компьютеры производят вычисления в двоичном коде, образуя последовательность битов информации с помощью простых операторов: AND, OR, NOT. Эти простые элементы образуют сложные команды, составляя основу любого языка программирования: если условие выполняется, то нужно сделать это (IF, THEN), если нет — то другое (IF, ELSE). Машины выполняют программный код строго слово в слово.
А теперь представьте себе компьютер, который не только понимает нули и единицы, но и знает все вероятности того, что значение будет равно нулю или единице. Он считает не как малыш, который складывает по пальцам: 1+1=2 или 2+2=4, а как юноша, который понимает саму операцию сложения: x+y=z. Он не выполняет заданный строгий код, а сам подстраивается под поставленные задачи и по мере их выполнения выдает результаты все быстрее и точнее. При этом он самостоятельно находит такие решения, которые программистам и в голову не приходили, и адаптирует код под них.
Один бит за все цифры
В основе работ над квантовым компьютером лежит идея, известная в массовой культуре как «кот Шредингера». Этот мысленный эксперимент объясняет одно из понятий квантовой физики — суперпозицию. Если классическая физика однозначно определяет состояние элементарной частицы через ее положение и скорость, то открытия квантовой физики позволяют описывать состояние частицы только через функцию вероятности.
Кубит — квантовый бит.
Из смешения всех возможных состояний только в момент наблюдения — измерения — частица выбирает одно конкретное: электрон, например — состояние спина («спин вверх» или «спин вниз»). Квантовые компьютеры при вычислениях используют как раз явление суперпозиции.
В основе гигантских вычислительных мощностей кубитов лежат два квантомеханических эффекта: суперпозиция и запутанность.
Суперпозиция: классический компьютер производит вычисления с битами (значение 0 или 1). Квантовый компьютер производит вычисления с помощью кубитов, которые представляют определенную вероятность получения двух состояний: 0 и 1. Запутанность: несколько кубитов можно объединить в одно общее состояние. Три кубита представляют разные вероятности получить восемь комбинаций из трех битов. Это значит, что N кубитов могут одновременно обрабатывать 2 в степени N значения. Для системы из 50 кубитов это число составляет более квадриллиона значений.
Наименьшим элементом для хранения информации в квантовом компьютере является квантовый бит — кубит. Если бит принимает строго одно из двух значений — 0 или 1, то кубит представляет все вероятности получить значение 0 или 1. Огромная разница в вычислительных ресурсах между квантовым компьютером и классическим обусловлена использованием еще одного квантомеханического явления — квантовой запутанности: если два кубита оказываются взаимосвязаны, сливается их функция вероятности, которая описывает, в какие состояния они могут перейти.
То есть два кубита при считывании могут получить четыре значения (00, 01, 10, 11). Чем больше совокупность запутанных между собой кубитов, тем сильнее этот эффект; он выражается формулой 2 в степени N, где N — количество запутанных кубитов. То есть 10 кубитов содержат 1024 вероятных значения, а 50 кубитов представляют более квадриллиона различных состояний.
Оборудование почти при нуле
Чтобы построить полноценный квантовый компьютер, предстоит преодолеть некоторые серьезные препятствия. Явления квантовой суперпозиции и квантовой запутанности могут занимать какие-то микросекунды. Компьютер может производить вычисления в течение этого промежутка времени, причем при условии, что кубиты изолированы от внешнего воздействия.
В роли кубитов ученые пробовали разные частицы, в том числе ионы, фотоны, электроны. Квантовые компьютеры IBM и Google построены на цепи из сверхпроводников, находящейся при температуре, близкой к абсолютному нулю, — так можно реализовать электрический ток, который потенциально проходит одновременно в обоих направлениях, то есть находится в суперпозиции состояний. Кубиты этих компьютеров управляются, объединяются и считываются с помощью микроволнового излучения.
Код для кубитов
Писать код для квантового компьютера — дело далеко не обычное. Этапы вычислений разбиваются на квантовые вентили, моделирующие классические операторы AND, OR и NOT. Для этого кубиты получают входное состояние и затем в несколько этапов объединяются друг с другом.
До сих пор существует всего несколько алгоритмов, оптимизированных под квантовые компьютеры. Например, на алгоритм Шора для разложения натурального числа на простые множители классическому компьютеру требуется чрезвычайно много времени, даже если он задействует тысячи процессоров. Квантовый же 100-кубитный компьютер, по оценкам руководителя лаборатории Google Джона Мартиниса, с такими вычислениями справится очень быстро. Группа ученых под руководством профессора физики уже построила для Google 49-кубитный квантовый компьютер.
Однако такой квантовый компьютер, по словам Мартиниса, должен содержать некоторое количество дополнительных кубитов для исправления ошибок. Дело в том, что базовые единицы квантовой информации чрезвычайно восприимчивы к внешним воздействиям, что приводит к искажению результата — отсюда и возникает необходимость в тщательной проверке. Поэтому открытым остается вопрос масштабируемости квантового компьютера: не исключено, что система коррекции ошибок потребует столько вычислительных ресурсов, что разработка больших квантовых компьютеров не будет иметь смысла — такой вот пессимистичный прогноз.
Но если масштабирование удастся, квантовые компьютеры смогут в будущем быстрее решать все задачи, сводящиеся к правильному выбору одной вероятности из очень многих. Сегодня мы используем суперкомпьютеры, которые, однако
Самооптимизирующийся код
Вместо того чтобы обрабатывать введенные данные строка за строкой или пиксель за пикселем, нейросети разбивают, к примеру, изображение на небольшие фрагменты, чтобы нейроны могли их анализировать параллельно. Нейроны — это по сути маленькие программы, образующие слои. Они выявляют типичные признаки фрагмента, накладывая на него фильтр, и передают их следующему слою нейронов.
Нейросети обучаются, исправляя ошибки
Сверточные нейронные сети (Convolutional Neural Networks) — это настоящий прорыв в глубинном обучении: они идентифицируют объекты на снимках так же верно, как и человек. Решающую роль в выявлении признаков играет взаимодействие двух слоев нейронов — свертки и выборки (Convolution and Pooling Layers). В процессе обучения совершается обратный проход сигнала ошибки.
Свертка. Нейроны используют различные фильтры для выявления и выделения характерных признаков фрагмента изображения. Выборка. Все лишние данные игнорируются, результат отправляется с несколькими слоями выборки, что дает возможность увеличивать размер анализируемого фрагмента.
Классификация. Все выявленные признаки собираются: для каждого варианта вывода нейрон указывает его вероятность.
Коррекция ошибок. Обратный проход сигнала ошибки позволяет нейронам подрегулировать веса: все веса настраиваются пропорционально участию нейрона в распознавании объекта.
Сигнал передачи усиливается или ослабляется в зависимости от веса соединения от нейрона к нейрону. Чтобы определять вес соединения от нейрона, сеть проходит обучение на основе миллионов образцов изображений. Для успешного обучения после каждого прямого прохода по всем слоям сети совершается передача сигнала в обратном направлении с учетом ошибки, чтобы скорректировать вес соединений.
Следующий слой нейронов получает данные от нейронов предыдущего слоя, анализирует фрагмент большего размера и передает результаты на третий слой. И так, слой за слоем, сеть из нейронов прорабатывает фрагмент до завершения анализа целого изображения. В конце специальные нейроны относят содержание рисунка к какому-либо классу и делают выводы о том, что на нем изображено.
Обучение проходит быстрее без данных, полученных от человека
Идея выражается формулировкой «искусственный интеллект». Интеллектуальная система, специально обучаемая выполнять определенную задачу, превосходит любую обычную программу и нередко даже специалиста-человека, что недавно было продемонстрировано прямо-таки разгромными результатами новой версии алгоритма AlphaGo Zero. ИИ, созданный компанией DeepMind, принадлежащей Google, с нуля освоил настольную стратегию го, играя против себя же, получив от человека только правила игры.
Го можно сравнить с шахматами, но в этой игре значительно больше вариантов положений камней на доске. Больше, чем игровых раскладов, с учетом которых обычная программа могла бы выдержать конкуренцию с гроссмейстером-человеком. За три дня Zero научился обыгрывать сильнейших профессиональных игроков, а через три недели стал сильнее собственной предыдущей версии, опыт которой — миллионы профессиональных игр — он изучил.
Вывод о том, что ИИ без контроля человека в принципе достигает лучших результатов, можно применить и к другим задачам. Проект Google AutoML показывает, насколько хороши могут быть нейронные сети без данных, получаемых от человека, которые им могут помешать. Перед системой AutoML была поставлена цель самостоятельно спроектировать ИИ и обучить ее выполнять некую задачу. Так появилась «дочь» AutoML — NASNet, сеть, вскоре побившая все рекорды в распознавании объектов из базы ImageNet, содержащей 15 млн изображений. Автоматически созданный ИИ стал лучше любой другой системы машинного зрения, созданного человеком, по коэффициенту совпадений, причем потребовал меньше ресурсов на обучение.
Вычисления с помощью ИИ и квантовых компьютеров
Что именно должна вычислять сеть и как подготовить данные для ввода, по-прежнему определяется человеком. Если эта предварительная работа будет проведена, нейросети существенным образом ускорят развитие научных исследований. Уже сегодня они используются для исследований биологических и химических процессов. Нейронная сеть, разработанная Уэном Торнгом и Рассом Альтманом в Стэндфордском университете, — всего лишь один пример из многих. Эта сеть анализирует роль отдельных аминокислот в структуре белка (см. справа). Ученые выразили мысль, что их нейронная сеть затмила существующие до этого экспериментальные методы анализа.
Хассабис видит будущее AlphaGo Zero в разработке сверхпроводника, работающего при комнатной температуре, что могло бы стать стимулом не только для перехода на другие виды энергии. Однако молекулярный мир намного сложнее, чем доска для го, о чем напоминают не разделяющие оптимизма Хассабиса специалисты по материаловедению. С задачей совершить прорыв в области материаловедения на одном только ИИ не справиться. Валентин Станев, исследователь университета Мэриленда, считает, что эта сложная проблема «нерешаема без полноценных квантовых вычислений».
Читайте также:
- Когда на самом деле появился Интернет? Заглянем в историю
- Технотренды 2018: «умные» гаджеты и электромобили
- Технотренды 2018: телевизоры, компьютеры и смартфоны
Фото: компании-производители