Модифицированный интеллектуальный контроллер с нечеткими правилами и блоком обучения нейросети
MODIFIED INTELLIGENT CONTROLLER WITH FUZZY RULES AND NEURAL NETWORK TRAINING UNIT

Изобретение относится к интеллектуальным контроллерам, использующим принцип обучения с подкреплением, нечеткую логику и может использоваться для управления сложными системами в недетерминированной среде.
Известен «интеллектуальный контроллер с нейронной сетью и правилами самомодификации» по патенту РФ МПК G06F 9/00 №2266558. Контроллер по данному патенту состоит из объекта управления, обучающей нейронной сети, управляющей нейронной сети, блока коэффициента эффективности, блока правил самообучения управляющей нейронной сети, блока истории работы системы. Выходы состояния и действия объекта управления связаны с первым и вторым входами управляющей нейронной сети, выход управляющей нейронной сети связан с входом объекта управления. Выходы действия и состояния объекта управления также связаны с первым и вторым входом блока коэффициента эффективности. Блок коэффициента эффективности связан с первым входом обучающей нейронной сети, второй вход обучающей нейронной сети связан с первым выходом блока истории работы системы, который также связан со вторым входом блока правил самообучения управляющей нейронной сети. Блок истории работы системы по первому и второму входам соединен с объектом управления, а по третьему входу с блоком правил самообучения управляющей нейронной сети. Второй выход блока истории работы системы связан с выходом управляющей нейронной сети, третий и четвертый выходы связаны с первым и вторым входами управляющей нейронной сети. Выход обучающей нейронной сети связан с первым входом блока правил самообучения управляющей нейронной сети. На более детальных схемах также присутствуют блоки: блок функции коэффициента эффективности, стек коэффициента эффективности, стек параметра адаптации и стек работы объекта управления, а также связи между ними и вышеописанными блоками. В качестве управляющей и обучающей нейронных сетей используется многослойный персептрон. В качестве метода обучения обучающей и управляющей нейронных сетей авторами рекомендуется метод обратного распространения ошибки.
Недостатками устройства по патенту РФ МПК G06F 9/00 №2266558 являются: недостаточные адаптационные свойства, невозможность изменения правил самообучения обучающей нейронной сети, ограниченное изменение правил самообучения управляющей нейронной сети.
Наиболее близким техническим решением является патент на изобретение РФ G06F 15/18 №2458390 «Модифицированный интеллектуальный контроллер с нечеткими правилами». Контроллер по данному патенту состоит из объекта управления, блока коэффициента эффективности, блока фаззификации, блока нечеткого вывода, блока дефаззификации, блока правил самообучения управляющей нейросети, блока истории работы системы, управляющей нейросети. При этом блок коэффициента эффективности состоит из блока формулы коэффициента эффективности и стека коэффициента эффективности, а блок истории работы системы состоит из стека параметров адаптации и стека работы объекта управления. Также в контроллере присутствуют следующие связи: от объекта управления идут сигналы состояния и действия, соответственно на блок формулы коэффициента эффективности, на стек работы объекта управления и на управляющую нейросеть. От блока формулы коэффициента эффективности идет сигнал соответственно на блок фаззификации и на стек коэффициента эффективности, от блока фаззификации идет сигнал на блок нечеткого вывода, от блока нечеткого вывода идет сигнал на блок дефаззификации. От блока фаззификации идет сигнал, соответственно на стек параметров адаптации и блок правил самообучения управляющей нейросети. От стека параметров адаптации идет сигнал соответственно на блок правил самообучения управляющей нейросети и блок фаззификации. От стека работы управляющей нейросети идут сигналы на блок правил самообучения управляющей нейросети, а от стека работы управляющей нейросети идет сигнал соответственно на стек параметров адаптации и на стек работы объекта управления. От выхода управляющей нейросети идет сигнал на стек работы объекта управления. От блока истории работы системы идут сигналы на управляющую нейросеть и два сигнала на входы управляющей нейросети. От управляющей нейросети идет сигнал управления на объект управления.
Недостатками данного контроллера являются - невысокая скорость работы и ограниченная возможность переобучения управляющей нейросети под новые данные.
Задача - разработка модифицированного интеллектуального контроллера с нечеткими правилами.
Техническим результатом предлагаемого устройства является повышение адаптационных свойств системы управления на базе интеллектуального контроллера, увеличение скорости работы контролера и добавление возможности переобучения управляющей нейросети под новые данные.
Технический результат достигается тем, что в модифицированном интеллектуальном контроллере с нечеткими правилами и блоком обучения нейросети, содержащем объект управления, блок коэффициента эффективности, блок фаззификации, блок нечеткого вывода, блок дефаззификации, блок истории работы системы, управляющую нейросеть, первый выход управляющей нейросети связан с третьим входом блока истории работы системы и первым входом объекта управления, первый и второй выходы объекта управления связаны с первым и вторым входами блока коэффициента эффективности, седьмым и восьмым входами блока истории работы системы, а также с четвертым и пятым входами управляющей нейросети, первый выход блока коэффициента эффективности связан с первым входом блока фаззификации, второй выход блока фаззификации связан с первым входом блока нечеткого вывода, первый выход блока нечеткого выхода связан с первым входом блока фаззификации, первый выход блока фаззификации связан с четвертым входом блока истории работы системы, третий выход блока истории работы системы связан со вторым входом блока фаззификации, введены блок оценки производительности нейросети, блок обучения нейросети, при этом первый выход блока коэффициента эффективности также связан шестым входом блока истории работы системы, первый выход блока фаззификации связан с пятым входом блока истории работы системы, первый выход блока дефаззификации также связан со вторым входом блока обучения нейросети, первый выход блока оценки производительности нейросети связан со вторым входом блока истории работы системы, второй выход блока оценки производительности нейросети связан с пятым входом управляющей нейросети, третий выход блока оценки производительности нейросети связан с четвертым входом управляющей нейросети, четвертый выход блока оценки производительности нейросети связан с третьим входом управляющей нейросети, пятый выход блока оценки производительности нейросети связан с третьим входом блока обучения нейросети, первый выход блока обучения нейросети связан с третьим входом блока оценки производительности нейросети, второй выход блока обучения нейросети связан с первым входом блока истории работы системы, третий выход блока обучения нейросети связан с пятым входом управляющей нейросети, четвертый выход блока обучения нейросети связан с четвертым входом управляющей нейросети, пятый выход блока обучения нейросети связан со вторым входом управляющей нейросети, шестой выход блока обучения нейросети связан с первым входом управляющей нейросети, первый выход управляющей нейросети также связан с первым входом блока обучения нейросети и первым входом блока оценки производительности нейросети, первый выход блока истории работы системы связан с четвертым входом блока обучения нейросети, второй выход блока истории работы системы связан со вторым входом блока оценки производительности нейросети.
Задача повышения скоростных характеристик работы устройства достигается за счет переноса функционала стека коэффициента эффективности, стека параметров адаптации, стека работы объекта управления в единый блок истории работы системы, что сокращает временные затраты на передачу данных. Переобучение управляющей нейросети под новые данные достигается за счет добавления блока обучения нейросети и блока оценки производительности нейросети.
Таким образом, совокупность существенных признаков изложенных в формуле изобретения, позволяет достигнуть желаемый результат.
На фиг. 1 изображена общая схема интеллектуального контроллера с нечеткими правилами и блоком обучения нейросети.
На фиг. 2 показана схема нечеткого вывода адаптационного параметра (справочно, источник - патент на изобретение РФ G06F 15/18 №2458390 «Модифицированный интеллектуальный контроллер с нечеткими правилами»).
Система состоит из нескольких структурных компонент: объекта управления 1, блока коэффициента эффективности 2, блока фаззификации 3, блока нечеткого вывода 4, блока дефаззификации 5, блока оценки производительности нейросети 6, блока обучения нейросети 7, блока истории работы системы 8, управляющей нейросети 9.
Также в системе присутствуют следующие связи - от управляющей нейросети 9 идет сигнал 10, который соединен связью 10.1 с объектом управления 1, связью 10.2 с блоком истории работы системы 8, связью 10.3 с блоком оценки производительности нейросети 6 и связью 10.4 с блоком обучения нейросети 7, от объекта управления 1 идут сигналы состояния 11 и действия 12, которые соответственно соединены по связям 11.1 и 12.1 с блоком коэффициента эффективности 2, по связям 11.2 и 12.2 с блоком истории работы системы 8, а также по связям 11.3 и 12.3 с управляющей нейросетью 9, выход 13 блока коэффициента эффективности 2 соединен связью 13.1 с блоком фаззификации 3 и по связи 13.2 с блоком истории работы системы 8, от блока фаззификации 3 идет связь 14 на блок истории работы системы 8, от блока фаззификации 3 идет связь 15 на блок нечеткого вывода 4, от блока нечеткого вывода 4 идет связь 16 на блок дефаззификации 5, выход 17 блока дефаззификации 5 соединен по связи 17.1 с блоком обучения нейросети 7 и по связи 17.2 с блоком истории работы системы 8, блок истории работы системы 8 по связи 18 соединен с блоком фаззификации 3, от блока истории работы системы 8 идет связь 19 на блок оценки производительности нейросети 6, от блока оценки производительности нейросети 6 идет связь 20 на блок истории работы системы 8, от блока оценки производительности нейросети 6 идут связи 21, 22 и 23 на управляющую нейросеть 9, выход 24 блока оценки производительности нейросети 6 связан с блоком обучения нейросети 7, выход 25 блока обучения нейросети 7 связан с блоком оценки производительности нейросети 6, блок истории работы системы 8 связан по сигналу 26 с блоком обучения нейросети 7, блок обучения нейросети 7 соединен по связи 27 с блоком истории работы системы 8, выходы 28, 29, 30, 31 блока обучения нейросети 7 соединены с управляющей нейросетью 9.
Блок фаззификации 3 состоит из узлов входных термов 32 (нумерация 32.1-32.9), количество которых равно количеству учитываемых итераций по коэффициенту эффективности и адаптационным параметрам. На Фиг. 2 показан вариант с двумя последовательными итерациями по коэффициенту эффективности (t) и (t-1), и одному по адаптационному параметру (t-1). Блок нечеткого вывода 4 состоит из Т - узлов 33.1-33.27, N - узлов 35.1-35.27 и узлов нормализации силы правил 37.1-37.27. Т - узлы связаны с N - узлами сигналами 34.1-34.27, а с узлами нормализации силы правил сигналами 36.1-36.27. N - узлы связаны с узлами нормализации силы правил сигналами 38.1-38.27. На Фиг. 2 показан вариант с 27 нечеткими правилами.
Блок коэффициента эффективности 2 предназначен для расчета текущего коэффициента эффективности работы системы (формула расчета задается разработчиком, варианты формул см. [Шумков Е.А. Система поддержки принятия решений предприятия на основе нейросетевых технологий. Дисс. канд. техн. наук. Краснодар: КубГТУ. 2004. 158 с.]).
Блок фаззификации 3 предназначен для вычисления степеней функций принадлежности.
Блок нечеткого вывода 4 предназначен для вычисления сил правил нечеткого вывода.
Блок деффазицикации 5 предназначен для расчета четкого значения адаптационного параметра на следующем шаге управления.
Блок оценки производительности нейросети 6 предназначен для расчета качества работы и точности обучения управляющей нейросети 9.
Блок обучения нейросети 7 предназначен для обучения управляющей нейросети 9 методом обратного распространения ошибки (см. Rumelhart D.Е., Hinton G.Е., Williams R.J., "Learning representations by back-propagating errors," Nature, vol. 323, pp. 533-536, 1986).
Блок истории работы системы 8 предназначен для хранения информации о работе объекта управления 1, управляющей нейросети 9, коэффициенте эффективности и параметров адаптации.
Управляющая нейросеть 9 предназначена для формирования управляющего сигнала для объекта управления 1. Данная нейросеть реализована на базе многослойного персептрона. Количество нейронов во входном слое управляющей нейросети 9 равно R+N, где R - размерность вектора состояния, а N - размерность вектора действия объекта управления. У управляющей нейросети 9 может быть F скрытых слоев, количество которых задается разработчиком (рекомендованное значение F=2). Количество нейронов в выходном слое равно размерности вектора управления объекта управления 1. Числа R, N, F и количество нейронов в каждом скрытом слое задается разработчиком в зависимости от решаемой устройством задачи.
Заявленное устройство работает следующим образом. Выделим два режима работы системы:
- режим «А» - работа в режиме реального времени
- режим «Б» - режим обучения управляющей нейросети.
Алгоритм режима работы А):
А.1. Объект управления 1 формирует сигналы состояния 11 и действия 12 и отправляет их по связям 11.1 и 12.1 в блок коэффициента эффективности 2, по связям 11.3 и 12.3 соответственно в управляющую нейросеть 9, а также по связям 11.2 и 12.2 в блок истории работы системы 8. По данным сигналам блок коэффициента эффективности 2 рассчитывает по заданной формуле получившееся значение коэффициента эффективности на текущей итерации управления. Получившееся значение коэффициента эффективности по сигналу 13.1 идет в блок фаззификации 3 и заносится в блок истории работы системы 8 по сигналу 13.2.
А.2. Блок фаззификации 3 получая значение текущего коэффициента эффективности, синхронно запрашивает по связи 14 от блока истории работы системы 8 предыдущие значения коэффициента эффективности и адаптационного параметра, получает их по сигналу 18. Глубина погружения по коэффициенту эффективности и параметрам адаптации, то есть, за сколько предыдущих итераций управления учитывать данные сигналы, задаются разработчиком. Глубина погружения по коэффициенту эффективности и параметрам адаптации могут быть не равны друг другу. Принцип работы связки блок фаззификации 3 - блок нечеткого вывода 4 - блок дефаззификации 5 следующий (см. также Ярушкина Н.Г. «Основы теории нечетких и гибридных систем». М.: Финансы и статистика, 2004 г.). На узлы входных термов 32.1-32.9 подаются четкие значения коэффициента эффективности за последнюю и предыдущие итерации управления и адаптационного параметра за предыдущие итерации управления. На выходе узлов 32.1-32.9 степени, с которыми заданные входы удовлетворяют функциям принадлежности, ассоциированных с этими узлами. Каждый Т - узел 33.1-33.27 вычисляет силу правила. Выход верхнего Т - узла 33.1 равен:
Выход нижнего Т - узла 31.27:
Для остальных аналогично (см. Таблицу 1 ниже). N - узлы 35.1-35.27 нормализуют силу правил с выходов Т - узлов 32.1-32.9. Выход каждого N - узла равен:
Выходы узлов нормализации силы правил 37.1-37.27 равны произведению нормализованной силы правил и индивидуального выхода соответствующего правила. Например, для первого узла 37.1 нормализации силы правил выход равен
а для последнего
Блок деффазификации 5 вычисляет общее значение параметра адаптации 17 по формуле:
i
i
где bY вычисляются по формулам аналогично (2) и (3).
А.3. Далее сигналы параметра адаптации 17 идут в блок истории работы системы 8 по связи 17.2 и по связи 17.1 в блок обучения нейросети 7. В случае, если значение сигнала 17 лежит в пределах «не изменять» процесс переобучения управляющей нейросети 9 не запускается, в случаях «увеличился» и «уменьшился» запускается режим «Б» работы системы.
А.4. Управляющая нейросеть 9, если устройство работает в режиме «А», отрабатывает поступившие сигналы состояния 11 и действия 12 от объекта управления 1 и рассчитывает управляющий сигнал 10, который поступает на вход объекта управления 1 по связи 10.1. Параллельно сигнал 10 идет по связи 10.2 в блок истории работы системы 8.
Режим «Б». Переобучение управляющей нейросети 9 происходит следующим образом. Если устройство находилось в режиме «А», то переключение в режим «Б» происходит подачей сигнала 31 от блока обучения нейросети 7, размыкающего входы 11.3 и 12.3 управляющей нейросети 9 от выходов объекта управления 1 и выход 10.1 от решающей нейросети 9 от объекта управления 1. Далее:
Б.1. Блок обучения нейросети 7 по связи 27 в блок истории работы системы 8 передает номер обучающего примера, выбранного случайным образом.
Б.2. Блок истории работы системы 8 получив по связи 27 номер примера, обратно в блок обучения нейросети 7 передает обучающий пример по связи 26.
Б.3. Блок обучения нейросети 7, получив обучающий пример (входы; выход), передает обучающий пример на управляющую нейросеть 9, при этом данные передаются по связям 28 и 29 на входы 11.3 и 12.3.
Б.4. Управляющая нейросеть 9, получив данные на входы 11.3 и 12.3, рассчитывает выход и передает значение в блок обучения нейросети 7 по связи 10.4.
Б.5. Блок обучения нейросети 7, получив выход управляющей нейросети 9, сравнивает его с тем, что должно получиться по данному обучающему примеру. После расчета ошибки по алгоритму обратного распространения ошибки происходит расчет и корректировка весов синаптических связей управляющей нейросети 9. Корректировка синаптических весов управляющей нейросети 9 идет по связи 30.
Б.6. После того, как решающая нейросеть 9 обучилась, т.е. ошибка на выходе стала меньше заданной разработчиком, блок обучения нейросети 7 выдает сигнал по связи 25 на блок оценки производительности нейросети 6.
Б.7. Блок оценки производительности нейросети 6 после получения сигнала 25, запрашивает у блока истории работы системы 8 валидационную выборку по связи 20 (валидационная выборка см. [Шумков Е.А. Система поддержки принятия решений предприятия на основе нейросетевых технологий. Дисс. канд. техн. наук. Краснодар: КубГТУ. 2004. 158 с.]).
Б.8. Блок истории работы системы 8, получая сигнал от блока оценки производительности нейросети 6, выдает валидационную выборку по связи 19 на блок оценки производительности нейросети 6.
Б.9. Блок оценки производительности нейросети 6 проверяет работу управляющей нейросети 9 на валидационной выборке, последовательно подавая данные по сигналам 21 и 22 на входы 11.3 и 12.3 управляющей нейросети 9 и после расчета выхода управляющей нейросетью 9, получает выход по сигналу 10.3. Сравнивая ответы управляющей нейросети 9 с тем, что должно получиться но выходам валидационной выборки, в случае, если ошибка меньше заданной разработчиком, блок оценки производительности нейросети 6 подает сигнал 23 на управляющую нейросеть 9, тем самым выставляя режим работы «А» устройства. В случае, если ошибка на валидационной выборке больше заданной разработчиком, блок оценки производительности нейросети 6 подает сигнал 24 на блок обучения нейросети 7 о переобучении управляющей нейросети 9, т.е. происходит переход на шаг Б.1.
Вычисление сигналов управляющей нейросетью 9 происходит стандартным образом.
Эффект от применения данного контроллера заключается в том, что предлагаемое устройство за счет использования блоков нечеткой логики - блока фаззификации, блока нечеткого вывода и блока деффазификации адаптивно подстраивается под изменения состояния внешней среды и объекта управления. При этом при выработке значения адаптационного параметра используется нечеткая логика, позволяющая не жестко, а мягко подстраивать адаптационный параметр и соответственно правила самообучения управляющей нейросети.
В таблице 1 введены обозначения:
«-1» - «снизился»
«0» - «не изменился»
«1» - увеличился