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

  • Сорокин Дмитрий Игоревич
  • кандидат науккандидат наук
  • 2023, ФГАОУ ВО «Национальный исследовательский университет «Высшая школа экономики»
  • Специальность ВАК РФ05.13.18
  • Количество страниц 115
Сорокин Дмитрий Игоревич. Разработка методов машинного обучения с подкреплением для управления робототехническими устройствами и виртуальными агентами: дис. кандидат наук: 05.13.18 - Математическое моделирование, численные методы и комплексы программ. ФГАОУ ВО «Национальный исследовательский университет «Высшая школа экономики». 2023. 115 с.

Оглавление диссертации кандидат наук Сорокин Дмитрий Игоревич

Введение

Глава 1. Обзор методов обучения с подкреплением и их

применения в роботике

1.1 Обзор методов глубокого обучения с подкреплением

1.1.1 Нейронные сети

1.1.2 Обучение с подкреплением

1.1.3 Уравнение Беллмана

1.1.4 Метод value iteration

1.1.5 Off-policy алгоритмы

1.1.6 On-policy алгоритмы

1.1.7 Использование внутренней мотивации в средах с редкой наградой

1.1.8 Мета-обучение

1.1.9 Иерархические методы обучения с подкреплением

1.2 Обзор применения методов обучения с подкреплением в роботике

Глава 2. Разработка метода, способного оперировать

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

оптического интерферометра

2.1 Физические принципы работы и модель оптического интерферометра

2.1.1 Математическая модель интерференции света

2.1.2 Математическая модель интерферометра Маха-Цендера

2.1.3 Видность интерференционной картины

2.1.4 Математическая модель интерферометра Маха-Цендера

с линзами

2.1.5 Видность интерференционной картины в интерферометре Маха-Цендера с линзами

2.1.6 Численная модель интерферометра Маха-Цендера

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

2.2.1 Пространство состояний и действий и длительность

эпизода

2.3 Метод настройки с использованием дискретного пространства

действий

2.3.1 Дискретизация пространства действий

2.3.2 Функция награды

2.3.3 Архитектура нейронной сети агента

2.3.4 Параметры агента и обучение в симуляции

2.4 Метод настройки с использованием непрерывного пространства

действий

2.4.1 Пространство действий

2.4.2 Функция награды

2.4.3 Архитектура нейронной сети агента

2.4.4 Параметры агента и обучения в симуляции

2.5 Программно-аппаратный комплекс Интерферобот

2.6 Перенос из симуляции в реальность

2.7 Настройка интерферометра Маха-Цендера без линз

2.7.1 Оценка результатов работы агента на экспериментальной установке

2.7.2 Анализ стратегии используемой агентом при настройке интерферометра

2.7.3 Анализ эффективности шумов использованных при обучении

2.8 Настройка интерферометра Маха-Цендера с системой линз

2.8.1 Оценка результатов работы агента на экспериментальной установке

2.8.2 Анализ стратегии используемой агентом при настройке интерферометра

2.8.3 Анализ эффективности шумов использованных при обучении

2.9 Выводы

Глава 3. Метод обучения стратегии для управления

движением шагающего робота с заданной линейной и

угловой скоростью

3.1 Постановка задачи управления шагающим роботом

3.2 Метод управления линейной и угловой скоростью шагающего робота основанный на обучении с подкреплением

3.3 Оценка результатов работы в симуляции

3.4 Выводы

Глава 4. Иерархический алгоритм, комбинирующий

алгоритмический и нейросетевой подходы и его

применение для управления агентом в среде NetHack

4.1 NetHack - одна из самых сложных игр для ЯЬ

4.1.1 NLE - среда основанная на игре ^Шаск

4.2 Декомпозиция игры ^Шаск на подзадачи

4.3 Обучение иерархического агента совмещающего обучение с подкреплением и алгоритмический подход

4.4 Выводы

Заключение

Список литературы

Список рисунков

Список таблиц

Приложение А. Листинги программного кода

А.1 Функция трассировки луча через систему зеркал

А.2 Функция рассчитывающая параметры луча при прохождении

системы зеркал

А.3 Листинг функции вычисления интерференционной картины

А.4 Листинг задания нейронной сети DQN агента

А.5 Листинг задания нейронной сети TD3 агента

Приложение Б. Вывод основных формул

Б.1 Вывод формулы видности для интерферометра Маха-Цендера

(2.9)

Б.2 Вывод формулы видности для интерферометра Маха-Цендера с

линзами (2.16)

Приложение В. Изображения интерференционных картин

Рекомендованный список диссертаций по специальности «Математическое моделирование, численные методы и комплексы программ», 05.13.18 шифр ВАК

Введение диссертации (часть автореферата) на тему «Разработка методов машинного обучения с подкреплением для управления робототехническими устройствами и виртуальными агентами»

Введение

Современные методы глубокого обучения с подкреплением (RL) способны решать задачи оптимального управления и планирования без использования априорной информации о решаемой задаче. Обучение происходит путем проб и ошибок, в котором агент взаимодействует со средой и учится оптимизировать свои действия так, чтобы они приводили к большей ожидаемой награде. Такая формулировка метода машинного обучения наиболее близко отражает то, как учится человек, и может рассматриваться как один из подходов к созданию общего искусственного интеллекта [1]. Впервые глубокое обучение с подкреплением было применено для управления виртуальным агентом в среде, основанной на играх "Atari 2600" в 2013 году[2]. Было показано, что RL способен управлять агентом на основе визуальной информации на уровне человека. С этих пор теме машинного обучения с подкреплением уделяется все больше внимания. Обучение с подкреплением доказало свою эффективность, обойдя человека во многих задачах, таких как игра в шахматы [3], игра Го [4] и StarCraft II [5]. Эти впечатляющие результаты стали возможны не только благодаря развитию методов RL, но во многом из-за развития вычислительной техники, так как для успешного обучения агента требуется большое количество эпизодов взаимодействия со средой. Исследования, проводимые в рамках данной работы, сконцентрированы в основном на разработке методов обучения с подкреплением, применимых для управления реальными робототехнически-ми устройствами. Создание алгоритмов, способных к принятию решений в окружающем нас мире, самообучающихся и не требующих при этом больших объемов размеченных человеком данных, способно вызвать взрывной рост в коллаборативной роботике, беспилотном транспорте и в области виртуальных ассистентов.

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

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

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

В рамках диссертации сделан фокус на разработку методов, основанных на обучении с подкреплением, применимых для управления робототехниче-скими устройствами. Для оценки качества работы предложенных методов использовались важные практические приложения. Было предложено новое приложение для алгоритмов машинного обучения с подкреплением — настройка оптического интерферометра. Впервые разработанный метод обучения с подкреплением был применен в задаче настройки установки оптического интерферометра Маха-Цендера [6; 7]. Для решения задачи по точной настройке оптического интерферометра ЯЬ агент должен быть способен оперировать действиями различного масштаба, использовать крупные действия в начале и точные действия в конце настройки. Размер действий в начале и в конце может отличаться более чем в 100 раз. Такая постановка довольно редка в задачах ЯЬ, но важна в практических приложениях. Также обученный агент должен быть устойчив к оптическим шумам во входных изображениях, возникающих

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

Необходимость управления с использованием непрерывного пространства действий также возникает в задаче управления шагающим роботом. В рамках данной работы рассматривалась задача управления движением шагающего робота Ипйгее А1 [8]. Для успешного обучения ЯЬ алгоритмов важным является задание функции награды. При небрежно заданной функции награды агент может выучить субоптимальную стратегию. В рамках данной работы была предложена функция награды, в которой штрафы за не оптимальность стратегии агента увеличиваются по расписанию. Предложенная функция награды была применена для обучения ЯЬ агента управлению движением робота Ип^гее А1 [9] с заданными параметрами, такими как угловая и линейная скорости. Предложенная функция награды побуждает агента выучивать безопасное и плавное движение с заданной скоростью. В случае робота с большим количеством степеней свободы использование обучения с подкреплением имеет существенные преимущества по сравнению с классическими алгоритмами, так как агент может самостоятельно выучить оптимальную стратегию, опираясь только на скалярную функцию награды. Оптимальная стратегия должна хорошо фильтровать шумы в наблюдениях, не требовать чрезмерно большого количества данных для обучения и не совершать действий, которые могли бы повредить роботу. Результаты тестирования обученного агента показали, что он способен хорошо выполнять поставленные задачи в симуляции.

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

был предложен иерархический алгоритм, комбинирующий в себе обучение с подкреплением, классические алгоритмы на графах и экспертные знания. В нем стратегия строится из базовых навыков, предназначенных для решения конкретных задач, а выбор навыка происходит на основании текущего состояния. Разработанный алгоритм был применен для управления виртуальным агентом в среде NetHack [10]. Данная среда является одной из наиболее сложных тестовых сред для алгоритмов обучения с подкреплением. Средняя длинна эпизода в NetHack составляет 100'000 шагов, что в 50 раз больше, чем в StarCraft II. Также NetHack является процедурно генерируемой средой, из-за чего агент редко может оказаться в одном состоянии больше одного раза. Большое пространство действий и различных состояний среды приводит к тому, что большинство методов, используемых в обучении с подкреплением для исследования среды, не работают в такой постановке. Разработанный метод позволил эффективно применить обучение с подкреплением в данной задаче и занял первое место по результатам соревнования, проводимого Google DeepMind и Facebook AI Research в рамках конференции NeurIPS Competition track 2021 [11]. Данный подход может быть использован при проектировании систем, сочетающих в себе машинное обучение и классические алгоритмы.

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

Для достижения поставленной цели необходимо было решить следующие задачи:

1. Разработка компьютерной модели оптического интерферометра Маха-Цендера.

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

3. Разработка алгоритма обучения с подкреплением, способного оперировать действиями различного масштаба и устойчивого к оптическим шумам.

4. Создание программно-аппаратного комплекса для использования алгоритма при настройке физического интерферометра.

5. Разработка функции награды со штрафами, увеличивающимися по расписанию, и обучение на ее основе ЯЬ алгоритма для управления скоростью движения шагающего робота.

6. Разработка иерархического метода, объединяющего алгоритмический и нейросетевой подходы, и применение его для среды КеШаск.

Научная новизна:

1. Предложен метод обучения с подкреплением, способный оперировать действиями различного масштаба и устойчивый к оптическим шумам. Разработанный метод впервые был применен для настройки оптического интерферометра.

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

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

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

Практическая значимость работы заключается в следующем:

1. Применение предложенного в работе автоматизированного подхода к настройке оптического интерферометра позволит существенно ускорить проведение физических экспериментов и снизит необходимость в ручном труде.

2. Разработанные алгоритмы для управления виртуальными агентами затем могут быть применены в робототехнике, самоуправляемых автомобилях и виртуальных ассистентах.

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

Основные положения, выносимые на защиту:

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

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

2. Программно-аппаратный комплекс автоматической настройки оптического интерферометра. Скорость и точность настройки с использованием разработанного метода существенно превосходят ручную настройку.

3. Метод обучения стратегии для управления движением шагающего робота с заданной линейной и угловой скоростью.

4. Иерархический алгоритм, комбинирующий алгоритмический и нейро-сетевой подходы. Алгоритм был протестирован в задаче управления агентом в среде NetHack.

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

Апробация работы. Основные результаты работы докладывались на: 34-й международной конференции Neural Information Processing Systems (NeurIPS) в 2020 году, доклад был отмечен как spotlight, 29-й ежегодной международной конференции по лазерной физике LPHYS'21, 5-й международной конференции Conference on Robot Learning (CoRL) в 2021 году, 35-й международной конференции Neural Information Processing Systems (NeurIPS, Competition track) в 2021 году, международной конференции по квантовым технологиям ICQT в 2021 году, международной научно-технической конференции Нейроинформатика в 2022 году.

Публикации. Основные результаты по теме диссертации изложены в 4 печатных изданиях, 2 — в периодических научных журналах, индексируемых

Web of Science и Scopus, 4 — в тезисах докладов. Зарегистрирована 1 программа для ЭВМ.

Достоверность полученных результатов обеспечивается комплексным тестированием предложенного метода автоматизированной настройки оптического интерферометра, проведенной в ООО МЦКТ. По результатам соревнования, проводимого Google DeepMind и Facebook AI Research, разработанный метод управления агентом в среде NetHack превзошел остальные подходы, использующие нейронные сети.

Объем и структура работы. Диссертация состоит из введения, 4 глав, заключения и 3 приложений. Полный объём диссертации составляет 115 страниц, включая 36 рисунков и 12 таблиц. Список литературы содержит 72 наименования.

Глава 1. Обзор методов обучения с подкреплением и их применения

в роботике

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

Агент взаимодействует со средой посредством совершения действий из заранее заданного набора а е Л. При каждом действии агента среда переходит в новое состояние , а агент получает награду г е'Я,. Цель обучения агента

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

1.1 Обзор методов глубокого обучения с подкреплением

Глубокое обучение с подкреплением основано на объединении нейронных сетей и методов обучения с подкреплением. Нейронная сеть в этом случае выступает в качестве универсального аппроксиматора и определяет стратегию агента при взаимодействии со средой Пе.

1.1.1 Нейронные сети

Понятие искусственной нейронной сети было впервые предложено У. Маккалоком и У. Питтсом в 1943 году в работе "Логическое исчисление идей, относящихся к нервной активности"[12]. Первая нейронная сеть с одним скрытым

слоем, пороговой функцией активации и прямым распространением сигнала была предложена Ф. Розенбла.ттом в 1957 году [13].

Схематически полносвязная нейронная сеть с одним скрытым слоем представлена на рис. 1.1. Нейронная сеть принимает на вход вектор входных параметров X и возвращает на выходе вектор выходных параметров Y. Значение в нейроне на слое i вычисляется как взвешенная сумма значений нейронов на слое i _ 1 плюс смещение (bias). Таким образом, значения активаций, получаемые в нейронах на слое г, можно представить в виде:

хг = a(W^m • хг—1 + Ъгт), (1.1)

где а - функция активации, W^m - матрица весов, Ьгт - вектор смещений, хг—\ : |жг_i| = т - значения активаций на слое i _ 1, а хг : |жг| = п - значения активаций на слое i. Для оптимизации (обучения) параметров нейросети применяется алгоритм обратного распространения ошибки, который был одновременно разработан А.И. Галушкиным [14] и П.Д.Вебросом [15]. На каждой итерации алгоритма 1 происходит два прохода - прямой и обратный. Во время прямого прохода (X ^ Y) последовательно вычисляются значения активаций хг на каждом слое. Значение активаций на последнем слое является выходным значением нейронной сети. Затем во время обратного прохода вычисляется градиент функции ошибки по параметрам каждого слоя и значения параметров обновляются методом градиентного спуска для минимизации функции ошибки. Так как нейронная сеть представляет собой сложную функцию (композицию нескольких функций) то градиент функции ошибок по параметрам ¿-ого слоя записывается следующим образом:

dL dL дх;

dW{ dxi dW{

(1.2)

r\

Частная производная в уравнении 1.2 вычисляется с помощью производной функции активации а и значения активации Xi—\ на предыдущем слое.

О т

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

Algorithm 1: Алгоритм обратного распространения ошибки Input: X - входные наблюдения, Y - ожидаемые выходные значения,

L(Y, У) - функция потерь, W - параметры нейронной сети Output: W' - новые значения параметров нейронной сети while L(Y,Y) > £ do

Выбираем х ~ X, у ~ Y; Прямой проход: y = NN(W, x); Вычисляем ошибку предсказания: Е = L(y,y); Обратный проход: Awij = —а; end

Нейронные сети получили широкое распространение в самых разных задачах, таких как распознавание изображений [16] и анализ текстов на естественном языке [17], благодаря тому, что нейронная сеть с достаточно большим количеством параметров может выступать в качестве универсального аппрокси-матора [18]. Частичным доказательством этого утверждения является теорема Колмогорова-Арнольда[19; 20] — доказывающая, что многомерная функция многих переменных может быть представлена в виде суперпозиции непрерывных функций одной переменной.

1.1.2 Обучение с подкреплением

Принципиальная схема обучения RL алгоритмов приведена на рисунке 1.2. В ней RL агент, взаимодействуя со средой, получает от нее состояние (s Е S), награду (г : 5 х Л ч R), и флаг завершения эпизода (done Е {0,1}). В среде агент совершает действие (а Е Л) которое переводит среду в следующее состояние (s' Е S). В зависимости от того, является ли переход из состояния s в состояние s' при действии а единственным или одним из возможных с распределением p(s',f'ls,a) среда называется детерминированной или не детерминированной.

Взаимодействие ЯЬ агента со средой происходит в рамках марковского процесса принятия решений (МППР). В нем предполагается, что следующее состояние и награда, получаемая агентом, зависит (детерминировано или стохастически) только от предыдущего состояния и действия, которое агент совершил. Если же у среды есть некоторые не наблюдаемые параметры, то говорят о частично наблюдаемом марковском процессе принятия решений (ЧНМППР). В нем наблюдение в момент времени I Е О определяется распределением ~ р(о^), где Е 5 — полное состояние среды.

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

agent

state,

reward,

done

action

Рисунок 1.2 — Взаимодействие агента и среды

е ^(т)] = е [го + УЛ + у2Г2 + ...] = е [V УЧ] (1.3)

т^пе т^пе т^пе ^

Коэффициент у Е (0,1] вводится для ограничения эффективного горизонта. Эффективным горизонтом называется число шагов, при котором будущая награда не влияет на стратегию из-за дисконтирования (упг). Он также позволяет регулировать уровень жадности агента, на сколько награда, получаемая на текущем шаге, ценнее аналогичной награды, получаемой на следующем шаге. Математическое ожидание берется по траекториям т, полученным с помощью текущей стратегии пе, параметризованной весами 6. Вероятность траектории т может быть записана следующим образом:

т

р(т|п) = р(во) Ц р(<%оъ-х) • п(аъ_1, в—), (1.4)

г=1

где р(в0) - распределение начальных состояний в каждом эпизоде, р(зъ1зъ_1,аъ_1) - распределение, описывающее динамику среды. Таким среда однозначно задается множеством состояний 5, действий Л, наград V, динамикой переходов V и параметром у — < 5, Л, V, V, у >.

1.1.3 Уравнение Беллмана

Ценность нахождения агента в текущем состоянии описывается с помощью У-функции и связанной с ней Q-функции. V(зъ) = еЕ У^] оценивает суммарную дисконтированную награду, которую получит агент, находящийся в состоянии если он будет действовать согласно текущей стратегии. Q(st, аъ) = е[гъ + уъ+1гъ+1] оценивает суммарную дисконтированную награду, которую получит агент при совершении действия аъ в состоянии при условии, что дальше он будет следовать текущей стратегии. С помощью У-функции можно сравнивать между собой две различные стратегии. Стратегия п' лучше стратегии п, если ожидаемая награда для первой стратегии Уп ^ Уп для всех в Е S. Таким образом, можно определить оптимальную стратегию п* : Уп* ^ Уп Уп. Значения У, Q-функций в точках и йъ+1 при условии, что текущая стратегия является оптимальной, связаны между собой уравнениями Беллмана:

V *(s) = max E(n+i + yV *(st+l)) (1.5)

аел

Q*(s,a) = E(rt+i + y max Q*(st+i,a')) (1.6)

a! ea

Значения оптимальных V, Q-функций связаны между собой:

V *(s) = max Q*(s,a) (1.7)

aea

Смысл V-функции можно легко интерпретировать в задаче, изображенной на рис. 1.3. В ней агент движется из верхнего левого угла (s0) сетки в правый нижний угол (sf). Если агент за каждый шаг получает награду г = —1, то оптимальная V-функция при условии того, что коэффициент дисконтирования y =1 в состоянии St будет равна числу действий, необходимых для достижения состояния Sf, взятых со знаком "-".

Рисунок 1.3 — Среда MiniGrid-Empty-8x8-v0 [21]

1.1.4 Метод value iteration

Уравнения Беллмана могут быть использованы для построения оптимальной стратегии для сред с конечным набором состояний и известным распределением переходов между ними p(s',rls, а). Метод value iteration 2 строится на применении метода простой итерации к уравнению Беллмана для V-функции. Данный метод имеет гарантированную сходимость [22], но может быть использован только для очень ограниченного набора задач.

Algorithm 2: Алгоритм value iteration Input: t - условие останова, S - набор состояний среды, p(s',rls,a) -

распределение вероятности переходов Output: rc(s) = argmaxa^s,rp(s',rls,a)[r + yV(s')] Инициализируем V(s) = 0 (для всех s e S), A = то; while A > t do A = 0;

foreach s e S do

Void = V(s)

V(s) = maxa p(s',rls,a)[r + y^ (s')]

A = max(A, \Void — V(s)|) end end

В рамках данной работы были использованы алгоритмы глубокого обучения с подкреплением, обучающиеся методом проб и ошибок и не строящие в явном виде моделей награды и переходов среды. В зависимости от того, как используются данные, полученные от среды, такие алгоритмы можно разделить на два больших класса: on-policy и off-policy. В on-policy алгоритмах агент обучается на данных, полученных с помощью текущей стратегии. Благодаря этому получается добиться большей стабильности обучения, но требуется гораздо больше данных, так как нет возможности использовать данные, полученные при взаимодействии устаревшей стратегии со средой. В off-policy алгоритмах агент выучивает оптимальную стратегию (Q-функцию) используя исторические данные взаимодействия со средой, полученные при использовании предыдущих версий стратегии.

1.1.5 Off-policy алгоритмы

Алгоритм DQN Одними из наиболее популярных методов, основанных на приближенном вычислении Q-функции являются алгоритмы Q-learning [23] и Deep Q-learning [2]. В методе Q-learning функция Q(s, а) иттеративно обновляет-

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

Существенный прорыв в методах, основанных на Q-обучении был достигнут в 2015 году. Благодаря использованию нейронных сетей в качестве аппроксиматора для Q-функции авторами [2] был разработан метод DQN, который обучился играть в 49 игр Atari на уровне человека. Игры Atari рассматриваются в качестве одного из основных тестов для сравнения качества работы различных алгоритмов, основанных на глубоком обучении с подкреплением.

Алгоритм DQN строится на обучении глубокой нейронной сети аппроксимировать Q-функцию для каждого возможного действия в зависимости от текущего состояния игры — изображения или последовательности изображений 84x84 пикселя. Для стабилизации процесса обучения Q-функции авторы использовали следующее выражение для функции потерь:

Похожие диссертационные работы по специальности «Математическое моделирование, численные методы и комплексы программ», 05.13.18 шифр ВАК

Список литературы диссертационного исследования кандидат наук Сорокин Дмитрий Игоревич, 2023 год

Список литературы

1. Reward is enough [Текст] / D. Silver [и др.] // Artificial Intelligence. — 2021. — Окт. — Т. 299. — С. 103535. — URL: https://doi.org/10.1016/j.artint.2021. 103535.

2. Human-level control through deep reinforcement learning [Текст] / V. Mnih [и др.] // Nature. — 2015. — Т. 518, № 7540. — С. 529—533. — URL: https: //doi.org/10.1038%2Fnature14236.

3. Mastering Chess and Shogi by Self-Play with a General Reinforcement Learning Algorithm / D. Silver [и др.] // ArXiv. — 2017. — Т. abs/1712.01815.

4. Mastering the Game of Go with Deep Neural Networks and Tree Search / D. Silver [и др.] // Nature. — 2016. — Янв. — Т. 529, № 7587. — С. 484—489.

5. Grandmaster level in StarCraft II using multi-agent reinforcement learning [Текст] / O. Vinyals [и др.] // Nature. — 2019. — Окт. — Т. 575, № 7782. —

C. 350—354. — URL: https://doi.org/10.1038/s41586-019-1724-z.

6. Interferobot: aligning an optical interferometer by a reinforcement learning agent [Текст] / D. Sorokin [et al.] // Advances in Neural Information Processing Systems. Vol. 33 / ed. by H. Larochelle [et al.]. — Curran Associates, Inc., 2020. — P. 13238—13248. — URL: https://proceedings.neurips.cc/paper/ 2020/file/99ba5c4097c6b8fef5ed774a1a6714b8-Paper.pdf.

7. Aligning an optical interferometer with beam divergence control and continuous action space [Текст] / S. Makarenko [и др.] // Proceedings of the 5th Conference on Robot Learning. Т. 164 / под ред. A. Faust,

D. Hsu, G. Neumann. — PMLR, 2022. — С. 918—927. — (Proceedings of Machine Learning Research). — URL: https://proceedings.mlr.press/v164/ makarenko22a.html.

8. Sorokin, D. I. Learning Various Locomotion Skills from Scratch with Deep Reinforcement Learning [Текст] / D. I. Sorokin, D. L. Babaev // Advances in Neural Computation, Machine Learning, and Cognitive Research VI / под ред.

B. Kryzhanovsky [и др.]. — Cham : Springer International Publishing, 2023. —

C. 322—329.

9. https://www.unitree.com/products/a1/.

10. The NetHack Learning Environment / H. Kiittler [и др.] // Advances in Neural Information Processing Systems. Т. 33 / под ред. H. Larochelle [и др.]. — Curran Associates, Inc., 2020. — С. 7671—7684. — URL: https://proceedings. neurips.cc/paper/2020/file/569ff987c643b4bedf504efda8f786c2-Paper.pdf.

11. Insights From the NeurlPS 2021 NetHack Challenge [Текст] / E. Hambro [и др.] // Proceedings of the NeurlPS 2021 Competitions and Demonstrations Track. Т. 176 / под ред. D. Kiela, M. Ciccone, B. Caputo. — PMLR, 2022. — С. 41—52. — (Proceedings of Machine Learning Research). — URL: https: //proceedings.mlr.press/v176/hambro22a.html.

12. McCulloch, W. S. A logical calculus of the ideas immanent in nervous activity [Текст] / W. S. McCulloch, W. Pitts // The Bulletin of Mathematical Biophysics. — 1943. — Дек. — Т. 5, № 4. — С. 115—133. — URL: https: //doi.org/10.1007/bf02478259.

13. Rosenblatt, F. The perceptron: A probabilistic model for information storage and organization in the brain. [Текст] / F. Rosenblatt // Psychological Review. — 1958. — Т. 65, № 6. — С. 386—408. — URL: http://dx.doi.org/10. 1037/h0042519.

14. Галушкин, А. И. Синтез многослойных систем распознавания образов [Текст] / А. И. Галушкин. — 1974. — 368 с.

15. Webros, P. J. Beyond Regression: New Tools for Prediction and Analysis in the Behavioral Science [Текст] : дис. ... канд. / Webros Paul John. — 1974.

16. Krizhevsky, A. ImageNet Classification with Deep Convolutional Neural Networks [Текст] / A. Krizhevsky, I. Sutskever, G. E. Hinton // Advances in Neural Information Processing Systems. Т. 25 / под ред. F. Pereira [и др.]. — Curran Associates, Inc., 2012. — URL: https://proceedings.neurips.cc/paper/ 2012/file/c399862d3b9d6b76c8436e924a68c45b-Paper.pdf.

17. BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding / J. Devlin [и др.] // Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 1 (Long and Short Papers). — Minneapolis, Minnesota : Association for Computational Linguistics, 06.2019. — С. 4171—4186. — URL: https://aclanthology.org/N19-1423.

18. Hornik, K. Multilayer feedforward networks are universal approximators [Текст] / K. Hornik, M. Stinchcombe, H. White // Neural Networks. — 1989. — Янв. — Т. 2, № 5. — С. 359—366. — URL: https://doi.org/10.1016/0893-6080(89)90020-8.

19. Kolmogorov, A. On the representation of continuous functions of several variables by superpositions of continuous functions of a smaller number of variables [Текст] / A. Kolmogorov // Proceedings of the USSR Academy of Sciences. — 1956. — Т. 108. — С. 179—182.

20. Arnold, V. On functions of three variables [Текст] / V. Arnold // Proceedings of the USSR Academy of Sciences. — 1957. — Т. 114. — С. 679—681.

21. Chevalier-Boisvert, M. Minimalistic Gridworld Environment for OpenAI Gym [Текст] / M. Chevalier-Boisvert, L. Willems, S. Pal. — 2018. — https://github. com/maximecb/gym-minigrid.

22. Sutton, R. S. Reinforcement Learning: An Introduction [Текст] / R. S. Sutton, A. G. Barto. — Second. — The MIT Press, 2018. — URL: http : / / incompleteideas.net/book/the-book-2nd.html.

23. Watkms, C. J. C. H. Q-learning [Текст] / C. J. C. H. Watkins, P. Dayan // Machine Learning. — 1992. — Т. 8, № 3/4. — С. 279—292. — URL: https: //doi.org/10.1007%2Fbf00992698.

24. Sutton, R. S. Learning to predict by the methods of temporal differences [Текст] / R. S. Sutton // Machine Learning. — 1988. — Авг. — Т. 3, № 1. — С. 9—44. — URL: https://doi.org/10.1007/bf00115009.

25. Fujimoto, S. Addressing Function Approximation Error in Actor-Critic Methods [Текст] / S. Fujimoto, H. van Hoof, D. Meger // ArXiv. — 2018. — Т. abs/1802.09477.

26. High-Dimensional Continuous Control Using Generalized Advantage Estimation [Текст] / J. Schulman [и др.] // CoRR. — 2016. — Т. abs/1506.02438.

27. Proximal Policy Optimization Algorithms [Текст] / J. Schulman [и др.] // ArXiv. — 2017. — Т. abs/1707.06347.

28. Strehl, A. L. An analysis of model-based Interval Estimation for Markov Decision Processes [Текст] / A. L. Strehl, M. L. Littman // Journal of Computer and System Sciences. — 2008. — Дек. — Т. 74, № 8. — С. 1309—1331. — URL: https://doi.org/10.1016/j.jcss.2007.08.009.

29. Exploration by random network distillation [Текст] / Y. Burda [и др.] // arXiv preprint arXiv:1810.12894. — 2018.

30. Stadie, B. C. Incentivizing exploration in reinforcement learning with deep predictive models [Текст] / B. C. Stadie, S. Levine, P. Abbeel // arXiv preprint arXiv:1507.00814. — 2015.

31. Curiosity-driven exploration by self-supervised prediction [Текст] / D. Pathak [и др.] // International conference on machine learning. — PMLR. 2017. — С. 2778—2787.

32. MELD: Meta-Reinforcement Learning from Images via Latent State Models [Текст] / T. Z. Zhao [и др.] // arXiv e-prints. — 2020. — Окт. — arXiv:2010.13957. — arXiv: 2010.13957 [cs.LG].

33. Efficient Off-Policy Meta-Reinforcement Learning via Probabilistic Context Variables [Текст] / K. Rakelly [и др.] // arXiv e-prints. — 2019. — Март. — arXiv:1903.08254. — arXiv: 1903.08254 [cs.LG].

34. VariBAD: A Very Good Method for Bayes-Adaptive Deep RL via Meta-Learning [Текст] / L. Zintgraf [и др.] // arXiv e-prints. — 2019. — Окт. — arXiv:1910.08348. — arXiv: 1910.08348 [cs.LG].

35. RL2: Fast Reinforcement Learning via Slow Reinforcement Learning [Текст] / Y. Duan [и др.] // arXiv e-prints. — 2016. — Нояб. — arXiv:1611.02779. — arXiv: 1611.02779 [cs.AI].

36. Finn, C. Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks [Текст] / C. Finn, P. Abbeel, S. Levine // arXiv e-prints. — 2017. — Март. — arXiv:1703.03400. — arXiv: 1703.03400 [cs.LG].

37. Meta-world: A benchmark and evaluation for multi-task and meta reinforcement learning [Текст] / T. Yu [и др.] // Conference on robot learning. — PMLR. 2020. — С. 1094—1100.

38. Multi-Agent Manipulation via Locomotion using Hierarchical Sim2Real [Текст] / O. Nachum [и др.] // ArXiv. — 2019. — Т. abs/1908.05224.

39. Insights From the NeurlPS 2021 NetHack Challenge [Текст] / E. Hambro [et al.] // Proceedings of the NeurIPS 2021 Competitions and Demonstrations Track. Vol. 176 / ed. by D. Kiela, M. Ciccone, B. Caputo. - PMLR, 2022. -P. 41—52. — (Proceedings of Machine Learning Research). — URL: https: //proceedings.mlr.press/v176/hambro22a.html.

40. Sutton, R. S. Between MDPs and semi-MDPs: A framework for temporal abstraction in reinforcement learning [Текст] / R. S. Sutton, D. Precup, S. Singh // Artificial Intelligence. — 1999. — Авг. — Т. 112, № 1/2. — С. 181—211. — URL: https://doi.org/10.1016/s0004-3702(99)00052-1.

41. Dietterich, T. G. Hierarchical reinforcement learning with the MAXQ value function decomposition [Текст] / T. G. Dietterich // Journal of artificial intelligence research. — 2000. — Т. 13. — С. 227—303.

42. McGovern, A. Automatic Discovery of Subgoals in Reinforcement Learning Using Diverse Density [Текст] / A. McGovern, A. G. Barto // Proceedings of the Eighteenth International Conference on Machine Learning. — San Francisco, CA, USA : Morgan Kaufmann Publishers Inc., 2001. — С. 361—368. — (ICML '01).

43. Learning multi-level hierarchies with hindsight [Текст] / A. Levy [и др.] // arXiv preprint arXiv:1712.00948. — 2017.

44. Learning agile and dynamic motor skills for legged robots [Текст] / J. Hwangbo [и др.] // Science Robotics. — 2019. — Т. 4, № 26. — eaau5872.

45. Fabri, C. On the Application of Interference Phenomena to the Solution of Various Problems of Spectroscopy and Metrology [Текст] / C. Fabri,

A. Perot // Astrophysical Journal. — 1899. — Т. 9. — С. 87.

46. LIGO: the Laser Interferometer Gravitational-Wave Observatory [Текст] /

B. P. Abbott [и др.] // Reports on Progress in Physics. — 2009. — Июнь. — Т. 72, № 7. — С. 076901. — URL: https://doi.org/10.1088/0034-4885/72/7/ 076901.

47. Virgo: a laser interferometer to detect gravitational waves [Текст] / T. Accadia [и др.] // Journal of Instrumentation. — 2012. — Март. — Т. 7, № 03. — P03012—P03012. — URL: https://doi.org/10.1088/1748-022V7/03/p03012.

48. Sarkar, A. Quantum logic processor: Implementation with electronic Mach-Zehnder interferometer [Текст] / A. Sarkar, T. K. Bhattacharyya,

A. Patwardhan // Applied Physics Letters. — 2006. — Май. — Т. 88, № 21. — С. 213113. — URL: https://doi.org/10.1063/L2206677.

49. Enlargement of optical Schrodinger's cat states [Текст] / D. V. Sychev [и др.] // Nat. Photonics. — 2017. — Т. 11. — С. 379—382.

50. Newport optical mirror mount [Текст]. — https://www.newport.com/p/8807.

51. Standa motorized linear stage [Текст]. — https://www.standa.lt/products/ catalog/motorised_positioners?item=627.

52. Gerrard, A. Introduction to Matrix Methods in Optics [Текст] / A. Gerrard, J. Burch. — Dover Publications, Incorporated, 2012. — (Dover Books on Physics Series). — URL: https://books.google.ru/books?id=zyIXt0rMzGkC.

53. Simonyan, K. Very deep convolutional networks for large-scale image recognition [Текст] / K. Simonyan, A. Zisserman // arXiv preprint arXiv:1409.1556. — 2014.

54. OpenAI Gym [Текст] / G. Brockman [и др.]. — 2016. — URL: http://arxiv. org/abs/1606.01540 ; cite arxiv:1606.01540.

55. Python binding for the libusb C library [Текст]. — https://pypi.org/project/ libusb.

56. Standa control software [Текст]. — http://files.xisupport.com/Software.en. html.

57. IDS software [Текст]. — https://en.ids-imaging.com/downloads.html.

58. End-to-end training of deep visuomotor policies [Текст] / S. Levine [и др.] // The Journal of Machine Learning Research. — 2016. — Т. 17, № 1. — С. 1334—1373.

59. Deep reinforcement learning for autonomous driving: A survey [Текст] /

B. R. Kiran [и др.] // IEEE Transactions on Intelligent Transportation Systems. — 2021.

60. Data efficient reinforcement learning for legged robots [Текст] / Y. Yang [и др.] // Conference on Robot Learning. — PMLR. 2020. — С. 1—10.

61. Learning agile and dynamic motor skills for legged robots [Текст] / J. Hwangbo [и др.] // Science Robotics. — 2019. — Янв. — Т. 4, № 26. — URL: https: //doi.org/10.1126/scirobotics.aau5872.

62. ANYmal - a highly mobile and dynamic quadrupedal robot [Текст] / M. Hutter [и др.] // 2016 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). — 2016. — С. 38—44.

63. Learning quadrupedal locomotion over challenging terrain [Текст] / J. Lee [и др.] // Science Robotics. — 2020. — Т. 5, № 47. — eabc5986. — eprint: https: / / www.science.org/doi / pdf/ 10.1126 / scirobotics. abc5986. — URL: https://www.science.org/doi/abs/10.1126/scirobotics.abc5986.

64. Rapid Locomotion via Reinforcement Learning [Текст] / G. B. Margolis [и др.] // arXiv preprint arXiv:2205.02824. — 2022.

65. Hwangbo, J. Per-Contact Iteration Method for Solving Contact Dynamics [Текст] / J. Hwangbo, J. Lee, M. Hutter // IEEE Robotics and Automation Letters. — 2018. — Т. 3, № 2. — С. 895—902.

66. Kingma, D. P. Adam: A method for stochastic optimization [Текст] / D. P. Kingma, J. Ba // arXiv preprint arXiv:1412.6980. — 2014.

67. Go-explore: a new approach for hard-exploration problems [Текст] / A. Ecoffet [и др.] // arXiv preprint arXiv:1901.10995. — 2019.

68. First return, then explore [Текст] / A. Ecoffet [и др.] // Nature. — 2021. — Т. 590, № 7847. — С. 580—586. — URL: https://doi.org/10.1038/s41586-020-03157-9.

69. NetHack Wiki. [Текст]. — https://nethackwiki.com/.

70. Streib, M. D. Public NetHack server at alt.org (NAO). [Текст] / M. D. Streib. — https://alt.org/nethack/.

71. IMPALA: Scalable Distributed Deep-RL with Importance Weighted Actor-Learner Architectures [Текст] / L. Espeholt [и др.] // arXiv e-prints. — 2018. — Февр. — arXiv:1802.01561. — arXiv: 1802.01561 [cs.LG].

72. The NetHack Learning Environment [Текст] / H. Kiittler [и др.] // Proceedings of the Conference on Neural Information Processing Systems (NeurIPS). — 2020.

Список рисунков

1.1 Полносвязная нейронная сеть с одним скрытым слоем

1.2 Взаимодействие агента и среды ............

1.3 Среда М1шСпа-Етр1у-8х8-у0 [21]...........

14 16 18

2.1 Одномерный срез интерференционной картины, полученный при неполном перекрытии двух когерентных лазерных лучей с волновыми векторами к\ и к2. Волновые фронты показаны с помощью градиента. Голубые линии показывают интенсивности индивидуальных лучей (не в масштабе). Черные линии соответствуют профилю интенсивности результирующей картины. Соответствующие двумерные изображения индивидуальных лучей

и их интерференционной картины представлены внизу......... 33

2.2 Принципиальная схема работы интерферометра Маха-Цендера. ... 35

2.3 3D модель крепления оптического зеркала использованного в

работе [50] ................................. 35

2.4 Задание системы координат для интерферометра Маха-Цендера. . . 36

2.5 График изменения интенсивности (слева) и график движения пьезо зеркала (справа) от номера кадра (frame)................ 37

2.6 Примеры интерференционных картин, полученные в симуляции. (a) Полностью настроенный интерферометр. Видность = 1. (b) Слабо расстроенный интерферометр. Видность = 0.3. (c) Сильно расстроенный интерферометр. Видность = 0.0026. Изображения слева на право соответствуют различной разности фаз [фР1его(£)] между двумя плечами интерферометра из-за движения пьезо зеркала. 38

2.7 Схема интерферометра Маха-Цендера с линзами............ 40

2.8 Подвижка регулирующая положение линзы 2 в эксперименте [51]. . . 40

2.9 Примеры интерференционных картин, полученные на интерферометре Маха-Цендера с линзами. (a) Пример интерференционных изображений при настроенном интерферометре. (b-d) Пример интерференционных изображений, полученных при расстроенном интерферометре. Изображения в каждом столбце соответствуют различным положениям пьезо

зеркала.................................... 43

2.10 Вычисление интерференционной картины................ 44

2.11 Зависимость функции награды от значения видности......... 49

2.12 Преобразование пространства действий. Для действия а > 0.....52

2.13 Схема взаимодействия модулей в программно-аппаратном

комплексе Интерферобот.......................... 56

2.14 Графический интерфейс пользователя.................. 57

2.15 Экспериментальная установка интерферометра Маха-Цендера соответствующая схеме 2.2......................... 57

2.16 Одиночные лазерные лучи: (а) экспериментальный, (Ь) модель, (с) модель с шумом. На рис.(а) полосы видны из-за эффекта резонатора на защитном стекле камеры................. 59

2.17 Эффект фазового шума. Суммарная интенсивность интерференционной картины в зависимости от номера кадра. Добавление фазового шума делает симуляцию ближе к зависимости наблюдаемой в эксперименте........................ 61

2.18 Сравнение настройки интерферометра DQN агентом в симуляции и на экспериментальной установке с человеком, использующим клавиатуру. Результаты работы агента усреднены по 100 эпизодам, человека — по 18.............................. 63

2.19 Сравнение настройки интерферометра DQN агентом в симуляции и на экспериментальной установке с человеком, непосредственно вращающим зеркала. Результаты работы агента усреднены по 100 эпизодам, человека — по 16........................ 64

2.20 Изменение видности в одном эпизоде настройки интерферометра. Интерференционные изображения на снимках соответствуют 24, 25

и 26 шагам настройки интерферометра. ................ 65

2.21 Траектория в фазовом пространстве, соответствующая эпизоду настройки интерферометра, показанному на рис. 2.20. Траектория в пространстве (х, кх) последовательно сходится к настроенному состоянию.................................. 66

2.22 Размер шага DQN агента усредненный по 100 эпизодам........ 67

2.23 Видность в зависимости от шага настройки интерферометра усредненная по 50 эпизодам. TD3 агент показан синим цветом,

DQN — оранжевым............................. 69

2.24 Межквантильный размах видности, полученной в конце настройки интерферометра. Межквантильный размах определяется как разность между 25 и 75 перцентилями.................. 70

2.25 Процент "параллельных действий" — действий, которые изменяют расстояние между лучами, не изменяя при этом угол между

лучами в зависимости от номера шага.................. 71

2.26 Средняя амплитуда действий в зависимости от номера шага...... 72

3.1 Ип^гее А1 робот, задача "Движение вперед".............. 74

3.2 Тестирование задачи "Движение вперед с заданной скоростью". (а) Скорость робота Ух как функция целевой скорости Уъагдеъ. (Ь) Расстояние пройденное роботом к концу эпизода как функция целевой скорости УьагдеЪ........................... 80

4.1 Интерфейс игры КеШаек. (1) текстовое сообщение описывающее текущее событие, (2) статистика агента (здоровье, золото, сила, и

др.) (3) окно центрированное возле текущего положения агента (@). 82

4.2 Схема взаимодействия КАРЫ агента со средой КЬЕ.......... 86

4.3 Архитектура нейронной сети актора КАРЫ агента в среде КеШаек. . 88

4.4 Экспоненциальное скользящее среднее суммарной награды,

получаемой агентом, в зависимости от количества шагов обучения.

Красным цветом показано итоговое качество работы агента. Зеленым цветом показано качество работы не обученного агента. Черным цветом показано качество работы базового агента, не использующего иерархию.......................... 90

В.1 Примеры интерференционных картин наблюдаемые при настройке

оптического интерферометра Маха-Цендера...............115

Список таблиц

1 Параметры экспериментальной установки интерферометра Маха-Цендера................................ 47

2 Параметры экспериментальной установки интерферометра Маха-Цендера с системой линз...................... 47

3 Параметры Double duelling DQN агента................. 50

4 Параметры TD3 агента........................... 55

5 Средняя наибольшая видность достигнутая при настройке интерферометра............................... 63

6 Анализ влияния шумов используемых при обучении агента на качество настройки физической установки................ 68

7 Сравнение качества настройки интерферометра экспертом, TD3 и DQN агентами. Показано время в секундах, требуемое для достижения величины видности, равной 0.92, 0.95 и 0.98. В скобках указан процент эпизодов, при в которых соответствующая видность

не была достигнута............................. 69

8 Анализ эффективности фазового шума и масштабирования

действий. PN — фазовый шум, AR — масштабирование действий. . . 72

9 Коэффициенты функции награды..................... 78

10 Параметры алгоритма PPO........................ 79

11 Результаты тестирования обученного агента в симуляции....... 80

12 Медианная награда получаемая агентом в зависимости от его роли. 91

Приложение А Листинги программного кода

А.1 Функция трассировки луча через систему зеркал

Листинг А.1: Листинг функции трассировки луча через систему зеркал

Функция trace_Ьеат А.1 позволяет получить центр и волновой вектор при прохождении луча через систему зеркал. Так как при трассировке луча отражения рассматриваются последовательно и независимо друг от друга, то данную функцию легко для любого геометрического расположения зеркал в различных конфигурациях интерферометра.

def trace_beam(self , mirror 1_normal , mirror2_normal) :

# initial center and wave_vector center = np.array(

[0, -self.a, -(self . b + self.c)]

)

wave_vector = np.array([0, 0, 1])

# reflect beam by first mirror center = project(

center , wave_vector,

mirror1_normal, np.array([0, -self.a, -self.c])

)

wave_vector = reflect(wave_vector, mirror1_normal)

15

# reflect beam by second mirror center = project(

center , wave_vector,

mirror2_normal, np.array([0, 0, -self.c])

)

wave_vector = reflect(wave_vector2, mirror2_normal) return center, wave_vector

А.2 Функция рассчитывающая параметры луча при прохождении

системы зеркал

10

15

Листинг А.2: Функция рассчитывающая параметры луча при прохождении системы зеркал

def propagate_beam(self, lens_dist): if lens_dist == 0:

lens_dist = 1e-6

# ABCD matrix for free space def free_space(length):

return np.array([[1, length], [0, 1]])

# ABCD matrix for a lens def lens(focal_length):

return np.array([[1, 0], [-1 / focal_length , 1]])

dist_between_lenses = self .f1 + self.f2 + lens_dist

dist_to_camera = self.c + self.a + self.b -dist_between_lenses

# compute ABCD matrix abcd_matrix = \

free_space(dist_to_camera) @ \ lens(self.f2) @ \

free_space(dist_between_lenses) @ \ lens(self . f1)

# compute parameter q

inv_q = -1j * self . lamb / (np.pi * self.radius ** 2) inv_q_prime = (abcd_matrix[1][0] + abcd_matrix[1][1] * inv_q ) / (abcd_matrix [0] [0] + abcd_matrix [0] [1] * inv_q)

curvature_radius = 1 / (np.real(inv_q_prime) + 1e-9) beam_radius = np.sqrt(-self.lamb / np.imag(inv_q_prime) / np .pi)

return beam_radius, curvature_radius

20

25

Функция propagate_beam А.2 рассчитывает радиус кривизны волнового фронта и радиус пучка после прохождения плеча интерферометра. Расчет производится на основании ABCD-матрицы составленной на основании используемых в интерферометре оптических элементов. Функция propagate_beam также может быть легко адаптирована к изменению расположения и изменению количества используемых оптических элементов.

А.3 Листинг функции вычисления интерференционной картины

Функция calclmage А.3 рассчитывает интерференционную картину при заданных параметрах двух интерферирующих лучей.

Листинг А.3: Листинг функции вычисления интерференционной картины void calcImage(

10

5

double xstart, double ystart,

int xpoints , int ypoints , double pixel_size , const Vector& wave_vector1 , const Vector& centerl , double radiusl, double beamlAmpl,

const Vector& wave_vector2 , const Vector& center2 , double radius2, double beam2Ampl, double r_curvature, int nForwardFrames, int nBackwardFrames, double lambda, double omega, double noiseCoeff , double amplStd , double phaseStd , int nThreads , uint8_t* image, double* totlntens) {

auto calcIntens = [&] (double al , double a2 , double deltaPhi)

{

15

const auto il = al * al ; const auto i2 = a2 * a2;

return il + i2 + 2 * al * a2 * cos (deltaPhi) ;

const int totalPoints = xpoints * ypoints; std: :vector<double > ampll(totalPoints) ;

20 std ::vector<double> ampl2(totalPoints) ;

std: :vector<double > deltaPhase(totalPoints) ;

auto worker = [&] (int kStart , int kEnd) { for (int k = kStart; k < kEnd; ++k) {

30

35

40

45

50

55

int i = k / ypoints; int j = k % ypoints;

const Vector point = {xstart + i * pixel_size, ystart + j * pixel_size , 0};

const Vector source2 = utils::backTrack(point, wave_vector2, center2);

const double dist2 = utils::dist(point, source2); auto w2 = calcWave2(dist2, source2 [0] , source2 [1]) ;

const Vector sourcel = utils::backTrack(point, wave_vectorl , centerl) ;

const double distl = utils::dist(point, sourcel); auto wl = calcWavel(distl , sourcel [0] , sourcel [1]) ;

ampll [k] = wl . ampl ; ampl2 [k] = w2.ampl ;

deltaPhase [k] = wl.phase - w2.phase;

}

};

const int pointsPerThread = totalPoints / nThreads; std: :vector<std: :future<void>> futures ;

for (int iThread = 0; iThread < nThreads; ++iThread) { int kStart = pointsPerThread * iThread; int kEnd = kStart + pointsPerThread;

futures.push_back(std: :async(std: : launch : :async , worker

kStart, kEnd)); }

// wait for intens 1 , intens2, deltaPhase for (const auto& f : futures) { f . wait () ;

}

auto imageWorker = [&](uint8_t* img, double time, double& integlntens) {

for (int k = 0; k < totalPoints; ++k) { const double intens = calclntens( ampll [k] , ampl2 [k] ,

deltaPhase [k] - omega * time

70

75

80

85

90

) ;

const double rescaledIntens = std::min(intens / maxIntens, 1.0);

const double intensWithNoise = (rescaledIntens + noise ()) / (1 + noiseCoeff);

img[k] = static_cast<uint8_t>(255 * intensWithNoise)

;

integIntens += intens;

std::vector<std::future<void>> imageFutures;

auto startPhase = rndPhase();

for (int iFrame = 0; iFrame < nForwardFrames; ++iFrame) { double time = startPhase + 2 * M_PI * iFrame / nForwardFrames + piezoNoise () ;

int ind = iFrame * totalPoints; uint8_t* img = image + ind; imageFutures.push_back(std::async(

std: :launch: :async , imageWorker , img , time , std: :ref(totlntens [iFrame]))) ;

}

startPhase = rndPhase();

for (int iFrame = 0; iFrame < nBackwardFrames; ++iFrame) {

double time = startPhase + 2 * M_PI * (1.0 - static_cast <double>(iFrame) / nBackwardFrames) + piezoNoise();

int ind = (iFrame + nForwardFrames) * totalPoints; uint8_t* img = image + ind; imageFutures.push_back(std::async(

std::launch::async, imageWorker, img, time, std::ref(totlntens [iFrame + nForwardFrames])));

}

// wait for frames for (const auto& f f.wait () ;

}

imageFutures) {

}

}

А.4 Листинг задания нейронной сети DQN агента

10

15

20

25

30

Листинг А.4: Нейронная сеть DQN агента

class DuelDQNModel(nn.Module):

def __init__(self, inpshape, n_actions): super(DuelDQNModel, self).__init__()

self.conv = nn.Sequential(

nn.Conv2d(inpshape [0] , 32, kernel_size=8, stride=4) nn.ReLU () ,

nn.Conv2d (32 , 64, kernel_size=4 , stride=2), nn.ReLU () ,

nn.Conv2d(64 , 64, kernel_size=3, stride = 1),

get_out(inpshape , self.conv)

nn .ReLU ()

)

conv _o ut_size

self .f c_adv =

nn . Linear

nn .ReLU ()

nn . Linear

nn .ReLU()

nn . Linear

)

self .f c_val =

nn . Linear

nn.Linear (512 , 512)

nn.ReLU () ,

nn.Linear (512 , 1)

)

def forward(self, x, histo): x = x.float() / 255.0

conv_out = self.conv(x) .view(x.shape [0] , -1) val = self.fc_val(conv_out) adv = self.fc_adv(conv_out) return val + adv - adv.mean()

5

А.5 Листинг задания нейронной сети TD3 агента

10

15

20

25

30

Листинг А.5: Нейронная сеть TD3 агента

class TD3Actor(nn.Module):

def __init__(self, state_dim, action_dim, hid_dim): super(Actor, self).__init__() self.vgg16 = nn.Sequential(

nn.Conv2d(16, 32, kernel_size=3, padding=1) nn.ReLU () ,

nn.Conv2d (32 , 32, kernel_size=3 , padding = 1)

nn.ReLU () ,

nn.MaxPool2d (2 , 2) ,

nn.Conv2d (32 , 64, kernel_size=3, padding = 1) nn.ReLU () ,

nn.Conv2d (64 , 64, kernel_size=3 , padding = 1)

nn.ReLU () ,

nn.MaxPool2d (2 , 2) ,

nn.Conv2d (64 , 128, kernel_size=3 , padding = 1) nn.ReLU () ,

nn.Conv2d (128 , 128, kernel_size=3 , padding = 1)

nn.ReLU () ,

nn.MaxPool2d (2 , 2) ,

nn.Conv2d (128 , 256, kernel_size=3 , padding = 1) nn.ReLU () ,

nn.Conv2d (256 , 256, kernel_size=3 , padding = 1) nn.ReLU() , nn.MaxPool2d (2 , 2) , nn.Flatten()

)

self.mlp = nn.Sequential(

nn.Linear(get_out(self.vgg16, state_dim), hid_dim) nn.ReLU () ,

nn.Linear(hid_dim , hid_dim) , nn.ReLU () ,

nn.Linear(hid_dim , action_dim), nn.Tanh()

5

Приложение Б

Вывод основных формул

Б.1 Вывод формулы видности для интерферометра Маха-Цендера

(2.9)

Для вычисления видности интерференционной картины в соответствии с уравнением (2.8), вычислим суммарную интенсивность света в плоскости камеры(^ = 0):

I (¿)= / 1Е1(х)у)0)Ь) + £2(ж,у,0,;£)егф—{t)|2dxdy

Е1Е* + Е2Е* + ^1^2eгфpiezo(t) + Е1Е2егфг™о(г)] &х&у, (Б.1)

где амплитуды индивидуальных лучей определяются уравнением (2.1):

Е1(х,у,0,Ъ) = ехр Е2(х,у,0,Ъ) = ехр

(х — Хо)

X

гр2

• ехр

ехр(1кх(х — жо)) • ехр У2'

(У — Уо)'-

ехр(гку (у — уо));

гр'

С помощью табличного интеграла ехр(—+ = ()1/2 •

ехр(—тт-), вычислим первые два слагаемых в уравнении (Б.1),

(ЕХЕ* + Е'Е*) ахАу =

ехр

-00

(—/Гехр(—¥)

ау = пг2, (Б.2)

Далее найдем оставшиеся два слагаемых:

(ЕгЕ* + Е*Е2) &х&у =

пг ехр

8

ехр

(-Чп - (

кххо + ку уо

- (Б.3)

Просуммируем уравнение (Б.2) и (Б.3), получим

Ы^ =

пг

1 + ехр

(к^ + ку)г' 8

)-( -

сое

(

2г2

кххо + ку уо 2

фpiezo(^)

(Б.4)

Далее подставим полученное выражение для в уравнение (2.8), учи-

тывая что максимум и минимум соответствует соб(-) = ±1, получим

уравнение (2.9).

2

Б.2 Вывод формулы видности для интерферометра Маха-Цендера

с линзами (2.16)

Рассмотрим как изменяются параметры пучка при нормальном падении на систему линз. Первоначально пучок имеет плоский волновой фронт (р ^ то). В соответствии с уравнениями (2.13), (2.14), (2.15) матрица М для системы из линзы с фокусным расстоянием Ех, вакуума длинной Ех + Е2 + А, линзы Е2 и вакуума длинной ё, равна:

/вЛ—Р^-АЕ^ ^2 + ^22 + А^2 - ^ -

М =

_2_ Е\Е2 А

^2 ^ + А

V

!

Изначально считаем, что волна является плоской (р ^ то), а значит параметр д (2.11) равен:

1

гК

д пг2

Из формулы (2.12) разделив числитель и знаменатель на д, затем умножив числитель и знаменатель на , и получим:

(1Д - - Д^) - ^(ад + + - (1 - Д1)

Я =

Соответственно:

ш 2

Д + ^1 (^ + Д)

ш2

1 = (1Д -Ц - ДъА((Д - ^ - - ^ £) (В.5)

Л2

Выражение (Б.5) получено в приближении Д ^ ^3 , где Д — шаг микрометрического винта. Из выражения (Б.5) получим уравнения для радиуса кривизны волнового фронта и радиуса пучка:

Обратите внимание, представленные выше научные тексты размещены для ознакомления и получены посредством распознавания оригинальных текстов диссертаций (OCR). В связи с чем, в них могут содержаться ошибки, связанные с несовершенством алгоритмов распознавания. В PDF файлах диссертаций и авторефератов, которые мы доставляем, подобных ошибок нет.