Изобретение относится к интеллектуальным контроллерам, использующим принцип обучения с подкреплением, и может использоваться для управления сложными системами в недетерминированной среде.
Известен интеллектуальный контроллер на основе сетей адаптивных критиков, например патент США: МПК G06F 15/18 4563746. Данное устройство состоит из объекта управления, сети критика и управляющей нейронной сети. Выход объекта управления связан с первым входом сети критики и первым входом управляющей нейронной сети, выход управляющей нейронной сети связан с входом объекта управления и вторым входом сети критики, выход сети критики связан с вторым входом управляющей нейронной сети.
Принцип работы устройства по патенту МПК G06F 15/18 4563746 следующий - объект управления выдает сигнал о своем состоянии, сеть критики вычисляет подкрепление для текущей временной итерации и состояния объекта, управляющая нейронная сеть вычисляет управляющее воздействие с учетом подкрепления.
Общий недостаток устройств на основе сетей адаптивных критиков состоит в том, что этот алгоритм не является обобщенным и достаточным для построения универсальной адаптивной системы управления объектом, действующим в недетерминированной среде, чтобы убедиться в этом, достаточно взглянуть на количество методов реализации и структур (DHP, HDP, ВАС, GDHP, FACL, GIFACL и другие). К недостаткам можно отнести, так как система должна управляться в режиме реального времени, большее количество вычислений. Также к недостаткам можно отнести то, что система управления, построенная на базе адаптивного критика, не может радикально менять свое поведение и вырабатывать новые реакции при абсолютно новых, неизвестных данных о состоянии окружающей среды и объекта управления (D.Prokhorov, D.Wanch. Adaptive critic designs. IEEE transactions on Neural Networks, September 1997, pp.997-1007).
Наиболее близким техническим решением является «интеллектуальный контроллер с нейронной сетью и правилами самомодификации» по патенту РФ МПК G06F 9/00 №2266558. Контроллер по данному патенту состоит из объекта управления, обучающей нейронной сети, управляющей нейронной сети, блока коэффициента эффективности, блока правил самообучения управляющей нейронной сети, блока истории работы системы. Выходы состояния и действия объекта управления связаны с первым и вторым входами управляющей нейронной сети, выход управляющей нейронной сети связан с входом объекта управления. Выходы действия и состояния объекта управления связаны с первым и вторым входом блока коэффициента эффективности. Блок коэффициента эффективности связан с первым входом обучающей нейронной сети, второй вход управляющей нейронной сети связан с первым выходом блока истории работы системы, который также связан со вторым входом блока правил самообучения управляющей нейронной сети. Блок истории работы системы по первому и второму входам соединен с объектом управления, а по третьему входу с блоком правил самообучения управляющей нейронной сети. Второй выход блока истории работы системы связан с выходом управляющей нейронной сети, третий и четвертый выходы связаны с первым и вторым входами управляющей нейронной сети. Выход обучающей нейронной сети связан с первым входом блока правил самообучения управляющей нейронной сети. На более детальных схемах также присутствуют блоки: блок функции коэффициента эффективности, стек коэффициента эффективности, стек параметра адаптации и стек работы объекта управления, а также связи между ними и вышеописанными блоками. В качестве управляющей и обучающей нейронных сетей используется многослойный персептрон. В качестве метода обучения обучающей и управляющей нейронных сетей авторами рекомендуется метод обратного распространения ошибки.
Принцип работы устройства по патенту РФ МПК G06F 9/00 №2266558 следующий - объект управления выдает сигналы состояния и действия для управляющей нейронной сети, блока коэффициента эффективности и блока истории работы системы. Блок коэффициента эффективности вычисляет коэффициент эффективности на текущем цикле управления и динамику изменения коэффициента эффективности по сравнению с предыдущими циклами. Управляющая нейронная сеть, если коэффициент эффективности больше и равен заданному коэффициенту эффективности, вычисляет управляющее воздействие согласно текущим правилам управления. Обучающая нейронная сеть получает данные об изменении коэффициента эффективности и применяет правила обучения обучающей нейронной сети, в случае если коэффициент эффективности меньше заданного. На выходе получаются новые значения параметров адаптации. Блок правил самообучения управляющей нейронной сети на основании изменения параметров адаптации, если коэффициент эффективности меньше заданного, изменяет правила самообучения управляющей нейронной сети. Управляющая нейронная сеть, если коэффициент эффективности меньше заданного, дообучается по измененным правилам. После дообучения управляющая нейронная сеть вырабатывает сигнал управления. Необходимые параметры работы заносятся в стеки.
Недостатками данного контроллера являются - недостаточные адаптационные свойства, невозможность изменения правил самообучения обучающей нейронной сети, ограниченное изменение правил самообучения управляющей нейронной сети.
Техническим результатом предлагаемого устройства является повышение адаптационных свойств системы управления на базе интеллектуального контроллера.
Задача - разработка интеллектуального контроллера с правилами самомодификации обучающей и управляющей нейронных сетей.
Технический результат достигается тем, что интеллектуальный контроллер с правилами самомодификации обучающей и управляющей нейронных сетей, содержащий управляющую нейронную сеть, обучающую нейронную сеть, объект управления, первый и второй выходы которого соединены с вторым и третьим входами управляющей нейронной сети соответственно, обучающую нейронную сеть, выход управляющей нейронной сети соединен с входом объекта управления, отличается тем, что в него введены блок формулы коэффициента эффективности, блок истории обучающей нейронной сети, блок управления обучающей нейронной сети, блок управления управляющей нейронной сети, блок истории управляющей нейронной сети, причем первый и второй выходы объекта управления соединены с первым и вторым входами блока функции коэффициента эффективности, а также вторым и третьим входами блока истории управляющей нейронной сети, выход блока формулы коэффициента эффективности соединен с первым входом блока истории обучающей нейронной сети, первым входом блока управления обучающей нейронной сети и третьим входом обучающей нейронной сети, первый и второй выходы блока истории обучающей нейронной сети соединены соответственно с первым и вторым входами обучающей нейронной сети, третий выход блока истории обучающей нейронной сети соединен с вторым входом блока управления обучающей нейронной сети, первый, второй и третий выходы блока управления обучающей нейронной сети соединены соответственно третьим, вторым и первым входами обучающей нейронной сети, четвертый выход блока управления обучающей нейронной сети соединен с выходом обучающей нейронной сети, пятый выход блока управления обучающей нейронной сети соединен со вторым входом блока истории обучающей нейронной сети, выход обучающей нейронной сети соединен с третьим входом блока управления обучающей нейронной сети, третьим входом блока истории обучающей нейронной сети, первым входом блока истории управляющей нейронной сети, первый выход блока истории управляющей нейронной сети связан с третьим входом блока управления управляющей нейронной сети, второй выход блока истории управляющей нейронной сети связан со вторым входом блока управления управляющей нейронной сети и выходом управляющей нейронной сети, третий, четвертый и пятый выходы блока истории управляющей нейронной сети связаны соответственно с первым, вторым и третьим входами управляющей нейронной сети, выход управляющей нейронной сети связан с первым входом блока управления управляющей нейронной сети и пятым входом блока истории управляющей нейронной сети, выход блока управления управляющей нейронной сети связан с четвертым входом блока истории управляющей нейронной сети.
Интеллектуальный контроллер с правилами самомодификации обучающей и управляющей нейронных сетей по п.1, блок управления обучающей нейронной сети состоит из блока анализа коэффициента эффективности, блока правил обучающей нейронной сети, блока результатов работы обучающей нейронной сети и генератора случайных чисел обучающей нейронной сети, причем первый и второй выходы блока анализа коэффициента эффективности соединены с первым и вторым входами блока правил обучающей нейронной сети, третий выход блока анализа коэффициента эффективности соединен с первым входом блока результатов работы обучающей нейронной сети, первый выход блока правил обучающей нейронной сети соединен с первым входом блока анализа коэффициента эффективности, второй выход блока правил обучающей нейронной сети соединен со вторым входом блока результатов работы обучающей нейронной сети, первый выход блока результатов работы обучающей нейронной сети соединен с третьим входом блока правил обучающей нейронной сети, а второй выход с входом генератора случайных чисел обучающей нейронной сети, выход генератора случайных чисел обучающей нейронной сети соединен с четвертым входом блока правил обучающей нейронной сети.
Интеллектуальный контроллер с правилами самомодификации обучающей и управляющей нейронных сетей по п.1, блок управления управляющей нейронной сети состоит из блока анализа управляющей нейронной сети, блока наработки истории управляющей нейронной сети, блока правил управляющей нейронной сети, блока результатов работы управляющей нейронной сети и генератора случайных чисел управляющей нейронной сети, причем первый выход блока анализа управляющей нейронной сети соединен с входом блока наработки истории управляющей нейронной сети, второй выход соединен со вторым входом блока правил управляющей нейронной сети, третий выход соединен с первым входом блока результатов работы управляющей нейронной сети, выход блока наработки истории управляющей нейронной сети соединен с первым входом блока правил управляющей нейронной сети, первый выход блока правил управляющей нейронной сети соединен с входом блока анализа управляющей нейронной сети, второй выход соединен со вторым входом блока результатов работы управляющей нейронной сети, первый выход блока результатов работы управляющей нейронной сети соединен с третьим входом блока правил управляющей нейронной сети, второй выход соединен с генератором случайных чисел управляющей нейронной сети, выход генератора случайных чисел управляющей нейронной сети соединен с блоком правил управляющей нейронной сети.
Задача повышения адаптационных свойств достигается за счет введения блока управления обучающей нейронной сети и блока управления управляющей нейронной сети. Причем первый блок в совокупности с обучающей нейронной сетью отвечает за стратегический уровень управления, а второй в совокупности с управляющей нейронной сетью отвечает за тактический уровень управления. Данные блоки могут менять правила самомодификации системы, что значительно повышает адаптируемость системы. При этом воздействие внешней среды, являющееся новым, неизвестным для системы управления, при котором снижается коэффициент эффективности работы системы, приводит к корректировке набора правил самомодификации управляющей нейронной сети. Отметим, что в систему заложена возможность изменения и правил самомодификации обучающей нейронной сети. За счет декомпозиции правил самомодификации интеллектуальный контроллер адаптируется к решаемой задаче, обучается на своих ошибках и вырабатывает новые реакции на неизвестные воздействия. Также в систему заложена возможность наработки истории работы системы с нуля в «режиме исследования».
Таким образом, совокупность существенных признаков, изложенных в формуле изобретения, позволяет достигнуть желаемый результат.
На фиг.1 изображена общая схема интеллектуального контроллера, на фиг.2 показана общая схема изобретения и сигналы между блоками, на фиг.3 показана общая схема прототипа (патент №2266558), на фиг.4 показана общая схема управляющей нейронной сети, на фиг.5 показана управляющая нейронная сеть в разрезе нейронов, на фиг.6 показана общая схема обучающей нейронной сети, на фиг.7 показана обучающая нейронная сеть в разрезе нейронов, на фиг.8 показан блок управления обучающей нейронной сети, на фиг.9 показан блок управления управляющей нейронной сети.
Система состоит из нескольких структурных компонент: объекта управления 1, блока формулы коэффициента эффективности 2, блока истории обучающей нейронной сети 3, блока управления обучающей нейронной сети 4, обучающей нейронной сети 5, блока управления управляющей нейронной сети 6, блока истории управляющей нейронной сети 7, управляющей нейронной сети 8.
Блок управления обучающей нейронной сети состоит из блока анализа коэффициента эффективности 9, блока правил обучающей нейронной сети 10, блока результатов работы обучающей нейронной сети 11, генератора случайных чисел управляющей нейронной сети 12.
Блок управления управляющей нейронной сети состоит из блока анализа управляющей нейронной сети 13, блока правил управляющей нейронной сети 14, блока результатов работы управляющей нейронной сети 15, блока наработки истории управляющей нейронной сети 16, генератора случайных чисел управляющей нейронной сети 17.
Также в системе присутствуют следующие связи - от объекта управления исходит сигнал состояния 18, который идет на блок функции коэффициента эффективности 18.1, блок истории управляющей нейронной сети 18.2 и управляющую нейронную сеть 18.3. Также объект управления вырабатывает сигнал действия 19, который идет на блок функции коэффициента эффективности 19.1, блок истории управляющей нейронной сети 19.2 и управляющую нейронную сеть 19.3. Сигнал от блока формулы коэффициента эффективности 20 идет на блок управления обучающей нейронной сети 20.1, на блок истории работы обучающей нейронной сети 20.2 и на обучающую нейронную сеть 20.3. От блока управления обучающей нейронной сети идут связи на третий, второй и первый входы обучающей нейронной сети по сигналам коэффициента эффективности на текущей итерации 21, коэффициента эффективности на предыдущих итерациях 22, адаптационных параметров на предыдущих итерациях 23. Первый и второй выходы блока истории обучающей нейронной сети по сигналам коэффициента эффективности на предыдущих итерациях 24 и адаптационных параметров на предыдущих итерациях 25 связаны со вторым и первым входами обучающей нейронной сети соответственно. Блок управления обучающей нейронной сети связан с блоком истории обучающей нейронной сети 26. От блока истории обучающей нейронной сети идет связь на блок управления обучающей нейронной сети 27. Выход обучающей нейронной сети связан со вторым входом блока управления обучающей нейронной сети 28. Пятый выход блока управления обучающей нейронной сети связан с выходом обучающей нейронной сети по сигналу 29. Выход обучающей нейронной сети также связан с третьим входом блока истории обучающей нейронной сети 30. Выход управляющей нейронной сети 31 связан с входом блока истории управляющей нейронной сети 31.1 и входом управляющей нейронной сети 31.2. Выход блока управления управляющей нейронной сети связан с входом блока истории управляющей нейронной сети 32. От блока истории управляющей нейронной сети идет связь на блок управления управляющей нейронной сети 33. Выход управляющей нейронной сети 34 соединен по сигналу 34.1 с блоком управления управляющей нейронной сети, а также по сигналу 34.2 с блоком истории управляющей нейронной сети. Выход блока истории управляющей нейронной сети 35 соединен по сигналу 35.1 с блоком управления управляющей нейронной сети, по сигналу 35.2 с выходом управляющей нейронной сети. Также выходы блока истории управляющей нейронной сети связаны с входами управляющей нейронной сети по сигналам: адаптационных параметров 36, состояния 37 и действия 38. Связь между управляющей нейронной сетью и объектом управления по сигналу управления 39.
Управляющая нейронная сеть состоит из входного слоя нейронов 40 (количество нейронов во входном слое равно N+H+K, где N - количество адаптационных параметров, Н - размерность вектора состояния, K - размерность вектора действия; соответственно входы на нейроны входного слоя от (7): 36.1-36.N, 37.1-37.Н, 38.1-38.K), скрытых слоев нейронов 41 (F скрытых слоев; на фиг.5 показано 2 скрытых слоя 41.1 и 41.F, с количеством нейронов в них, равным М и L), выходного слоя нейронов 42 (количество нейронов в выходном слое равно размерности вектора управления Р), связей между входным слоем и первым скрытым слоем нейронов 43, связей между последним скрытым слоем и выходным слоем нейронов 44 и связей между скрытыми слоями нейронов 45.
Обучающая нейронная сеть состоит из входного слоя нейронов 46, скрытого слоя нейронов 47, выходного слоя нейронов 48, связей между входным и скрытым слоем 49, связей между скрытым слоем и выходным 50. Количество нейронов во входном слое равно 1+D+С, где С - размерность вектора адаптационных параметров за предыдущие итерации, D - размерность вектора коэффициента эффективности за предыдущие итерации. Количество нейронов в скрытом слое равно Q. Количество нейронов в выходном слое обучающей нейронной сети равно N.
Выходы блока анализа коэффициента эффективности связаны с входами блока правил обучающей нейронной сети по сигналам 51 и 52. Выходы блока правил обучающей нейронной сети связаны с входом блока анализа коэффициента эффективности 53 и входом блока результатов работы обучающей нейронной сети 54. От блока результатов работы обучающей нейронной сети идет связь на генератор случайных чисел обучающей нейронной сети 55. Выход генератора случайных чисел обучающей нейронной сети связан с входом блока правил обучающей нейронной сети 56. От блока анализа коэффициента эффективности идет связь на блок результатов работы обучающей нейронной сети 57. Выход блока результатов работы обучающей нейронной сети связан с блоком правил обучающей нейронной сети 58.
Выходы блока анализа управляющей нейронной сети связаны с блоком наработки истории управляющей нейронной сети по сигналу 59, с блоком правил управляющей нейронной сети по сигналу 60 и с блоком результатов работы управляющей нейронной сети по сигналу 61. Выход блока наработки истории управляющей нейронной сети связан с блоком правил управляющей нейронной сети по сигналу 62. Выходы блока правил управляющей нейронной сети связаны со входами блока анализа управляющей нейронной сети и блоком результатов работы управляющей нейронной сети по сигналам 63 и 64 соответственно. Выходы блока результатов работы управляющей нейронной сети связаны с блоком правил управляющей нейронной сети и генератором случайных чисел управляющей нейронной сети по сигналам 65 и 66 соответственно. Выход генератора случайных чисел управляющей нейронной сети связан блоком правил управляющей нейронной сети по сигналу 67.
Блок формулы коэффициента эффективности (2) (на фиг.2 обозначен как БФКЭ) предназначен для расчета коэффициента эффективности системы.
Блок истории обучающей нейронной сети (3) (на фиг.2 обозначен как БИОН) предназначен для хранения истории работы обучающей нейронной сети и для выдачи входных и выходных сигналов обучающей нейронной сети в случае ее обучения или переобучения.
Блок управления обучающей нейронной сети (4) (на фиг.2 обозначен как БУОН) предназначен для анализа работы управляющей нейронной сети и генерации сигнала на переобучение управляющей нейронной сети.
Блок анализа коэффициента эффективности (9) (на фиг.8 обозначен как БАКЭ) предназначен для анализа коэффициента эффективности и выработки новых правил самообучения обучающей нейронной сети.
Блок правил обучающей нейронной сети (10) (на фиг.8 обозначен как БПОН) предназначен для хранения текущих правил самообучения обучающей нейронной сети и стартового комплекта правил (правил по умолчанию).
Блок результатов работы обучающей нейронной сети (11) (на фиг.8 обозначен как БРРОН) предназначен для оценки качества обучения обучающей нейронной сети.
Обучающая нейронная сеть (5) предназначена для выработки адаптационного параметра для управляющей нейронной сети (или нескольких адаптационных параметров). Обучающая нейронная сеть реализована на базе многослойного персептрона с использованием метода обратного распространения ошибки для обучения.
Блок управления управляющей нейронной сети (6) (на фиг.2 обозначен как БУУН) предназначен для управления обучением и переобучением управляющей нейронной сети. Данный блок в случае необходимости изменяет правила самомодификации управляющей нейронной сети.
Блок истории управляющей нейронной сети (7) (на фиг.2 обозначен как БИУН) предназначен для хранения истории работы управляющей нейронной сети и объекта управления, а также для выдачи сигналов на входы и выходы управляющей нейронной сети при ее обучении.
Блок анализа управляющей нейронной сети (13) (на фиг.9 обозначен как БАУН) предназначен для анализа работы управляющей нейронной сети и для изменения правил самомодификации управляющей нейронной сети.
Блок результатов работы управляющей нейронной сети (15) (на фиг.9 обозначен как БРРУН) предназначен для оценки качества обучения управляющей нейронной сети.
Блок правил управляющей нейронной сети (14) (на фиг.9 обозначен как БПУН) предназначен для хранения текущих правил самообучения и стартовых правил самообучения управляющей нейронной сети (комплекта правил по умолчанию).
Блок наработки истории управляющей нейронной (16) (на фиг.9 обозначен как БНИУН) сети предназначен для: а) первоначального заполнения таблицы истории (обучающей выборки) управляющей нейронной сети; б) дополнительного заполнения таблицы истории в случае новых ситуаций, в которые попадает объект управления. Блок используется в том случае, если объект управления и окружающая среда позволяют делать тестовые итерации управления, так называемый «режим исследования» окружающей среды.
Управляющая нейронная сеть (8) предназначена для формирования управляющего сигнала для объекта управления. Данная сеть реализована на базе многослойного персептрона. Для обучения управляющей нейронной сети используется метод обратного распространения ошибки.
Заявленное устройство работает следующим образом. Основной компонент системы - управляющая нейронная сеть (8), получает на вход сведения о текущем состоянии (18.2), действии (19.2) объекта управления (1), текущее значение адаптационного параметра (31.2) и выдает на выход сигнал управления (39). Объект управления (1) отрабатывает поданный сигнал и переходит в следующее состояние. БФКЭ (2) получает на вход сигналы состояния (18.1) и действия (19.1) объекта управления (1) и подсчитывает текущий коэффициент эффективности. Формула и реализация блока зависит от конкретной задачи и подбирается разработчиком. Рекомендуемый шаблон вычисления коэффициента эффективности:
где i - номер цикла управления, для которого вычисляется коэффициент эффективности;
КЭi - коэффициент эффективности;
Ai - безразмерный показатель полезной деятельности, произведенной системой;
Ei - безразмерный показатель затраченных ресурсов.
Далее коэффициент эффективности по сигналам (20.1, 20.2, 20.3) поступает соответственно на БУОН (4), БИОН (3) и обучающую нейронную сеть (5). БУОН (4) анализирует текущий коэффициент эффективности и, если необходимо, приостанавливает текущую работу обучающей нейронной сети (5) и начинает формировать новые правила самомодификации обучающей нейронной сети.
БИОН (3) на каждом такте управления получает значение коэффициента эффективности (20.2) и сохраняет его. После получения сигнала на выходе обучающей нейронной сети входные и выходные сигналы обучающей нейронной сети поступают также и в БИОН (3) по сигналу (30). При этом накапливаются вектора значений: {примененное правило на итерации t; коэффициент эффективности на итерации t; адаптационный параметр на итерации t}.
БУОН (4) на каждом такте работы системы получает сигнал текущего значения коэффициента эффективности (20.1), а также значения коэффициента эффективности и адаптационных параметров за несколько предыдущих итераций (27.1-27.W). Сигналы (20.1) и (27) необходимы для принятия решения, изменять правила самомодификации или нет. В случае если коэффициент эффективности снизился за k последних итераций более чем на Z%, то БУОН (4) генерирует внутренний сигнал (в блоке БАКЭ (9)) на изменение правил самомодификации обучающей нейронной сети. По шине сигналов (27) поступает таблица из БИОН (3), которая содержит номера правил, количество их применений в работе системы и сколько раз после конкретного примененного правила самомодификации коэффициент эффективности увеличился, снизился или остался неизменным. Из блока БПОН (10) по шине (53) в БАКЭ (9) передаются непосредственно правила. После изменения правил в блоке БАКЭ (9) происходит обновление правил в блоке БПОН (10) по шине (52) и генерируется сигнал (57) на блок БРРОН (11), который переобучает обучающую нейронную сеть. Реализация формулы, вычисляющей, необходимо ли изменение набора правил самомодификации, составляется разработчиком в зависимости от конкретной задачи, решаемой данным контроллером.
При этом стартовый комплект правил самомодификации обучающей нейронной сети выглядит, как показано в Таблице 1 (в случае одного адаптационного параметра и глубины истории по коэффициенту эффективности, равному единице).
В Таблице 1 для первых трех колонок «-1» означает, что соответствующий параметр уменьшился, «0» - не изменился, «1» - параметр увеличился. Для четвертой колонки следует эти же значения считать как «уменьшить», «не изменять» и «увеличить» адаптационный параметр.
Модификация происходит по одному из двух вариантов:
Вариант «А». У правил, которые более чем в Т% случаев приводили к снижению коэффициентов эффективности, меняется правая часть по следующему правилу: если в формуле было -1, то стало 0, если было 0, то стало +1, если было +1, то стало -1.
Вариант «Б». Данный вариант применяется в случае, если измененные вариантом «А» правила все равно более чем в Q% случаев приводили к снижению коэффициента эффективности. У данного варианта следующие 2 правила:
1) Удаляются правила, которые и после их модификацией вариантом «А», более чем в 50% случаев приводили к снижению коэффициента эффективности.
2) Если правил становится меньше, чем И% от первоначального набора, то БАКЭ генерирует сигнал на сброс текущих правил и возвращение первоначального набора.
Параметры W, U, Q, Т, Z, k задаются разработчиком.
Обучение/переобучение обучающей нейронной сети (5) происходит стандартным образом. Рекомендуется использовать метод обратного распространения ошибки. Общий принцип обучения реализован следующим образом. При поступлении сигнала на переобучение (57) БРРОН (11) генерирует запрос в БПОН (10) по сигналу (58) и получает количество работающих в данный момент правил (передается по 54), затем передается сигнал (55) на генератор случайных чисел обучающей нейронной сети (12). Генератор случайных чисел обучающей нейронной сети (12) генерирует случайное число и передает его на БПОН (10) по сигналу (56). БПОН (10), получая число, означающее номер примера, передает на обучающую нейронную сеть (5) по сигналам (21), (22), (23) коэффициенты эффективности и адаптационные параметры, а на выход передает планируемое значение адаптационного параметра (29). Также планируемое значение выходного сигнала (54) передается на БРРОН (11) для сравнения с получившимся выходным сигналом обучающей нейронной сети (28). В случае если ошибка на выходе обучающей нейронной сети меньше заданной, БРРОН (11) прекращает выработку сигнала (55). Ошибку на выходе для обучающей нейронной сети необходимо считать по всей обучающей выборке.
Обучающая нейронная сеть (5) на каждой итерации управления получает текущее значение коэффициента эффективности (20.3), а также от БИОН (3) значения коэффициента эффективности за i последних итераций (24) и значения адаптационных параметров (25) за m последних итераций. Обучающая нейронная сеть (5) на основании входных данных вырабатывает сигнал, на выходе (31) означающий изменение адаптационных параметров управляющей нейронной сети (8).
Обучение управляющей нейронной сети (8) происходит следующим образом. БАУН (13) на каждой итерации получает данные о состоянии и действии объекта управления, а также эти значения за несколько последних итераций по шине (33). Кроме того, происходит анализ отклика управляющей нейронной сети по каналу (34.1.1). В случае если управляющая нейронная сеть давала неудовлетворительные результаты работы, то БАУН (13) по каналу (63) получает правила самомодификации управляющей нейронной сети (8) и по каналу (33) историю работы управляющей нейронной сети. После анализа полученных данных БАУН (13) изменяет правила самомодификации управляющей нейронной сети и передает новый набор в БПУН (14) по каналу (60). Далее генерируется сигнал (61) на БРРУН (15), который инициирует непосредственно обучение управляющей нейронной сети. БРРУН (15) по каналу (65) посылает запрос на количество текущих правил самообучения на БПУН (14) и получает их по каналу (64). Далее БРРУН (15) посылает сигнал (66) на генератор случайных чисел управляющей нейронной сети (17), который, в свою очередь, посылает сформированное случайное число, означающее номер обучающего примера, на БПУН (14) по сигналу (67). Далее по шине (32.2) в БИУН (7) передается номер правила, по которому обучается управляющая нейронная сеть (8). Генератор случайных чисел может использоваться тот же, что и в БУОН (12).
При обучении управляющей нейронной сети (8) задействованы входы, идущие с БИУН (7): адаптационный параметр (36), состояние объекта (37) и действие (38). Желаемое выходное значение подается по каналу (35.2), которое также идет и на БРРУН (15) по каналу (35.1). При этом БРРУН (15) сравнивает желаемое значение (35.1) и реальный выход (34.1.2) и принимает решение о дальнейшем обучении управляющей нейронной сети.
Суть формул самообучения управляющей нейронной сети - в зависимости от значения коэффициента эффективности, параметров адаптации, состояния и действий объекта управления, или динамики их изменения, подготовить обучающую выборку для управляющей нейронной сети и дообучить управляющую нейронную сеть (8).
Если необходимо пополнить историю системы или начать работу «с нуля», то задействуется БНИУН (16). При этом сигнал (59) на начало работы БНИУН (16) формирует БАУН (13). БНИУН (16) по шине (32.1) включает обучение управляющей нейронной сети (аналогично вышеописанному). По каналу (62) происходит модификация правил самообучения управляющей нейронной сети.
Вычисление сигналов управляющей и обучающей нейронными сетями происходит стандартным образом.
Таким образом, взаимодействие компонент на каждом цикле управления происходит следующим образом:
1. Объект управления выдает сигналы состояния и действия для управляющей нейронной сети, блока функции коэффициента эффективности и блока истории работы системы.
2. Блок функции коэффициента эффективности вычисляет коэффициент эффективности на текущем цикле и динамику изменения подкрепления по сравнению с прошлыми циклами.
3. Блок управления обучающей нейронной сети принимает решение - нужна или нет модификация правил самообучения обучающей нейронной сети. Если модификация необходима, то блок управления обучающей нейронной сети модифицирует правила и переобучает обучающую нейронную сеть.
4. Обучающая нейронная сеть принимает на вход текущий коэффициент эффективности, коэффициент эффективности за несколько предыдущих итераций, а также значение адаптационного параметра (или нескольких) за несколько предыдущих итераций и на выходе формирует текущее значение адаптационного параметра (или нескольких).
5. Параметры работы объекта управления и адаптационный параметр поступают в блок управления управляющей нейронной сетью (через блок истории управляющей нейронной сети), который принимает решение - оставить ли текущий набор правил самомодификации для управляющей нейронной сети. Если принимается решение изменить правила самомодификации, то блок управления управляющей нейронной сети изменяет их и переобучает управляющую нейронную сеть.
6. Все необходимые параметры заносятся в блок истории обучающей нейронной сети и блок истории управляющей нейронной сети.
Контроллер может обучаться как в режиме обучения с обучающей нейронной сетью, так и в режиме обучения без нее. Для обучения без обучающей нейронной сети необходимо разомкнуть связи, использующие адаптационные параметры (31).
Контроллер может работать без начальной обучающей выборки управляющей нейронной сети - выборку в таком случае может сформировать блок наработки истории управляющей нейронной сети, либо выборка формируется в процессе работы системы. При этом должны быть заданы правила самомодификации управляющей нейронной сети, формула коэффициента эффективности и выделены параметры адаптации.
Изобретение относится к интеллектуальным контроллерам, использующим принцип обучения с подкреплением, и может использоваться для управления сложными системами в недетерминированной среде. Техническим результатом является повышение адаптационных свойств системы управления. Интеллектуальный контроллер с правилами самомодификации обучающей и управляющей нейронных сетей содержит управляющую нейронную сеть, обучающую нейронную сеть, объект управления, а также в него дополнительно введены блок формулы коэффициента эффективности, блок истории обучающей нейронной сети, блок управления обучающей нейронной сети, блок управления управляющей нейронной сети, блок истории управляющей нейронной сети. Во втором варианте блок управления обучающей нейронной сети дополнительно состоит из блока анализа коэффициента эффективности, блока правил обучающей нейронной сети, блока результатов работы обучающей нейронной сети и генератора случайных чисел обучающей нейронной сети. В третьем варианте блок управления управляющей нейронной сети дополнительно состоит из блока анализа управляющей нейронной сети, блока наработки истории управляющей нейронной сети, блока правил управляющей нейронной сети, блока результатов работы управляющей нейронной сети и генератора случайных чисел управляющей нейронной сети. 2 з.п. ф-лы, 9 ил., 1 табл.
1. Интеллектуальный контроллер с правилами самомодификации обучающей и управляющей нейронных сетей, содержащий управляющую нейронную сеть, обучающую нейронную сеть, объект управления, первый и второй выходы которого соединены с вторым и третьим входами управляющей нейронной сети соответственно, выход управляющей нейронной сети соединен с входом объекта управления, отличающийся тем, что в него введены блок формулы коэффициента эффективности, блок истории обучающей нейронной сети, блок управления обучающей нейронной сети, блок управления управляющей нейронной сети, блок истории управляющей нейронной сети, причем выход обучающей нейронной сети соединен с первым входом управляющей нейронной сети, первый и второй выходы объекта управления соединены с первым и вторым входами блока функции коэффициента эффективности, а также вторым и третьим входами блока истории управляющей нейронной сети, выход блока формулы коэффициента эффективности соединен с первым входом блока истории обучающей нейронной сети, первым входом блока управления обучающей нейронной сети и третьим входом обучающей нейронной сети, первый и второй выходы блока истории обучающей нейронной сети соединены соответственно с первым и вторым входами обучающей нейронной сети, третий выход блока истории обучающей нейронной сети соединен с вторым входом блока управления обучающей нейронной сети, первый, второй и третий выходы блока управления обучающей нейронной сети соединены соответственно третьим, вторым и первым входами обучающей нейронной сети, четвертый выход блока управления обучающей нейронной сети соединен с выходом обучающей нейронной сети, пятый выход блока управления обучающей нейронной сети соединен со вторым входом блока истории обучающей нейронной сети, выход обучающей нейронной сети соединен с третьим входом блока управления обучающей нейронной сети, третьим входом блока истории обучающей нейронной сети, первым входом блока истории управляющей нейронной сети, первый выход блока истории управляющей нейронной сети связан с третьим входом блока управления управляющей нейронной сети, второй выход блока истории управляющей нейронной сети связан со вторым входом блока управления управляющей нейронной сети и выходом управляющей нейронной сети, третий, четвертый и пятый выходы блока истории управляющей нейронной сети связаны соответственно с первым, вторым и третьим входами управляющей нейронной сети, выход управляющей нейронной сети связан с первым входом блока управления управляющей нейронной сети и пятым входом блока истории управляющей нейронной сети, выход блока управления управляющей нейронной сети связан с четвертым входом блока истории управляющей нейронной сети.
2. Интеллектуальный контроллер с правилами самомодификации обучающей и управляющей нейронных сетей по п.1, отличающийся тем, что блок управления обучающей нейронной сети состоит из блока анализа коэффициента эффективности, блока правил обучающей нейронной сети, блока результатов работы обучающей нейронной сети и генератора случайных чисел обучающей нейронной сети, причем первый и второй выходы блока анализа коэффициента эффективности соединены с первым и вторым входами блока правил обучающей нейронной сети, третий выход блока анализа коэффициента эффективности соединен с первым входом блока результатов работы обучающей нейронной сети, первый выход блока правил обучающей нейронной сети соединен с первым входом блока анализа коэффициента эффективности, второй выход блока правил обучающей нейронной сети соединен со вторым входом блока результатов работы обучающей нейронной сети, первый выход блока результатов работы обучающей нейронной сети соединен с третьим входом блока правил обучающей нейронной сети, а второй выход с входом генератора случайных чисел обучающей нейронной сети, выход генератора случайных чисел обучающей нейронной сети соединен с четвертым входом блока правил обучающей нейронной сети.
3. Интеллектуальный контроллер с правилами самомодификации обучающей и управляющей нейронных сетей по п.1, отличающийся тем, что блок управления управляющей нейронной сети состоит из блока анализа управляющей нейронной сети, блока наработки истории управляющей нейронной сети, блока правил управляющей нейронной сети, блока результатов работы управляющей нейронной сети и генератора случайных чисел управляющей нейронной сети, причем первый выход блока анализа управляющей нейронной сети соединен с входом блока наработки истории управляющей нейронной сети, второй выход соединен со вторым входом блока правил управляющей нейронной сети, третий выход соединен с первым входом блока результатов работы управляющей нейронной сети, выход блока наработки истории управляющей нейронной сети соединен с первым входом блока правил управляющей нейронной сети, первый выход блока правил управляющей нейронной сети соединен с входом блока анализа управляющей нейронной сети, второй выход соединен со вторым входом блока результатов работы управляющей нейронной сети, первый выход блока результатов работы управляющей нейронной сети соединен с третьим входом блока правил управляющей нейронной сети, второй выход соединен с генератором случайных чисел управляющей нейронной сети, выход генератора случайных чисел управляющей нейронной сети соединен с четвертым входом блока правил управляющей нейронной сети.
ИНТЕЛЛЕКТУАЛЬНЫЙ КОНТРОЛЛЕР С НЕЙРОННОЙ СЕТЬЮ И ПРАВИЛАМИ САМОМОДИФИКАЦИИ | 2003 |
|
RU2266558C2 |
УСТРОЙСТВО И СПОСОБ ДЛЯ КОНТРОЛЯ УПРАВЛЯЮЩЕЙ ПРОГРАММЫ ВЫЧИСЛИТЕЛЯ | 2005 |
|
RU2300795C2 |
US 4563746, 07.01.1986. |
Авторы
Даты
2012-04-10—Публикация
2011-01-11—Подача