Neurocontrol ( eng. Neurocontrol ) es un caso especial de control inteligente que utiliza redes neuronales artificiales para resolver problemas de control de objetos dinámicos. El neurocontrol se encuentra en la intersección de disciplinas como la inteligencia artificial , la neurofisiología , la teoría del control automático y la robótica . Redes neuronalestienen una serie de propiedades únicas que los convierten en una poderosa herramienta para crear sistemas de control: la capacidad de aprender de ejemplos y generalizar datos, la capacidad de adaptarse a los cambios en las propiedades del objeto de control y el entorno, la idoneidad para la síntesis de sistemas no lineales controladores, alta resistencia al daño a sus elementos debido a inicial inherente en la arquitectura de red neuronal de paralelismo. El término "neurofeedback" fue utilizado por primera vez por uno de los autores del método de retropropagación, Paul J. Verbos, en 1976 [1] [2] . Hay numerosos ejemplos de la aplicación práctica de las redes neuronales para resolver problemas de control de una aeronave [3] [4] , un helicóptero [5] , un automóvil robótico [6] , la velocidad del eje de un motor [7] , un motor de automóvil híbrido [8] , un horno eléctrico [9] , turbogenerador [10] , soldadora [11] , cilindro neumático [12] , sistema de control de armamento para vehículos blindados ligeros [13] , modelo de péndulo invertido [14] .
Según la forma en que se utilizan las redes neuronales, los métodos de neurocontrol se dividen en directos e indirectos . En los métodos directos , la red neuronal se entrena para generar directamente acciones de control sobre el objeto, en los métodos indirectos , la red neuronal se entrena para realizar funciones auxiliares: identificación del objeto de control , supresión de ruido , ajuste operativo de los coeficientes del controlador PID . Dependiendo del número de redes neuronales que componen el neurocontrolador, los sistemas de neurocontrol se dividen en monomódulo y multimódulo . Los sistemas de neurocontrol que se utilizan junto con los reguladores tradicionales se denominan híbridos .
En el campo del control, los sistemas neuronales artificiales (SNA) se utilizan en las tareas de identificación de objetos, en algoritmos de predicción y diagnóstico, así como para la síntesis de Sistemas de Control Automático (SCA) óptimos . Para implementar ACP basado en ANN, actualmente se está desarrollando intensamente la producción de neurochips y neurocontroladores (NC) .
En cierto sentido, la RNA es un imitador del cerebro, que tiene la capacidad de aprender y navegar en condiciones de incertidumbre. Una red neuronal artificial es similar al cerebro en dos aspectos. La red adquiere conocimiento en el proceso de aprendizaje, y para almacenar conocimiento, utiliza no los objetos en sí, sino sus conexiones: los valores de los coeficientes de conexiones interneuronales, llamados pesos sinápticos o coeficientes sinápticos [15] .
En las tareas de neurocontrol se utiliza un modelo de caja negra para representar el objeto de control, en el que son observables los valores de entrada y salida actuales. El estado del objeto se considera inaccesible a la observación externa, aunque la dimensión del vector de estado suele considerarse fija. La dinámica del comportamiento del objeto de control se puede representar de forma discreta:
donde: es el estado del objeto de control de órdenes en el ciclo ; es el valor del vector de control dimensional en el ciclo , es el valor de la salida dimensional del objeto de control en el ciclo .
Para estimar el estado actual del objeto de control , se puede utilizar el modelo NARX, que consiste en las posiciones pasadas del objeto y las señales de control retrasadas :
El vector de estimación de estado también se puede representar sin el uso de señales retardadas:
También es posible representar el estado de un objeto como una instantánea de su trayectoria de fase:
El neurocontrol imitativo [16] [17] [18] (aprendizaje de neurocontrol basado en mímica, modelado de controladores, aprendizaje supervisado usando un controlador existente) cubre los sistemas de neurocontrol en los que el neurocontrolador se entrena con ejemplos de la dinámica de un controlador de retroalimentación convencional construido, para ejemplo, basado en el esquema de control PID convencional . Después del entrenamiento, la red neuronal reproduce exactamente las funciones del controlador original. El registro del comportamiento de un operador humano se puede utilizar como ejemplo de la dinámica del controlador. Un controlador de retroalimentación convencional (o un operador humano) controla el objeto de control en el modo normal. Se registran los valores en la entrada y salida del controlador y, según el protocolo, se forma una muestra de entrenamiento para la red neuronal que contiene pares de valores de entrada y reacciones esperadas de la red neuronal:
Después de entrenar con, por ejemplo , retropropagación , la red neuronal se conecta en lugar del controlador original. El neurocontrolador resultante puede reemplazar a una persona en la gestión del dispositivo y también ser más rentable que el controlador original.
En el esquema de neurocontrol inverso generalizado (neurocontrol inverso directo, control inverso adaptativo) [19] [20] , se utiliza como controlador un modelo neuronal de dinámica inversa del objeto de control, denominado neuroemulador inverso . Un neuroemulador inverso es una red neuronal entrenada fuera de línea para simular la dinámica inversa de un objeto de control en función de las trayectorias registradas del comportamiento de un objeto dinámico. Para obtener dichas trayectorias, se envía algún proceso aleatorio al objeto de control como señal de control. Se registran los valores de las señales de control y las respuestas del objeto y, sobre esta base, se forma una muestra de entrenamiento :
En el curso del entrenamiento, la red neuronal debe captar y recordar la dependencia de los valores de la señal de control del valor posterior de la reacción del objeto de control , que estaba previamente en el estado . Al controlar un objeto, se conecta un neuroemulador inverso como controlador, mientras recibe en la entrada los valores del punto de consigna (un determinado valor o parámetro, al alcanzar el cual cambia el estado del sistema) y el estado del objeto de control que pasa. el canal de comentarios :
Se supone que el modelo inverso del objeto de control formado durante el entrenamiento es adecuado, por lo tanto, la señal de control emitida por la red neuronal asegurará la transición del objeto a la posición especificada por la configuración.
El neurocontrol inverso especializado [19] [20] utiliza el método de entrenamiento del neurocontrolador en línea utilizando el error actual de la desviación de la posición del objeto desde el punto de ajuste . El diagrama de conexión del neurocontrolador es el mismo que en el método de neurocontrol inverso generalizado . El vector se alimenta a la entrada de la red :
La red neuronal genera un vector de control que mueve el objeto de control a la posición . A continuación, se calcula el error actual del neurocontrolador
El gradiente del cambio de peso se calcula
Luego, los pesos de los neurocontroladores se corrigen utilizando el método de descenso más pronunciado o algún otro método de gradiente .
La derivada es el jacobiano del objeto de control, cuyo valor se establece analíticamente de acuerdo con el modelo matemático dado del objeto de control. Sin embargo, en la práctica, para obtener una calidad de control aceptable, suele ser suficiente calcular únicamente el signo del jacobiano. Las iteraciones de corrección de los valores de los coeficientes continúan hasta lograr una calidad de control aceptable.
El método backpropagation through time, model reference adaptive control, internal model control [8] [21] [22] [23] se basa en la idea de utilizar un tándem de dos redes neuronales , una de las cuales actúa como controlador , y el segundo es el modelo de objeto de control , que se denomina neuroemulador directo . El neuroemulador directo se usa para calcular el gradiente de error del neurocontrolador durante su entrenamiento y no se usa más. Se puede decir que el neurocontrolador y el neuroemulador representan una sola red neuronal, y cuando se entrena el neurocontrolador se “congelan” los pesos del neuroemulador directo. Primero se entrena el neuroemulador directo. Para hacer esto, se aplica una señal de control aleatoria a la entrada del objeto de control , cambiando la posición del objeto de control , y se forma una muestra de entrenamiento :
El entrenamiento del neuroemulador directo se realiza fuera de línea. Un neuroemulador directo se considera entrenado si, con los mismos valores en las entradas del neuroemulador y el objeto real, la diferencia entre los valores de sus salidas se vuelve insignificante. Una vez completado el entrenamiento del neuroemulador directo, se entrena el neurocontrolador. El entrenamiento se realiza online según el mismo esquema que en el caso del neurofeedback inverso especializado . Primero (en el ciclo ) se recibe en la entrada del neurocontrolador la posición deseada del objeto de control para el próximo ciclo . El neurocontrolador genera una señal de control , que se alimenta a las entradas del objeto de control y el neuroemulador. Como resultado, el objeto controlado se mueve a la posición y el neuroemulador genera la reacción . A continuación, se calcula el error de control y se pasa en la dirección opuesta de acuerdo con la regla de retropropagación. Los coeficientes de peso de las conexiones del neuroemulador no se corrigen en este caso. El mecanismo de error inverso que pasa por el neuroemulador directo implementa un modelo inverso local en el punto actual del espacio de estado del objeto de control. Después de pasar por el neuroemulador, el error se propaga aún más por el neurocontrolador, pero ahora su paso va acompañado de una corrección de los coeficientes de peso del neurocontrolador. En este caso, el neuroemulador directo realiza las funciones de capas adicionales de la red neuronal del neurocontrolador, en las que no se corrigen los pesos de conexión.
El método de neurocontrol con modelo de referencia (model reference adaptive control, neural adaptive control) [23] [24] [25] es una variante del neurocontrol por el método de salto de error inverso a través de un neuroemulador directo con un modelo de referencia adicional (referencia modelo) de un sistema dinámico embebido en el circuito, para simular cuyo comportamiento es entrenado por el neurocontrolador. Esto se hace para mejorar la calidad del proceso de transición: en el caso de que la transición del objeto a la posición de destino en un ciclo sea imposible, la trayectoria del movimiento y el tiempo del proceso de transición se convierten en valores poco predecibles. y puede conducir a la inestabilidad del proceso de transición. Para reducir esta incertidumbre, se introduce un modelo de referencia que, por regla general, es un sistema dinámico lineal estable de primer o segundo orden. En el curso del entrenamiento, el modelo de referencia recibe un punto de ajuste en la entrada y genera una trayectoria de referencia , que se compara con la posición del objeto de control para obtener un error de control , para minimizar el cual se entrena el neurocontrolador.
El método de filtrado de perturbaciones externas por redes neuronales (control inverso adaptativo basado en filtrado adaptativo lineal y no lineal, control de modelo interno) [26] sirve para mejorar la calidad del controlador en el circuito de control. Inicialmente, este esquema fue propuesto por B. Widrow para su uso junto con neurocontroladores entrenados por el método de neurocontrol inverso generalizado [27] . En un trabajo posterior [28] , utilizó neurocontroladores entrenados por el método de retropropagación de errores a través de un neuroemulador directo . En principio, el filtrado de errores de redes neuronales se puede utilizar para mejorar el rendimiento de cualquier tipo de controlador, no necesariamente uno de red neuronal . Este esquema utiliza dos redes neuronales preentrenadas: un neuroemulador inverso entrenado de la misma manera que se hace en el método de neurocontrol inverso generalizado y un neuroemulador directo entrenado de la misma manera que se hace en el método de retropropagación a través de un neuroemulador directo . Deje que la señal de control llegue al objeto de control , que es el resultado de sumar la señal del controlador y la señal correctora del sistema de filtrado de perturbaciones externas , calculada en el paso anterior. La señal se envía al neuroemulador directo del objeto de control y la reacción del neuroemulador directo se compara con el estado real del sistema . La diferencia entre estos valores se interpreta como una desviación no deseada del sistema provocada por una perturbación externa. Para suprimir el efecto indeseable, la señal se envía al neuroemulador inverso, que calcula la señal correctiva para corregir la señal de control del neurocontrolador en el siguiente ciclo.
Para utilizar este método, el objeto de control debe tener dinámica reversible, y también es necesario tener un modelo matemático o de simulación adecuado del objeto de control para entrenar neuroemuladores directos e inversos.
El neurocontrol del modelo predictivo (control predictivo NN, control predictivo del modelo, control predictivo neural generalizado) [29] [30] minimiza el costo integral del error funcional , predicho para , ciclos por delante:
Aquí , es el error de salida del sistema, es la contribución del cambio en la señal de control al funcional de costo general . Para predecir el comportamiento futuro del sistema y calcular los errores se utiliza un neuroemulador directo, entrenado de la misma forma que en el método de retropropagación de errores a través de un neuroemulador directo . La peculiaridad del método en consideración es que no tiene un neurocontrolador entrenable. Su lugar lo ocupa un módulo de optimización en tiempo real , en el que, por ejemplo, se puede utilizar el método simplex [31] o el algoritmo cuasi-newtoniano [32] .
El módulo de optimización recibe la trayectoria objetivo para los ciclos siguientes en un ciclo y, si no está allí, duplica el valor del punto de referencia actual y lo usa como la trayectoria objetivo. Además, para seleccionar la acción de control óptima, se realizan cálculos en el bucle interno del sistema de neurocontrol (sus iteraciones se indican como ). Durante un ciclo de control, el módulo de optimización alimenta una serie de acciones diferentes a la entrada del neuroemulador , donde está la profundidad de predicción , recibe varias opciones para el comportamiento del sistema, calcula la función de costo para ellas y determina la mejor estrategia de control . Como resultado, se aplica una señal de control al objeto . En el ciclo siguiente, se vuelve a calcular la estrategia.
Los métodos de neurofeedback basados en críticas adaptativas , también conocidos como programación dinámica aproximada ( ADP ) , han sido muy populares en los últimos años [33] [34] [35] [36] . Los sistemas de crítica adaptativa eligen una señal de control basada en minimizar el funcional de futuras estimaciones de error con un horizonte infinito:
Aquí está el factor de olvido, , es la desviación de la trayectoria del objeto de control desde el punto de ajuste, calculado en cada ciclo del sistema. El sistema incluye dos módulos neuronales: un neurocontrolador y un módulo crítico ( critic ). El módulo de crítica realiza una aproximación de los valores del funcional de costo , el neurocontrolador es entrenado para minimizar el funcional de costo .
En el modo de control de objetos, la entrada del neurocontrolador recibe un vector que provoca la aparición de una señal de control en su salida , como resultado de lo cual el objeto de control se mueve a la posición . A continuación, se calcula el valor del error de control actual . El módulo de crítica, al recibir un vector como entrada , evalúa la función de coste . En el siguiente ciclo, se repite el proceso: se calculan nuevos valores y . El entrenamiento del sistema de neurocontrol se realiza online y consta de dos etapas: entrenamiento del módulo crítico y entrenamiento del neurocontrolador. Primero, se calcula el error de diferencia de tiempo . Luego, según el método de descenso más pronunciado , se corrige el peso de los enlaces para el módulo de crítica :
El valor del gradiente se calcula mediante el método de retropropagación . La corrección del peso de las conexiones del neurocontrolador se realiza de la misma manera:
El valor derivado se encuentra retropropagando el valor a través del módulo de crítica, y el valor del gradiente se encuentra retropropagando el error a través del módulo controlador. La corrección de peso continúa hasta que el sistema alcanza el nivel requerido de calidad de control. Así, en cada paso, se mejora la ley de control entrenando al neurocontrolador (iteración de estrategias, iteración de políticas), y también se incrementa la capacidad del sistema para evaluar la situación entrenando al crítico (iteración por valores, iteración de valores). El esquema específico para construir un sistema de crítica adaptativa puede diferir del descrito anteriormente , que se denomina programación dinámica heurística ( HDP ) . En el método de programación heurística dual ( DHP ) , el módulo crítico calcula la derivada del funcional de costo global , y en el método de programación heurística dual global ( GHDP ) , tanto el funcional de costo como su derivado son calculados por el crítico . Se conocen modificaciones del método, en las que el módulo crítico toma decisiones únicamente sobre la base de una señal de control. Sus abreviaturas en inglés tienen el prefijo AD ( acción dependiente ): ADHDP , ADDHP , ADGDHP . En algunas versiones de la crítica adaptativa, el módulo de crítica consta de dos partes: el propio módulo de crítica y el neuroemulador directo. Este último da predicciones del comportamiento del objeto de control, sobre la base de las cuales el crítico forma una estimación de la función de costo . Estas versiones se denominan basadas en modelos .
El control neuro-PID híbrido (autoajuste NNPID, autoajuste PID neuromórfico) [37] [38] permite el autoajuste del controlador PID en línea utilizando redes neuronales . El controlador PID se sintoniza en línea, de acuerdo con el error de control actual . En un ciclo , la red neuronal recibe el punto de ajuste y genera los coeficientes de control del controlador PID (proporcional), (integral), (diferencial), que se alimentan al controlador PID junto con el valor del error de retroalimentación actual . Durante la operación, el controlador PID calcula la señal de control actual de acuerdo con la fórmula recursiva:
se utiliza para controladores PID discretos y lo alimenta al objeto de control.
La red neuronal se entrena en tiempo real por error de retroalimentación, utilizando el método de descenso más pronunciado .
Aquí , está el vector de salida de la red neuronal alimentado al controlador PID.
Los gradientes se calculan utilizando el método de retropropagación . El jacobiano del objeto de control, si su signo se encuentra analíticamente, basado en el modelo matemático del objeto de control.
Los métodos de neurocontrol paralelo híbrido (neurocontrol paralelo, control adaptativo directo estable, control feedforward aditivo) [26] [29] prevén el uso paralelo de neurocontroladores y controladores convencionales para controlar objetos dinámicos. En este caso, el neurocontrolador y el controlador convencional, que es por ejemplo el controlador PID , reciben los mismos valores de consigna. Son posibles las siguientes opciones para la conexión conjunta de un controlador convencional y un neurocontrolador:
En este caso, se calcula un controlador convencional para controlar un objeto fuera de esta región del espacio de estado. Cuando ambos controladores operan en paralelo, la señal de control llega al objeto ya sea desde el neurocontrolador, si el estado actual del sistema está dentro de la región , o, en caso contrario, desde un controlador convencional. El neurocontrol paralelo híbrido representa una solución de compromiso para la introducción del neurocontrol en la industria y la transición de los controladores convencionales a las redes neuronales.