Модифицированный интеллектуальный контроллер с нечеткими правилами
Иллюстрации
Показать всеИзобретение относится к интеллектуальным контроллерам, использующим принцип обучения с подкреплением и нечеткую логику, и может быть использовано для создания систем управления объектами, работающими в недетерминированной среде. Техническим результатом является повышение адаптационных свойств системы управления. Устройство содержит объект управления, блок коэффициента эффективности, блок правил самообучения управляющей нейросети, блок истории работы системы, управляющую нейросеть, блок фаззификации, блок нечеткого вывода, блок дефаззификации. 5 ил., 1 табл.
Реферат
Изобретение относится к интеллектуальным контроллерам, использующим принцип обучения с подкреплением, нечеткую логику, и может использоваться для управления сложными системами в недетерминированной среде.
Известен интеллектуальный контроллер на основе сетей адаптивных критиков, например патент США 5448681, МПК G06F 15/18. Данное устройство состоит из объекта управления, сети критика и управляющей нейронной сети. Выход объекта управления связан с первым входом сети критики и первым входом управляющей нейронной сети, выход управляющей нейронной сети связан с входом объекта управления и вторым входом сети критики, выход сети критики связан со вторым входом управляющей нейронной сети.
Принцип работы устройства по патенту США 5448681, МПК G06F 15/18 следующий: объект управления выдает сигнал о своем состоянии, сеть критики вычисляет подкрепление для текущей временной итерации и состояния объекта, управляющая нейронная сеть вычисляет управляющее воздействие с учетом подкрепления.
Общий недостаток устройств на основе сетей адаптивных критиков состоит в том, что этот алгоритм не является обобщенным и достаточным для построения универсальной адаптивной системы управления объектом, действующим в недетерминированной среде, чтобы убедиться в этом, достаточно взглянуть на количество методов реализации и структур (DHP, HDP, ВАС, GDHP, FACL, GlFACL и другие). К недостаткам можно отнести, так как система должна управляться в режиме реального времени, большее количество вычислений. Также к недостаткам можно отнести то, что система управления, построенная на базе адаптивного критика, не может радикально менять свое поведение и вырабатывать новые реакции при абсолютно новых, неизвестных данных о состоянии окружающей среды и объекта управления (D.Prokhorov, D.Wanch. Adaptive critic designs. IEEE transactions on Neural Networks, September 1997, pp.997-1007).
Наиболее близким техническим решением является «интеллектуальный контроллер с нейронной сетью и правилами самомодификации» по патенту РФ №2266558, МПК G06F 9/00. Контроллер по данному патенту состоит из объекта управления, обучающей нейронной сети, управляющей нейронной сети, блока коэффициента эффективности, блока правил самообучения управляющей нейронной сети, блока истории работы системы. Выходы состояния и действия объекта управления связаны с первым и вторым входами управляющей нейронной сети, выход управляющей нейронной сети связан с входом объекта управления. Выходы действия и состояния объекта управления также связаны с первым и вторым входами блока коэффициента эффективности. Блок коэффициента эффективности связан с первым входом обучающей нейронной сети, второй вход обучающей нейронной сети связан с первым выходом блока истории работы системы, который также связан со вторым входом блока правил самообучения управляющей нейронной сети. Блок истории работы системы по первому и второму входам соединен с объектом управления, а по третьему входу с блоком правил самообучения управляющей нейронной сети. Второй выход блока истории работы системы связан с выходом управляющей нейронной сети, третий и четвертый выходы связаны с первым и вторым входами управляющей нейронной сети. Выход обучающей нейронной сети связан с первым входом блока правил самообучения управляющей нейронной сети. На более детальных схемах также присутствуют блоки: блок функции коэффициента эффективности, стек коэффициента эффективности, стек параметра адаптации и стек работы объекта управления, а также связи между ними и вышеописанными блоками. В качестве управляющей и обучающей нейронных сетей используется многослойный персептрон. В качестве метода обучения обучающей и управляющей нейронных сетей авторами рекомендуется метод обратного распространения ошибки.
Принцип работы устройства по патенту РФ №2266558, МПК G06F 9/00 следующий: объект управления выдает сигналы состояния и действия для управляющей нейронной сети, блока коэффициента эффективности и блока истории работы системы. Блок коэффициента эффективности вычисляет коэффициент эффективности на текущем цикле управления и динамику изменения коэффициента эффективности по сравнению с предыдущими циклами. Управляющая нейронная сеть, если коэффициент эффективности больше и равен заданного коэффициента эффективности, вычисляет управляющее воздействие согласно текущим правилам управления. Обучающая нейронная сеть получает данные об изменении коэффициента эффективности и применяет правила обучения обучающей нейронной сети в случае, если коэффициент эффективности меньше заданного. На выходе получаются новые значения параметров адаптации. Блок правил самообучения управляющей нейронной сети на основании изменения параметров адаптации, если коэффициент эффективности меньше заданного, изменяет правила самообучения управляющей нейронной сети. Управляющая нейронная сеть, если коэффициент эффективности меньше заданного, дообучается по измененным правилам. После дообучения управляющая нейронная сеть вырабатывает сигнал управления. Необходимые параметры работы заносятся в стеки.
Недостатками данного контроллера являются недостаточные адаптационные свойства, невозможность изменения правил самообучения обучающей нейронной сети, ограниченное изменение правил самообучения управляющей нейронной сети.
Задача - разработка модифицированного интеллектуального контроллера с нечеткими правилами.
Техническим результатом предлагаемого устройства является повышение адаптационных свойств системы управления на базе интеллектуального контроллера.
Технический результат достигается тем, что в интеллектуальном контроллере с нечеткими правилами, содержащем объект управления, блок коэффициента эффективности, блок правил самообучения управляющей нейросети, блок истории работы системы, управляющую нейросеть, выход которой связан с входом объекта управления, первый и второй выходы объекта управления связаны соответственно с первым и вторым входами блока коэффициента эффективности, первым и вторым входами блока истории работы системы, первым и вторым входами управляющей нейросети, первый выход блока истории работы системы связан со вторым входом блока правил самообучения управляющей нейросети, третий и четвертый выходы связаны со вторым и первым входами управляющей нейросети, выход блока правил самообучения управляющей нейросети связан с четвертым входом блока истории работы системы, введены блок фаззификации, блок нечеткого вывода, блок дефаззификации, причем выход блока коэффициента эффективности связан с первым входом блока фаззификации, первый выход блока истории работы системы также связан со вторым входом блока фаззификации, выход блока фаззификации связан с входом блока нечеткого вывода, выход блока нечеткого вывода связан с входом блока дефаззификации, выход блока дефаззификации связан с первым входом блока правил самообучения управляющей нейросети и третьим входом блока истории работы системы, второй выход блока истории работы системы связан с третьим входом блока правил самообучения управляющей нейросети, пятый выход блока истории работы системы связан с третьим входом управляющей нейросети, а выход управляющей нейросети также связан с пятым входом блока истории работы системы.
Задача повышения адаптационных свойств достигается за счет введения блоков фаззификации, блока нечеткого вывода и блока дефаззификации, которые реализуют нечеткий вывод адаптационного параметра. За счет данных блоков повышаются адаптационные свойства интеллектуального контроллера.
Таким образом, совокупность существенных признаков, изложенных в формуле изобретения, позволяет достигнуть желаемый результат.
На фиг.1 изображена общая схема интеллектуального контроллера с нечеткими правилами, на фиг.2 показана схема блока коэффициента эффективности, на фиг.3 показана схема взаимодействия блока правил самообучения управляющей нейросети и блока истории работы системы, на фиг.4 показана схема нечеткого вывода коэффициента степени уверенности, на фиг.5 показана управляющая нейронная сеть в разрезе нейронов.
Система состоит из нескольких структурных компонент: объекта управления 1, блока коэффициента эффективности 2, блока фаззификации 3, блока нечеткого вывода 4, блока дефаззификации 5, блока правил самообучения управляющей нейросети 6, блока истории работы системы 7, управляющей нейросети 8.
Блок коэффициента эффективности состоит из блока формулы коэффициента эффективности 9 и стека коэффициента эффективности 10.
Блок истории работы системы состоит из стека параметров адаптации 11 и стека работы объекта управления 12.
Также в системе присутствуют следующие связи: от объекта управления идут сигналы состояния 13 и действия 14, соответственно на блок формулы коэффициента эффективности 13.1 и 14.1, на стек работы объекта управления 13.2 и 14.2 и на управляющую нейросеть 13.3 и 14.3.
От блока формулы коэффициента эффективности идет сигнал 15 соответственно 15.1 на блок фаззификации и 15.2 на стек коэффициента эффективности, от блока фаззификации идет сигнал 16 на блок нечеткого вывода, от блока нечеткого вывода идет сигнал 17 на блок дефаззификации. От блока фаззификации идет сигнал 18, соответственно на стек параметров адаптации 18.1 и блок правил самообучения управляющей нейросети 18.2. От стека параметров адаптации идет сигнал 19 соответственно на блок правил самообучения управляющей нейросети 19.1 и блок фаззификации 19.2. От стека работы управляющей нейросети идут сигналы 20.1 и 20.2 на блок правил самообучения управляющей нейросети, а от стека работы управляющей нейросети идет сигнал 21 соответственно - 21.1 на стек параметров адаптации и 21.2 на стек работы объекта управления. От выхода управляющей нейросети идет сигнал 22 на стек работы объекта управления. От блока истории работы системы идут сигналы - 23 на управляющую нейросеть, 24 и 25 на входы управляющей нейросети. От управляющей нейросети идет сигнал управления 26 на объект управления.
Блок фаззификации состоит из узлов входных термов 27, количество которых равно количеству учитываемых итераций по коэффициенту эффективности и адаптационным параметрам. Блок нечеткого вывода состоит из Т-узлов 28, N-узлов 29 и узлов нормализации силы правил 30. Т-узлы связаны с N-узлами сигналами 31, а с узлами нормализации силы правил сигналами 32. N-узлы связаны с узлами нормализации силы правил сигналами 33.
Управляющая нейросеть состоит из слоя входных нейронов 34, скрытых слоев нейронов 35, выходного слоя нейронов 36. Входной слой нейронов соединен с первым скрытым слоем связями 37.1, скрытые слои соединены между собой связями 37.2…37.F+1, а последний скрытый слой соединен с выходным слоем нейронов связями 37.F+2.
Количество нейронов во входном слое 34 управляющей нейронной сети 8 равно R+N, где R - размерность вектора состояния, а N - размерность вектора действия объекта управления. Нейроны на фиг.5 помечены как 34.1-34.R - входы по вектору состояния, 34.R+1-34.R+N - входы по вектору действия. У управляющей нейросети может быть F скрытых слоев, количество которых задается разработчиком (рекомендованное значение F=2), соответственно скрытые слои обозначены как 35.1-35.F, а количество нейронов в скрытых слоях обозначено 35.1.1-35.1.K в первом скрытом слое и 35.F.1-35.F.L - в последнем скрытом слое. Количество нейронов в выходном слое 36 равно размерности вектора управления объекта управления и они обозначены 36.1-36.М. Числа R, N, F, K, L, M, Z подбираются из условия решаемой задачи интеллектуальным контроллером.
Блок формулы коэффициента эффективности 9 предназначен для расчета коэффициента эффективности системы. Коэффициент эффективности - это безразмерная величина, которая показывает насколько хорошо или плохо работает система в целом или по определенному параметру. Формула вычисления коэффициента эффективности задается разработчиком.
Стек коэффициента эффективности 10 предназначен для хранения значений коэффициента эффективности на предыдущих итерациях управления.
Блок фаззификации 3 предназначен для вычисления степеней функций принадлежности.
Блок нечеткого вывода 4 предназначен для вычисления сил правил нечеткого вывода.
Блок дефаззификации 5 предназначен для расчета четкого значения коэффициента степени уверенности.
Блок правил самообучения управляющей нейросети 6 предназначен для хранения и корректировки наборов правил для обучения управляющей нейросети 8 для различных вариантов поведения объекта управления. Суть формул самообучения управляющей нейронной сети - в зависимости от значения коэффициента эффективности, параметров адаптации, состояния и действий объекта управления или динамики их изменения, подготовить обучающую выборку для управляющей нейронной сети и дообучить управляющую нейросеть.
Блок истории работы системы 7 предназначен для хранения информации о работе объекта управления, управляющей нейронной сети и параметров адаптации. Блок истории работы системы разбит на две составляющие - стек параметров адаптации и стек работы объекта управления.
Управляющая нейронная сеть 8 предназначена для формирования управляющего сигнала для объекта управления. Данная сеть реализована на базе многослойного персептрона. Для обучения управляющей нейронной сети используется метод обратного распространения ошибки.
Стек параметров адаптации 11 предназначен для хранения параметров адаптации на предыдущих итерациях управления. Параметры адаптации - это такие параметры системы, меняя которые можно добиться изменения поведения работы системы.
Стек работы объекта управления 12 предназначен для хранения истории работы объекта управления 1 (по сигналам 13.2 и 14.2).
Заявленное устройство работает следующим образом. Объект управления 1 формирует сигналы состояния 13 и действия 14. По данным сигналам блок формулы коэффициента эффективности 9 рассчитывает по заданной формуле получившееся значение коэффициента эффективности на текущей итерации управления. Получившееся значение коэффициента эффективности по сигналу 15.1 идет на блок фаззификации 3 и заносится в стек коэффициента эффективности по сигналу 15.2. Блок фаззификации 3 получает значение текущего коэффициента эффективности, а также синхронно от стека коэффициента эффективности 10 предыдущие значения коэффициента эффективности по сигналу 15.3 и значения адаптационных параметров на предыдущих итерациях по сигналу 19.2 от стека параметров адаптации 11. Глубина погружения по коэффициенту эффективности и параметрам адаптации, то есть за сколько предыдущих итераций управления учитывать данные сигналы, задаются разработчиком. Глубина погружения по коэффициенту эффективности и параметрам адаптации могут быть не равна друг другу. Принцип работы связки фаззификатор - блок нечеткого вывода - дефаззификатор следующий (см. также Ярушкина Н.Г. «Основы теории нечетких и гибридных систем». М.: Финансы и статистика, 2004 г.). На узлы входных термов 27 подаются четкие значения коэффициента эффективности за последнюю и предыдущие итерации управления и АП за предыдущие итерации управления. На выходе узлов 27 степени, с которыми заданные входы удовлетворяют функциям принадлежности, ассоциированным с этими узлами. Каждый Т-узел 28 вычисляет силу правила.
Выход верхнего Т-узла 31.1 равен:
α1=КЭ(t)_снизился ∧ КЭ(t-1)_снизился ∧ АП (t-1)_снизился
Выход нижнего Т-узла равен:
αz=КЭ(t)-_увеличился ∧ КЭ(t-1)_увеличился ∧ АП(t-1)_увеличился
Для остальных аналогично (см. Таблицу 1 ниже). N-узлы 29 нормализуют силу правил с выходов Т-узлов 28. Выход каждого N-узла равен Выходы узлов нормализации силы правил 30 равны произведению нормализованной силы правил и индивидуального выхода соответствующего правила. Например, для первого узла нормализации силы правил выход равен b1/АП(t)_увеличился (α1), а для последнего b2/АП(t)_увеличился (αz). Блок дефаззификации 5 вычисляет общее значение параметра адаптации 18 по формуле:
y0=b1·Y1+…+bZ·YZ
Далее сигналы параметра адаптации 18 идут в стек параметров адаптации по сигналу 18.1 и блок правил самообучения управляющей нейросети 6 по сигналу 18.2. В случае, если значение сигнала 18 лежит в пределах «не изменять», процесс переобучения управляющей нейросети 8 не запускается, в случаях «увеличился» и «уменьшился» запускается процесс переобучения управляющей нейросети 8. Переобучение управляющей нейросети 8 происходит следующим образом. Блок правил самообучения управляющей нейросети 6 по сигналу 21.2 инициирует работу стека работы объекта управления 12 для переобучения управляющей нейросети 8. При этом стек работы управляющей нейросети 12 активизирует выходы 24 и 25, которые идут на входы управляющей нейросети 8. При активации 24 и 25 происходит размыкание входов 13.3 и 14.3 и выхода 26 управляющей нейросети от объекта управления 1. По сигналам 24 и 25 на управляющую нейросеть 8 начинают поступать входные комбинации примеров, а по сигналу 22 в стек работы объекта управления 12 начинает поступать выход управляющей нейросети 8, который сравнивается с тем, что должно было получиться при подаче определенной комбинации входов 24 и 25. Процесс обучения происходит по алгоритму обратного распространения ошибки для многослойного персептрона (см. Rumelhart D.E., Hinton G.E., Williams R.J., "Learning representations by back-propagating errors," Nature, vol.323, pp.533-536, 1986). Изменения весов 37 управляющей нейросети 8 идет по сигналам 23. После того как ошибка управляющей нейросети стала меньше или равна заданной, процесс переобучения останавливается, выходы 24 и 25 стека работы объекта управления деактивируются и устройство начинает работать в режиме отработки сигналов объекта управления 1 и подачи сигналов управления 26 на него.
Вычисление сигналов управляющей нейросетью происходит стандартным образом.
Эффект от применения данного контроллера заключается в том, что предлагаемое устройство за счет использования блоков нечеткой логики - блока фаззификации, блока нечеткого вывода и блока дефаззификации адаптивно подстраивается под изменения состояния внешней среды и объекта управления. При этом при выработке значения адаптационного параметра используется нечеткая логика, позволяющая не жестко, а мягко подстраивать адаптационный параметр и соответственно правила самообучения управляющей нейросети.
Таблица | |||
Входы и выходы обучающей нейронной сети | |||
Вход 15.1 КЭ(t) | Вход 19.2 АП(t-1) | Вход 15.3 КЭ(t-1) | Выход 18 АП(t) |
-1 | -1 | -1 | 1 |
-1 | -1 | 0 | 1 |
-1 | -1 | 1 | -1 |
-1 | 0 | -1 | 1 |
-1 | 0 | 0 | 1 |
-1 | 0 | 1 | -1 |
-1 | 1 | -1 | 1 |
-1 | 1 | 0 | 1 |
-1 | 1 | 1 | -1 |
-1 | -1 | -1 | 1 |
0 | -1 | 0 | 0 |
0 | -1 | 1 | -1 |
0 | 0 | -1 | 1 |
0 | 0 | 0 | 1 |
0 | 0 | 1 | -1 |
0 | 1 | -1 | 0 |
0 | 1 | 0 | 0 |
0 | 1 | 1 | 0 |
1 | 1 | -1 | -1 |
1 | 1 | 0 | 0 |
1 | 1 | 1 | 1 |
1 | 0 | -1 | -1 |
1 | 0 | 0 | 0 |
1 | 0 | 1 | 1 |
1 | 1 | -1 | -1 |
1 | 1 | 0 | 0 |
1 | 1 | 1 | 1 |
Модифицированный интеллектуальный контроллер с нечеткими правилами, содержащий объект управления, блок коэффициента эффективности, блок правил самообучения управляющей нейросети, блок истории работы системы, управляющую нейросеть, выход которой связан с входом объекта управления, первый и второй выходы объекта управления связаны соответственно с первым и вторым входами блока коэффициента эффективности, первым и вторым входами блока истории работы системы, первым и вторым входами управляющей нейросети, первый выход блока истории работы системы связан со вторым входом блока правил самообучения управляющей нейросети, третий и четвертый выходы связаны со вторым и первым входами управляющей нейросети, выход блока правил самообучения управляющей нейросети связан с четвертым входом блока истории работы системы, отличающийся тем, что в него введены блок фаззификации, блок нечеткого вывода, блок дефаззификации, причем выход блока коэффициента эффективности связан с первым входом блока фаззификации, первый выход блока истории работы системы также связан со вторым входом блока фаззификации, выход блока фаззификации связан с входом блока нечеткого вывода, выход блока нечеткого вывода связан с входом блока дефаззификации, выход блока дефаззификации связан с первым входом блока правил самообучения управляющей нейросети и третьим входом блока истории работы системы, второй выход блока истории работы системы связан с третьим входом блока правил самообучения управляющей нейросети, пятый выход блока истории работы системы связан с третьим входом управляющей нейросети, а выход управляющей нейросети также связан с пятым входом блока истории работы системы.