Изобретение относится к интеллектуальным контроллерам, использующим принцип обучения с подкреплением, искусственные нейронные сети и может использоваться для управления сложными системами в недетерминированной среде.
Известен патент № 2523218, «Модифицированный интеллектуальный контроллер с адаптивным критиком», опубликованный 20.07.2014 г. Данное устройство состоит из блока расчета подкрепления, блока расчета временной разности, блока обучения критика, блока критика, решающей нейронной сети, блока выбора действия, блока отбора действия, блока действий, блока занесения действий, объекта управления. При этом первый и второй входы объекта управления связаны с первым и вторым входами решающей нейронной сети, первым и вторым входами блока расчета временной разности, первым и вторым входами блока расчета подкрепления, выход решающей нейронной сети соединен с первым входом блока критика, выход блока критика связан с входом блока выбора действия, выход блока расчета подкрепления связан с третьим входом блока расчета временной разности, выход блока выбора действия соединен с входом объекта управления, первый и второй выходы объекта управления также соединены с первым и вторым входами блока отбора действий, первый выход блока отбора действий соединен с первым входом блока действий, второй выход блока отбора действий соединен со вторым входом блока критика, третий выход блока отбора действий соединен с третьим входом решающей нейронной сети, четвертый выход блока отбора действий соединен со вторым входом блока выбора действия, выход блока действий соединен с третьим входом блока отбора действий, выход блока расчета подкрепления соединен также со вторым входом блока занесения действий, выход блока расчета временной разности соединен с первым входом обучения критика, первый и второй выходы блока обучения критика соединены соответственно с первым и вторым входами блока критика, третий выход блока обучения критика соединен с четвертым входом блока расчета временной разности, выход блока критика также соединен со вторым входом блока обучения критика, выход блока выбора действия также соединен с первым входом блока занесения действий, выход блока занесения действий соединен со вторым входом блока действий.
Принцип работы устройства по патенту № 2523218 следующий - объект управления выполняет действие и на выходах выдает сигналы состояния объекта управления и внешней среды, по которым блок отбора действий запрашивает и получает от блока действий возможные действия для данной ситуации. Решающая нейронная сеть, получив новые данные, прогнозирует значение рабочего параметра на следующую временную итерацию. Блок отбора действий, получив возможные действия, синхронно с решающей нейронной сетью начинает подавать возможные действия и прогноз рабочего параметра на блок критика, который в свою очередь последовательно вычисляет возможное будущее подкрепление для каждого возможного действия. Далее возможные будущие подкрепления подаются на блок выбора действия, который по заданному алгоритму выбирает действие объекта управления на следующую временную итерацию и подает выбранное действие на объект управления. Блок расчета подкрепления, получив значения текущего состояния внешней среды и объекта управления, вычисляет значение полученного подкрепления за последнюю отработанную итерацию управления. Полученное значение подкрепления передается в блок расчета временной разности, который рассчитывает временную разность и формирует обучающую выборку для нейронной сети блока критика. Если значение полученной ошибки временной разности выше заданной разработчиком, то блок расчета временной разности останавливает работу критика и переобучает его на новых данных.
Недостатками данного устройства являются невозможность переобучения решающей нейронной сети, недостаточная скорость обработки информации в режиме реального времени за счет взаимодействия блока выбора действия, блока отбора действия, блока действий, блока занесения действий.
Наиболее близким техническим решением является патент № 2755339 «Модифицированный интеллектуальный контроллер с адаптивным критиком», опубликованный 15.09.2021 г. Данное устройство состоит из блока расчета подкрепления, блока расчета временной разности, блока критика, блока выбора действия, блока обучения нейронных сетей, решающей нейронной сети, блока отбора действий, блока действий, объекта управления. первый и второй выходы объекта управления связаны с первым и вторым входами решающей нейронной сети, первым и вторым входами блока расчета временной разности, первым и вторым входами блока отбора действий, а также с первым и вторым входами блока расчета подкрепления, первый выход блока расчета подкрепления связан с третьим входом блока расчета временной разности, первый выход блока выбора действий связан с первым входом объекта управления, второй выход блока критика связан с первым входом блока выбора действий, первый выход решающей нейронной сети связан с первым входом блока критика, второй выход блока действий связан с пятым входом блока отбора действий, третий выход блока отбора действий связан с первым входом блока действий, первый выход блока отбора действий связан с третьим входом решающей нейронной сети, второй выход блока отбора действий связан со вторым входом блока критика, первый выход блока расчета подкрепления также связан с пятым входом блока действий, первый выход блока расчета временной разности связан с четвертым входом блока действий и первым входом блока обучения нейронных сетей, второй выход блока расчета временной разности связан с третьим входом блока критика, первый выход блока критика связан с четвертым входом блока расчета временной разности, второй выход блока критика также связан со вторым входом блока обучения нейронных сетей, третий выход блока критика связан с третьим входом блока отбора действий, первый выход блока обучения нейронных сетей связан с первым входом блока критика и первым входом решающей нейронной сети, второй выход блока обучения нейронных сетей связан со вторым входом блока критика и вторым входом решающей нейронной сети, третий выход блока обучения нейронных сетей связан с третьим входом блока действий, четвертый выход блока обучения нейронных сетей связан с четвертым входом блока отбора действий, первый выход решающей нейронной сети связан также с четвертым входом блока обучения нейронных сетей, второй выход блока отбора действий связан также со вторым входом блока выбора действий, первый выход блока действий связан с пятым входом блока расчета временной разности, третий выход блока действий связан с третьим входом блока обучения нейронных сетей, первый выход блока выбора действий также связан со вторым входом блока действий.
Принцип работы устройства по патенту № 2755339 следующий - объект управления выдает сигналы состояния и действия, по которым блок отбора действий выбирает возможные действия из блока действий в данной ситуации и подает их на блок критика параллельно с прогнозным значением рабочего параметра, который рассчитывает решающая нейронная сеть. Критик, получая данные, последовательно оценивает последствия возможных действий и выдает их на блок выбора действия, который с помощью «ε - жадного» - правила выбирает действие и подает его на исполнение в объект управления. Параллельно этому процессу, блок расчета подкрепления рассчитывает полученное подкрепление и подает его на блок расчета временной разности, который рассчитывает ошибку временной разности, и если ошибка существенная, то блок расчета временной разности останавливает работу блока критика, и блок обучения нейронных сетей переобучает его на новых данных. Также блок обучения нейронных сетей в случае низкой точности прогноза рабочего параметра переобучает решающую нейронную сеть.
Недостатками данного контроллера являются - невысокие адаптационные свойства, сложность обучения нейронной сети блока критика и решающей нейронной сети, сложность реализации для разработчика.
Общий недостаток устройств на основе сетей адаптивных критиков состоит в том, что базовый подход не является обобщенным и достаточным для построения универсальной адаптивной системы управления объектом, действующим в недетерминированной среде. К недостаткам можно отнести, так как система должна управляться в режиме реального времени, большое количество вычислений, сложность дообучения нейронных сетей. Также к недостаткам можно отнести то, что система управления, построенная на базе адаптивного критика, не может радикально менять свое поведение и вырабатывать новые реакции при абсолютно новых, неизвестных данных о состоянии окружающей среды и объекта управления (D. Prokhorov, D. Wanch. Adaptive critic designs. IEEE transactions on Neural Networks, September 1997. pp. 997 - 1007).
Задача - усовершенствование модифицированного интеллектуального контроллера с адаптивным критиком и расширение функциональных возможностей.
Техническим результатом предлагаемого устройства является повышение скоростных характеристик работы системы управления на базе интеллектуального контроллера, уменьшение времени обучения нейронных сетей и упрощение конечной реализации для разработчика.
Технический результат достигается тем, что в модифицированном интеллектуальном контроллере с адаптивным критиком, содержащем блок расчета подкрепления, блок расчета временной разности, блок критика, блок выбора действий, блок обучения нейронных сетей, решающую нейронную сеть, блок отбора действий, блок действий, объект управления, первый и второй выходы объекта управления связаны со вторым и первым входами блока расчета подкрепления, вторым и первым входами решающей нейронной сети, вторым и первым входами блока отбора действий, вторым и первым входами блока действий, первый выход блока расчета подкрепления связан с третьим входом блока действий, первым входом блока расчета временной разности, первый выход блока расчета временной разности связан с четвертым входом блока действий, первый выход блока критика связан с первым входом блока выбора действий и четвертым входом блока обучения нейронных сетей, второй выход блока критика связан с четвертым входом блока отбора действий, второй выход блока выбора действий связан с седьмым входом блока действий и первым входом объекта управления, первый и второй выходы блока обучения нейронных сетей связаны с первым и вторым входами решающей нейронной сети, третий и четвертый выходы блока обучения нейронных сетей связаны со вторым и первым входами блока критика, первый выход решающей нейронной сети связан с первым входом блока критика и вторым входом блока обучения нейронных сетей, второй выход решающей нейронной сети связан с третьим входом блока отбора действий, первый выход блока отбора действий связан со вторым входом блока критика, второй выход блока отбора действий связан с пятым входом блока действий, первый выход блока действий связан с пятым входом блока отбора действий, второй выход блока действий связан с первым входом блока обучения нейронных сетей, введены блок задержки значения качества ситуации, блок умножения значения качества ситуации, накопитель ошибки временной разности, генератор случайных чисел, блок счетчика ошибок значения рабочего параметра, блок вычитания значения рабочего параметра, блок задержки значения рабочего параметра, при этом первый выход блока расчета временной разности также связан с первым входом накопителем ошибки временной разности, первый выход блока задержки значения качества ситуации связан со вторым входом блока расчета временной разности, первый выход блока умножения значения качества ситуации связан с третьим входом блока расчета временной разности, первый выход блока выбора действия связан с первым входом блока задержки значения качества ситуации и первым входом блока умножения значения качества ситуации, первый выход накопителя ошибки временной разности связан с третьим входом блока обучения нейронных сетей, третий выход блока выбора действий связан со вторым входом генератора случайных чисел, первый выход генератора случайных чисел связан с пятым входом блока обучения нейронных сетей, второй выход генератора случайных чисел связан со вторым входом блока выбора действий, третий выход генератора случайных чисел связан с шестым входом блока действий, пятый выход блока обучения нейронных сетей связан с третьим входом блока критика, шестой выход блока обучения нейронных сетей связан с первым выходом блока критика, седьмой выход блока обучения нейронных сетей связан с первым входом генератора случайных чисел, восьмой выход блока обучения нейронных сетей связан с первым выходом решающей нейронной сети, девятый выход блока обучения нейронных сетей связан с третьим входом решающей нейронной сети, первый выход решающей нейронной сети связан также с первым входом блока задержки значения рабочего параметра, первый выход блока задержки значения рабочего параметра связан с первым входом блока вычитания значения рабочего параметра, первый выход блока вычитания рабочего параметра связан с первым входом блока счетчика ошибок значения рабочего параметра, первый выход блока счетчика ошибок значения рабочего параметра связан с шестым входом блока обучения нейронных сетей, второй выход объекта управления связан также со вторым входом блока вычитания значения рабочего параметра, третий выход блока действий связан с третьим входом генератора случайных чисел.
Повышение быстродействия достигается за счет декомпозиции сектора расчета ошибки временной разности за несколько простых блоков: блока расчета подкрепления, блока расчета ошибки временной разности, блока задержки значения качества ситуации, блока умножения значения качества ситуации, и накопителя ошибки временной разности, в следствие чего повышается скорость расчета ошибки временной разности и упрощается программная реализация, из блока обучения нейронных сетей в отдельный блок выведен генератор случайных чисел, используемый также блоком выбора действий. Расчет ошибки прогнозирования рабочего параметра решающей нейронной сетью также выведен из блока обучения нейронных сетей в отдельные блоки: блок счетчика ошибок значения рабочего параметра, блок вычитания значения рабочего параметра и блок задержки значения рабочего параметра, что позволяет выполнять параллельно процессы оценки ошибки прогнозирования рабочего параметра и обучения нейронной сети критика, а также упрощает программную реализацию.
Таким образом, совокупность существенных признаков изложенных в формуле изобретения, позволяет достигнуть желаемый результат.
На фиг. 1 изображена схема модифицированного интеллектуального контроллера с адаптивным критиком.
Система состоит из нескольких структурных компонент: блока расчета подкрепления 1, блока расчета ошибки временной разности 2, блока задержки значения качества ситуации 3, блока умножения значения качества ситуации 4, накопителя ошибки временной разности 5, блока критика 6, блока выбора действия 7, генератора случайных чисел 8, блока обучения нейронных сетей 9, блока счетчика ошибок значений рабочего параметра 10, решающей нейронной сети 11, блока вычитания значения рабочего параметра 12, блока задержки значения рабочего параметра 13, блока отбора действий 14, блока действий 15, объекта управления 16.
Также в системе присутствуют следующие связи: от блока расчета подкрепления 1 идет сигнал по связи 17.1 на блок действий 15 и сигнал по связи 17.2 на блок расчета ошибки временной разности 2, от объекта управления 16 идут связи состояния объекта управления 18 и состояния внешней среды 19, при этом по связям 18.1 и 19.1 идут сигналы на блок расчета подкрепления 1, по связям 18.2 и 19.2 идут сигналы на решающую нейронную сеть 11, по связям 18.3 и 19.3 идут сигналы на блок отбора действий 14, по связям 18.4 и 19.4 идут сигналы на блок действий 15 и связь 19.5 идет к блоку вычитания значения рабочего параметра 12, от блока задержки значения качества ситуации 3 идет связь 20 на блок расчета ошибки временной разности 2, блок умножения значения качества ситуации 4 по связи 21 соединен с блоком расчета ошибки временной разности 2, блок расчета ошибки временной разности 2 по связи 22.1 соединен с блоком действий 15 и по связи 22.2 соединен с накопителем ошибки временной разности 5, накопитель ошибки временной разности 5 по связи 23 соединен с блоком обучения нейронных сетей 9, блок выбора действий 7 по связи 24.1 соединен с блоком умножения значения качества ситуации 4 и по связи 24.2 с блоком задержки значения качества ситуации 3, блок отбора действий 14 по связи 25 соединен с блоком критика 6, блок критика 6 по связи 26.1 соединен с блоком выбора действий 7 и связью 26.2 соединен с блоком обучения нейронных сетей 9, блок критика 6 по связи 27 соединен с блоком отбора действий 14, блок обучения нейронных сетей 9 по связи 28 соединен с выходом блока критика 6, блок выбора действий 7 по связи 29.1 связан с блоком действий 15 и по связи 29.2 с объектом управления 16, блок обучения нейронных сетей 9 по связям 30, 31 и 32 связан с блоком критика 6, блок выбора действий 7 по связи 33 связан с генератором случайных чисел 8, выход генератора случайных чисел 8 по связи 34 связан с блоком выбора действий 7, выход 35 генератора случайных чисел 8 связан с блоком обучения нейронных сетей 9, блок обучения нейронных сетей 9 по связи 36 связан с генератором случайных чисел 8, блок обучения нейронных сетей по связям 37, 38, 39 соединен с решающей нейронной сетью 11, блок обучения нейронных сетей 9 по связи 40 связан с выходом 45.2 решающей нейронной сети 11, блок данных 15 по связи 41 соединен с блоком обучения нейронных сетей 9, генератор случайных чисел 8 по связи 42 связан с блоком действий 15, блок действий 15 по связи 43 связан с генератором случайных чисел 8, блок счетчика ошибок значения рабочего параметра 10 соединен по связи 44 с блоком обучения нейронных сетей 9, решающая нейронная сеть 11 по связи 45.1 соединена с блоком задержки значения рабочего параметра 13, а также по связи 45.2 с блоком критика 6 и по связи 45.3 с блоком обучения нейронных сетей 9, блок вычитания значения рабочего параметра 12 по связи 46 соединен с блоком счетчика ошибок значения рабочего параметра 10, блок задержки значения рабочего параметра 13 по связи 47 соединен с блоком вычитания значения рабочего параметра 12, решающая нейронная сеть 11 по связи 48 соединена с блоком отбора действий 14, блок отбора действий 14 по связи 49 соединен с блоком действий 15 и блок действий 15 по связи 50 соединен с блоком отбора действий 14.
Блок расчета подкрепления 1 предназначен для расчета подкрепления работы интеллектуального контроллера, где t - итерация управления. Формула расчета подкрепления задается разработчиком (см. Саттон Р., Барто А. «Обучение с подкреплением». БИНОМ: Лаборатория знаний. 2012. 399 с.). Один из вариантов формулы расчета подкрепления - это отношение полезного действия, произведенного объектом управления к затраченным ресурсам.
Блок расчета ошибки временной разности 2 предназначен для расчета временной разности (Саттон Р., Барто А. «Обучение с подкреплением». БИНОМ: Лаборатория знаний. 2012. 399 с.). Формула расчета ошибки временной разности δ на итерации t:
(1)
где - подкрепление на итерации t,
- коэффициент забывания (или горизонт управления),
- оценка качества ситуации на итерации t.
Блок задержки значения качества ситуации 3 предназначен для запоминания на один такт управления текущего значения оценки качества ситуации , рассчитанной блоком критика.
Блок умножения значения качества ситуации 4 предназначен для умножения на коэффициент забывания текущего значения качества ситуации (
).
Накопитель ошибки временной разности 5 предназначен для запоминания последних значений ошибки временной разности и вычисления средней ошибки временной разности за период
(
задается разработчиком, рекомендуемое значение кратно 10, например, 20).
Блок критика 6 предназначен для расчета прогнозного значения оценки качества ситуации при выборе определенного действия. Для расчета качества ситуации используется послойно - полносвязная нейронная сеть прямого распространения сигнала (многослойный персептрон, см. Хайкин С. Нейронные сети: полный курс. 2-е изд.: Пер. с англ. - М.: Издательский дом «Вильямс». 2006. 1104 с.).
Блок выбора действий 7 предназначен для выбора конкретного действия из всех возможных в данной ситуации. При выборе используется так называемое «ε - жадное» правило (Саттон Р., Барто А. «Обучение с подкреплением». БИНОМ: Лаборатория знаний. 2012. 399 с.), которое можно записать как «с вероятностью (
) выбирается то действие, которому соответствует максимальное значение качества ситуации».
Генератор случайных чисел 8 предназначен для генерации случайных чисел при обучении нейронных сетей блока критика и решающей нейронной сети, а также при выборе действий блоком выбора действий 7.
Блок обучения нейронных сетей 9 предназначен для обучения нейронной сети критика 6 и решающей нейронной сети 11.
Блок счетчика ошибок значений рабочего параметра 10 предназначен для расчета средней ошибки прогноза рабочего параметра объекта управления за L последних итераций управления (L задается разработчиком, рекомендуемое значение кратно 10, например, 20).
Решающая нейронная сеть 11 предназначена для прогнозирования следующего значения рабочего параметра системы (рабочих параметров может быть несколько). Под рабочим параметром понимается тот параметр системы, оценивая который, система может определить, как она работает, либо это параметр, который служит ориентиром для работы системы.
Блок вычитания значения рабочего параметра 12 предназначен для вычисления ошибки прогнозирования рабочего параметра.
Блок задержки значения рабочего параметра 13 предназначен для задержки прогнозного значения рабочего параметра на один такт управления.
Блок отбора действий 14 предназначен для отбора всех возможных действий в данной ситуации с учетом минимального накопленного подкрепления для каждого возможного действия.
Блок действий 15 предназначен для хранения таблицы возможных действий во всех возможных ситуациях, истории работы объекта управления (ситуация -> действие) и накопленного подкрепления при совершении определенного действия в определенной ситуации.
Заявленное устройство работает следующим образом. Выделим три режима работы устройства:
А) основной режим
Б) режим обучения нейронной сети критика
В) режим обучающей решающей нейронной сети
Основной режим работы:
А.1) Объект управления 16 выполняет действие и на выходах формируются сигналы состояния объекта управления 18 и внешней среды 19, которые поступают в блок отбора действий 14 по связям 18.3 и 19.3 соответственно, блок действий 15 по связям 18.4 и 19.4, на решающую нейронную сеть 11 по связям 18.2 и 19.2, блок расчета подкрепления 1 по связям 18.1 и 19.1.
А.2) Блок действий 15 записывает пришедшие по связям 18.4 и 19.4 значения состояния внешней среды и объекта управления.
А.3) Решающая нейронная сеть 11, получив новые значения состояния объекта управления и внешней среды по связям 18.2 и 19.2 соответственно, вычисляет прогнозное значение рабочего параметра на следующую временную итерацию. Решающая нейронная сеть 11 после вычисления прогнозного значения рабочего параметра подает синхронизирующий сигнал по связи 48 на блок отбора действий 14 и подает вычисленное значение на блок критика 6 по связи 45.2, также вычисленное прогнозное значение рабочего параметра по связи 45.1 подается на блок задержки значения рабочего параметра 13.
А.4) При поступлении новых данных от объекта управления 16 по сигналам состояния объекта 18.3 и внешней среды 19.3, блок отбора действий 14 запрашивает по связи 49 у блока действий 15 возможные действия в данной ситуации и по связи 50 получает их. Получив возможные действия, блок отбора действий 14 синхронно с решающей нейронной сетью 11 начинает подавать попарно значения {возможное действие; прогноз рабочего параметра} на блок критика 6 по связям: 25 - возможное действие от блока отбора действий 14 и 45.2 - прогноз рабочего параметра от решающей нейронной сети 11. При этом блок отбора действий 14 подает поочередно различные действия, а решающая нейронная сеть 11 только одно вычисленное прогнозное значение рабочего параметра. Начальная синхронизация блока отбора действий 14 с решающей нейронной сетью 11 идет по связи 48, при этом блок отбора действий 14 ждет момента, когда решающая нейронная сеть 11 выдаст прогноз рабочего параметра и сформирует синхронизирующий сигнал по связи 48.
А.5) Блок критика 6, получая сигналы {возможное_действие; прогноз рабочего параметра} по связям 25 и 45.2 от блока отбора действий 14 и решающей нейронной сети 11 вычисляет значение оценки качества ситуации для поданного действия. При этом блок отбора действий 14 подает на блок критика 6 по связи 25 последовательно столько действий сколько их возможно в данной ситуации. Соответственно, блок критика 6, вычисляет столько возможных значений оценки качества ситуаций, сколько вариантов действий предоставил блок отбора действий 14. После вычисления каждого значения оценки качества ситуации, блок критика 6 посылает синхронизирующий сигнал по связи 27 на блок отбора действий 14 о возможности приема новых данных и параллельно посылает рассчитанное значение по связи 26.1 на блок выбора действий 7.
А.6) Блок выбора действий 7 запоминает все пришедшие к нему значения {возможное действие; оценка качества ситуации} и, основываясь на «ε - жадном» правиле, выбирает текущее действие и посылает его по связи 29.2 на объект управления 16. Выбранное действие также посылается на блок действий 15 по связи 29.1. Значение оценки качества ситуации выбранного действия по связи 24.1 подается на блок задержки значения качества ситуации 3 и по связи 24.2 на блок умножения значения качества ситуации 4. Выбор действия по «ε - жадному» правилу производится с помощью генератора случайных чисел 8, при этом запрос значения происходит по связи 33, а сгенерированное значение блок выбора действий получает по связи 34.
А.7) Блок задержки качества ситуации 3, получив новое значение оценки качества ситуации от блока выбора действий 7 по связи 24.2, подает предыдущее значение по связи 20 на блок расчета ошибки временной разности 2.
А.8) Блок умножения значения качества ситуации 4, получив текущее значение оценки качества ситуации по связи 24.1 от блока выбора действий 7, производит умножение значения оценки качества ситуации на заданный разработчиком коэффициент забывания (
) и отправляет полученное значение на блок расчета ошибки временной разности 2 по связи 20 (рекомендации по выбору коэффициента забывания см. Саттон Р., Барто А. «Обучение с подкреплением». БИНОМ: Лаборатория знаний. 2012. 399 с.).
А.9) Блок расчета подкрепления 1, получая текущие значения состояния объекта управления и внешней среды по связям 18.1 и 19.1, вычисляет по заданной формуле значение полученного подкрепления за последнюю отработанную итерацию управления. Полученное значение рассчитанного подкрепления по связи 17.2 подается на блок расчета ошибки временной разности 2 и по связи 17.1 на блок действий.
А10) Блок расчета ошибки временной разности 2, получив значения последнего подкрепления по связи 17.2, а также текущее значение качества ситуации от блока умножения качества ситуации 4 по связи 20 и предыдущее значения качества ситуации по связи 21 от блока задержки качества ситуации 4, рассчитывает значение ошибки временной разности по формуле:
А11) Полученное блоком расчета ошибки временной разности 2 значение по связи 22.1 посылается на блок данных 15, который сохраняет значение, а также по связи 22.2 отправляется на накопитель ошибки временной разности 5.
А12) Накопитель ошибки временной разности 5, получив новое значение ошибки временной разности по связи 22.2, рассчитывает среднее значение ошибки временной разности за К последних итераций управления. Если среднее значение ошибки временной разности больше заданной разработчиком, то накопитель ошибки временной разности 5 отправляет сигнал по связи 23 на блок обучения нейронных сетей 9 о необходимости переобучения нейронной сети блока критика 6.
А13) Объект управления 16, получая сигнал по связи 29.2 от блока выбора действий 7, отрабатывает его.
Режим работы Б). Обучение нейронной сети критика 6.
Б.1) Блок обучения нейронных сетей 9, при получении сигнала 23 от накопителя ошибки временной разности 5, начинает процесс переобучения нейронной сети блока критика 6, при этом на блок критика 6 посылается сигнал по связи 32 о старте переобучения, а также активируются связи 30 и 31 на входы 25 и 45.2 блока критика 6, а также по сигналу 28 размыкается связь 26.1 от блока критика 6 на блок выбора действий 7. Т.е. от блока критика 6 отключаются блок решающей нейронной сети 11, блок отбора действий 14 и блок выбора действий 7. При этом устройство отрабатывает последний управляющий сигнал 29.2, но блок выбора действий 7 не формирует новых управляющих сигналов. Блок решающей нейронной сети 11 при получении данных состоянии внешней среды 18.2 и объекта управления 19.2, прогнозирует значение рабочего параметра 45, которое подается только на блок задержки значения рабочего параметра 13 по связи 45.1. Сигнал по связи 44 от блока счетчика ошибок значения рабочего параметра 10 блоком обучения нейронных сетей 9 на период обучения блока критика 6 не принимается.
Б.2) Блок обучения нейронных сетей 9 по связи 36 посылает сигнал на генератор случайных чисел 8 о начале генерации случайных чисел для обучения нейронной сети блока критика 6. Генератор случайных чисел 8, получив сигнал по связи 36 о начале обучения нейронной сети блока критика 6, делает запрос по связи 42 к блоку данных 15 о максимальном количестве допустимых примеров для обучения нейронной сети блока критика 6 и по связи 43 получает данное число (E1_max). Далее, генератор случайных чисел 8 посылает сигнал по связи 35 на блок обучения нейронных сетей 9 о готовности генерирования случайных чисел в необходимом диапазоне (0, E1_max].
Б.3) Получив сигнал по связи 35 о готовности генератора случайных чисел 8, блок обучения нейронных сетей 9 в цикле, пока ошибка обучения нейронной сети блока критика 6 не станет меньше заданной разработчиком (рекомендации по выбору допустимой ошибки обучения многослойного персептрона см. Заенцев И.В. Нейронные сети: основные модели. Воронеж: Изд-во ВГУ. 1999. 76 с. .), выполняет следующие действия:
Б.3.1.) Посылает запрос по связи 36 на генератор случайных чисел 8 на генерирование случайного числа. Генератор случайных чисел 8 генерирует случайное число и по связи 42 отправляет его на блок данных 15. Блок данных 15, получив число от генератора случайных чисел 8 по связи 42, выбирает по данному числу пример для обучения и отправляет его по связи 41 на блок обучения нейронных сетей 9.
Б.3.2.) Блок обучения нейронных сетей 9, получив пример для обучения по связи 41 от блока данных 15, посылает данные полученного примера на связи 25 и 45.2 блока критика 6 сигналами по связям 30 и 31.
Б.3.3.) Блок критика 6, получив входные данные от блока обучения нейронных сетей 9, рассчитывает выход 26, который передается по связи 26.2 на блок обучения нейронных сетей 9.
Б.3.4.) Блок обучения нейронных сетей 9, получив выход блока критика 6 по связи 26.2, рассчитывает ошибку на выходе, между тем, что должно получиться и тем, что получилось и, согласно алгоритму обратного распространения ошибки (см. - Хайкин С. Нейронные сети: Полный курс. Пер. с англ. Н. Н. Куссуль, А. Ю. Шелестова. 2-е изд., испр. - М.: Издательский дом Вильямс, 2008, 1103 с.) корректирует веса синаптических связей нейронной сети блока критика 6 через связь 32.
Б.3.5.) Процесс переобучения нейронной сети блока критика 6 продолжается то тех, пока ошибка на выходе не станет меньше заданной разработчиком (рекомендации по выбору значения ошибки обучения многослойного персептрона см. Заенцев И.В. Нейронные сети: основные модели. Воронеж: Изд-во ВГУ. 1999. 76 с.) или, если за заданное количество итераций ошибка не понижается до заданного порога, блок обучения нейронных сетей 9 инициализирует перезапуск обучения нейронной сети блока критика 6 (при этом новые начальные значения весов синаптических связей нейронной сети блока критика 6 запрашиваются по связи 36 у генератора случайных чисел 8, получаются блоком обучения нейронных сетей 9 по связи 35 и устанавливаются в блоке критика по связи 32).
Б.3.6) По завершению переобучения нейронной сети блока критика 6, блок обучения нейронных сетей 9 выставляет отправляет сигналы по связям 30, 31, 28 на связи 25, 45.2, 26.1 блока критика 6 (блок критика 6 снова соединяется блоком выбора действий 7, решающей нейронной сетью 11 и блоком действий 14) и устройство начинает работать в основном режиме А).
Режим работы В. Обучение решающей нейронной сети 11.
В.1) Блок счетчика ошибок значений рабочего параметра 10, рассчитывает среднее значение ошибки прогнозирования решающей нейронной сети 11 за заданное разработчиком число итераций L (с учетом последней итерации управления) и если ошибка выше заданной разработчиком, то инициализируется процесс переобучения решающей нейронной сети 11 выставлением сигнал 44 на блок обучения нейронных сетей 9.
В.2) Получив сигнал по связи 44, блок обучения нейронных сетей 9, по сигналам 37 и 38 размыкает связи 18.2 и 19.2 решающей нейронной сети 11 от объекта управления 16, а по сигналу 40 размыкает связь 45.2, идущую на блок критика 6. По связи 32 посылается сигнал на блок критика 6 о приостановке работы последнего на период переобучения решающей нейронной сети 11.
В.3) Блок обучения нейронных сетей 9 выдает сигнал по связи 36 на генератор случайных чисел 8 о запросе максимального числа примеров для обучения решающей нейронной сети 11.
В.4) Получив сигнал по связи 36, генератор случайных чисел 8 отправляет запрос по связи 42 на блок данных 15 с запросом максимального числа примеров E2_max для обучения решающей нейронной сети 11.
В.5) Получив запрос по связи 42, блок данных 15 по связи 43 отправляет на генератор случайных чисел 8 максимальное число примеров (E2_max) для обучения решающей нейронной сети 11.
В.6) Генератор случайных чисел 8, получив по связи 43 значение максимального числа примеров E2_max для обучения решающей нейронной сети, отправляет по связи 35 на блок обучения нейронных сетей 9 информацию о возможности начала переобучения решающей нейронной сети 11.
В.7) Блок обучения нейронных сетей 9, получив сигнал по связи 35 о готовности генератора случайных чисел 8, начинает обучение решающей нейронной сети 11. На генератор случайных чисел 8 по связи 36 делается запрос о новом примере для обучения.
В.8) Генератор случайных чисел 8, получив запрос по связи 36, генерирует случайное число в пределах (1; E2_max] и отправляет его по связи 42 на блок данных 15.
В.9) Блок данных 15, получив номер обучающего примера, выбирает его параметры (входы и выходы решающей нейронной сети 11) из своей памяти и по связи 41 отправляет на блок обучения нейронных сетей 9.
В.10) Блок обучения нейронных сетей 9, получив пример для обучения решающей нейронной сети 11, выставляет значения входов решающей нейронной сети 11 по связям 37 и 38.
В.11) Решающая нейронная сеть 11 получив значения входов, делает прямой расчет своего выхода (связь 45). Полученное значение по связи 45.3 отправляется в блок обучения нейронных сетей 9.
В.12) Блок обучения нейронных сетей 9, получив значение выхода решающей нейронной сети 11 по связи 45.3, сравнивает его с тем, что должно было получиться (данные выходов решающей нейронной сети, полученные от блока данных 15 по связи 41 на шаге В.9) и согласно формулам алгоритма обратного распространения ошибки по связи 39 корректирует веса синаптических связей решающей нейронной сети 11.
В.13) Шаги В.7) - В.12) повторяются в цикле, пока ошибка работы решающей нейронной сети не станет меньше заданной разработчиком (рекомендации по выбору ошибки обучения нейронной сети см. Заенцев И.В. Нейронные сети: основные модели. Воронеж: Изд-во ВГУ. 1999. 76 с.). В случае, если за заданное разработчиком число итераций обучения ошибка не снизится до заданной, то блок обучения нейронных сетей 9 заново генерирует процесс обучения решающей нейронной сети 11, предварительно по связи 39 сбросив значения весов синаптических связей (делая запрос для нового значения каждой связи у генератора случайных чисел 8 по связи 36 и получая значение по связи 35).
В.14) В случае успешного обучения решающей нейронной сети 11, блок обучения нейронных сетей 9 снимает блокировку входов и выхода решающей нейронной сети 11 по связям 37, 38 и 40. Также посылается сигнал по связи 32 на блок критика 6 о возобновлении работы последнего.
название | год | авторы | номер документа |
---|---|---|---|
МОДИФИЦИРОВАННЫЙ ИНТЕЛЛЕКТУАЛЬНЫЙ КОНТРОЛЛЕР С АДАПТИВНЫМ КРИТИКОМ | 2013 |
|
RU2523218C1 |
Модифицированный интеллектуальный контроллер с адаптивным критиком | 2020 |
|
RU2755339C1 |
МОДИФИЦИРОВАННЫЙ ИНТЕЛЛЕКТУАЛЬНЫЙ КОНТРОЛЛЕР С АДАПТИВНЫМ КРИТИКОМ | 2011 |
|
RU2450336C1 |
МОДИФИЦИРОВАННЫЙ ИНТЕЛЛЕКТУАЛЬНЫЙ КОНТРОЛЛЕР | 2011 |
|
RU2458390C1 |
МОДИФИЦИРОВАННЫЙ ИНТЕЛЛЕКТУАЛЬНЫЙ КОНТРОЛЛЕР | 2013 |
|
RU2527212C1 |
ИНТЕЛЛЕКТУАЛЬНЫЙ КОНТРОЛЛЕР С ПРАВИЛАМИ САМОМОДИФИКАЦИИ ОБУЧАЮЩЕЙ И УПРАВЛЯЮЩЕЙ НЕЙРОННЫХ СЕТЕЙ | 2011 |
|
RU2447494C1 |
Способ для создания контроллеров управления шагающими роботами на основе обучения с подкреплением | 2022 |
|
RU2816639C1 |
ИНТЕЛЛЕКТУАЛЬНЫЙ КОНТРОЛЛЕР С НЕЙРОННОЙ СЕТЬЮ И ПРАВИЛАМИ САМОМОДИФИКАЦИИ | 2003 |
|
RU2266558C2 |
МОДИФИЦИРОВАННЫЙ ИНТЕЛЛЕКТУАЛЬНЫЙ КОНТРОЛЛЕР С НЕЧЕТКИМИ ПРАВИЛАМИ | 2012 |
|
RU2504002C1 |
НЕПРЕРЫВНОЕ УПРАВЛЕНИЕ С ПОМОЩЬЮ ГЛУБОКОГО ОБУЧЕНИЯ С ПОДКРЕПЛЕНИЕМ | 2016 |
|
RU2686030C1 |
Изобретение относится к интеллектуальным контроллерам, использующим принцип обучения с подкреплением, искусственные нейронные сети, и может использоваться для управления сложными системами в недетерминированной среде. Модифицированный интеллектуальный контроллер с адаптивным критиком содержит блок расчета подкрепления, блок расчета ошибки временной разности, блок задержки значения качества ситуации, блок умножения значения качества ситуации, накопитель ошибки временной разности, блок критика, блок выбора действия, генератор случайных чисел, блок обучения нейронных сетей, блок счетчика ошибок значений рабочего параметра, решающую нейронную сеть, блок вычитания значения рабочего параметра, блок задержки значения рабочего параметра, блок отбора действий, блок действий, объект управления. Техническим результатом предлагаемого устройства является повышение скоростных характеристик работы системы управления на базе интеллектуального контроллера, уменьшение времени обучения нейронных сетей и упрощение конечной реализации для разработчика. 1 ил.
Модифицированный интеллектуальный контроллер с адаптивным критиком, содержащий блок расчета подкрепления, блок расчета временной разности, блок критика, блок выбора действий, блок обучения нейронных сетей, решающую нейронную сеть, блок отбора действий, блок действий, объект управления, первый и второй выходы объекта управления связаны со вторым и первым входами блока расчета подкрепления, вторым и первым входами решающей нейронной сети, вторым и первым входами блока отбора действий, вторым и первым входами блока действий, первый выход блока расчета подкрепления связан с третьим входом блока действий, первым входом блока расчета временной разности, первый выход блока расчета временной разности связан с четвертым входом блока действий, первый выход блока критика связан с первым входом блока выбора действий и четвертым входом блока обучения нейронных сетей, второй выход блока критика связан с четвертым входом блока отбора действий, второй выход блока выбора действий связан с седьмым входом блока действий и первым входом объекта управления, первый и второй выходы блока обучения нейронных сетей связаны с первым и вторым входами решающей нейронной сети, третий и четвертый выходы блока обучения нейронных сетей связаны со вторым и первым входами блока критика, первый выход решающей нейронной сети связан с первым входом блока критика и вторым входом блока обучения нейронных сетей, второй выход решающей нейронной сети связан с третьим входом блока отбора действий, первый выход блока отбора действий связан со вторым входом блока критика, второй выход блока отбора действий связан с пятым входом блока действий, первый выход блока действий связан с пятым входом блока отбора действий, второй выход блока действий связан с первым входом блока обучения нейронных сетей, отличающийся тем, что дополнительно установлены блок задержки значения качества ситуации, блок умножения значения качества ситуации, накопитель ошибки временной разности, генератор случайных чисел, блок счетчика ошибок значения рабочего параметра, блок вычитания значения рабочего параметра, блок задержки значения рабочего параметра, при этом первый выход блока расчета временной разности также связан с первым входом накопителем ошибки временной разности, первый выход блока задержки значения качества ситуации связан со вторым входом блока расчета временной разности, первый выход блока умножения значения качества ситуации связан с третьим входом блока расчета временной разности, первый выход блока выбора действия связан с первым входом блока задержки значения качества ситуации и первым входом блока умножения значения качества ситуации, первый выход накопителя ошибки временной разности связан с третьим входом блока обучения нейронных сетей, третий выход блока выбора действий связан со вторым входом генератора случайных чисел, первый выход генератора случайных чисел связан с пятым входом блока обучения нейронных сетей, второй выход генератора случайных чисел связан со вторым входом блока выбора действий, третий выход генератора случайных чисел связан с шестым входом блока действий, пятый выход блока обучения нейронных сетей связан с третьим входом блока критика, шестой выход блока обучения нейронных сетей связан с первым выходом блока критика, седьмой выход блока обучения нейронных сетей связан с первым входом генератора случайных чисел, восьмой выход блока обучения нейронных сетей связан с первым выходом решающей нейронной сети, девятый выход блока обучения нейронных сетей связан с третьим входом решающей нейронной сети, первый выход решающей нейронной сети связан также с первым входом блока задержки значения рабочего параметра, первый выход блока задержки значения рабочего параметра связан с первым входом блока вычитания значения рабочего параметра, первый выход блока вычитания рабочего параметра связан с первым входом блока счетчика ошибок значения рабочего параметра, первый выход блока счетчика ошибок значения рабочего параметра связан с шестым входом блока обучения нейронных сетей, второй выход объекта управления связан также со вторым входом блока вычитания значения рабочего параметра, третий выход блока действий связан с третьим входом генератора случайных чисел.
МОДИФИЦИРОВАННЫЙ ИНТЕЛЛЕКТУАЛЬНЫЙ КОНТРОЛЛЕР С АДАПТИВНЫМ КРИТИКОМ | 2013 |
|
RU2523218C1 |
Модифицированный интеллектуальный контроллер с адаптивным критиком | 2020 |
|
RU2755339C1 |
US 2013073080 A1, 21.03.2013 | |||
US 2014081895 A1, 20.03.2014. |
Авторы
Даты
2025-03-18—Публикация
2024-09-24—Подача