НЕПРЕРЫВНОЕ УПРАВЛЕНИЕ С ПОМОЩЬЮ ГЛУБОКОГО ОБУЧЕНИЯ С ПОДКРЕПЛЕНИЕМ Российский патент 2019 года по МПК G06N3/08 

Описание патента на изобретение RU2686030C1

УРОВЕНЬ ТЕХНИКИ

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

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

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

СУЩНОСТЬ ИЗОБРЕТЕНИЯ

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

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

Этап определения прогнозного вывода нейронной сети для экспериментального кортежа может содержать этапы, на которых: обрабатывают следующее учебное наблюдение с использованием прогнозной нейронной сети-исполнителя для определения предсказываемого следующего действия для экспериментального кортежа в соответствии с текущими значениями параметров прогнозной нейронной сети-исполнителя, причем прогнозная нейронная сеть-исполнитель идентична нейронной сети-исполнителю, но текущие значения параметров прогнозной нейронной сети-исполнителя отличаются от текущих значений параметров нейронной сети-исполнителя; обрабатывают следующее учебное наблюдение и предсказываемое следующее действие для экспериментального кортежа с использованием прогнозной нейронной сети-критика для формирования предсказываемого следующего вывода нейронной сети в соответствии с текущими значениями параметров прогнозной нейронной сети-критика, причем прогнозная нейронная сеть-критик идентична нейронной сети-критику, но текущие значения параметров прогнозной нейронной сети-критика отличаются от текущих значений параметров нейронной сети-критика; и определяют прогнозный вывод нейронной сети для экспериментального кортежа из учебного вознаграждения и предсказываемого следующего вывода нейронной сети для экспериментального кортежа. Способ может дополнительно содержать этапы, на которых: обновляют текущие значения параметров прогнозной нейронной сети-исполнителя с использованием обновленных значений параметров нейронной сети-исполнителя; и обновляют текущие значения параметров прогнозной нейронной сети-критика с использованием обновленных значений параметров нейронной сети-критика. На текущие значения параметров прогнозной нейронной сети-исполнителя и прогнозной нейронной сети-критика может быть наложено ограничение в виде медленного изменения в течение обучения нейронной сети-исполнителя.

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

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

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

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

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

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

На Фиг.1 показана примерная система обучения с подкреплением.

На Фиг.2 показана блок-схема примерного процесса для добавления экспериментального кортежа в запоминающее устройство повторного воспроизведения.

На Фиг.3 показана блок-схема примерного процесса для определения обновления для текущих значений параметров нейронной сети-исполнителя.

На Фиг.4 показана блок-схема примерного процесса для определения прогнозного вывода нейронной сети для экспериментального кортежа.

Одинаковые ссылочные позиции и обозначения на различных чертежах указывают одинаковые элементы.

ПОДРОБНОЕ ОПИСАНИЕ

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

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

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

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

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

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

Система 100 обучения с подкреплением выбирает действия, подлежащие выполнению агентом 102 обучения с подкреплением, взаимодействующим со средой 104. То есть, система 100 обучения с подкреплением принимает наблюдения, причем каждое наблюдение характеризует соответственное состояние среды 104, и, в ответ на каждое наблюдение, выбирает действие из непрерывного пространства действий, подлежащее выполнению агентом 102 обучения с подкреплением в ответ на наблюдение.

В частности, система 100 обучения с подкреплением выбирает действия с использованием нейронной сети-исполнителя 110. Нейронная сеть-исполнитель 110 является нейронной сетью, которая выполнена с возможностью приема наблюдения и обработки наблюдения для увязывания наблюдения со следующим действием, то есть с точкой в непрерывном пространстве действий, которая задает действие, которое должно быть выполнено агентом в ответ на наблюдение.

Для предоставления возможности агенту 102 эффективно взаимодействовать со средой система 100 обучения с подкреплением обучает нейронную сеть-исполнителя 110 определять выученные значения параметров нейронной сети-исполнителя 110.

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

Чтобы оказать помощь в обучении нейронной сети-исполнителя 110, система 100 обучения с подкреплением поддерживает учебные компоненты 120, которые включают в себя запоминающее устройство 130 повторного воспроизведения, нейронную сеть-критика 140, прогнозную нейронную сеть-исполнителя 150 и прогнозную нейронную сеть-критика 160.

Запоминающее устройство 130 повторного воспроизведения хранит экспериментальные кортежи, сформированные вследствие взаимодействия агента 102 со средой 104 для использования в обучении нейронной сети-исполнителя 110.

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

Система 100 обучения с подкреплением формирует экспериментальные кортежи из взаимодействий агента 102 со средой 104 в течение обучения нейронной сети-исполнителя 110. Примерный процесс формирования экспериментального кортежа в течение обучения описан более подробно ниже со ссылкой на Фиг.2.

Нейронная сеть-критик 140 является нейронной сетью, которая выполнена с возможностью приема в качестве ввода действия и наблюдения и обработки действия и наблюдения для формирования вывода нейронной сети. Как будет описано более подробно ниже, в течение обучения система 100 обучения с подкреплением регулирует значения параметров нейронной сети-критика 140 и использует нейронную сеть-критика 140 в обновлении значений параметров нейронной сети-исполнителя 110.

В некоторых вариантах реализации нейронная сеть-критик 140, нейронная сеть-исполнитель 110 или обе включают в себя один или более слоев пакетной нормализации для минимизации ковариационного сдвига в течение обучения. Слои пакетной нормализации описаны более подробно в документе Иоффе Сергея и Сзеджеди Кристианина Пакетная нормализация: Ускорение глубокого обучения сети посредством уменьшения внутреннего ковариационного сдвига. arXiv предварительная печать arXiv: 1502.03167, 2015 (Ioffe, Sergey and Szegedy, Christian. Batch normalization: Accelerating deep network training by reducing internal covariate shift. arXiv preprint arXiv: 1502.03167, 2015).

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

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

Чтобы обучить нейронную сеть с использованием учебных компонентов 120, система 100 обучения с подкреплением многократно выбирает минипакеты экспериментальных кортежей из запоминающего устройства 130 повторного воспроизведения. Каждый минипакет экспериментальных кортежей включает в себя предварительно определенное количество экспериментальных кортежей. Предварительно определенное количество экспериментальных кортежей могут быть выбранными в произвольном порядке экспериментальными кортежами.

Для каждого экспериментального кортежа в заданном выбранном минипакете система 100 обучения с подкреплением использует нейронную сеть-критика 140, прогнозную нейронную сеть-исполнителя 150 и прогнозную нейронную сеть-критика 160 для определения обновлений для текущих значений параметров нейронной сети-исполнителя 110 и текущих значений параметров нейронной сети-критика 150 и затем регулирует текущие значения параметров нейронной сети-исполнителя 110 и текущие значения параметров нейронной сети-критика 150 с использованием обновлений. Формирование этих обновлений и регулировка текущих значений параметров нейронной сети-критика 140 и нейронной сети-исполнителя 110 будут описаны более подробно ниже со ссылкой на Фиг.3.

В течение обучения система 100 обучения с подкреплением также периодически обновляет значения параметров прогнозной нейронной сети-критика 160 и значения параметров прогнозной нейронной сети-исполнителя 150 так, чтобы значения медленно следовали изменениям по отношению к значениям параметров нейронной сети-критика 140 и значений параметров нейронной сети-исполнителя 110, соответственно.

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

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

На Фиг.2 показана блок-схема примерного процесса 200 добавления экспериментального кортежа в запоминающее устройство повторного воспроизведения. Для удобства процесс 200 будет описан выполняемым системой из одного или более компьютеров, расположенных в одном или более местоположениях. Например, система обучения с подкреплением, например, система 100 обучения с подкреплением с Фиг.1, подходящим образом запрограммированная в соответствии с данным документом, может выполнять процесс 200.

Система принимает текущее наблюдение, характеризующее текущее состояние среды (этап 202).

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

Система выбирает действие, подлежащее выполнению агентом, с использованием следующего действия (этап 206).

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

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

Шумовой процесс, используемый для получения коэффициента шума, может быть выбран для соответствия среде. Например, для некоторых сред шумовой процесс может быть процессом Орнштейна-Уленбека (Ornstein-Uhlenbeck) для формирования временно скоррелированного исследования. Процессы Орнштейна-Уленбека описаны более подробно в документе Георга Э. Уленбека и Леонарда С. Орнштейна «О теории Броуновского движения». В Физическом обзоре 36.5 (1930), стр. 823 (George E. Uhlenbeck and Leonard S. Ornstein. "On the theory of the Brownian motion". In: Physical review 36.5 (1930), p. 823).

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

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

На Фиг.3 показана блок-схема примерного процесса 300 определения обновления для текущих значений параметров нейронной сети-исполнителя. Для удобства процесс 300 будет описан выполняемым системой из одного или более компьютеров, расположенных в одном или более местоположениях. Например, система обучения с подкреплением, например, система 100 обучения с подкреплением с Фиг.1, должным образом запрограммированная в соответствии с данным документом, может выполнять процесс 300.

Система принимает экспериментальный кортеж (этап 302). Экспериментальный кортеж является одним из экспериментальных кортежей в минипакете экспериментальных кортежей, отобранных из запоминающего устройства повторного воспроизведения системой.

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

Система обрабатывает учебное наблюдение и выбранное действие в экспериментальном кортеже с использованием нейронной сети-критика для определения вывода нейронной сети для экспериментального кортежа в соответствии с текущими значениями параметров нейронной сети-критика (этап 304).

Система определяет прогнозный вывод нейронной сети для экспериментального кортежа из учебного вознаграждения в экспериментальном кортеже и следующего учебного наблюдения в экспериментальном кортеже (этап 306). В общем случае система определяет прогнозный вывод нейронной сети с использованием прогнозной нейронной сети-исполнителя и прогнозной нейронной сети-критика. Определение прогнозного вывода нейронной сети описано более подробно ниже со ссылкой на Фиг.4.

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

Система определяет обновление для текущих значений параметров нейронной сети-исполнителя с использованием нейронной сети-критика (этап 310).

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

Система затем определяет обновление параметра для текущих значений нейронной сети-исполнителя, которое зависит от, то есть является произведением или является различным сочетанием, (i) градиента нейронной сети-критика по отношению к следующему действию, предпринятому при вводе пары учебное наблюдение - следующее действие, и в соответствии с текущими значениями параметров нейронной сети-критика и (ii) градиента нейронной сети-исполнителя по отношению к параметрам нейронной сети-исполнителя, взятым при учебном наблюдении, и в соответствии с текущими значениями параметров нейронной сети-исполнителя. Система может определять градиент (i) и градиент (ii) посредством обратного распространения соответственных градиентов через соответственные сети.

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

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

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

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

На Фиг.4 показана блок-схема примерного процесса 400 определения прогнозного вывода нейронной сети для экспериментального кортежа. Для удобства, процесс 400 будет описан выполняемым системой из одного или более компьютеров, расположенных в одном или более местоположениях. Например, система обучения с подкреплением, например, система 100 обучения с подкреплением с Фиг.1, должным образом запрограммированная в соответствии с данным документом, может выполнять процесс 400.

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

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

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

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

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

Термин «устройство обработки данных» относится к аппаратному обеспечению обработки данных и охватывает все виды оборудования, устройств и машин для обработки данных, включающих в себя в качестве примера программируемый процессор, компьютер или множество процессоров или компьютеров. Устройство может также быть или дополнительно включать в себя схему логики особого назначения, например, FPGA (программируемую вентильную матрицу) или ASIC (специализированную интегральную схему). Устройство может в качестве необязательной возможности включать в себя, в дополнение к аппаратному обеспечению, код, который создает среду исполнения для компьютерных программ, например, кодекс, который составляет встроенное микропрограммное обеспечение процессора, стек протоколов, систему управления базами данных, операционную систему или сочетание одного или более из них.

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

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

Компьютеры, подходящие для исполнения компьютерной программы, включают в себя, в качестве примера, могут быть основаны на микропроцессорах особого или общего назначения или обоих, или любой другой вид центрального блока обработки. В общем случае, центральный блок обработки должен принимать инструкции и данные из постоянного запоминающего устройства или запоминающего устройства с произвольным доступом или обоих. Существенные элементы компьютера являются центральным блоком обработки для выполнения или исполнения инструкций и одним или более запоминающими устройствами для хранения инструкций и данных. В общем случае, компьютер также включает в себя, или функционально соединен для приема данных из или переноса данных в, или и то и другое, одно или более запоминающих устройств большой емкости для хранения данных, например, магнитные, магнитооптические диски или оптические диски. Однако, компьютеру не нужно иметь такие устройства. Кроме того, компьютер может быть встроен в другое устройство, например, мобильный телефон, персональный цифровой секретарь (PDA), мобильный аудио или видео проигрыватель, игровая приставка, приемник Системы Глобального Позиционирования (GPS) или переносное устройство хранения, например, карта флэш-памяти универсальная последовательная шина (USB), к примеру.

Считываемые компьютером носители, подходящие для хранения компьютерных программных инструкций и данных, включают в себя все формы запоминающих устройств, носителей и памяти долговременного хранения, включающих в себя в качестве примера полупроводниковые запоминающие устройства, например, EPROM, EEPROM, и устройства флэш-памяти; магнитные диски, например, внутренние жесткие диски или съемные диски; магнитооптические диски; и CD-ROM и диски DVD-ROM. Процессор и запоминающее устройство могут быть дополнены схемой логики особого назначения, или заключены в нее.

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

Варианты осуществления изобретения, описанного в данном документе, могут быть реализованы в вычислительной системе, которая включает в себя серверный компонент, например, в качестве сервера данных, или которая включает в себя компонент промежуточного программного обеспечения, например, сервер приложений, или которая включает в себя интерфейсный компонент, например, клиентский компьютер, имеющий взаимосвязанный графический пользовательский интерфейс или Веб-браузер, через которые пользователь может взаимодействовать с вариантом реализации изобретения, описанного в данном документе, или любое сочетание одного или более из таких серверных компонентов, компонентов промежуточного программного обеспечения или интерфейсных компонентов. Компоненты системы могут быть взаимно соединены посредством любой формы или среды передачи цифровых данных, например, сети связи. Примеры сетей связи включают в себя локальную сеть («LAN») и глобальную сеть («WAN»), например, Интернет.

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

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

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

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

Похожие патенты RU2686030C1

название год авторы номер документа
Способ для создания контроллеров управления шагающими роботами на основе обучения с подкреплением 2022
  • Бабаев Азер Кахраман Оглы
  • Волченков Андрей Валерьевич
  • Горбачев Роман Александрович
  • Давыденко Егор Викторович
  • Доржиева Екатерина Матвеевна
  • Литвиненко Владимир Викторович
  • Минашина Инна Константиновна
  • Сытник Кирилл Игоревич
RU2816639C1
МОДИФИЦИРОВАННЫЙ ИНТЕЛЛЕКТУАЛЬНЫЙ КОНТРОЛЛЕР С АДАПТИВНЫМ КРИТИКОМ 2013
  • Ключко Владимир Игнатьевич
  • Шумков Евгений Александрович
  • Карнизьян Роман Оганесович
RU2523218C1
СИСТЕМА ПОМОЩИ В НАСТРОЙКЕ РЕЖИМА РАБОТЫ УСТАНОВКИ, ОБУЧАЮЩЕЕ УСТРОЙСТВО И УСТРОЙСТВО ПОМОЩИ В НАСТРОЙКЕ РЕЖИМА РАБОТЫ 2019
  • Ясуи Такехито
  • Икава Сидзука
  • Токи Акифуми
  • Согабе Масару
  • Сува Юсуке
RU2780340C2
Модифицированный интеллектуальный контроллер с адаптивным критиком 2020
  • Шумков Евгений Александрович
RU2755339C1
МОДИФИЦИРОВАННЫЙ ИНТЕЛЛЕКТУАЛЬНЫЙ КОНТРОЛЛЕР С АДАПТИВНЫМ КРИТИКОМ 2011
  • Ключко Владимир Игнатьевич
  • Шумков Евгений Александрович
RU2450336C1
РЕГИСТРАЦИЯ МЕДИЦИНСКОГО АТЛАСА 2017
  • Бреш Эрик
  • Менковски Владо
RU2745400C2
Способ рентгеновского исследования образца 2023
  • Мареев Евгений Игоревич
  • Минаев Никита Владимирович
  • Гарматина Алена Андреевна
  • Дымшиц Юрий Меерович
  • Дьячкова Ирина Геннадьевна
  • Колдаев Владимир Валерьевич
  • Арсеньев Андрей Сергеевич
  • Асадчиков Виктор Евгеньевич
RU2812088C1
СПОСОБ АДАПТИВНОГО ВЫБОРА МАРШРУТА В УЗЛЕ БЕСПРОВОДНОЙ ЯЧЕИСТОЙ СЕТИ СВЯЗИ, СООТВЕТСТВУЮЩЕЕ УСТРОЙСТВО ДЛЯ ВЫПОЛНЕНИЯ СПОСОБА АДАПТИВНОГО ВЫБОРА МАРШРУТА И СООТВЕТСТВУЮЩАЯ КОМПЬЮТЕРНАЯ ПРОГРАММА 2018
  • Дугаев, Дмитрий
  • Зименс, Эдуард
RU2757663C1
ПРОАКТИВНЫЙ ИНТЕРФЕЙС ПОЛЬЗОВАТЕЛЯ, СОДЕРЖАЩИЙ ЭВОЛЮЦИОНИРУЮЩИЙ АГЕНТ 2004
  • Ли Дзонг-Гоо
  • Толедано Эял
  • Линдер Натан
  • Бен-Яир Ран
  • Эйзенберг Ярив
RU2331918C2
Система управления энергопотреблением 2022
  • Ахундов Фуад Намикович
  • Казаков Григорий Борисович
  • Семенов Сергей Сергеевич
  • Киреев Сергей Вячеславович
  • Иванов Вячеслав Александрович
RU2821067C2

Иллюстрации к изобретению RU 2 686 030 C1

Реферат патента 2019 года НЕПРЕРЫВНОЕ УПРАВЛЕНИЕ С ПОМОЩЬЮ ГЛУБОКОГО ОБУЧЕНИЯ С ПОДКРЕПЛЕНИЕМ

Группа изобретений относится к области нейронных сетей и может быть использована для обучения нейронной сети-исполнителя, используемой для выбора действий, которые должны выполняться агентом, взаимодействующим со средой. Техническим результатом является повышение эффективности обучения. Способ содержит получение минипакета экспериментальных кортежей и обновление текущих значений параметров нейронной сети-исполнителя, содержащее для каждого экспериментального кортежа в минипакете: обработку учебного наблюдения и учебного действия в экспериментальном кортеже с использованием нейронной сети-критика для определения вывода нейронной сети для экспериментального кортежа и определение прогнозного вывода нейронной сети для экспериментального кортежа; обновление текущих значений параметров нейронной сети-критика с использованием ошибок между прогнозными выводами нейронной сети и выводами нейронной сети и обновление текущих значений параметров нейронной сети-исполнителя с использованием нейронной сети-критика. 4 н. и 9 з.п. ф-лы, 4 ил.

Формула изобретения RU 2 686 030 C1

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

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

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

для каждого экспериментального кортежа в минипакете:

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

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

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

обновляют текущие значения параметров нейронной сети-исполнителя с использованием нейронной сети-критика;

при этом независимо от этапа обновления текущих значений параметров нейронной сети-исполнителя с использованием минипакета экспериментальных кортежей

формируют новый экспериментальный кортеж, каковое формирование содержит этапы на которых:

принимают новое учебное наблюдение,

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

принимают новое учебное вознаграждение в ответ на выполнение агентом этого нового учебного действия,

принимают новое следующее учебное наблюдение, и

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

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

2. Способ по п.1, в котором этап определения прогнозного вывода нейронной сети для экспериментального кортежа содержит этапы, на которых:

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

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

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

3. Способ по п.2, дополнительно содержащий этапы, на которых:

обновляют текущие значения параметров прогнозной нейронной сети-исполнителя с использованием обновленных значений параметров нейронной сети-исполнителя; и

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

4. Способ по п.3, в котором на текущие значения параметров прогнозной нейронной сети-исполнителя и прогнозной нейронной сети-критика наложено ограничение в виде медленного изменения в течение обучения нейронной сети-исполнителя.

5. Способ по любому из пп.1-4, в котором нейронная сеть-критик, нейронная сеть-исполнитель или обе из них включают в себя один или более слоев нейронной сети с пакетной нормализацией.

6. Способ по любому из пп.1-5, в котором наблюдения, принятые агентом, характеризуют состояния среды с использованием векторов признаков низкой размерности, которые характеризуют состояние среды.

7. Способ по п.6, в котором значения различных размерностей векторов признаков низкой размерности имеют переменные диапазоны.

8. Способ по любому из пп.1-5, в котором наблюдения, принятые агентом, характеризуют состояния среды с использованием пиксельных вводов высокой размерности из одного или более изображений, которые характеризуют состояние среды.

9. Способ по п.1, в котором этап обработки нового учебного наблюдения с использованием нейронной сети-исполнителя для выбора нового учебного действия содержит этапы, на которых:

обрабатывают упомянутое новое учебное наблюдение с использованием нейронной сети-исполнителя для формирования начального нового учебного действия;

осуществляют отбор из шумового процесса для получения коэффициента шума; и

регулируют это начальное новое действие на коэффициент шума для формирования нового учебного действия.

10. Способ по любому из пп.1-9, в котором этап обновления текущих значений параметров нейронной сети-исполнителя с использованием нейронной сети-критика содержит этапы, на которых

для каждого экспериментального кортежа в минипакете:

обрабатывают учебное наблюдение в экспериментальном кортеже с использованием нейронной сети-исполнителя в соответствии с текущими значениями параметров нейронной сети-исполнителя для формирования следующего действия для учебного наблюдения; и

определяют обновление параметра для нейронной сети-исполнителя на основе (i) градиента нейронной сети-критика по отношению к следующему действию, предпринятому при вводе пары учебное наблюдение - следующее действие, и в соответствии с текущими значениями параметров нейронной сети-критика и (ii) градиента нейронной сети-исполнителя по отношению к параметрам нейронной сети-исполнителя, взятым при учебном наблюдении, и в соответствии с текущими значениями параметров нейронной сети-исполнителя.

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

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

13. Нейронная сеть-исполнитель, реализованная посредством одного или более компьютеров и используемая для выбора действий, которые должны выполняться агентом, который взаимодействует со средой посредством приема наблюдений, характеризующих текущее состояние среды, и выполнения действия, выбранного из непрерывного пространства действий, причем нейронная сеть-исполнитель увязывает наблюдения со следующими действиями в соответствии с текущими значениями параметров нейронной сети-исполнителя, при этом нейронная сеть-исполнитель обучается согласно способу по любому из пп.1-10.

Документы, цитированные в отчете о поиске Патент 2019 года RU2686030C1

Устройство для закрепления лыж на раме мотоциклов и велосипедов взамен переднего колеса 1924
  • Шапошников Н.П.
SU2015A1
Многоступенчатая активно-реактивная турбина 1924
  • Ф. Лезель
SU2013A1
Способ обработки целлюлозных материалов, с целью тонкого измельчения или переведения в коллоидальный раствор 1923
  • Петров Г.С.
SU2005A1
СПОСОБ УПРАВЛЕНИЯ КОМПЬЮТЕРНОЙ СЕТЬЮ 2014
  • Куваев Валерий Игоревич
  • Саенко Игорь Борисович
  • Скорик Фадей Александрович
RU2542901C1

RU 2 686 030 C1

Авторы

Лилликрап, Тимоти Пол

Хант, Джонатан Джеймс

Притцель, Александер

Хеесс, Николас Манфред Отто

Эрез, Том

Тасса, Юваль

Силвер, Дэвид

Вирстра, Даниэль Питер

Даты

2019-04-23Публикация

2016-07-22Подача