Физики из Китая и США научили сверточную нейронную сеть вычислять топологический инвариант одномерной системы. Точность нейросети составила около 98 процентов, причем она одинаково хорошо работала для систем, аналогичных системам из обучающей выборки и отличных от них. Кроме того, ученые «раскрыли» нейросеть и объяснили, почему она так хорошо работает. Статья опубликована в Physical Review Letters, препринт работы выложен на сайте arXiv.org.
Топологические фазы материи обладают рядом интересных свойств, поэтому физики активно их изучают. Например, в 2016 году Нобелевскую премию по физике присудили за теоретическое открытие топологических фазовых переходов и топологических фаз материи. Слово «топологический» появляется здесь из-за того, что различные топологические фазы нельзя перевести друг в друга путем непрерывных деформаций поля — подобно тому, как нельзя перевести сферу в тор. При этом каждой топологической фазе можно поставить в однозначное соответствие некоторое число, которое называют топологическим инвариантом. В случае сферы и тора таким инвариантом служит род поверхности. Подробнее прочитать о топологических фазах можно в нашем интервью с Алексеем Рубцовым и в еще одной статье.
В последнее время ученые все чаще применяют методы машинного обучения для исследования свойств различных физических систем. Например, с его помощью ускоряют численные расчеты, выявляют квантовую запутанность и управляют состоянием квантовых систем. Тем не менее, использовать машинное обучение для изучения топологических фаз сложно, поскольку топологические инварианты нелокальны (то есть определяются состоянием всей системы в целом) и нелинейны (то есть существенно зависят от конфигурации полей). Из-за этого многие техники машинного обучения оказываются неэффективны.
В этой статье группа физиков под руководством Чжая Хуэя (Hui Zhai) обучила нейросеть определять топологические фазы одномерного топологического материала класса симметрии AIII. Рассмотренные авторами системы описываются гамильтонианом, зависящим от двух произвольных действительных функций hx(k) и hy(k), где число k лежит в зоне Бриллюэна, то есть 0 < k < 2π. Для удобства ученые дискретизировали задачу, то есть разбили зону Бриллюэна на L равных отрезков и задали значения гамильтониана на их концах. В итоге состояние системы определялось матрицей размера (L+1)×2, в которой первая строка отвечала значениям функции hx(k), а вторая — hy(k).
Топологическим инвариантом подобной системы является число оборотов w (winding number). Найти это число можно следующим образом. Определим комплексную функцию U(k) = hx(k) + ihy(k) и посмотрим, сколько раз она «оборачивается» вокруг начала отсчета в комплексной плоскости, пока k пробегает значения от 0 до 2π — число получится обязательно целым, поскольку U(k+2π) = U(k). Собственно, это число и называется числом оборотов w. Кроме того, договоримся, что если оборотов по часовой стрелке было больше, чем оборотов против часовой стрелки, то w < 0, в противном случае w > 0. Более строго число w можно определить, рассмотрев контурный интеграл от произведения функции и ее производной, который для дискретной задачи сводится к сумме от изменений аргумента U(k).
Для начала ученые сконструировали простейшую сверточную нейронную сеть без скрытых слоев и с линейной функцией активации. Затем они обучили ее на гамильтонианах модели Су-Шриффера-Хигера (Su-Schrieffer-Heeger, SSH), которые являются частным случаем систем класса симметрии AIII и отвечают числам w = 0, 1. Неожиданно оказалось, что даже такая простая сеть определяет число w с точностью, близкой к ста процентам, — но только для гамильтонианов выбранной модели. Когда же физики пытались использовать ее для более общих моделей, точность предсказаний резко падала до пятидесяти процентов (то есть сеть угадывала число вслепую).
Поэтому на следующем шаге исследователи построили более сложную сверточную нейросеть с двумя скрытыми слоями, а также сравнили ее с полносвязной нейросетью с тремя скрытыми слоями; в обоих случаях функция активации снова была линейной. На этот раз ученые «скармливали» нейросетям гамильтонианы более общего вида, отвечающие числам w = 0, ±1, ±2. В результате выяснилось, что сверточная сеть не только смогла воспроизвести результаты на системах, аналогичных системам из обучающей выборки, но и выявила общую закономерность — то есть так же хорошо работала для систем с w = ±3, ±4, которые в обучении не участвовали (во всех случаях точность определения числа w превышала 98 процентов). Полносвязная сеть, однако, к таким обобщениям была не способна.
Чтобы понять, почему сверточная нейронная сеть так хорошо работает, ученые «открыли черный ящик» и посмотрели, что делает каждый из слоев сети. Оказалось, что сначала нейросеть вычисляет «локальные числа w», которое затем суммируются и сопоставляются итоговой топологической характеристике системы. Важно, что работа первых двух слоев практически не зависит от того, какому числу w отвечают исходные данные. Поэтому экстраполяция происходит только на последнем шаге, и нейросеть сравнительно хорошо с ней справляется. В итоге сеть воспроизводит «честную» формулу для вычисления w через сумму изменений аргумента U(k). По словам авторов статьи, дополнительно улучшить результаты нейросети можно с помощью регуляризации.
В сентябре прошлого года физики из США и Швейцарии научили нейросеть считать функциональные интегралы и проверили ее работу на 1+1-мерной модели Тирринга. Таким образом им удалось обойти проблему знака и ускорить расчеты более чем в десять раз.
Дмитрий Трунин