La inteligencia computacional en la identificación de sistemas

Anuncio
Ingeniería Electrónica, Automática y Comunicaciones, Vol. XXVI, No. 1, 2005
SISTEMAS EXPERTOS
La inteligencia computacional
en la identificación de sistemas
M. Irízar
Departamento de Automática y Computación, Facultad de Ingeniería Eléctrica, Instituto Superior Politécnico José Antonio Echeverría, CUJAE,
Ciudad de La Habana, Cuba.
RESUMEN / ABSTRACT
Se describen algunas técnicas basadas en los sistemas biológicos y la inteligencia humana para el desarrollo de
modelos de sistemas dinámicos. Entre dichas técnicas se plantean las redes neuronales artificiales, la lógica difusa y
los algoritmos evolutivos y la forma en que pueden ser aplicadas a la identificación de sistemas. Como resultado del
trabajo, se establece una comparación sobre la factibilidad de las técnicas analizadas en la identificación de sistemas
y las tendencias actuales de su uso.
Palabras clave: identificación de sistemas, inteligencia computacional, redes neuronales, lógica difusa, algoritmos evolutivos.
In this paper some techniques based on biological systems and human intelligence to develop models of dynamical
systems are described. Among these techniques neural networks, fuzzy logic and evolutionary algorithms are
outlined, as well as the way to be applied to systems identification. As a result of the work, a comparison settles
down about the feasibility of use of the analyzed techniques in systems identification and the current tendencies of
their use.
Key words: systems identification, computational intelligence, neural networks, fuzzy logic, evolutionary algorithms.
Recibido: marzo 2004
Aprobado: julio 2004
INTRODUCCIÓN
La identificación de sistemas dinámicos a partir de mediciones
de entrada-salida es un tópico importante de investigación
científica con un rango amplio de aplicaciones prácticas.1,2
Un inconveniente de la mayoría de los métodos de modelación
estándar es que no pueden hacer un uso efectivo de información
extra, tal como el conocimiento y la experiencia de los ingenieros
y operadores, lo cual es a menudo impreciso y de naturaleza
cualitativa.
El hecho de que los humanos sean frecuentemente capaces de
manipular tareas complejas con una incertidumbre significativa
ha estimulado la búsqueda de paradigmas de modelación y control
alternativos. Se han introducido las llamadas metodologías de
modelación y control inteligente que emplean técnicas motivadas
por los sistemas biológicos y la inteligencia humana para el
desarrollo de modelos y controladores para sistemas dinámicos.
Estas técnicas emplean esquemas de representación usando,
por ejemplo, el lenguaje natural, reglas o modelos cualitativos, y
poseen métodos formales para incorporar información relevante
extra.
Las redes neuronales artificiales poseen capacidades de
aprendizaje y adaptación, imitando el funcionamiento de los
sistemas de neuronas biológicas en un nivel simplificado. La
modelación y el control difusos son ejemplos típicos de técnicas
que usan el conocimiento humano y los procesos deductivos.
Los algoritmos evolutivos, que se inspiran en la teoría de la
evolución y la herencia, constituyen también una herramienta
Ingeniería Electrónica, Automática y Comunicaciones, 1/2005
La red más simple consta de una capa de neuronas. Las redes
más complejas o multicapas generalmente ofrecen mayores
capacidades computacionales, y se han desarrollado algoritmos
para su entrenamiento, de modo que al aplicar un conjunto de
entradas se produce un conjunto de salidas deseadas. Este se
lleva a cabo aplicando secuencialmente vectores de entrada,
mientras se ajustan los pesos de la red de acuerdo con un
procedimiento predeterminado.
importante para este tipo de tareas. El uso de estas técnicas en
constante desarrollo y con tendencia a la fusión, con el objetivo
de aprovechar las potencialidades de cada una, ha hecho posible
la solución de problemas que antes de su surgimiento se
consideraban prácticamente insolubles con una calidad
ascendente.
IDENTIFICACIÓN MEDIANTE REDES
Identificación de sistemas
Debido a las limitaciones de las técnicas clásicas de modelación
se realizan intentos por evitar un modelo matemático restrictivo.
La capacidad de las redes neuronales de aprender motiva su
elección para la modelación e identificación de sistemas dinámicos
complejos. Existen varios tipos de redes neuronales,3,4 pero en
este caso las más utilizadas han sido las redes de retropropagación
y las redes recurrentes.
NEURONALES
Las redes neuronales artificiales se componen de elementos
que funcionan de forma similar a las funciones más elementales
de la neurona biológica, mostrando características del cerebro.
Cada entrada aplicada representa la salida de otra neurona y se
multiplica por un peso, análogo a la fuerza sináptica de la neurona
biológica, y todas las entradas pesadas se suman para determinar
el nivel de activación de la neurona (figura 1).
La señal SUMA es procesada por una función de activación
para producir la señal de salida de la neurona (SALIDA). Esa
función es normalmente la sigmoide, expresada
matemáticamente como F(x) = 1/(1+e -x ), o la tangente
hiperbólica, siendo F(x) = tanh(x).
Estas redes poseen la capacidad de aprender a través de
ejemplos, aún sin conocimiento previo, y pueden aproximar
correctamente cualquier función no lineal continua, así como
modificar su comportamiento en respuesta al entorno. Dado un
conjunto de entradas, pueden autoajustarse para producir
respuestas consistentes. Una vez entrenada, la respuesta de una
red puede ser insensible a pequeñas variaciones en su entrada,
habilidad que le permite reconocer patrones a pesar del ruido y la
distorsión que se producen en un ambiente real, es decir, la red
neuronal puede generalizar automáticamente como resultado de
su estructura y producir salidas correctas partiendo de entradas
imperfectas.
• Redes de retropropagación
Las redes de retropropagación feedforward multicapas fueron
las primeras que se usaron para la identificación, a pesar de sus
limitaciones.5
La red de retropropagación se basa en el principio de corrección
del error. El algoritmo comienza asignándole un conjunto aleatorio
de pesos a la red, la que ajusta sus pesos cada vez que se le
aplica un par de entrada salida. Cada par requiere dos pases, uno
hacia delante y otro hacia atrás. El pase hacia delante incluye la
presentación de una muestra de entrada a la red y la posibilidad
de que la activación fluya hasta que alcanza la capa de salida.
Durante el pase hacia atrás la salida de la red después del pase
explicado se compara con la salida objetivo y se calcula el error.
Los pesos pueden ser ajustados para reducir estos errores.
El aspecto crítico en la aplicación de las redes neuronales
artificiales es la selección de la arquitectura de la red, es decir, el
número y tipo de neuronas, la colocación de los lazos de
realimentación y el desarrollo de un algoritmo de entrenamiento
adecuado. Para la identificación y el control de sistemas dinámicos
se requiere que la red usada también sea dinámica. Si se conoce
el orden del sistema todas las entradas y salidas pasadas del
sistema a ser modelado pueden ser conectadas como entradas a
la red. Esto facilitará el aprendizaje de la red neuronal, ya que
deben hacerse menos transformaciones para capturar la
dependencia de las salidas pasadas con las entradas y salidas
pasadas.
Una generalización del modelo de regresión, en la que se asume
la relación dinámica no lineal sería:6
W
X1
X
X2
•
•
•
W1
W2
?
SUMA=XW
Wn
y(t) = f[y(t-1), y(t-2), ... , y(t-n), u(t), u(t-1), ..., u(t-m)]
...(1)
Xn
Este sistema puede representarse mediante la red de tres capas
mostrada en la figura 2, que puede entrenarse mediante el método
de retropropagación, con la ventaja de que se dispone de un
procedimiento de identificación de mayor generalidad, aplicable
teóricamente a cualquier tipo de sistema dinámico.
No existe un procedimiento teórico que permita definir el número
de neuronas en cada capa, pero la selección del número de
SUMA = x1 w1 + x2 w2+ ... + xn wn
Figura 1
Neurona artificial.
36
La inteligencia computacional en la...
neuronas de la capa de entrada es equivalente a la selección del
orden de un modelo de regresión.
El número de neuronas de la capa de salida es bastante
arbitrario, en los casos de procesos monovariables basta una
sola neurona, pero es posible incluir adicionalmente varias
predicciones de salida. El número de neuronas de la capa oculta,
generalmente es una parte del número de neuronas de la capa de
entrada, por ejemplo la mitad, pero su número preciso debe
seleccionarse adecuadamente en cada caso particular.
IDENTIFICACIÓN MEDIANTE LÓGICA
DIFUSA
Los sistemas difusos son funciones matemáticas flexibles
que pueden aproximar otras funciones o datos de mediciones
con una exactitud deseada. Comparados con otras técnicas
de identificación ya explicadas como las redes neuronales
artificiales, los sistemas difusos proporcionan una
representación más transparente del sistema en estudio, lo
cual se debe principalmente a la interpretación lingüística
posible en forma de reglas.
La estructura lógica de las reglas facilita la comprensión y
análisis del modelo de manera semicualitativa, cercana al modo
en que las personas razonan acerca del mundo real.
y(t-n)
y(t-n+1)
y(t)
...
y(t-1)
Construcción de modelos difusos
Dos fuentes comunes de información para la construcción
de modelos difusos son el conocimiento previo, que como se
mencionó puede ser de naturaleza aproximada, y los datos
de mediciones del proceso. La adquisición o ajuste de
modelos difusos a través de datos se denomina
identificación difusa.
Las dos formas de integrar el conocimiento y los datos en un
modelo difuso son:9
• El conocimiento del experto expresado en forma verbal se
traduce en una colección de reglas si-entonces. De esta forma
se crea una estructura de modelo. Los parámetros de la
estructura pueden ser ajustados usando datos de entradasalida mediante algoritmos que explotan el hecho de que, a
nivel computacional, un modelo difuso puede ser visto como
una estructura en capas similar a las redes neuronales
artificiales, a la cual pueden ser aplicados algoritmos de
aprendizaje. Esta variante se conoce como modelación
neurodifusa.
• No se usa conocimiento previo para formular las reglas, y se
construye un modelo difuso a partir de los datos. Se espera que
las reglas extraídas y las funciones de membresía puedan
proporcionar una interpretación posterior del comportamiento
del sistema. Un experto puede confrontar esta información con
su propio conocimiento, modificar las reglas o suprimir algunas y
diseñar experimentos adicionales para obtener más datos
informativos.
Estas técnicas pueden combinarse según la aplicación
particular. En los modelos difusos, la selección de la estructura
incluye lo siguiente:
y(t+1)
u(t-m)
...
...
y(t+2)
...
u(t)
y(t+m)
Figura 2
Representación del modelo de regresión generalizado.
• Redes recurrentes
La principal desventaja de la red feedforward multicapa es que
si no se conoce exactamente el orden del sistema se requiere un
número grande de pares de datos para entrenar la red.
Debido a su estructura, las redes recurrentes no presentan estas
desventajas, pudiendo clasificarse como redes total o parcialmente
recurrentes.7 Las redes recurrentes tienen al menos un lazo de
realimentación. En las redes parcialmente recurrentes, la estructura
de la red principal es feedforward; las conexiones feedback s e
establecen por un conjunto de unidades de contexto y no son
entrenables. Las unidades de contexto memorizan algunos estados
pasados de las unidades ocultas y solo las salidas de la red dependen
de un conjunto de estados previos y de la entrada actual de la red.
Esta es la razón por la cual las redes neuronales recurrentes tienen
características de memoria dinámica.
Las más comúnmente usadas son la red Jordan, con
realimentación de la capa de salida a la capa de entrada y la red
Elman, con realimentación de la capa oculta a la capa de entrada.8
Usando estas redes han sido identificados exitosamente sistemas
de una entrada y una salida (SISO), así como de varias entradas
y varias salidas (MIMO).
La forma convencional de entrenar una red es tomar datos del
proceso y procesarlos fuera de línea, reciclándolos varias veces
(épocas de entrenamiento) hasta que se logra que los errores de
predicción de la red sean suficientemente pequeños. Otra estrategia
posible es el llamado entrenamiento en línea, que consiste en
conectar la red al proceso en forma permanente o durante períodos
prolongados y realizar el entrenamiento en tiempo real, a partir de
las mediciones de entrada y salida del proceso.
• Variables de entrada y salida
En sistemas complejos, no siempre está claro qué variables
deberían ser usadas como entradas al modelo. En el caso de
sistemas dinámicos, también tiene que estimarse el orden del
sistema. El conocimiento previo, la visión sobre el comportamiento
del proceso y el propósito de la modelación son las fuentes de
información típicas para esta opción.
37
Ingeniería Electrónica, Automática y Comunicaciones, 1/2005
• Estructura de las reglas
cada variable
Esta opción determina el nivel de detalle del modelo. Una función
de pertenencia es una relación que asocia cada elemento de un
conjunto con su grado de pertenencia. Pueden utilizarse diferentes
funciones de pertenencia, tales como triangulares, trapezoidales
y gaussianas. El propósito de la modelación y el detalle del
conocimiento disponible también influyen en esta opción.
Se supone que los datos de identificación están bien
distribuidos sobre el rango de interés y deberían ser generados
por excitación persistente. Sin embargo, en la práctica la mayoría
de los procesos industriales solo pueden ser suavemente
perturbados alrededor de un punto de operación. Esto resulta en
datos de identificación que no contienen suficiente información
sobre el comportamiento transitorio del sistema no lineal. Por
tanto, las técnicas de identificación guiada solo por los datos
pueden producir modelos no realistas en términos de
características de estado estable, comportamiento local y valores
de parámetros no confiables. Este problema puede ser resuelto
incorporando conocimiento previo en el método de identificación
que limite los parámetros del modelo difuso.
• Tipo de mecanismo de inferencia, operadores conectivos,
IDENTIFICACIÓN MEDIANTE ALGORITMOS
método de defuzificación
Estas opciones están limitadas por el tipo de modelo difuso
(Mamdani, TS). Dentro de estas restricciones se mantienen
algunas libertades, por ejemplo, para la selección de los operadores
de conjunción.
Después que se fija la estructura, el desempeño de un modelo
difuso puede ser sintonizado ajustando sus parámetros. Los
parámetros ajustables de los modelos lingüísticos son los
parámetros del antecedente y el consecuente de las funciones de
membresía (determinar su forma y posición) y las reglas (determinar
el mapeo entre las regiones difusas del antecedente y el
consecuente).
EVOLUTIVOS
Esta opción incluye el tipo de modelo (lingüístico, singleton,
Takagi-Sugeno: TS). Aspectos importantes son el propósito de
la modelación y el tipo de conocimiento disponible.
• Número y tipo de funciones de pertenencia o membresía para
El término algoritmo evolutivo (también conocido como
computación evolutiva) se utiliza para designar un conjunto de
técnicas que basan su funcionamiento en la emulación de los
procesos naturales de evolución, así como los mecanismos de la
herencia. El algoritmo mantiene un conjunto de soluciones
potenciales a un problema que son usadas para producir nuevas
soluciones potenciales mediante la aplicación de una serie de
operadores, los cuales actúan sobre algunas soluciones que han
sido seleccionadas por su factibilidad respecto al problema
enfrentado.
Cada ciclo de transformación + selección constituye una
generación. Se espera que, tras cierto número de generaciones,
el mejor individuo esté razonablemente próximo a la solución
buscada. Es decir, se trata de desarrollar mecanismos estocásticos
de búsqueda en paralelo con los que mejorar las técnicas clásicas
de búsqueda determinista cuando estas no sean adecuadas o no
existan. Para que la mejora sea efectiva, tales mecanismos deben
estar dirigidos, de ahí la necesidad de introducir un procedimiento
de selección.
Para poder emular suficientemente el proceso de evolución un
algoritmo evolutivo debe disponer de:10,11,12
1. Una población de posibles soluciones debidamente
representadas a través de individuos.
2. Un procedimiento de selección basado en la aptitud de los
individuos.
3. Un procedimiento de transformación, esto es, de
construcción de nuevas soluciones a partir de las disponibles
actualmente.
Diseño de modelos difusos basado en el conocimiento
Para diseñar un modelo difuso basado en el conocimiento del
experto, pueden seguirse los siguientes pasos:
1. Seleccionar las variables de entrada y salida, la estructura de
las reglas y los métodos de inferencia y defuzificación.
2. Decidir el número de términos lingüísticos para cada variable
y definir las correspondientes funciones de pertenencia.
3. Formular el conocimiento disponible en términos de reglas
difusas si-entonces.
4. Validar el modelo (por ejemplo, usando datos). Si el modelo
no alcanza el desempeño deseado, repetir los anteriores pasos
de diseño.
El éxito de este método depende en gran medida del problema
a resolver y de la extensión y calidad del conocimiento disponible.
Para algunos problemas, el diseño basado en el conocimiento
puede conducir rápido a modelos útiles, mientras para otros puede
ser un procedimiento ineficiente y con gran consumo de tiempo
(especialmente el ajuste manual de los parámetros del modelo).
Por tanto, es útil combinar el diseño basado en el conocimiento
con un ajuste guiado por los datos de los parámetros del
modelo.
Operadores básicos de un algoritmo evolutivo
El algoritmo evolutivo mantiene una población de
estructuras que evolucionan de acuerdo con reglas de
selección y otros operadores, tales como la recombinación y
la mutación. La función de estos operadores se resume a
continuación:
Selección: Determina qué soluciones tendrán o no la
oportunidad de reproducción, asignándole a los individuos una
mayor o menor probabilidad de descendencia y dirigiendo el
proceso evolutivo hacia áreas específicas del espacio de
búsqueda.
Diseño de modelos difusos guiado por datos
Una forma de diseñar sistemas difusos a partir de pares de
entrada-salida consiste en especificar la estructura del sistema,
en la que algunos de los parámetros quedan sin especificar y
determinar sus valores de acuerdo con N pares de datos de entrada
salida {(xi, yi)i =1, 2, ..., N} disponibles.
38
La inteligencia computacional en la...
Recombinación: Este operador requiere de dos o más
soluciones padres que se combinan para generar la descendencia.
Mutación: Modifica una sola solución en cada actuación, y su
probabilidad de ocurrencia depende del tipo de algoritmo
evolutivo.
2. Seleccionar la función o índice que indicará la fuerza de cada
posible solución.
Es frecuente utilizar como función de evaluación o función
criterio, que indica el índice del grado de validez de un modelo, el
error cuadrático entre las salidas reales (y) y las salidas propuestas
por el mismo (ym); este error es calculado mediante:
• Ventajas de los algoritmos evolutivos
Los algoritmos evolutivos presentan un conjunto de ventajas
en la solución de problemas de búsqueda y optimización: 10,13
Simplicidad conceptual.
Amplia aplicabilidad.
Superioridad respecto a las técnicas tradicionales en muchos
problemas del mundo real, siendo menos afectados por las
falsas soluciones que afectan a estas.
Tienen el potencial para incorporar conocimiento sobre el
dominio y para hibridizarse con otras técnicas de búsqueda/
optimización.
Pueden explotar fácilmente las arquitecturas en paralelo.
Son robustos a los cambios dinámicos.
Generalmente pueden autoadaptar sus parámetros.
Capaces de resolver problemas para los cuales no se conoce
solución alguna (figura 3).
n
2
e = ∑ ( yi − ymi )
i= 0
donde:
n: Número de datos utilizados.
El mejor modelo es el que produzca el menor error, por tanto el
algoritmo evolutivo deberá minimizar esta ecuación.
3. Elegir una regla para codificar, en un cromosoma, los
parámetros a estimar.
Para el algoritmo evolutivo, cada cromosoma representa una
solución al problema planteado y, por tanto, un posible conjunto
de coeficientes para la estructura de modelo seleccionada
previamente. Existen diferentes formas para codificar las
soluciones, destacándose la binaria y la real.
4. Determinar los operadores genéticos que se utilizarán, y
desarrollar aquellos que sean necesarios.
Se han realizado múltiples trabajos sobre el uso y desarrollo de
operadores para los algoritmos evolutivos. En este paso se
escogerán combinaciones de dichos operadores de acuerdo con
su funcionamiento y a las decisiones tomadas para el enfoque
del problema.
5. Determinar los valores para los parámetros que controlan el
algoritmo evolutivo.
Existe un conjunto de parámetros que controlan el
funcionamiento del algoritmo evolutivo, entre estos el tamaño de
la población, las probabilidades de cruce y mutación, el máximo
número de generaciones y la tolerancia de error.
6. Realizar los experimentos necesarios.
Considerando los pasos anteriores se procede a la
ejecución del algoritmo evolutivo. Para su implementación se
dispone de diferentes herramientas de software y también es
posible desarrollar programas utilizando lenguajes de
propósito general.
= 00
t=
Crear población inicial P(t)
Evaluar aptitudes iniciales
Mientras no criterio de terminación
t=t+1
Seleccionar reproductores P(t) de P(t-1)
Alterar P(t)
Evaluar nueva población P(t)
Fin
Figura 3
Estructura general de un algoritmo evolutivo.
Existen diversos métodos de identificación, que pueden
clasificarse según distintos criterios. Los métodos paramétricos
requieren la elección de una posible estructura del modelo, de un
criterio de ajuste de parámetros, y por último de la estimación de
los parámetros que mejor ajustan el modelo a los datos
experimentales mediante el método de mínimos cuadrados, el de
variables instrumentales y otros, entre los que pueden
mencionarse los algoritmos evolutivos.
Se han desarrollado trabajos previos relacionados con la
identificación, que establecen los siguientes pasos para la
estimación de parámetros de un modelo mediante un algoritmo
evolutivo:14,15,16
1. Elegir y construir el modelo del sistema a identificar.
Atendiendo a las características del sistema a identificar se
selecciona una estructura de modelo, tal como ARX, ARMAX,
BJ y otras.
COMPARACIÓN ENTRE LAS DISTINTAS
TÉCNICAS EN LA IDENTIFICACIÓN
DE SISTEMAS
La identificación de sistemas no lineales se considera un
problema difícil, al incluir dos etapas: la selección de la estructura
del modelo con cierto número de parámetros y la selección de un
algoritmo que estime dichos parámetros.17
En la literatura han sido propuestos numerosos modelos
lineales como solución al proceso de identificación. En este caso
puede elegirse un algoritmo sencillo para estimar los parámetros
del modelo.
39
Ingeniería Electrónica, Automática y Comunicaciones, 1/2005
Aunque muchos sistemas no lineales pueden ser linealizados
representándolos por medio de una ecuación diferencial o en
diferencias, modelar sistemas no-lineales con modelos lineales
implica muchas aproximaciones. Con frecuencia, estas
aproximaciones no reflejan suficientemente el comportamiento
real del sistema no lineal. Por tanto, el obtener un buen modelo,
con una estructura que refleje la información real del sistema,
exige un incremento en costo, debido a la necesidad de algoritmos
más avanzados que puedan manejar modelos con estructuras
complejas.
La lógica difusa permite utilizar el conocimiento que se tiene de
los sistemas para describir su comportamiento mediante el lenguaje
humano y variables lingüísticas, evitando la modelación
matemática compleja, por lo que su aplicación ha sido exitosa en
sistemas en que la modelación matemática convencional resulta
difícil o ineficiente y costosa.18 Sin embargo, a medida que la
complejidad aumenta, se dificulta la determinación del conjunto
de reglas y funciones de pertenencia correctas . Para sistemas
complejos se necesitan más reglas y es más difícil relacionar esas
reglas. Para muchos sistemas, es imposible encontrar un conjunto
de reglas y funciones de pertenencia adecuado.
La lógica difusa usa algoritmos heurísticos para la
defuzificación, la evaluación de reglas y el procesamiento del
antecedente. Los algoritmos heurísticos pueden causar
problemas, principalmente porque la heurística no garantiza
soluciones satisfactorias que operan bajo todas las condiciones
posibles. Además, la capacidad de generalización de la lógica
difusa es peor que la de las redes neuronales. Una vez que las
reglas se determinan, estas permanecen fijas en el controlador
difuso, el cual no es capaz de aprender (excepto en los sistemas
difusos adaptivos, que permiten alguna flexibilidad). La lógica
difusa convencional no puede generar reglas con una exactitud
preespecificada. La exactitud se logra solo mediante prueba y
error.
Las redes neuronales aprenden el comportamiento del sistema
mediante datos de entrada-salida, teniendo buenas capacidades
de generalización, lo que les permite afrontar más efectivamente
la identificación de sistemas no lineales, variantes en el tiempo,
aún bajo condiciones ruidosas. Por tanto, las redes neuronales
pueden resolver muchos problemas no resueltos o resueltos de
forma ineficiente por las técnicas existentes, incluyendo la lógica
difusa.
Las redes neuronales pueden desarrollar soluciones para
encontrar una exactitud preespecificada, pero su principal
problema es su naturaleza de caja negra, es decir, las relaciones
de los cambios de los pesos con el comportamiento de entradasalida durante el entrenamiento y el uso del sistema entrenado
para generar salidas correctas usando los pesos. Este
comportamiento es incompleto comparado a la descripción del
sistema basado en reglas difusas.
Desde el punto de vista de la implementación, las redes
neuronales no proporcionan la solución de costo más efectiva,
son típicamente más costosas que otras tecnologías, en particular
la lógica difusa. Una solución de software generalmente toma un
tiempo mayor para procesar y una implementación de hardware
dedicado es más común para la lógica difusa que para las redes
neuronales, debido al costo. Aunque anteriormente se dieron
algunas sugerencias, resulta difícil determinar la estructura de
una red neuronal para identificar un sistema dado. Además, se
dificulta la manipulación de parámetros para el aprendizaje y la
convergencia.
Comparado con los métodos tradicionales de búsqueda y
optimización, los algoritmos evolutivos son una técnica robusta,
que puede ser utilizada de forma global o semilocal y que se
puede aplicar generalmente a situaciones que tienen poco o
ningún conocimiento acerca del proceso a ser identificado.19
En los últimos años, los algoritmos evolutivos han sido
aplicados incluyendo la optimización paramétrica y la obtención
de modelos, con el inconveniente de que el coste computacional
puede ser muy alto si no se toman precauciones.
CONCLUSIONES
Como se ha explicado, las redes neuronales, la lógica difusa y
los algoritmos evolutivos han demostrado capacidad en la
solución de muchos problemas, pero presentan también las
dificultades mencionadas para su implantación. Algunas de estas
técnicas se han fusionado como: 20,21
• Redes neuronales para el diseño de sistemas difusos y
sistemas difusos para el diseño de redes neuronales.
Una unión entre la lógica difusa y las redes neuronales puede
disminuir los problemas asociados con cada una de estas
técnicas. Las redes neuronales pueden usarse para aprender el
comportamiento del sistema basado en datos de entrada -salida
del sistema. Este conocimiento aprendido puede usarse para
generar reglas y funciones de pertenencia difusas, reduciendo el
tiempo de desarrollo de forma significativa, ayudando también a
resolver el problema de caja negra de las redes neuronales.
Expresar los pesos de las redes neuronales mediante reglas difusas
proporciona una mayor visión de las redes neuronales, llevando
a un diseño de mejores redes neuronales.
• Algoritmos evolutivos para el diseño de sistemas difusos,
así como para el entrenamiento automático y generación de
arquitecturas de redes neuronales.
Los métodos de identificación difusa usualmente generan una
base de reglas grande, en correspondencia con el número de
entradas, lo que resulta en mayores requerimientos de memoria y
tiempo de procesamiento. Para obtener un mejor desempeño de
la modelación difusa, es decir, optimizar la base de reglas y las
funciones de pertenencia, se pueden utilizar los algoritmos
evolutivos.
El aprendizaje y la evolución son dos formas fundamentales de
adaptación. Los algoritmos evolutivos permiten evolucionar los
40
La inteligencia computacional en la...
17. DORF, R. C. & R. H. BISHOP: Modern Control Systems,
Addison - Wesley Longman, Inc.: 51-65, 1998.
18. BABUSKA, R. & H. VERBRUGGEN: "An Overview of Fuzzy
Modelling and Control", Control Engineering Practice, 4:
1593-1606, 1996.
19. DASGUPTA, D. & Z. MICHALEWICZ: Evolutionary
Algorithms in Engineering Applications, Springer-Verlag,
Berlin: 1-16, 1997.
20. COELHO, L. & A. COELHO: "Computational Intelligence in
Process Control: Fuzzy, Evolutionary, Neural, and Hybrid
Approaches", Int. Journal of Knowledge- Based Intelligent
Engineering Systems, 2(2):80-94, 1998.
21. JAIN, L. & N. MARTIN (EDS.): "Fusion of Neural Networks,
Fuzzy Systems and Genetic Algorithms: Industrial
Applications", CRC Press, 1998.
pesos de las conexiones en las redes neuronales, su arquitectura,
reglas de aprendizaje y características de las entradas.
Los ejemplos mencionados constituyen la tendencia actual
de la inteligencia computacional: el desarrollo de sistemas
híbridos.
REFERENCIAS
1. LJUNG, L.: System Identification - Theory for the User, Prentice
Hall, Englewood Cliffs, N. J. , 1987.
2. SÖDERSTROM, T. & P. STOICA: System Identification,
Prentice Hall International, London, 1989.
3. FREEMAN, J. & D. SKAPURA: Neural Networks,
Algorithhms, Aplications and Programming Techniques,
Addison-Wesley Publishing Company, Inc., Mass., 1991.
4. WASSERMAN, P.: Neural Computing. Theory and Practice,
Van Nostrand Reinhold, NY, 1989.
5. NARENDRA, K. & K. PARTHASARATHY: "Identification
and Control of Dynamic Systems Using Neural Networks",
IEEE Trans on Neural Networks, 1(1): 4-7, March, 1990.
6. AGUADO, A.: "Temas de identificación y control adaptable",
Instituto de Cibernética, Matemática y Física, La Habana, 2000.
7. MOHANDAS, K. & A. DEEPTHY: "Partial Recurrent Networks
for Indentification and Control of Nonlinear Systems", Proc.
of the IASTED International Conference on Control and
Appl., Honolulu, USA: 64-68, August, 1998.
8. ELMAN, J.: "Finding Structure in Time", Cognitive Science,
14: 179-211, 1990.
9. LI-XIN, W.: A Course in Fuzzy Systems and Control, Prentice
Hall, Inc., Upper Saddle River, N. J., 1997.
10. GOLDBERG, D. E.: Genetic Algorithms in Search,
Optimization and Machine Learning, Addison-Wesley,
Reading, MA, 1989.
11. MAN, K. F.; K. S. TANG & S. KWONG: "Genetic Algorithms:
Concepts and Applications", IEEE Trans. on Industrial
Electronics, 43(5): 519-534, 1996.
12. MICHALEWICZ, Z.: Genetic Algorithms + Data Structures =
Evolution Programs, 3rd. rev. and extended ed., SpringerVerlag Berlín Heidelberg, 1996.
13. FOGEL, D.: Evolutionary Computation. Toward a New
Philosophy of Machine Intelligence, The Institute of Electrical
and Electronic Engineers, New York, 1995.
14. BILLINGS, S. & K. MAO: "Structure Detection for NonLinear Rational Models Using Genetic Algorithms". Research
Report 634, Department of Automatic Control and Systems
Engineering, University of Sheffield, U. K. 1996.
15. KRISTINSSON, K. & G. DUMONT: "System Identification
and Control Using Genetic Algorithms", IEEE Trans. On
Syst., Man and Cyber., 22(5): 1033-1046, 1992.
16. JOHNSON, T. & P. HUSBANDS: "System Identification
Using Genetic Algorithms", In Schwefel and Männer eds.,
1990: 85-89, 1990.
AUTORES
Mirtha Irízar Mesa
Ingeniera Electrónica, Especialista en Sistemas Digitales, Máster
en Informática Aplicada, Profesora Auxiliar. Sus investigaciones
están relacionadas con los sistemas digitales y la aplicación de la
Inteligencia Computacional a la Automática, la Electrónica y la
Computación.
Correo electrónico: [email protected]
Vol. XXVI, No. 1, 2005
CONGRESOS
INTERNACIONALES
31st Annual Northeast Bioengineering Conference
2 – 3 April 2005
Hoboken, New Jersey
http://www.stevens.edu/NEBC2005
Science and Art 4th International Symposium
9 – 12 June 2005
New Brunswick, New Jersey
http://www.mechanical.rutgers.edu/scart4/
2005 Summer Bioengineering Conference
22 – 26 June 2005
Vail, Colorado
http://www.asme.org/divisions/bed/events/
summer05.html
41
Descargar