интеллектуальный контроллер с нейронной сетью и правилами самомодификации
Классы МПК: | G06F9/00 Устройства для программного управления, например блоки управления G05B13/02 электрические |
Автор(ы): | Ключко В.И. (RU), Шумков Е.А. (RU), Стасевич В.П. (RU) |
Патентообладатель(и): | Кубанский государственный технологический университет (RU) |
Приоритеты: |
подача заявки:
2003-12-31 публикация патента:
20.12.2005 |
Изобретение относится к интеллектуальным контроллерам, использующим принцип обучения с подкреплением, и может использоваться для управления сложными системами. Техническим результатом является повышение адаптационных свойств, быстродействия, уменьшение времени дообучения системы. Для этого контроллер содержит управляющую нейронную сеть, блок коэффициента эффективности, обучающую нейронную сеть, блок правил самообучения управляющей нейронной сети, блок истории работы системы. 2 з.п. ф-лы, 8 ил., 1 табл.
Формула изобретения
1. Интеллектуальный контроллер с нейронной сетью и правилами самомодификации, содержащий управляющую нейронную сеть, объект управления, выходы которого с первого по второй соединены соответственно с первым и вторым входами управляющей нейронной сети, вход объекта управления соединен с выходом управляющей нейронной сети, отличающийся тем, что в него введены блок коэффициента эффективности, обучающая нейронная сеть, блок правил самообучения управляющей нейронной сети, блок истории работы объекта управления, причем входы блока коэффициента эффективности с первого по второй связанны соответственно с первым и вторым выходами объекта управления, первый вход обучающей нейронной сети связан с выходом блока коэффициента эффективности, выход обучающей нейронной сети соединен с первым входом блока правил самообучения управляющей нейронной сети, первый вход блока истории работы объекта управления связан с первым выходом блока правил самообучения управляющей нейронной сети, второй и третий входы связаны с первым и вторым выходами объекта управления соответственно, первый выход блока истории работы объекта управления связан со вторым входом обучающей нейронной сети и вторым входом блока правил самообучения управляющей нейронной сети, а выходы со второго по третий связаны с первым и вторым входами управляющей нейронной сети, четвертый выход блока истории работы объекта управления соединен с выходом управляющей нейронной сети.
2. Интеллектуальный контроллер с нейронной сетью и правилами самомодификации по п.1, отличающийся тем, что блок истории работы объекта управления состоит из стека параметров адаптации и стека работы объекта управления, причем первый и второй выходы блока правил самообучения управляющей нейронной сети соединены с первым входом стека параметров адаптации и первым входом стека работы объекта управления соответственно, первый выход стека параметров адаптации соединен со вторым входом обучающей нейронной сети, второй выход стека параметров адаптации соединен с вторым входом блока правил самообучения управляющей нейронной сети, первый и второй выходы стека работы объекта управления соединены с первым и вторым входами управляющей нейронной сети соответственно, третий выход стека работы объекта управления соединен с выходом управляющей нейронной сети, четвертый и пятый выходы стека работы объекта управления соединены с третьим и четвертым входами блока правил самообучения нейронной сети, второй и третий входы стека работы объекта управления соединен с первым и вторым выходами объекта управления.
3. Интеллектуальный контроллер с нейронной сетью и правилами самомодификации по п. 1, отличающийся тем, что блок коэффициента эффективности состоит из блока формулы коэффициента эффективности и стека коэффициента эффективности, причем второй выход блока формулы коэффициента эффективности связан с первым входом стека коэффициента эффективности, первый выход блока формулы коэффициента эффективности связан с первым входом обучающей нейронной сети, первый выход стека коэффициента эффективности связан с третьим входом обучающей нейронной сети.
Описание изобретения к патенту
Изобретение относится к интеллектуальным контроллерам, и в частности к интеллектуальным контроллерам, использующим принцип обучения с подкреплением, и может использоваться для управления сложными системами в недетерминированной среде.
Известен интеллектуальный контроллер на основе сетей адаптивной критики, например, патент США: МПК G 06 F 15/18, 4563746. Данное устройство состоит из объекта управления, сети критики и управляющей нейросети. Выход объекта управления связан с первым входом сети критики и первым входом управляющей нейросети, выход управляющей нейросети связан с входом объекта управления и вторым входом сети критики, выход сети критики связан с вторым входом управляющей нейросети.
Принцип работы устройства по патенту МПК G 06 F 15/18, 4563746 следующий - объект управления выдает сигнал о своем состоянии, сеть критики вычисляет подкрепление для данного момента времени и состояния объекта, управляющая нейросеть вычисляет управляющее воздействие с учетом подкрепления.
Общий недостаток устройств на основе сетей адаптивной критики состоит в том, что этот алгоритм не является обобщенным и достаточным для построения универсальной адаптивной системы управления, чтобы убедиться в этом, достаточно взглянуть на количество методов реализации и структур (DHP, HDP, ВАС, GDHP и другие). К недостаткам можно отнести, так как система должна управляться в режиме реального времени, большее количество вычислений. Дообучить систему, при изменении воздействия среды, построенную по данному принципу в ходе работы практически не возможно, так как алгоритм сетей адаптивной критики достаточно жестко прописывает алгоритм функционирования устройства. Также необходима реализация функции Беллмана, но данную функцию не всегда возможно построить или собрать в нее все параметры, влияющие на работу системы. (D. Prokhorov, D. Wanch. Adaptive critic designs. IEEE transactions on Neural Networks, September 1997, pp.997-1007).
Наиболее близким техническим решением является «интеллектуальный контроллер с нейронной сетью и обучением с подкреплением» по патенту США МПК G 06 F 15/18, 5448681. Контроллер по данному патенту состоит из объекта управления, сети критики, управляющей нейросети. Выходы состояния и действия объекта управления связаны с первым и вторым входами управляющей нейросети, выход управляющей нейросети связан с входом объекта управления. Выходы состояния и действия объекта управления связаны с первым и вторым входами сети критики, выход сети критики связан с третьим входом управляющей нейросети. В качестве управляющей нейросети используется самообучаемая нейронная сеть Кохонена с использованием нечеткой логики.
Принцип работы устройства по патенту МПК G 06 F 15/18, 5448681 следующий - объект управления выдает сигналы о своем состоянии и действии, которые поступают в сеть критики и на слой фаззификации управляющей нейронной сети, сеть критики вычисляет подкрепление, подкрепление поступает на скрытый слой управляющей нейронной сети и слой дефаззификации, управляющая нейронная сеть вычисляет управляющее воздействие с учетом подкрепления.
Недостатками данного контроллера являются работа по жестко заданному алгоритму, значительное время обучения, но значительное время обучения обусловлено использованием нейронных сетей. Дообучения и адаптации, в случае изменения внешней среды, во время работы системы не происходит. Использование нечеткой логики в управляющей нейронной сети не подходит для большинства задач, решаемых с помощью контроллеров на основе сетей адаптивной критики, также следует отметить не высокое быстродействие.
Задача предлагаемого устройства - повышение адаптационных свойств, быстродействия, уменьшение времени дообучения системы.
Поставленная задача достигается тем, что в интеллектуальном контроллере с нейронной сетью и правилами самомодификации, содержащем управляющую нейронную сеть, объект управления, выходы которого с первого по второй соединены соответственно с первым и вторым входами управляющей нейронной сети, вход объекта управления соединен с выходом управляющей нейронной сети, введены блок коэффициента эффективности, обучающая нейронная сеть, блок правил самообучения управляющей нейронной сети, блок истории работы системы, причем входы блока коэффициента эффективности с первого по второй связанны соответственно с первым и вторым выходами объекта управления, первый вход обучающей нейронной сети связан с выходом блока коэффициента эффективности, выход обучающей нейронной сети соединен с первым входом блока правил самообучения управляющей нейронной сети, первый вход блока истории работы системы связан с первым выходом блока правил самообучения управляющей нейронной сети, второй и третий входы связаны с первым и вторым выходами объекта управления соответственно, первый выход блока истории работы системы связан со вторым входом обучающей нейронной сети и вторым входом блока правил самообучения управляющей нейронной сети, а выходы со второго по третий связаны с первым и вторым входами управляющей нейронной сети, четвертый выход соединен с выходом управляющей нейронной сети.
Блок истории работы системы состоит из стека параметров адаптации и стека работы объекта управления.
Блок коэффициента эффективности состоит из блока формулы коэффициента эффективности и стека коэффициента эффективности, причем второй выход блока формулы коэффициента эффективности связан с первым входом стека коэффициента эффективности.
Обучающая нейронная сеть реализована на основе нейронной сети прямого распространения, обучения с помощью алгоритма обратного распространения ошибки.
В качестве управляющей нейронной сети может быть использована любая из существующих топологий нейронных сетей и любой вид обучения.
Поставленная задача повышения адаптационных свойств, быстродействия и уменьшения времени дообучения достигнута применением правил самомодификации, которые разделены на правила самообучения управляющей и обучающей нейронных сетей. Правила самообучения обучающей нейронной сети обучают решающую нейронную сеть, воздействуя на правила самообучения управляющей нейронной сети, способам самообучения новым ситуациям. Правила самообучения решающей нейронной сети обучают решающую нейронную сеть реакциям на конкретное воздействие. При этом воздействие среды, не носящее характер кардинальной новизны, отрабатывается без изменения правил самообучения решающей нейронной сети. Воздействие среды, являющееся новым, неизвестным для системы управления, при котором снижается коэффициент эффективности, приводит к корректировке набора правил самообучения управляющей нейронной сети. Устройство выполняет задачу с заданным коэффициентом эффективности. Модифицировано обучение с подкреплением и введены стеки, сохраняющие историю работы системы по нескольким важным параметрам. Не используется нечеткая логика при формировании управляющего воздействия, а также принцип Беллмана в алгоритме вычисления подкрепления. Подкрепление (коэффициент эффективности) считается на основе текущего состояния объекта управления, а не желаемого состояния.
Таким образом, совокупность существенных признаков, изложенных в формуле изобретения, позволяет достигнуть желаемый технический результат.
На фиг.1 изображена общая схема изобретения, на фиг.2 показана общая схема изобретения и сигналы между блоками, на фиг 3 показаны основные блоки нейронной сети управления, на фиг 4 показана нейронная сеть управления в разрезе нейронов и сигналов, на фиг 5 показаны основные блоки нейронной сети учителя, на фиг 6 показана нейронная сеть учителя в разрезе нейронов, на фиг 7 показан блок коэффициента эффективности, на фиг 8 показан блок правил самообучения управляющей нейронной сети и блок истории работы системы.
Система состоит из нескольких структурных компонент - объекта управления 1, блока коэффициента эффективности 2, обучающей нейронной сети 3, блок правил самообучения управляющей нейронной сети 4, блок истории работы системы 5 и управляющей нейронной сети 6.
Блок коэффициента эффективности состоит из блока формулы коэффициента эффективности 7 и стека коэффициента эффективности 8.
Блок истории работы системы состоит из стека параметров адаптации 9 и стека работы объекта управления 10.
Также в системе присутствуют следующие связи - между управляющей нейронной сетью и объектом управления 11. Связи между объектом управления и блоком коэффициента эффективности - по сигналам состояния 12 и действия 13. Связь между блоком коэффициента эффективности и обучающей нейронной сетью 14 (выход 14.а - соединяет блок формулы коэффициента эффективности с обучающей нейронной сетью, выход 14.b - соединяет стек коэффициента эффективности с обучающей нейронной сетью, выход 14.с - соединяет блок формулы коэффициента эффективности со стеком коэффициента эффективности). Связь между обучающей нейронной сетью и блоком правил самообучения управляющей нейронной сети 15. Связь между блоком истории работы системы и обучающей нейронной сетью 16. Связи между блоком правил самообучения управляющей нейронной сети и блоком истории работы системы 17 (связь 17.1 соединяет блок правил самообучения управляющей нейронной сети и стек параметров адаптации, а связь 17.2 соединяет блок правил самообучения управляющей нейронной сети и стек работы объекта управления) и обратной связи между ними 18 (выход 18.а - соединяет стек параметров адаптации и блок правил самообучения управляющей нейронной сети, 18.b - соединяет стек работы объекта управления и блок правил самообучения управляющей нейронной сети по сигналу действия, 18.с - по сигналу состояния). Связи между объектом управления и блоком истории работы системы по сигналам действия 19 и состояния 20. Управляющая нейронная сеть соединена с блоком истории работы системы сигналами по выходу 21 (в зависимости от количества 21.1-21.Р) и входам 22 (22.1-22.N), 23 (23.1-23.К). Связи между объектом управления и управляющей нейронной сетью по сигналам действия 24 и состояния 25. Управляющая нейронная сеть состоит из входного слоя нейронов 26 (нейроны 26.1-26.N+K), связей 27 между входным слоем и первым скрытым слоем 28 (нейроны 28.1.1-28.F.L, где F - количество скрытых слоев, a L количество нейронов в скрытом слое, количество нейронов в скрытых слоях может быть различно), связей 29 между скрытыми слоями, связями 30 между последним скрытым слоем и выходным слоем 31 (нейроны 31.1-31.Р). Обучающая нейронная сеть состоит из входного слоя нейронов 32 (нейроны 32.1-32.D+U), связей 33 между входным слоем и скрытым слоем нейронов 34 (нейроны 34.1-34.Q), связей 35 между скрытым слоем и выходным слоем нейронов 36 (нейроны 36.1-36.В).
Заявленное устройство работает следующим образом. Основная компонента системы, управляющая нейронная сеть 6, получает на вход сведения о текущем действии 24 и текущем состоянии 25 объекта управления и выдает на выход сигнал управления 11. В обучающей нейронной сети оценивается состояние среды с точки зрения изменения тактики и стратегии поведения. На вход обучающей нейронной сети подаются знак изменения коэффициента эффективности системы за один 14.а или несколько последних циклов управления 14.b, а также значения изменения адаптационных параметров (одного или нескольких) 16 за один или несколько предыдущих циклов управления. На выходе обучающей нейронной сети 15 - направление изменения адаптационных параметров. Адаптационный параметр - это такой параметр объекта управления или алгоритма управления, изменяя который, система управления добивается улучшения качества работы системы.
Коэффициент эффективности (подкрепление) вычисляется в отдельной компоненте - блоке коэффициента эффективности (фиг.7) и управляет процессом самообучения системы. Благодаря этому коэффициенту система управления понимает, в какую сторону изменилась ее стратегия - в лучшую или в худшую.
Блок правил самообучения управляющей нейронной сети (фиг.8) вырабатывает новые правила обучения управляющей нейронной сети. Параметры правил самообучения управляющей нейросети 17.1 поступают на входы стека работы объекта управления, который выдает обучающую выборку на входы (22, 23) и выходы 21 управляющей нейронной сети.
Стек параметров адаптации 9 сохраняет последние значения (или все) изменения параметров адаптации и, если необходимо, номера примененных правил. На первом выходе 16 - значение изменения параметров адаптации в предыдущий цикл управления (или за несколько циклов управления), которые подаются на вход обучающей нейронной сети.
Стек работы объекта управления 10 сохраняет историю работы системы, например действия - вход 19 и состояния - вход 20 управляемого объекта. На выходах: сигналы состояния управляемого объекта 23, сигнал действия 23 управляемого объекта, выход 21 сигнала управления.
Стеки разделены для повышения быстродействия.
Управляющая нейронная сеть состоит из входного слоя нейронов 26, скрытых слоев 28 и выходного слоя 31. Количество нейронов во входном слое равно N+K, где N равно количеству выходов объекта управления по сигналам состояния, а К равно количеству выходов объекта управления по сигналам действия. Количество скрытых слоев управляющей нейронной сети равно F. Количество скрытых слоев и нейронов в них выбирается исходя из поставленной задачи. Количество нейронов в выходном слое управляющей нейронной сети в общем случае равно количеству Р параметров (степеней свободы) объекта управления, которыми управляет контроллер, или выбирается исходя из задачи.
Количество входов (12 и 13) блока формулы коэффициента эффективности выбирается исходя из формулы, вычисляющей коэффициент эффективности, и в общем случае равно N+K. Блок формулы коэффициента эффективности реализует формулу, вычисляющую коэффициент эффективности (или несколько коэффициентов эффективности по разным степеням свободы). Формула и реализация блока зависят от конкретной задачи и подбираются разработчиком. Рекомендуемый шаблон вычисления коэффициента эффективности:
где i - номер цикла управления, для которого вычисляется коэффициент эффективности;
КЭi - коэффициент эффективности;
Ai - безразмерный показатель полезной деятельности, произведенной системой;
Ei - безразмерный показатель затраченных ресурсов.
На выход 14.а выдается текущее значение коэффициента эффективности (или значения коэффициентов эффективности, если их несколько). Это же значение подается в стек коэффициента эффективности - сигнал 14.с. Размер стека коэффициента эффективности выбирается разработчиком. На выходы 14.b при необходимости подаются значения коэффициента эффективности в предыдущие циклы управления.
Обучающая нейронная сеть состоит из входного слоя 32, количество входов равно D+U, где U равно количеству параметров адаптации, умноженному на глубину временного погружения по параметрам адаптации (т.е. за сколько циклов управления берутся значения сигналов), D равно количеству коэффициентов эффективности, умноженному на глубину временного погружения по коэффициентам эффективности. Скрытый слой 34 состоит из Q нейронов. Количество скрытых слоев и нейронов в них выбирается исходя из решаемой задачи. Выходной слой 36 состоит из В нейронов, где В равно количеству параметров адаптации объекта управления.
Правила самообучения обучающей нейронной сети:
1. Если снизилось значение коэффициента эффективности, то изменяем адаптационный параметр в противоположном направлении от предыдущих изменений.
2. Если значение выросло, то продолжаем изменять адаптационный параметр в направлении от предыдущих изменений.
3. Если значение не изменилось, то в зависимости, от коэффициента эффективности либо оставляем текущие правила (если коэффициент эффективности устраивает), либо хаотически изменяем применяемое правило.
Обучающую нейронную сеть необходимо обучить на следующей выборке (см. таблицу) (показано в случае одного коэффициента эффективности, глубина временного погружения которого равна двум, и одного параметра адаптации, глубина погружения равна единице):
Таблица Входы и выходы обучающей нейронной сети | |||
Вход 14.1 КЭ(t) | Вход 16.1 АП(t-1) | Вход 14.2 КЭ(t-1) | Выход 15.1 АП(t) |
1 | 1 | 1 | 3 |
1 | 1 | 2 | 3 |
1 | 1 | 3 | 1 |
1 | 2 | 1 | 3 |
1 | 2 | 2 | 3 |
1 | 2 | 3 | 1 |
1 | 3 | 1 | 3 |
1 | 3 | 2 | 3 |
1 | 3 | 3 | 1 |
1 | 1 | 1 | 3 |
2 | 1 | 2 | 2 |
2 | 1 | 3 | 1 |
2 | 2 | 1 | 3 |
2 | 2 | 2 | 3 |
2 | 2 | 3 | 1 |
2 | 3 | 1 | 2 |
2 | 3 | 2 | 2 |
2 | 3 | 3 | 2 |
3 | 1 | 1 | 1 |
3 | 1 | 2 | 2 |
3 | 1 | 3 | 3 |
3 | 2 | 1 | 1 |
3 | 2 | 2 | 2 |
3 | 2 | 3 | 3 |
3 | 3 | 1 | 1 |
3 | 3 | 2 | 2 |
3 | 3 | 3 | 3 |
Вход 14.1 - как изменился коэффициент эффективности в текущий цикл управления (1 - снизился, 2 - не менялся, 3 - вырос).
Вход 16.1 - как менялся параметр адаптации на предыдущем цикле управления (1 - в меньшую сторону, 2 - не менялся, 3 - возрос).
Вход 14.2 - как менялся коэффициент эффективности в предыдущий цикл управления (1 - снизился, 2 - не менялся, 3 - вырос).
Выход 15.1 - как необходимо изменить параметр адаптации в текущем цикле управления (1 - уменьшить, 2 - не менять, 3 - увеличить).
Таким образом, необходимо натренировать обучающую нейронную сеть таким образом, чтобы на ее выходе было направление изменения параметров адаптации.
Блок правил самообучения управляющей нейросети реализует формулы самообучения управляющей нейросети. Данный блок принимает на вход направления изменений адаптационных параметров в текущий момент времени 15 и в зависимости от решаемой задачи - сигналы состояния 18.с, действия 18.b объекта управления, а также значения параметров адаптации за предыдущие моменты времени 18.а.
Суть формул самообучения управляющей нейронной сети - в зависимости от значения коэффициента эффективности, параметров адаптации, состояния и действий объекта управления, или динамики их изменения, подготовить обучающую выборку для управляющей нейронной сети и дообучить управляющую нейронную сеть. Выборка формируется по сигналу 17.2.
Таким образом, взаимодействие компонент на каждом цикле управления происходит следующим образом:
1. Объект управления выдает сигналы состояния и действия для управляющей нейронной сети, блока коэффициента эффективности и блока истории работы системы.
2. Блок коэффициента эффективности вычисляет коэффициент эффективности на текущем цикле и динамику изменения подкрепления по сравнению с прошлыми циклами.
3. Управляющая нейронная сеть, если коэффициент эффективности больше и равен заданного коэффициента эффективности, вычисляет управляющее воздействие согласно текущим правилам управления.
4. Обучающая нейронная сеть получает данные об изменении подкрепления и применяет правила обучения обучающей нейронной сети, в случае если коэффициент эффективности меньше заданного. На выходе получаем изменение параметров адаптации.
5. Блок правил самообучения управляющей нейронной сети на основании изменения параметров адаптации, если коэффициент эффективности меньше заданного, изменяет правила самообучения управляющей нейронной сети.
6. Управляющая нейронная сеть, если коэффициент эффективности меньше заданного, дообучается по измененным правилам.
7. После дообучения управляющая нейронная сеть вырабатывает сигнал управления.
8. Необходимые параметры работы заносятся в стеки.
Вычисление сигналов нейронными сетями происходит стандартным образом.
Контроллер может обучаться как в режиме обучения с обучающей нейронной сетью, так и в режиме обучения без нее. Для обучения без обучающей нейронной сети необходимо разомкнуть связи обмена правилами самообучения (15, 16, 17, 18, 21, 22, 23).
Контроллер может работать без начальной обучающей выборки управляющей нейронной сети (выборка пополняется во время работы системы), но должны быть заданны правила самообучения управляющей нейронной сети, формула коэффициента эффективности и выделены параметры адаптации. В этом случае в стеке коэффициента эффективности, стеке работы объекта управления и стеке параметров адаптации накапливается история работы системы и при достаточном накоплении происходит обучение управляющей нейронной сети.
Эффект от применения данного контроллера заключается в том, что предлагаемое устройство за счет применения правил самомодификации управляющей и обучающей нейронных сетей адаптивно подстраивается под изменение окружающей среды, за счет этого также уменьшается время дообучения системы и увеличивается быстродействие системы.
Класс G06F9/00 Устройства для программного управления, например блоки управления