Нейроуправление () — частный случай интеллектуального управления, использующий искусственные нейронные сети для решения задач управления динамическими объектами. Нейроуправление находится на стыке таких дисциплин, как искусственный интеллект, нейрофизиология, теория автоматического управления, робототехника. Нейронные сети обладают рядом уникальных свойств, которые делают их мощным инструментом для создания систем управления: способностью к обучению на примерах и обобщению данных, способностью адаптироваться к изменению свойств объекта управления и внешней среды, пригодностью для синтеза нелинейных регуляторов, высокой устойчивость к повреждениям своих элементов в силу изначально заложенного в нейросетевую архитектуру параллелизма. Термин «нейроуправление» впервые был использован одним из авторов метода обратного распространения ошибки Полом Дж. Вербосом в 1976 годуWerbos, P.J. Backpropagation and neurocontrol: a review and prospectus // International Joint Conference on Neural Networks, Vol. 1. — P. 209—216. — Washington, DC , USA, 18-22 Jun 1989. Известны многочисленные примеры практического применения нейронных сетей для решения задач управление самолётом, вертолётом, автомобилем-роботомD. Gu and H. Hu. Neural Predictive Control for a Car-like Mobile Robot // International Journal of Robotics and Autonomous Systems, Vol. 39, No. 2-3, May, 2002, скоростью вращения вала двигателяТерехов В. А., Ефимов Д. В., Тюкин И. Ю. Нейросетевые системы управления: Учеб. пособие для вузов. — М.: Высш. школа 2002. — 183 с., гибридным двигателем автомобиля, электропечью, турбогенератором, сварочным аппаратомD’Emilia G., Marrab A., Natalea E. Use of neural networks for quick and accurate auto-tuning of PID controller // Robotics and Computer-Integrated Manufacturing. — 2007. — Vol. 23. — P. 170—179., пневмоцилиндром, системой управления вооружением легкобронированных машин, моделью перевернутого маятника.

Методы нейроуправления

По способу использования нейронных сетей методы нейроуправления делятся на прямые и непрямые. В прямых методах нейронная сеть обучается непосредственно генерировать управляющие воздействия на объект, в непрямых методах нейронная сеть обучается выполнять вспомогательные функции: идентификация объекта управления, подавление шума, оперативная настройка коэффициентов ПИД-контроллера. В зависимости от числа нейросетей, составляющих нейроконтроллер, системы нейроуправления делятся на одномодульные и многомодульные. Системы нейроуправления, которые применяются совместно с традиционными регуляторами, называются гибридными.

В области управления искусственные нейронные системы (ИНС) находят применение в задачах идентификации объектов, в алгоритмах прогнозирования и диагностики, а также для синтеза оптимальных Автоматических Систем Регулирования (АСР). Для реализации АСР на основе ИНС в настоящее время интенсивно развивается производство нейрочипов и нейроконтроллеров (НК).

В определённом смысле ИНС является имитатором мозга, обладающего способностью к обучению и ориентации в условиях неопределенности. Искусственная нейросеть сходна с мозгом в двух аспектах. Сеть приобретает знания в процессе обучения, а для сохранения знаний использует не сами объекты, а их связи — значения коэффициентов межнейронных связей, называемые синаптическими весами или синаптическими коэффициентамиСабании В.Р. Автоматические системы регулирования на основе нейросетевых технологий / В.Р Сабанин, Н.И Смирнов, А.И. Репин // Труды Международной научной конференции Control-2003. М.: Издательство МЭИ, 2003.С. 45—51..

В задачах нейроуправления для представления объекта управления используют модель чёрного ящика, в котором наблюдаемыми являются текущие значения входа и выхода. Состояние объекта считается недоступным для внешнего наблюдения, хотя размерность вектора состояний обычно считается фиксированной. Динамику поведения объекта управления можно представить в дискретном виде:

где:  — состояние объекта управления порядка на такте ;  — значение -мерного вектора управления на такте ,  — значение -мерного выхода объекта управления на такте .

Для оценки текущего состояния объекта управления может быть использована модель NARX, состоящая из прошлых положений объекта и задержанных сигналов управления :

Вектор оценки состояния может быть также представлен без использования задержанных сигналов:

Также возможно представить состояние объекта как мгновенный снимок его фазовой траектории:

Подражающее нейроуправление

Подражающее нейроуправление[Widrow B., Smith F.W. Pattern-recognizing control systems // Proceedings of Computer and Information Sciences. — Washington, USA — 1964. — Vol. 12. — P. 288—317.]Omidvar O., Elliott D.L. eds. Neural Systems for Control // Academic Press, New York, 1997. — 358 с.Ronco E. Incremental Polynomial Controller Networks: Two Self-Organising Non-Linear Controllers // Ph.D. Disseration Thesis, Glasgow, 1997. — 207 p. (Neurocontrol learning based on mimic, controller modeling, supervised learning using an existing controller) охватывает системы нейроуправления, в которых нейроконтроллер обучается на примерах динамики обычного контроллера по обратной связи, построенного, например, на основе обычной ПИД-схемы управления. После обучения нейронная сеть в точности воспроизводит функции исходного контроллера. В качестве примеров динамики контроллера может быть использована запись поведения человека-оператора. Обычный контроллер по обратной связи (или человек-оператор) управляет объектом управления в штатном режиме. Значения величин на входе и выходе контроллера протоколируются, и на основе протокола формируется обучающая выборка для нейронной сети, содержащая пар значений входа и ожидаемых реакций нейросети:

После обучения с помощью, например, метода обратного распространения ошибки, нейронная сеть подключается вместо исходного контроллера. Полученный нейроконтроллер может заменить человека в управлении устройством, а также быть более выгодным экономически, чем исходный контроллер.

Обобщённое инверсное нейроуправление

В схеме обобщённого инверсного нейроуправления (generalized inverse neurocontrol, direct inverse neurocontrol, adaptive inverse control)[Омату С., Халид М., Юсоф Р. Нейроуправление и его приложения: пер. с англ. — М.: ИПРЖР, 2000. — 272 с.]Psaltis D., Sideris A., Yamamura A.A. A Multilayered Neural Network Controller // IEEE Control Systems Magazine — 1988. — Vol. 8, Issue 2. — P. 17 — 21. в качестве контроллера используется нейронная модель инверсной динамики объекта управления, называемая инверсный нейроэмулятор. Инверсный нейроэмулятор представляет собой нейронную сеть, обученную в режиме офлайн имитировать обратную динамику объекта управления на основе записанных траекторий поведения динамического объекта. Для получения таких траекторий на объект управления в качестве управляющего сигнала подают некоторый случайный процесс. Значения управляющих сигналов и ответных реакций объекта протоколируют и на этой основе формируют обучающую выборку :

В ходе обучения нейронная сеть должна уловить и запомнить зависимость значений управляющего сигнала от последующего значения реакции объекта управления , находящегося перед этим в состоянии . При управлении объектом инверсный нейроэмулятор подключается как контроллер, получая при этом на вход значения уставки (некоторой величины или параметра, по достижении которого происходит изменение состояния системы) и состояния объекта управления , поступающего по каналу обратной связи:

Предполагается, что сформированная при обучении инверсная модель объекта управления является адекватной, следовательно, сигнал управления, выдаваемый нейронной сетью, обеспечит переход объекта в положение, заданное уставкой.

Специализированное инверсное нейроуправление Специализированное инверсное нейроуправление (specialised inverse neurocontrol) использует методику обучения нейроконтроллера в режиме онлайн, используя текущую ошибку отклонения положения объекта от уставки . Схема подключения нейроконтроллера такая же, как в методе обобщённого инверсного нейроуправления. На вход сети подается вектор :

Нейронная сеть генерирует управляющий вектор , который переводит объект управления в положение . Далее вычисляется текущая ошибка работы нейроконтроллера

Вычисляется градиент изменения весов

Затем производится коррекция весов нейроконтроллера по методу наискорейшего спуска или каким-либо другим градиентным методом.

Производная представляет собой якобиан объекта управления, значение которого задается аналитически по заданной математической модели объекта управления. Однако, на практике, для получения приемлемого качества управления часто бывает достаточно вычислить лишь знак якобиана. Итерации коррекции значений коэффициентов продолжаются до достижения приемлемого качества управления.

Метод обратного пропуска ошибки через прямой нейроэмулятор

Метод обратного пропуска ошибки через прямой нейроэмулятор (backpropagation through time, model reference adaptive control, internal model control)[Jordan M.I. and Rumelhart D.E. Forwardmodels: Supervised learning with a distal teacher // Cognitive Science — 1990. — Vol. 16. — P. 313—355.][Narendra K.S., Parthasarathy K.K. Identification and control of dynamical systems using neural networks // IEEE Transactions on Neural Networks. — 1990. — N 1. — P. 4 — 27.] основан на идее применения тандема из двух нейронных сетей, одна из которых выполняет функцию контроллера, а вторая — модели объекта управления, которая носит название прямой нейроэмулятор. Прямой нейроэмулятор служит для вычисления градиента ошибки нейроконтроллера в процессе его обучения и далее не используется. Можно сказать, что нейроконтроллер и нейроэмулятор представляют собой единую нейросеть, при этом при обучении нейроконтроллера веса прямого нейроэмулятора «замораживаются». Прямой нейроэмулятор обучается первым. Для этого на вход объекта управления подаётся случайный управляющий сигнал , изменяющий положение объекта управления , и формируется обучающая выборка :

Обучение прямого нейроэмулятора выполняется в режиме офлайн. Прямой нейроэмулятор считается обученным, если при одинаковых значениях на входах нейроэмулятора и реального объекта отличие между значениями их выходов становится незначительным. После завершения обучения прямого нейроэмулятора проводится обучение нейроконтроллера. Обучение выполняется в режиме онлайн по такой же схеме, как и в случае специализированного инверсного нейроуправления. Сначала (на такте ) на вход нейроконтроллера поступает желаемое положение объекта управления для следующего такта . Нейроконтроллер генерирует сигнал управления , который поступает на входы объекта управления и нейроэмулятора. В результате управляемый объект переходит в положение , а нейроэмулятор генерирует реакцию . Далее вычисляется ошибка управления и пропускается в обратном направлении по правилу обратного распространения. Весовые коэффициенты связей нейроэмулятора при этом не корректируются. Механизм обратного прохождения ошибки через прямой нейроэмулятор реализует локальную инверсную модель в текущей точке пространства состояний объекта управления. Пройдя через нейроэмулятор, ошибка далее распространяется через нейроконтроллер, но теперь её прохождение сопровождается коррекцией весовых коэффициентов нейроконтроллера. Прямой нейроэмулятор при этом выполняет функции дополнительных слоев нейроной сети нейроконтроллера, в которых веса связей не корректируются.

Метод нейроуправления с эталонной моделью