Antologia de Inteligencia Artificial 1 (2)

220
TECNOLÓGICO DE ESTUDIOS SUPERIORES DE CHALCO Carrera: Ing. Sistemas Computacionales Profesor: Ing. Marco Antonio Acosta Mendizábal Antología De Inteligencia Artificial (Redes neuronales) Crédito Adicional Alumno: Zamudio Ibarra Anali Orozco Salomón Oscar López Zamora Jovanny Martínez Galicia Cesar Vazquez Lorenzo Anselmo Bautista Bautista Pedro Joan Semestre: Séptimo Grupo: 4701

Transcript of Antologia de Inteligencia Artificial 1 (2)

Page 1: Antologia de Inteligencia Artificial 1 (2)

TECNOLÓGICO DE ESTUDIOS SUPERIORES DE CHALCO

Carrera: Ing. Sistemas Computacionales

Profesor: Ing. Marco Antonio Acosta Mendizábal

Antología De Inteligencia Artificial (Redes neuronales)

Crédito Adicional

Alumno:Zamudio Ibarra Anali

Orozco Salomón OscarLópez Zamora JovannyMartínez Galicia Cesar

Vazquez Lorenzo AnselmoBautista Bautista Pedro Joan

Semestre: Séptimo

Grupo: 4701

Page 2: Antologia de Inteligencia Artificial 1 (2)

INDICE

Capítulo 1

1.1 introducción a las redes neuronales1.2funcionamiento de una red neuronal1.3características una red neuronal

1.3.1 notación1.3.2 funciones de transferencia1.3.2.1 función de transferencia limitador fuerte (hardlim)1.3.2.2 función de transferencia lineal (purelin)1.3.2.3 función de transferencia sigmoidal (logsig)1.3.3 topología de una red

Capitulo 2

2.1 PERCEPTRON2.1.1 Antecedentes2.1.2 Estructura de la Red2.1.3 Regla de Aprendizaje2.1.4 Limitacion del Perceptron2.1.5 Perceptron Multicapa

2.2 ADALINE2.1.1 Antecedentes2.1.2 Estructura de la Red2.1.3 Regla de Aprendizaje

2.3 BACKPROPAGATION2.3.1 Antecedentes2.3.2 Estructura de la Red2.3.3 Regla de Aprendizaje2.3.3.1 Red Backpropagation con momentum2.3.3.2 Red Backpropagation con rata de aprendizaje variable2.3.3.3 Método del Gradiente Conjugado2.3.3.4 Algoritmo de Levenberg - Marquardt

2.4 APRENDIZAJE ASOCIATIVO2.4.1 Antecedentes2.4.2 Estructura de la Red2.4.3 Regla de Hebb2.4.4 Red Instar2.4.5 Red Oustar

Page 3: Antologia de Inteligencia Artificial 1 (2)

2.5 REDES COMPETITIVAS2.5.1 Antecedentes2.5.2 Red de Kohonen2.5.3 Red de Hamming2.5.4 Estructura de la Red2.5.5 Regla de Aprendizaje2.5.6 Problemas con las Redes Competitivas2.5.7 Mapas de Auto Organización (SOM)2.5.8 Learning Vector Quantization (LVQ)

3.1 detección de obstáculos por medio de un robot3.2 control de giro de un motor de inducción jaula de ardilla3.3 filtro adaptivo3.4 predicción de consumo de carga3.5 control de voltaje por inyección de reactivos en una barra remota3.6 reconfiguración de un alimentador primario de catorce nodos3.7 identificación de un sistema no lineal

2.6 REDES RECURRENTES2.6.1 Red de hopfield2.6.1.1 Antecedentes2.6.1.2 Estructura de la Red2.6.1.3 Regla de Aprendizaje2.6.1.4 Indentificacion de Sistemas Dinamicos No Lineales2.6.2 Redes Multicapa2.6.2.1 Estructura de la Red2.6.2.2 Regla de aprendizaje2.6.3 Red de Elman2.6.3.1 Estructura de la Red2.6.3.2 Entrenamiento de la Red

Page 4: Antologia de Inteligencia Artificial 1 (2)

CAPITULO 1

CARACTERÍSTICAS PRINCIPALES DE LAS REDES NEURONALES

1. CARACTERÍSTICAS PRINCIPALES DE LAS REDES NEURONALES

1.1 INTRODUCCIÓN A LAS REDES NEURONALES

Resulta irónico pensar que máquinas de cómputo capaces de realizar 100millones de operaciones en coma flotante por segundo, no sean capaces deentender el significado de las formas visuales o de distinguir entre distintas clasesde objetos. Los sistemas de computación secuencial, son exitosos en la resoluciónde problemas matemáticos o científicos, en la creación, manipulación ymantenimiento de bases de datos, en comunicaciones electrónicas, en elprocesamiento de textos, gráficos y auto edición, incluso en funciones de controlde electrodomésticos, haciéndolos más eficientes y fáciles de usar, perodefinitivamente tienen una gran incapacidad para interpretar el mundo.

Esta dificultad de los sistemas de cómputo que trabajan bajo la filosofía de lossistemas secuenciales, desarrollados por Von Neumann, ha hecho que un grannúmero de investigadores centre su atención en el desarrollo de nuevos sistemasde tratamiento de la información, que permitan solucionar problemas cotidianos,tal como lo hace el cerebro humano; este órgano biológico cuenta con variascaracterísticas deseables para cualquier sistema de procesamiento digital, talescomo:

1. Es robusto y tolerante a fallas, diariamente mueren neuronas sin afectar sudesempeño.

2. Es flexible, se ajusta a nuevos ambientes por aprendizaje, no hay queprogramarlo.

3. Puede manejar información difusa, con ruido o inconsistente.4. Es altamente paralelo5. Es pequeño, compacto y consume poca energía.

El cerebro humano constituye una computadora muy notable, es capaz deinterpretar información imprecisa suministrada por los sentidos a un ritmoincreíblemente veloz. Logra discernir un susurro en una sala ruidosa, un rostro enun callejón mal iluminado y leer entre líneas un discurso; lo más impresionante detodo, es que el cerebro aprende sin instrucciones explícitas de ninguna clase, acrear las representaciones internas que hacen posibles estas habilidades.

Basados en la eficiencia de los procesos llevados a cabo por el cerebro, einspirados en su funcionamiento, varios investigadores han desarrollado desdehace más de 30 años la teoría de las Redes Neuronales Artificiales (RNA), lascuales emulan las redes neuronales biológicas, y que se han utilizado paraaprender estrategias de solución basadas en ejemplos de comportamiento típico

Page 5: Antologia de Inteligencia Artificial 1 (2)

de patrones; estos sistemas no requieren que la tarea a ejecutar se programe,ellos generalizan y aprenden de la experiencia.

La teoría de las RNA ha brindado una alternativa a la computación clásica, paraaquellos problemas, en los cuales los métodos tradicionales no han entregadoresultados muy convincentes, o poco convenientes. Las aplicaciones más exitosasde las RNA son:

1. Procesamiento de imágenes y de voz2. Reconocimiento de patrones3. Planeamiento4. Interfaces adaptivas para sistemas Hombre/máquina5. Predicción6. Control y optimización7. Filtrado de señales

Los sistemas de cómputo tradicional procesan la información en forma secuencial;un computador serial consiste por lo general de un solo procesador que puedemanipular instrucciones y datos que se localizan en la memoria, el procesador lee,y ejecuta una a una las instrucciones en la memoria; este sistema serial essecuencial, todo sucede en una sola secuencia determinística de operaciones. LasRNA no ejecutan instrucciones, responden en paralelo a las entradas que se lespresenta. El resultado no se almacena en una posición de memoria, este es elestado de la red para el cual se logra equilibrio. El conocimiento de una redneuronal no se almacena en instrucciones, el poder de la red está en su topologíay en los valores de las conexiones (pesos) entre neuronas.

Las RNA son una teoría que aún está en proceso de desarrollo, su verdaderapotencialidad no se ha alcanzado todavía; aunque los investigadores handesarrollado potentes algoritmos de aprendizaje de gran valor práctico, lasrepresentaciones y procedimientos de que se sirve el cerebro, son aúndesconocidas. Tarde o temprano los estudios computacionales del aprendizajecon RNA acabarán por converger a los métodos descubiertos por evolución,cuando eso suceda, muchos datos empíricos concernientes al cerebrocomenzarán súbitamente a adquirir sentido y se tornarán factibles muchasaplicaciones desconocidas de las redes neuronales.

1. CARACTERÍSTICAS PRINCIPALES DE LAS REDES NEURONALES

1.2 FUNCIONAMIENTO DE UNA NEURONA BIOLÓGICA

El cerebro consta de un gran número (aproximadamente 1011) de elementosaltamente interconectados (aproximadamente 104 conexiones por elemento),llamados neuronas. Estas neuronas tienen tres componentes principales, lasdendritas, el cuerpo de la célula o soma, y el axón. Las dendritas, son el árbolreceptor de la red, son como fibras nerviosas que cargan de señales eléctricas elcuerpo de la célula. El cuerpo de la célula, realiza la suma de esas señales de

Page 6: Antologia de Inteligencia Artificial 1 (2)

entrada. El axón es una fibra larga que lleva la señal desde el cuerpo de la célulahacia otras neuronas. El punto de contacto entre un axón de una célula y unadendrita de otra célula es llamado sinapsis, la longitud de la sinapsis esdeterminada por la complejidad del proceso químico que estabiliza la función de lared neuronal. Un esquema simplificado de la interconexión de dos neuronasbiológicas se observa en la figura 1.2.1

Figura 1.2.1 Neuronas Biológicas

Algunas de las estructuras neuronales son determinadas en el nacimiento, otraparte es desarrollada a través del aprendizaje, proceso en que nuevas conexionesneuronales son realizadas y otras se pierden por completo. El desarrolloneurológico se hace crítico durante los primeros años de vida, por ejemplo estádemostrado que si a un cachorro de gato, se le impide usar uno de sus ojosdurante un periodo corto de tiempo, el nunca desarrollara una visión normal enese ojo.

Las estructuras neuronales continúan cambiando durante toda la vida, estoscambios consisten en el refuerzo o debilitamiento de las uniones sinápticas; porejemplo se cree que nuevas memorias son formadas por la modificación de estaintensidad entre sinapsis, así el proceso de recordar el rostro de un nuevo amigo,consiste en alterar varias sinapsis.

Como consecuencia de los primeros estudios sobre la base neural de los sistemasmnémicos (relacionados con la memoria), se creía que el almacenamiento de lamemoria asociativa, tanto implícita como explícita, requerían de un circuito

Page 7: Antologia de Inteligencia Artificial 1 (2)

neuronal muy complejo. Entre quienes comenzaron a oponerse a este enfoque sehallaba Donald O. Hebb, profesor de la universidad de Milner; Hebb sugirió que elaprendizaje asociativo podría ser producido por un mecanismo celular sencillo ypropuso que las asociaciones podrían formarse por una actividad neuronalcoincidente: "Cuando un axón de la célula A excita la célula B y participa en suactivación, se produce algún proceso de desarrollo o cambio metabólico en una oen ambas células, de suerte que la eficacia de A, como célula excitadora de B, seintensifica". Según la regla Hebbiana de aprendizaje, el que coincida la actividadde las neuronas presinápticas (suministran el impulso de entrada) con la de laspostsinápticas (reciben el impulso) es muy importante para que se refuerce laconexión entre ellas, este mecanismo es llamado pre-postasociativo, del cualpuede observarse un ejemplo en la figura 1.2.2

Figura 1.2.2 Cambios asociativos de las fuerzas sinápticas durante el aprendizaje

Todas las neuronas conducen la información de forma similar, esta viaja a lo largode axones en breves impulsos eléctricos, denominados potenciales de acción; lospotenciales de acción que alcanzan una amplitud máxima de unos 100 mV y duran1 ms, son resultado del desplazamiento a través de la membrana celular de ionesde sodio dotados de carga positiva, que pasan desde el fluido extracelular hasta elcitoplasma intracelular; la concentración extracelular de sodio superaenormemente la concentración intracelular.

La membrana en reposo mantiene un gradiente de potencial eléctrico de -70mv, elsigno negativo se debe a que el citoplasma intracelular está cargadonegativamente con respecto al exterior; los iones de sodio no atraviesan confacilidad la membrana en reposo, los estímulos físicos o químicos que reducen elgradiente de potencial, o que despolaricen la membrana, aumentan supermeabilidad al sodio y el flujo de este ion hacia el exterior acentúa ladespolarización de la membrana, con lo que la permeabilidad al sodio seincrementa más aún.

Alcanzado un potencial crítico denominado "umbral", la realimentación positivaproduce un efecto regenerativo que obliga al potencial de membrana a cambiar de

Page 8: Antologia de Inteligencia Artificial 1 (2)

signo. Es decir, el interior de la célula se torna positivo con respecto al exterior, alcabo de 1 ms, la permeabilidad del sodio decae y el potencial de membranaretorna a -70mv, su valor de reposo. Tras cada explosión de actividad iónica, elmecanismo de permeabilidad del sodio se mantiene refractario durante algunosmilisegundos; la tasa de generación de potenciales de acción queda así limitada aunos 200 impulsos por segundo, o menos.

Aunque los axones puedan parecer hilos conductores aislados, no conducen losimpulsos eléctricos de igual forma, como hilos eléctricos no serían muy valiosos,pues su resistencia a lo largo del eje es demasiado grande y a resistencia de lamembrana demasiado baja; la carga positiva inyectada en el axón durante elpotencial de acción queda disipada uno o dos milímetros más adelante, para quela señal recorra varios centímetros es preciso regenerar frecuentemente elpotencial de acción a lo largo del camino la necesidad de reforzar repetidamenteesta corriente eléctrica limita a unos 100 metros por segundo la velocidad máximade viaje de los impulsos, tal velocidad es inferior a la millonésima de la velocidadde una señal eléctrica por un hilo de cobre.

Los potenciales de acción, son señales de baja frecuencia conducidas en formamuy lenta, estos no pueden saltar de una célula a otra, la comunicación entreneuronas viene siempre mediada por transmisores químicos que son liberados enlas sinapsis. Un ejemplo de comunicación entre neuronas y del proceso químicode la liberación de neurotransmisores se ilustra en la figura 1.2.3.

Figura 1.2.3 Comunicación entre neuronas

Page 9: Antologia de Inteligencia Artificial 1 (2)

Cuando un potencial de acción llega al terminal de un axón son liberadostransmisores alojados en diminutas vesículas, que después son vertidos en unahendidura de unos 20 nanómetros de anchura que separa la membranapresináptica de la postsináptica; durante el apogeo del potencial de acción,penetran iones de calcio en el terminal nervioso, su movimiento constituye la señaldeterminante de la exocitosis sincronizada, esto es la liberación coordinada demoléculas neurotransmisoras. En cuanto son liberados, los neurotransmisores seenlazan con receptores postsinápticos, instando el cambio de la permeabilidad dela membrana.

Cuando el desplazamiento de carga hace que la membrana se aproxime al umbralde generación de potenciales de acción, se produce un efecto excitador y cuandola membrana resulta estabilizada en la vecindad el valor de reposo se produce unefecto inhibidor. Cada sinapsis produce sólo un pequeño efecto, para determinarla intensidad (frecuencia de los potenciales de acción) de la respuesta cadaneurona ha de integrar continuamente hasta unas 1000 señales sinápticas, que sesuman en el soma o cuerpo de la célula.

En algunas neuronas los impulsos se inician en la unión entre el axón y el soma, yluego se transmiten a lo largo del axón a otras células nerviosas. Cuando el axónestá cerca de sus células destino, se divide en muchas ramificaciones que formansinapsis con el soma o axones de otras células. Las sinapsis pueden serexcitatorias o inhibitorias según el neurotransmisor que se libere, cada neuronarecibe de 10.000 a 100.000 sinapsis y su axón realiza una cantidad similar desinapsis.

Las sinapsis se clasifican según su posición en la superficie de la neuronareceptora en tres tipos: axo-somática, axo-dendrítica, axo-axónica. Los fenómenosque ocurren en la sinapsis son de naturaleza química, pero tienen efectoseléctricos laterales que se pueden medir.

En la figura 1.2.4 se visualiza el proceso químico de una sinapsis y los diferenteselementos que hacen parte del proceso tanto en la neurona presináptica, como enla postsináptica.

Page 10: Antologia de Inteligencia Artificial 1 (2)

Figura 1.2.4 Proceso químico de una sinapsis

Las RNA no alcanzan la complejidad del cerebro, sin embargo hay dos aspectossimilares entre redes biológicas y artificiales, primero los bloques de construcciónde ambas redes son sencillos elementos computacionales (aunque las RNA sonmucho más simples que las biológicas) altamente interconectados; segundo, lasconexiones entre neuronas determinan la función de la red.

Page 11: Antologia de Inteligencia Artificial 1 (2)

1. CARACTERÍSTICAS PRINCIPALES DE LAS REDES NEURONALES

1.3 CARACTERISTICAS DE UNA RED NEURONAL ARTIFICIAL

El modelo de una neurona artificial es una imitación del proceso de una neuronabiológica, puede también asemejarse a un sumador hecho con un amplificadoroperacional tal como se ve en la figura 1.3.1.

Figura 1.3.1 Neurona Artificial

Existen varias formas de nombrar una neurona artificial, es conocida como nodo,neuronodo, celda, unidad o elemento de procesamiento (PE); En la figura 1.3.1 seobserva un PE en forma general y su similitud con una neurona biológica

Figura 1.3.2 De la neurona biológica a la neurona artificial

De la observación detallada del proceso biológico se han hallado los siguientesanálogos con el sistema artificial:

Page 12: Antologia de Inteligencia Artificial 1 (2)

Las entradas Xi representan las señales que provienen de otras neuronas yque son capturadas por las dendritas.

Los pesos Wi son la intensidad de la sinapsis que conecta dos neuronas;tanto Xi como Wi son valores reales.

es la función umbral que la neurona debe sobrepasar para activarse; esteproceso ocurre biológicamente en el cuerpo de la célula.

Las señales de entrada a una neurona artificial X1, X2,.., Xn son variablescontinuas en lugar de pulsos discretos, como se presentan en una neuronabiológica. Cada señal de entrada pasa a través de una ganancia o peso, llamadopeso sináptico o fortaleza de la conexión cuya función es análoga a la de lafunción sináptica de la neurona biológica. Los pesos pueden ser positivos(excitatorios), o negativos (inhibitorios), el nodo sumatorio acumula todas lasseñales de entradas multiplicadas por los pesos o ponderadas y las pasa a lasalida a través de una función umbral o función de transferencia. La entrada neta acada unidad puede escribirse de la siguiente manera

(1.3.1)

Una idea clara de este proceso se muestra en la figura 1.3.3, en donde puedeobservarse el recorrido de un conjunto de señales que entran a la red.

Figura 1.3.3 Proceso de una red neuronal

Page 13: Antologia de Inteligencia Artificial 1 (2)

Una vez que se ha calculado la activación del nodo, el valor de salida equivale a

(1.3.2)

Donde representa la función de activación para esa unidad, que corresponde a

la función escogida para transformar la entrada netai en el valor de salida y quedepende de las características específicas de cada red.

1.3 CARACTERISTICAS DE UNA RED NEURONAL ARTIFICIAL

1.3.1 Notación: Una notación matemática estándar no ha sido aún establecidapara las redes neuronales, ya que sus aplicaciones son útiles en muchos campos,Ingeniería, Física, Sicología y Matemáticas. En este trabajo se adoptó la siguienteconvención para identificar las variables, de manera que fuera compatibles con lasdiferentes áreas, siendo lo más sencilla posible:

Valores escalares: se representarán por medio de letra minúscula itálica Vectores: se representarán con letra itálica minúscula en negrilla. Matrices: se representarán con letra mayúscula itálica en negrilla.

Para redes multicapa, los parámetros adoptaran la siguiente forma:

Donde c, es el número de la capa a la que corresponde dicho peso, y s representalas neuronas que participan en proceso.

Así representa el peso de la segunda capa que comunica la primera neuronade dicha capa con la primera neurona de la primera capa. De igual manera el pesoque representa la conexión desde la última neurona de la capa dos a la últimaneurona de la capa uno estará representado por:

Esta convención es adoptada para todos los parámetros de la red.

1.3 CARACTERISTICAS DE UNA RED NEURONAL ARTIFICIAL

1.3.2 Funciones de Transferencia: Un modelo más académico que facilita elestudio de una neurona, puede visualizarse en la figura 1.3.4

Page 14: Antologia de Inteligencia Artificial 1 (2)

Figura 1.3.4 Neurona de una sola entrada

Las entradas a la red serán ahora presentadas en el vector p, que para el caso deuna sola neurona contiene solo un elemento, w sigue representando los pesos y lanueva entrada b es una ganancia que refuerza la salida del sumador n, la cual esla salida neta de la red; la salida total está determinada por la función detransferencia , la cual puede ser una función lineal o no lineal de n, y que esescogida dependiendo de las especificaciones del problema que la neurona tengaque resolver; aunque las RNA se inspiren en modelos biológicos no existe ningunalimitación para realizar modificaciones en las funciones de salida, así que seencontrarán modelos artificiales que nada tienen que ver con las característicasdel sistema biológico.

1.3.2.1 Limitador fuerte (Hardlim): La figura 1.3.5, muestra como esta función detransferencia acerca la salida de la red a cero, si el argumento de la función esmenor que cero y la lleva a uno si este argumento es mayor que uno. Esta funcióncrea neuronas que clasifican las entradas en dos categorías diferentes,característica que le permite ser empleada en la red tipo Perceptrón

(1.3.3)

Figura 1.3.5 Función de transferencia Hardlim

Page 15: Antologia de Inteligencia Artificial 1 (2)

El icono para la función Hardlim reemplazara a la letra f en la expresión general,cuando se utilice la función Hardlim.

Una modificación de esta función puede verse en la figura 1.3.6, la que representala función de transferencia Hardlims que restringe el espacio de salida a valoresentre 1 y –1.

(1.3.4)

Figura 1.3.6 Función de transferencia Hardlims

1.3.2.2 Función de transferencia lineal (purelin): La salida de una función detransferencia lineal es igual a su entrada,

(1.3.5)

Page 16: Antologia de Inteligencia Artificial 1 (2)

Figura 1.3.7 Función de transferencia lineal

En la gráfica del lado derecho de la figura 1.3.6, puede verse la característica de lasalida a de la red, comparada con la entrada p, más un valor de ganancia b,neuronas que emplean esta función de transferencia son utilizadas en la red tipoAdaline.

1.3.2.3 Función de transferencia sigmoidal (logsig): Esta función toma los valoresde entrada, los cuales pueden oscilar entre más y menos infinito, y restringe lasalida a valores entre cero y uno, de acuerdo a la expresión

(1.3.6)

Esta función es comúnmente usada en redes multicapa, como la Backpropagation,en parte porque la función logsig es diferenciable.

Figura 1.3.8 Función de transferencia sigmoidal

La tabla 1.3.1 hace una relación de las principales funciones de transferenciaempleadas en el entrenamiento de redes neuronales.

NombreRelación

Entrada /SalidaIcono Función

Limitador Fuerte hardlim

Limitador FuerteSimétrico hardlims

Page 17: Antologia de Inteligencia Artificial 1 (2)

Lineal Positiva poslin

Lineal purelin

Lineal Saturado satlin

Lineal SaturadoSimétrico satlins

Sigmoidal Logarítmico logsig

Tangente SigmoidalHiperbólica tansig

Competitiva compet

Tabla 1.3.1 Funciones de Transferencia

1.3 CARACTERISTICAS DE UNA RED NEURONAL ARTIFICIAL

1.3.3 Topología de una Red: Típicamente una neurona tiene más de unaentrada; en la figura 1.3.9 se observa una neurona con R entradas; las entradasindividuales p1,p2,...,pR son multiplicadas por los pesos correspondientes w1,1,w1,2,...w1,R pertenecientes a la matriz de pesos W.

Figura 1.3.9 Neurona con múltiples entradas

Page 18: Antologia de Inteligencia Artificial 1 (2)

La neurona tiene una ganancia b, la cual llega al mismo sumador al que llegan lasentradas multiplicadas por los pesos, para formar la salida n,

(1.3.7)

Esta expresión puede ser escrita en forma matricial

(1.3.8)

Los subíndices de la matriz de pesos representan los términos involucrados en laconexión, el primer subíndice representa la neurona destino y el segundo,representa la fuente de la señal que alimenta a la neurona. Por ejemplo, losíndices de w1,2 indican que este peso es la conexión desde la segunda entrada ala primera neurona. Esta convención se hace más útil cuando hay más de unaneurona, o cuando se tiene una neurona con demasiados parámetros; en estecaso la notación de la figura 1.3.9, puede resultar inapropiada y se prefiereemplear la notación abreviada representada en la figura 1.3.10

Figura 1.3.10 Neurona con múltiples entradas, notación abreviada

El vector de entrada p es representado por la barra sólida vertical a la izquierda.Las dimensiones de p son mostradas en la parte inferior de la variable como Rx1,indicando que el vector de entrada es un vector fila de R elementos. Las entradasvan a la matriz de pesos W, la cual tiene R columnas y solo una fila para el casode una sola neurona. Una constante 1 entra a la neurona multiplicada por laganancia escalar b. La salida de la red a, es en este caso un escalar, si la redtuviera más de una neurona a sería un vector.

Dentro de una red neuronal, los elementos de procesamiento se encuentranagrupados por capas, una capa es una colección de neuronas; de acuerdo a laubicación de la capa en la RNA, esta recibe diferentes nombres

Page 19: Antologia de Inteligencia Artificial 1 (2)

Capa de entrada: Recibe las señales de la entrada de la red, algunos autores noconsideran el vector de entrada como una capa pues allí no se lleva a cabo ningúnproceso.

Capas ocultas: Estas capas son aquellas que no tienen contacto con el medioexterior, sus elementos pueden tener diferentes conexiones y son estas las quedeterminan las diferentes topologías de la red

Capa de salida: Recibe la información de la capa oculta y transmite la respuesta almedio externo.

Una red de una sola capa con un número S de neuronas, se observa en la figura1.3.11 en la cual, cada una de las R entradas es conectada a cada una de lasneuronas, la matriz de pesos tiene ahora S filas.

Figura 1.3.11 Capa de S neuronas

La capa incluye la matriz de pesos, los sumadores, el vector de ganancias, lafunción de transferencia y el vector de salida. Esta misma capa se observa ennotación abreviada en la figura 1.3.12

Page 20: Antologia de Inteligencia Artificial 1 (2)

Figura 1.3.12 Capa de S neuronas con notación abreviada

En la figura 1.3.12 se han dispuesto los símbolos de las variables de tal maneraque describan las características de cada una de ellas, por ejemplo la entrada a lared es el vector p cuya longitud R aparece en su parte inferior, W es la matriz depesos con dimensiones SxR expresadas debajo del símbolo que la representadentro de la red, a y b son vectores de longitud S el cual, como se ha dichoanteriormente representa el número de neuronas de la red.

Ahora, si se considera una red con varias capas, o red multicapa, cada capatendrá su propia matriz de peso W, su propio vector de ganancias b, un vector deentradas netas n, y un vector de salida a. La versión completa y la versión ennotación abreviada de una red de tres capas, pueden ser visualizadas en lasfiguras 1.3.13 y 1.3.14, respectivamente.

Figura 1.3.13 Red de tres capas

Page 21: Antologia de Inteligencia Artificial 1 (2)

Para esta red se tienen R entradas, S1 neuronas en la primera capa, S2 neuronasen la segunda capa, las cuales pueden ser diferentes; las salidas de las capas 1 y2 son las entradas a las capas 2 y 3 respectivamente, así la capa 2 puede servista como una red de una capa con R=S1 entradas, S1=S2 neuronas y una matrizde pesos W2 de dimensiones S1xS2

Figura 1.3.14 Red de tres capas con notación abreviada

Las redes multicapa son más poderosas que las redes de una sola capa, porejemplo, una red de dos capas que tenga una función sigmoidal en la primeracapa y una función lineal en la segunda, puede ser entrenada para aproximarmuchas funciones de forma aceptable, una red de una sola capa no podría haceresto como se verá en capítulos posteriores.

Un tipo de redes, un poco diferente a las que se han estudiado hasta el momento,son las redes recurrentes, estas contienen una realimentación hacia atrás oretroalimentación, es decir algunas de sus salidas son conectadas a sus entradas.Un tipo de red recurrente de tiempo discreto es mostrado en la figura 1.3.15.

Figura 1.3.15 Redes Recurrentes

Page 22: Antologia de Inteligencia Artificial 1 (2)

Para este tipo particular de red el vector p suple las condiciones iniciales (a(0)= p),y la salida está determinada por:

(1.3.9)

Donde a(1) y a(2), corresponden a la salida de la red para el primer y segundointervalo de tiempo, respectivamente. La red alcanzará su estado estable cuandola salida para un instante de tiempo sea la misma salida del instante de tiempoanterior.

Las redes recurrentes son potencialmente más poderosas que las redes conrealimentación hacia delante. En este tipo de redes se introducen también dosnuevos conceptos, el bloque de retardo de la figura 1.3.16 y el bloque integradorde la figura 1.3.17

Retardo

Figura 1.3.16 Bloque de retardo

(1.3.10)

La salida del bloque de retardo es el valor de entrada retrasado en un paso detiempo, este bloque requiere que la salida sea inicializada con el valor a(0) para eltiempo t=0; a(0) se convierte en la salida de la red para el instante de tiempoinicial.

Integrador

Figura 1.3.17 Bloque integrador

Page 23: Antologia de Inteligencia Artificial 1 (2)

La salida del integrador es calculada de acuerdo a la expresión

(1.3.11)

Una red recurrente cuya implementación necesita un bloque integrador se ilustraen la figura 2.6.4.

En general las redes neuronales se pueden clasificar de diversas maneras, segúnsu topología, forma de aprendizaje (supervisado o no supervisado), tipos defunciones de activación, valores de entrada (binarios o continuos); un resumen deesta clasificación se observa en la figura 1.3.18

Figura 1.3.18 Clasificación de las Redes Neuronales

Page 24: Antologia de Inteligencia Artificial 1 (2)

CAPITULO 2

PRINCIPALES TIPOS DE REDES NEURONALES

2.1 PERCEPTRÓN

2.1.1 Antecedentes: La primera red neuronal conocida, fue desarrollada en 1943por Warren McCulloch y Walter Pitts; esta consistía en una suma de las señalesde entrada, multiplicadas por unos valores de pesos escogidos aleatoriamente. Laentrada es comparada con un patrón preestablecido para determinar la salida dela red. Si en la comparación, la suma de las entradas multiplicadas por los pesoses mayor o igual que el patrón preestablecido la salida de la red es uno (1), encaso contrario la salida es cero (0). Al inicio del desarrollo de los sistemas deinteligencia artificial, se encontró gran similitud entre su comportamiento y el de lossistemas biológicos y en principio se creyó que este modelo podía computarcualquier función aritmética o lógica.

La red tipo Perceptrón fue inventada por el sicólogo Frank Rosenblatt en el año1957. Su intención era ilustrar algunas propiedades fundamentales de lossistemas inteligentes en general, sin entrar en mayores detalles con respecto acondiciones específicas y desconocidas para organismos biológicos concretos.Rosenblatt creía que la conectividad existente en las redes biológicas tiene unelevado porcentaje de aleatoriedad, por lo que se oponía al análisis de McCullochPitts en el cual se empleaba lógica simbólica para analizar estructuras bastanteidealizadas. Rosenblatt opinaba que la herramienta de análisis más apropiada erala teoría de probabilidades, y esto lo llevó a una teoría de separabilidad estadísticaque utilizaba para caracterizar las propiedades más visibles de estas redes deinterconexión ligeramente aleatorias.

El primer modelo de Perceptrón fue desarrollado en un ambiente biológicoimitando el funcionamiento del ojo humano, el fotoperceptrón como se le llamo eraun dispositivo que respondía a señales ópticas; como se muestra en el figura 2.1.1la luz incide en los puntos sensibles (S) de la estructura de la retina, cada punto Sresponde en forma todo-nada a la luz entrante, los impulsos generados por lospuntos S se transmiten a las unidades de asociación (A) de la capa de asociación;cada unidad A está conectada a un conjunto aleatorio de puntos S, denominadosconjunto fuente de la unidad A, y las conexiones pueden ser tanto excitatoriascomo inhibitorias. Las conexiones tienen los valores posibles +1, -1 y 0, cuandoaparece un conjunto de estímulos en la retina, una unidad A se activa si la sumade sus entradas sobrepasa algún valor umbral; si la unidad esta activada, Aproduce una salida que se envía a la siguiente capa de unidades.

Page 25: Antologia de Inteligencia Artificial 1 (2)

Figura 2.1.1 Modelo del Fotoperceptrón de Rosenblatt

De forma similar, las unidades A están conectadas a unidades de respuesta (R)dentro de la capa de respuesta y la conectividad vuelve a ser aleatorio entrecapas, pero se añaden conexiones inhibitorias de realimentación procedentes dela capa de respuesta y que llegan a la capa de asociación, también hayconexiones inhibitorias entre las unidades R. Todo el esquema de conexiones sedescribe en forma general en un diagrama de Venn, para un Perceptrón sencillocon dos unidades de respuesta como el de la figura 2.1.2.

Figura 2.1.2 Esquema de conexiones de un Perceptrón sencillo

El Perceptrón era inicialmente un dispositivo de aprendizaje, en su configuracióninicial no estaba en capacidad de distinguir patrones de entrada muy complejos,sin embargo mediante un proceso de aprendizaje era capaz de adquirir estacapacidad. En esencia, el entrenamiento implicaba un proceso de refuerzomediante el cual la salida de las unidades A se incrementaba o se decrementabadependiendo de si las unidades A contribuían o no a las respuestas correctas del

Page 26: Antologia de Inteligencia Artificial 1 (2)

Perceptrón para una entrada dada. Se aplicaba una entrada a la retina, y elestímulo se propagaba a través de las capas hasta que se activase una unidad derespuesta. Si se había activado la unidad de respuesta correcta, se incrementabala salida de las unidades A que hubieran contribuido. Si se activaba una unidad Rincorrecta, se hacía disminuir la salida de las unidades A que hubiesencontribuido.

Mediante estas investigaciones se pudo demostrar que el Perceptrón era capaz declasificar patrones correctamente, en lo que Rosenblatt denominaba un entornodiferenciado, en el cual cada clase estaba formada por patrones similares. ElPerceptrón también era capaz de responder de manera congruente frente apatrones aleatorios, pero su precisión iba disminuyendo a medida que aumentabael número de patrones que intentaba aprender.

En 1969 Marvin Minsky y Seymour Papert publicaron su libro: "Perceptrons: Anintroduction to Computational Geometry"[], el cual para muchos significó el final delas redes neuronales. En el se presentaba un análisis detallado del Perceptrón, entérminos de sus capacidades y limitaciones, en especial en cuanto a lasrestricciones que existen para los problemas que una red tipo Perceptrón puederesolver; la mayor desventaja de este tipo de redes es su incapacidad parasolucionar problemas que no sean linealmente separables.

Minsky y Papert se apartaban de la aproximación probabilística de Rosenblatt yvolvían a las ideas de cálculo de predicados en el análisis del Perceptrón. Su ideade Perceptrón aparece en la figura 2.1.3

Figura 2.1.3 Perceptrón según Minsky y Papert

La estructura de un Perceptrón sencillo es similar a la del elemento general deprocesamiento que se muestra en la figura 2.1.3; en la que se observa la adiciónde una condición umbral en la salida. Si la entrada neta, a esta condición es mayorque el valor umbral, la salida de la red es 1, en caso contrario es 0.

La función de salida de la red en la figura 2.1.3 es llamada función umbral ofunción de transferencia

Page 27: Antologia de Inteligencia Artificial 1 (2)

(2.1.1)

A pesar de esta limitación, el Perceptrón es aún hoy una red de gran importancia,pues con base en su estructura se han desarrollado otros modelos de redneuronal como la red Adaline y las redes multicapa.

2.1 PERCEPTRÓN

2.1.2 Estructura de la red:

Fig. 2.1.4 Perceptrón

La única neurona de salida del Perceptrón realiza la suma ponderada de lasentradas, resta el umbral y pasa el resultado a una función de transferencia de tipoescalón. La regla e decisión es responder +1 si el patrón presentado pertenece ala clase A, o –1 si el patrón pertenece a la clase B (figura 2.1.4), la salida dependede la entrada neta (n = suma de las entradas pi ponderadas).

La red tipo Perceptrón emplea principalmente dos funciones de transferencia,hardlim con salidas 1, 0 o hardlims con salidas 1, -1; su uso depende del valor desalida que se espera para la red, es decir si la salida de la red es unipolar obipolar; sin embargo la función hardlims es preferida sobre la hardlim, ya que eltener un cero multiplicando algunas de los valores resultantes del producto de lasentradas por el vector de pesos, ocasiona que estos no se actualicen y que elaprendizaje sea más lento.

Una técnica utilizada para analizar el comportamiento de redes como elPerceptrón es presentar en un mapa las regiones de decisión creadas en elespacio multidimensional de entradas de la red, en estas regiones se visualiza quépatrones pertenecen a una clase y cuáles a otra, el Perceptrón separa lasregiones por un hiperplano cuya ecuación queda determinada por los pesos de las

Page 28: Antologia de Inteligencia Artificial 1 (2)

conexiones y el valor umbral de la función de activación de la neurona, en estecaso los valores de los pesos pueden fijarse o adaptarse empleando diferentesalgoritmos de entrenamiento.

Para ilustrar el proceso computacional del Perceptrón consideremos la matriz depesos en forma general.

(2.1.2)

Los pesos para una neurona están representados por un vector compuesto de loselementos de la i-ésima fila de W

(2.1.3)

De esta forma y empleando la función de transferencia hardlim la salida de laneurona i de la capa de salida

(2.1.4)

El Perceptrón, al constar de una sola capa de entrada y otra de salida con unaúnica neurona, tiene una capacidad de representación bastante limitada, estemodelo sólo es capaz de discriminar patrones muy sencillos, patrones linealmenteseparables (concepto que se estudiará en la sección 2.1.4), el caso más conocidoes la imposibilidad del Perceptrón de representar la función OR EXCLUSIVA.

2.1 PERCEPTRÓN

2.1.3 Regla de aprendizaje: El Perceptrón es un tipo de red de aprendizajesupervisado, es decir necesita conocer los valores esperados para cada una delas entradas presentadas; su comportamiento está definido por pares de estaforma:

(2.1.5)

Cuando p es aplicado a la red, la salida de la red es comparada con el valoresperado t, y la salida de la red esta determinada por:

Page 29: Antologia de Inteligencia Artificial 1 (2)

(2.1.6)

Los valores de los pesos determinan el funcionamiento de la red, estos valores sepueden fijar o adoptar utilizando diferentes algoritmos de entrenamiento de la red.

Como ejemplo de funcionamiento de una red neuronal tipo Perceptrón, sesolucionará el problema de la función OR, para esta función la red debe ser capazde devolver a partir de los cuatro patrones de entrada, a qué clase pertenece cadauno; es decir para el patrón 00 debe devolver la clase cero y para los restantes laclase 1, según la gráfica 2.1.5

Figura 2.1.5 Función OR

Para este caso las entradas a la red serán valores binarios, la salida de la red estadeterminada por

(2.1.7)

Si w1p1+w2p2 es mayor que 0 la salida será 1, en caso contrario la salida será –1(función escalón unitario). Como puede verse la sumatoria que se le pasa a cadaparámetro (entrada total) a la función hardlim (función de salida o de transferencia)es la expresión matemática de una recta, donde w1 y w2 son variables y p1 y p2

son constantes. En la etapa de aprendizaje se irán variando los valores de lospesos obteniendo distintas rectas, lo que se pretende al modificar los pesos de lasconexiones es encontrar una recta que divida el plano en dos espacios de las dosclases de valores de entrada, concretamente para la función OR se deben separarlos valores 01, 10, y 11 del valor 00; la red Perceptrón que realiza esta tarea y lagráfica característica pueden observarse en la figura 2.1.6 allí puede verse como

Page 30: Antologia de Inteligencia Artificial 1 (2)

las posibles rectas pasarán por el origen de coordenadas, por lo que la entrada 00quedará sobre la propia recta.

Figura 2.1.6 Perceptrón aplicado a la función OR

Se aplicará este método para resolver también el problema de la función AND, elcual se describe en la siguiente figura

Figura 2.1.7 Espacio de salida de una compuerta AND

Analizando el comportamiento de la AND se llega a la conclusión de que esimposible que una recta que pase por el origen, separe los valores 00,01 y 10 delvalor 11, por lo que se hace necesario introducir un término independiente pararealizar esta tarea, a este término se le da el nombre de ganancia y se representapor la letra b, al cual por lo general se le asigna un valor inicial de 1 y se ajustadurante la etapa de aprendizaje de la red; este nuevo término permite desplazar larecta del origen de coordenadas dando una solución para el caso de la funciónAND y ampliando el número de soluciones de la función OR

Page 31: Antologia de Inteligencia Artificial 1 (2)

Ahora la salida de la neurona esta dada por

(2.1.8)

Las soluciones obtenidas para las funciones AND y OR se observan en la figura2.1.8

Figura 2.1.8 Solución para una función AND y una OR

En el proceso de entrenamiento el Perceptrón se expone a un conjunto depatrones de entrada y los pesos de la red son ajustados de forma que al final deentrenamiento se obtengan las salidas esperadas para cada unos de esospatrones de entrada.

El algoritmo de entrenamiento del Perceptrón puede resumirse en los siguientespasos:

1. Se inicializa la matriz de pesos y el valor de la ganancia, por lo general seasignan valores aleatorios a cada uno de los pesos wi y al valor b

2. Se presenta el primer patrón a la red, junto con la salida esperada en formade pares entrada/salida

3. Se calcula la salida de la red por medio de

(2.1.9)

Donde f puede ser la función hardlim o hardlims

4. Cuando la red no retorna la salida correcta, es necesario alterar el valor delos pesos, tratando de llevarlo hasta p y así aumentar las posibilidades deque la clasificación sea correcta, una posibilidad es adicionar p a whaciendo que el vector w apunte en la dirección de p, y de esta forma

Page 32: Antologia de Inteligencia Artificial 1 (2)

después de repetidas presentaciones de p a la red, w se aproximaráasintoticamente a p; este es el procedimiento adoptado para la regla deaprendizaje del Perceptrón.

El proceso de aprendizaje del Perceptrón puede definirse en tres reglas, las cualescubren la totalidad de combinaciones de salidas y sus correspondientes valoresesperados. Estas reglas utilizando la función de transferencia hardlim, se expresancomo sigue:

(2.1.10)

(2.1.11)

(2.1.12)

Las tres condiciones anteriores pueden ser escritas en forma compacta ygeneralizarse para la utilización de las funciones de transferencia hardlim ohardlims, generalización que es posible introduciendo el error en las reglas deaprendizaje del Perceptrón:

(2.1.13)

Por lo tanto:

(2.1.14)

(2.1.15)

(2.1.16)

En una sola expresión la ley puede resumirse así:

(2.1.17)

Y extendiendo la ley a las ganancias

(2.1.18)

Para ilustrar la regla de aprendizaje del Perceptrón, se dará solución al problemade clasificación de patrones ilustrado en la figura 2.1.9

Page 33: Antologia de Inteligencia Artificial 1 (2)

, , ,

Figura 2.1.9 Patrones de entrenamiento

En este caso las salidas toman valores bipolares de 1 o –1, por lo tanto la funciónde transferencia a utilizar será hardlims. Según la dimensiones de los patrones deentrenamiento la red debe contener dos entradas y una salida.

Figura 2.1.10 Red Perceptrón que resolverá el problema de clasificación depatrones

Para decidir si una red tipo Perceptrón puede aplicarse al problema de interés, sedebe comprobar si el problema es linealmente separable, esto puede determinarsegráficamente de la figura 2.1.9, en donde se observa que existe un gran númerode líneas rectas que pueden separar los patrones de una categoría de lospatrones de la otra, el siguiente paso es asumir arbitrariamente los valores paralos pesos y ganancias iniciales de entrada a la red; el proceso terminará cuandose hayan obtenido los pesos y ganancias finales que permitan a la red clasificarcorrectamente todos los patrones presentados.

Los valores iniciales asignados aleatoriamente a los parámetros de la red son:

Con base en el procedimiento descrito anteriormente, el proceso de aprendizajede la red es el siguiente:

Page 34: Antologia de Inteligencia Artificial 1 (2)

Iteración 0

La red clasificara los patrones de entrenamiento según la característica dedecisión mostrada en la figura 2.1.11, la cual depende de los valores de los pesosy ganancias iniciales.

Interceptos con los ejes:

Figura 2.1.11 Clasificación de los patrones de acuerdo a la iteración0

Como puede verse, la característica de decisión es ortogonal al vector de pesosW. La red clasifica incorrectamente los patrones p1, p3 y p4; en esta iteración; acontinuación presentamos a la red el patrón de entrenamiento p1.

Iteración 1

Page 35: Antologia de Inteligencia Artificial 1 (2)

De la iteración 0 p1 estaba mal clasificado, la actualización de pesos permite queeste patrón sea clasificado correctamente.

La iteración 1 lleva a la característica de decisión de la figura 2.1.12

Interceptos con los ejes:

Como se observa el patrón de entrenamiento p1 ha sido clasificado correctamente,y casualmente los patrones p2 y p3 fueron correctamente ubicados, pues aún nohan sido presentados a la red.

Figura 2.1.12 Característica de decisión de la iteración 1

Iteración 2

Se presenta p2 a la red, y es clasificado correctamente, como se observográficamente

Page 36: Antologia de Inteligencia Artificial 1 (2)

Este patrón ha sido clasificado correctamente y por lo tanto no hay actualizacióndel set de entrenamiento

Iteración 3

Se presenta p3 a la red y es clasificado correctamente, como se observógráficamente

Como se esperaba, no hubo error en la clasificación de este patrón, y esto lleva aque no haya actualización de los pesos de la red

Iteración 4

Se presenta a la red p4,

Page 37: Antologia de Inteligencia Artificial 1 (2)

La red ha clasificado incorrectamente este patrón y por lo tanto deben modificarsepesos y ganancias

En esta iteración la red se comportara de acuerdo a la característica de decisiónde la figura 2.1.13

Interceptos con los ejes:

Figura 2.1.13 Característica de decisión final

De la figura 2.1.13 se observa que la red ha clasificado correctamente los patronesde entrenamiento, después de entrenada la red con los pesos y ganancias finales,cualquier otro valor de entrada será clasificado según la característica de decisiónmostrada.

Page 38: Antologia de Inteligencia Artificial 1 (2)

Es de importancia notar que en este caso los patrones de entrada se encuentranen dos dimensiones y por lo tanto es fácil determinar gráficamente cuando hansido clasificados correctamente, en el caso que los patrones se encuentren en tresdimensiones esta visualización se dificulta y en el caso de que los patrones seande orden superior la visualización resulta imposible; para estos casos se debecomprobar matemáticamente que el error correspondiente a cada patrón deentrenamiento para los pesos finales es nulo.

1 PERCEPTRÓN

2.1.4 Limitación de la red Perceptrón

En la sección 2.1.1, se planteó la restricción que existe para los tipos deproblemas que una red Perceptrón puede solucionar, como se dijo esta red puederesolver solamente problemas que sean linealmente separables, esto esproblemas cuyas salidas estén clasificadas en dos categorías diferentes y quepermitan que su espacio de entrada sea divido en estas dos regiones por mediode un hiperplano de características similares a la ecuación del Perceptrón, es decir

(2.1.19)

Ejemplos de problemas de este tipo son las funciones lógicas OR y ANDestudiadas anteriormente; para ilustrar más claramente que significa que unproblema sea linealmente separable se analizará un caso que no lo sea, el casode la compuerta XOR, el cual se visualiza en la figura 2.1.14

Figura 2.1.14 Compuerta XOR

Se pretende que para los valores de entrada 00 y 11 se devuelva la clase 0 y paralos patrones 01 y 10 la clase 1. Como puede verse de la figura 2.1.15 el problemaradica en que no existe ninguna línea recta que separe los patrones de una clasede los de la otra

Page 39: Antologia de Inteligencia Artificial 1 (2)

Figura 2.1.15 Plano formado por el problema de la XOR

Los cuatro puntos en la figura son las posibles entradas de la red; la línea divide elplano en dos regiones, por lo que se podría clasificar los puntos de una regióncomo pertenecientes a la clase que posee salida 1 (puntos azules) y los de la otraregión como pertenecientes a la clase que posee salida 0 (puntos rojos), sinembargo no hay ninguna forma de posicionar la línea para que los puntoscorrectos para cada clase se encuentren en la misma región. El problema de lacompuerta XOR no es linealmente separable y una red tipo Perceptrón no esta encapacidad de clasificar correctamente los patrones de esta función, debido a estalimitación del Perceptrón y a su amplia publicación en el libro de Minsky y Papert,el estudio de las redes neuronales se estanco durante casi 20 años.

El proceso para determinar si un problema es linealmente separable o no, serealiza gráficamente sin problema, cuando los patrones de entrada generan unespacio de dos dimensiones, como en el caso de las funciones AND, OR o de laXOR; sin embargo, esta visualización se dificulta cuando el conjunto de patronesde entrada es de tres dimensiones, y resulta imposible de observar gráficamentecuando los patrones de entrada son de dimensiones superiores; en este caso serequiere plantear condiciones de desigualdad que permitan comprobar laseparabilidad lineal de los patrones, esto se realiza con base en la ecuación desalida del Perceptrón

, para aquellos patrones cuya salida deseada sea 1

, para aquellos patrones cuya salida deseada sea 0

En el caso de la XOR, teniendo en cuenta los valores de la tabla al lado derechode la figura 2.1.14, estas desigualdades se expresan así:

(p1) (p3)

Page 40: Antologia de Inteligencia Artificial 1 (2)

(p2) (p4)

Si no hay contradicción en las desigualdades anteriores, el problema eslinealmente separable. Como se observa de las desigualdades 2, 3 y 4, es

imposible que , y que su suma sea menor que cero, esta es unaforma alternativa de comprobar que el problema de la XOR no es linealmenteseparable. El aporte de esta técnica se aprecia mejor para problemas cuyoespacio de entrada sea de dimensiones mayores.

La solución al problema de clasificación de patrones de la función XOR seencontraría fácilmente si se descompone el espacio en tres regiones: una regiónpertenecería a una de las clases de salida y las otras dos pertenecen a la segundaclase, así que si en lugar de utilizar únicamente una neurona de salida seutilizaran dos, se obtendrían dos rectas por lo que podrían delimitarse tres zonas;para poder elegir entre una zona u otra de las tres, es necesario utilizar otra capacon una neurona cuyas entradas serán las salidas de las neuronas anteriores; lasdos zonas o regiones que contienen los puntos (0,0) y (1,1) se asocian a unasalida nula de la red y la zona central se asocia a la salida con valor 1, de estaforma es posible encontrar una solución al problema de la función XOR, por tantose ha de utilizar una red de tres neuronas, distribuidas en dos capas parasolucionar este problema.

En la figura 2.1.16 se observa un esquema de lo que sería una red Perceptrónmulticapa, con los valores de pesos y ganancias que clasifican correctamente lospatrones de la compuerta XOR

Figura 2.1.16 Perceptrón multicapa para la XOR

Los valores de la matriz de pesos y del vector de ganancias son:

w11=1 w12=1w21=1 w22=1

Page 41: Antologia de Inteligencia Artificial 1 (2)

w31=1 w32=-1.5b1=0.5 b2=1.5 b3=0.5

2.1 PERCEPTRÓN

2.1.5 Perceptrón multicapa: En el problema de la función XOR se explicó comoun Perceptrón multicapa había sido implementado para hallar una solución, elesquema general de un Perceptrón multicapa puede encontrarse generalizando lafigura 2.4.1 a una red con múltiples entradas y que incluya una entrada adicionalrepresentada por la ganancia b, este esquema general se ve en la figura 2.1.17 endonde se notan las conexiones entre sus nodos de entrada y las neuronas desalida.

Figura 2.1.17 Conexiones del Perceptrón

Un Perceptrón multicapa es una red con alimentación hacia delante, compuestade varias capas de neuronas entre la entrada y la salida de la misma, esta redpermite establecer regiones de decisión mucho más complejas que las de dossemiplanos, como lo hace el Perceptrón de un solo nivel.

Un esquema simplificado del modelo del Perceptrón de la figura 2.1.17 se observaen la figura 2.1.18

Figura 2.1.18 Notación compacta para la red tipo Perceptrón

Page 42: Antologia de Inteligencia Artificial 1 (2)

La salida de la red está dada por:

(2.1.20)

Donde

W: Matriz de pesos asignada a cada una de las entradas de la red de dimensionesSxR, con S igual al número de neuronas, y R la dimensión del vector de entrada

p: Vector de entradas a la red de dimensiones Rx1

b: Vector de ganancias de la red de dimensiones Sx1

Las capacidades del Perceptrón multicapa con dos y tres capas y con una únicaneurona en la capa de salida se muestran en la figura 2.1.19 extraída del libro deHilera J y Martínez V []. En la segunda columna se muestra el tipo de región dedecisión que se puede formar con cada una de las configuraciones, en la siguientese indica el tipo de región que se formaría para el problema de la XOR, en las dosúltimas columnas se muestran las regiones formadas para resolver el problema declases mezcladas y las formas más generales para cada uno de los casos.

Estructura Regiones deDecisión

Problemade la XOR

Clases conRegionesMezcladas

Formas deRegionesmásGenerales

Medio PlanoLimitado porun Hiperplano

RegionesCerradas oConvexas

ComplejidadArbitrariaLimitada por elNúmero deNeuronas

Figura 2.1.19 Distintas formas de las regiones generadas por un Perceptrónmulticapa

Page 43: Antologia de Inteligencia Artificial 1 (2)

El Perceptrón básico sólo puede establecer dos regiones separadas por unafrontera lineal en el espacio de entrada de los patrones; un Perceptrón con doscapas, puede formar cualquier región convexa en este espacio. Las regionesconvexas se forman mediante la intersección de regiones formadas por cadaneurona de la segunda capa, cada uno de estos elementos se comporta como unPerceptrón simple, activándose su salida para los patrones de un lado delhiperplano, si el valor de los pesos de las conexiones entre las neuronas de lasegunda capa y una neurona del nivel de salida son todos igual a 1, y la funciónde salida es de tipo hardlim, la salida de la red se activará sólo si las salidas detodos los nodos de la segunda capa están activos, esto equivale a ejecutar lafunción lógica AND en el nodo de salida, resultando una región de decisiónintersección de todos los semiplanos formados en el nivel anterior. La región dedecisión resultante de la intersección será una región convexa con un número delados a lo sumo igual al número de neuronas de la segunda capa.

A partir de este análisis surge el interrogante respecto a los criterios de selecciónpara las neuronas de las capas ocultas de una red multicapa, este número engeneral debe ser lo suficientemente grande como para que se forme una regióncompleja que pueda resolver el problema, sin embargo no debe ser muy grandepues la estimación de los pesos puede ser no confiable para el conjunto de lospatrones de entrada disponibles. Hasta el momento no hay un criterio establecidopara determinar la configuración de la red y esto depende más bien de laexperiencia del diseñador.

La regla de aprendizaje del Perceptrón para una red multicapa es unageneralización de las ecuaciones (2.1.17) y (2.1.18)

(2.1.21)

(2.1.22)

2.2 ADALINE

2.2.1 Antecedentes: Al mismo tiempo que Frank Rosenblatt trabajaba en elmodelo del Perceptrón Bernard Widrow y su estudiante Marcian Hoff introdujeronel modelo de la red Adaline y su regla de aprendizaje llamada algoritmo LMS(Least Mean Square).

La red Adaline es similar al Perceptrón, excepto en su función de transferencia, lacual es una función de tipo lineal en lugar de un limitador fuerte como en el casodel Perceptrón. La red Adaline presenta la misma limitación del Perceptrón encuanto al tipo de problemas que pueden resolver, ambas redes pueden soloresolver problemas linealmente separables, sin embargo el algoritmo LMS es máspotente que la regla de aprendizaje del Perceptrón ya que minimiza el error medio

Page 44: Antologia de Inteligencia Artificial 1 (2)

cuadrático, la regla sirvió de inspiración para el desarrollo de otros algoritmos, estees el gran aporte de esta red.

El término Adaline es una sigla, sin embargo su significado cambió ligeramente afinales de los años sesenta cuando decayó el estudio de las redes neuronales,inicialmente se llamaba ADAptive LInear NEuron (Neurona Lineal Adaptiva), parapasar después a ser Adaptive LInear Element (Elemento Lineal Adaptivo), estecambio se debió a que la Adaline es un dispositivo que consta de un únicoelemento de procesamiento, como tal no es técnicamente una red neuronal.

El elemento de procesamiento realiza la suma de los productos de los vectores deentrada y de pesos, y aplica una función de salida para obtener un único valor desalida, el cual debido a su función de transferencia lineal será +1 si la sumatoria espositiva o –1 si la salida de la sumatoria es negativa. En términos generales lasalida de la red está dada por

(2.2.1)

En este caso, la salida es la función unidad al igual que la función de activación; eluso de la función identidad como función de salida y como función de activaciónsignifica que la salida es igual a la activación, que es la misma entrada neta alelemento.

El Adaline es ADaptivo en el sentido de que existe un procedimiento bien definidopara modificar los pesos con objeto de hacer posible que el dispositivoproporcione el valor de salida correcto para la entrada dada; el significado decorrecto para efectos del valor de salida depende de la función de tratamiento deseñales que esté siendo llevada a cabo por el dispositivo. El Adaline es LInealporque la salida es una función lineal sencilla de los valores de la entrada. Es unaNEurona tan solo en el sentido (muy limitado) del PE. También se podría decir queel Adaline es un Elemento Lineal, evitando por completo la definición comoNEurona.

2.2 ADALINE

2.2.2 Estructura de la red: La estructura general de la red tipo Adaline puedevisualizarse en la figura 2.2.1

Figura 2.2.1 Estructura de una red Adaline

Page 45: Antologia de Inteligencia Artificial 1 (2)

La salida de la red está dada por:

(2.2.2)

Para una red Adaline de una sola neurona con dos entradas el diagramacorresponde a la figura 2.2.2

Figura 2.2.2 Adaline de una neurona y dos entradas

En similitud con el Perceptrón, el límite de la característica de decisión para la redAdaline se presenta cuando n = 0, por lo tanto:

(2.2.3)

Específica la línea que separa en dos regiones el espacio de entrada, como semuestra en la figura 2.2.3

Figura 2.2.3. Característica de decisión de una red tipo Adaline

La salida de la neurona es mayor que cero en el área gris, en el área blanca lasalida es menor que cero. Como se mencionó anteriormente, la red Adaline puedeclasificar correctamente patrones linealmente separables en dos categorías.

Page 46: Antologia de Inteligencia Artificial 1 (2)

2.2 ADALINE

2.2.3 Regla de aprendizaje: Al igual que el Perceptrón, la red Adaline es una redde aprendizaje supervisado que necesita conocer de antemano los valoresasociados a cada entrada. Los pares de entrada/salida tienen la siguiente forma:

(2.2.4)

Donde es la entrada a la red y es su correspondiente salida deseada, cuandouna entrada p es presentada a la red, la salida de la red es comparada con el valorde t que le es asociado.

El algoritmo LMS se deriva de la regla Widrow-Hoff Delta, la que en términosgenerales para un proceso de actualización de los pesos de una red Adaline, sededuce de la siguiente manera, de acuerdo al procedimiento descrito en Widrow[]

(2.2.5)

En el cual k representa la iteración actual del proceso de actualización,es el siguiente valor que tomará el vector de pesos y es el valor actual delvector de pesos. El error actual e(k) es definido como la diferencia entre larespuesta deseada y la salida de la red antes de laactualización:

(2.2.6)

La variación del error en cada iteración es representada por

(2.2.7)

En concordancia con la ecuación (2.2.5) la actualización de los pesos, teniendo encuenta el error es:

(2.2.8)

Combinando las ecuaciones (2.2.8) y (2.2.7), se obtiene:

Page 47: Antologia de Inteligencia Artificial 1 (2)

(2.2.9)

De esta forma, el error es reducido por un factor mientras los pesos vancambiando a medida que se presenta un valor de entrada. Cada vez que sepresenta un nuevo patrón el ciclo de actualización inicia nuevamente; el siguienteerror es reducido por un factor , y el proceso continua. Los valores iniciales delvector de pesos son usualmente escogidos como cero y se actualizan hasta que elalgoritmo alcance convergencia.

La elección de controla la estabilidad y velocidad de la convergencia del procesode entrenamiento como puede verse en la ecuación (2.2.9); si se escoge un valormuy pequeño de , el algoritmo pierde velocidad y tarda mucho en alcanzarconvergencia, si por el contrario se toma un valor muy grande, el algoritmo pierdeestabilidad y se torna oscilante alrededor del valor de convergencia. Para patronesde entrada independientes en el tiempo, la estabilidad es garantizada para valoresde que varíen entre

(2.2.10)

Si se fija en un valor mayor a 1 el error es innecesariamente sobre-corregido, porlo tanto un rango de valores prácticos para la rata de aprendizaje es:

(2.2.11)

Este algoritmo es auto-normalizado en el sentido que la elección de no dependede la magnitud de las señales de entrada; cada peso actualizado es colineal con

los parámetros de entrada y su magnitud es inversamente proporcional a .Si se emplea como entradas binarias 1 y 0, la actualización no ocurre para pesoscuya entrada sea cero, mientras con entradas binarias todos los pesos sonactualizados en cada iteración y la convergencia es más rápida. Por esta razón,las entradas simétricas +1 y –1 son generalmente preferidas.

Una descripción geométrica del proceso de actualización de pesos en la reglaWidrow-Hoff delta o algoritmo LMS, se describe en la figura 2.2.4

Figura 2.2.4 Actualización de pesos del algoritmo LMS

Page 48: Antologia de Inteligencia Artificial 1 (2)

De acuerdo a la ecuación (2.2.8), equivale la suma de y ,además es paralelo con el vector de entrada . De la ecuación (2.2.7),el cambio en el error es igual al producto negativo de y , como elalgoritmo LMS selecciona a de tal forma que sea colineal con , elcambio en el error deseado se calcula con la menor magnitud de posible,empleando el principio de mínima perturbación [].

Extendiendo el algoritmo a la actualización de las ganancias, se tiene:

(2.2.12)

El algoritmo LMS corrige el error y si todos los patrones de entrada son de iguallongitud, la actualización de pesos y ganancias tiende a minimizar el error mediocuadrático, esta es la principal propiedad de este algoritmo.

En el algoritmo LMS, los valores de los incrementos y se calculancon base en las derivadas parciales de la función del error medio cuadrático conrespecto a pesos y ganancias respectivamente.

Para explicar el cálculo del error medio cuadrático se considerará una red Adaliney se empleará un algoritmo de pasos descendientes aproximado, como el queutilizaron Widrow y Hoff; con este algoritmo calculando el gradiente en cadaiteración (gradiente instantáneo) y no el gradiente verdadero, la función para elerror medio cuadrático es:

(2.2.13)

En la ecuación 2.2.13 representa la salida esperada en la iteración k yrepresenta la salida de la red; el error cuadrático esperado ha sido reemplazadopor el error cuadrático en la iteración k, por lo tanto en cada iteración se tiene ungradiente del error de la siguiente forma:

(2.2.14)

y

(2.2.15)

Page 49: Antologia de Inteligencia Artificial 1 (2)

Los primeros R elementos del error son derivadas parciales con respecto a lospesos de la red, mientras que los elementos restantes son derivadas parciales conrespecto a las ganancias

Se evaluará primero la derivada parcial de con respecto a :

(2.2.16)

Donde es el i-ésimo elemento del vector de entrada en la k-ésima iteración,esto puede simplificarse así:

(2.2.17)

De manera similar se obtiene el elemento final del gradiente, correspondiente a laderivada parcial del error con respecto a la ganancia:

(2.2.18)

En esta ecuación pueden verse las ventajas de la simplificación del error mediocuadrático al poder ser calculado por medio del error en la iteración k, y así paracalcular el error se necesita solo multiplicar el error por el número de entradas.

La aproximación de encontrada en la ecuación (2.2.14) es reemplazada enla ecuación (2.2.5) que define el proceso de actualización de pesos para elalgoritmo LMS; después de haber evaluado las derivadas parciales el proceso deactualización puede expresarse como sigue:

(2.2.19)

(2.2.20)

Page 50: Antologia de Inteligencia Artificial 1 (2)

Ahora t(k) y W(k) son términos independientes. Las ecuaciones (2.2.19) y (2.2.20)conforman la regla de actualización de parámetros empleada por una red Adaline,la rata de aprendizaje se tomó constante durante el proceso de deducción delalgoritmo.

En forma matricial el algoritmo de actualización para pesos y ganancias para lared Adaline, se expresa como:

(2.2.21)

(2.2.22)

Nótese que ahora el error e y la ganancia b son vectores

2.2 ADALINE

2.2.4 Principal aplicación de la red Adaline:

La red Adaline ha sido ampliamente utilizada en el procesamiento de señales;para valorar el real aporte de esta red en ese campo, se detallarán un poco lasherramientas hasta ahora empleadas en los procesos de filtrado.

A comienzos del estudio de las comunicaciones electrónicas, se diseñaban filtrosanalógicos empleando circuitos RLC (Resistencias, Inductores, Condensadores)para eliminar el ruido en las señales empleadas de comunicaciones; esteprocesamiento se ha transformado en una técnica de múltiples facetas,destacándose en la actualidad el uso de procesadores digitales de señales (DSP),que pueden llevar a cabo los mismos tipos de aplicaciones de filtrado ejecutandofiltros de convolución realizados mediante programación convencional, encualquier lenguaje de programación conocido.

El proceso de filtrado sigue ocupando un lugar muy importante en la industria,pues siempre será necesario eliminar el ruido en señales portadoras deinformación. Considérese una transmisión de radio en AM, las técnicaselectrónicas de comunicación, bien sean para señales de audio o de datosconstan de una codificación y una modulación de la señal. La información que hayque transmitir, se puede codificar en forma de una señal analógica que reproduceexactamente las frecuencias y las amplitudes del sonido original. Dado que lossonidos que se están codificando representan un valor continuo que va desde elsilencio, pasando por la voz, hasta la música, la frecuencia instantánea de la señalvariará con el tiempo, oscilando entre 0 y 10.000 Hz aproximadamente.

En lugar de intentar transmitir directamente esta señal codificada, se transmite laseñal en forma más adecuada para la transmisión por radio; esto se logramodulando la amplitud de una señal portadora de alta frecuencia con la señal de

Page 51: Antologia de Inteligencia Artificial 1 (2)

información analógica. Para la radio AM, la frecuencia portadora estará en elintervalo de los 550 a los 1650 kHz , dado que la frecuencia de la portadora esmuy superior a la frecuencia máxima de la señal de información, se pierde muypoca información como consecuencia de la modulación; la señal modulada puedeser transmitida después a una estación receptora (o se puede retransmitir acualquiera que tenga un receptor de radio), en la cual la señal se demodula y sereproduce en forma de sonido.

La razón más evidente para utilizar un filtro en una radio de AM es que cadapersona tiene sus preferencias de música y diversión y dado que hay tantasemisoras de radio diferentes es necesario permitir que cada usuario sintonice sureceptor a una cierta frecuencia seleccionable. Al sintonizar la radio, lo que se estáhaciendo es, modificar las características de respuesta en frecuencia de un filtropasa banda que está dentro de la radio, este filtro solo deja pasar las señalesprocedentes de la emisora en la que se esté interesado y elimina todas las demásseñales que estén siendo transmitidas dentro del espectro AM.

Page 52: Antologia de Inteligencia Artificial 1 (2)

Figura 2.2.5 Técnicas de codificación de información y modulación en amplitud

La herramienta matemática para el diseño de filtros más utilizada es la Serie deFourier, que describe la naturaleza de las señales periódicas en el dominiofrecuencia y viene dada por:

(2.2.23)

En donde

: Frecuencia fundamental de la señal en el dominio del tiempo: Coeficientes necesarios para modular la amplitud de los términos

individuales de la serie.

Las primeras realizaciones de los cuatro filtros básicos de la figura 2.2.6 poseíanuna gran limitación: Solo eran ajustables en un pequeño intervalo

Page 53: Antologia de Inteligencia Artificial 1 (2)

Figura 2.2.6 Características de los cuatro filtros básicos

Todos los filtros se pueden caracterizar a partir de su respuesta a la funciónde impulso unitario, que se representa por en la forma:

(2.2.24)

La ventaja de esta formulación es que una vez se conoce la respuesta del sistemapara el impulso unitario, la salida del sistema para cualquier entrada está dada por

(2.2.25)

Donde es la entrada al sistema

Esta ecuación describe una convolución entre la señal de entrada y la respuestadel sistema al impulso unitario. Para este caso, basta tener en cuenta que laconvolución es una operación de suma entre productos, similar al tipo deoperación que realiza un Perceptrón cuando calcula su señal de activación. La redAdaline emplea este mismo cálculo para determinar cuanta estimulación deentrada recibe a partir de una señal instantánea de entrada; esta red tienediseñado en su interior una forma de adaptar los coeficientes ponderables (pesosde la red) para hacer aumentar o disminuir la estimulación que recibirá la próximavez que se le presente la misma señal. La utilidad de esta capacidad se pone demanifiesto cuando se diseña un filtro digital por medio de software; con unprograma normal, el programador debe saber exactamente como se específica elalgoritmo de filtrado y cuáles son los detalles de las características de las señales;si se necesitaran modificaciones, o si cambian las características de la señal, esnecesario reprogramar; cuando se emplea una red tipo Adaline, el problema seconvierte, en que la red sea capaz de especificar la señal de salida deseada, dadauna señal de entrada específica.

Page 54: Antologia de Inteligencia Artificial 1 (2)

La red Adaline toma la entrada y la salida deseada, y se ajusta a sí misma paraser capaz de llevar a cabo la transformación deseada. Además, si cambian lascaracterísticas de la señal, la red Adaline puede adaptarse automáticamente.

En orden a usar la red tipo Adaline para implementar un filtro adaptivo, se debeincorporar el concepto de retardos en línea, el cual se visualiza en la figura 2.2.7

Figura 2.2.7 Retardos en línea

Si se combina la red Adaline con un bloque de retardos en línea, se ha creado unfiltro adaptivo como el de la figura 2.2.8

Figura 2.2.8 Filtro adaptivo

Page 55: Antologia de Inteligencia Artificial 1 (2)

Cuya salida está dada por:

(2.2.26)

2.3 BACKPROPAGATION

2.3.1 Antecedentes: La regla de aprendizaje del Perceptrón de Rosenblatt y elalgoritmo LMS de Widrow y Hoff fueron diseñados para entrenar redes de una solacapa. Como se discutió anteriormente, estas redes tienen la desventaja que solopueden resolver problemas linealmente separables, fue esto lo que llevo alsurgimiento de las redes multicapa para sobrepasar esta dificultad en las redeshasta entonces conocidas.

El primer algoritmo de entrenamiento para redes multicapa fue desarrollado porPaul Werbos en 1974, este se desarrolló en un contexto general, para cualquiertipo de redes, siendo las redes neuronales una aplicación especial, razón por lacual el algoritmo no fue aceptado dentro de la comunidad de desarrolladores deredes neuronales. Fue solo hasta mediados de los años 80 cuando el algoritmoBackpropagation o algoritmo de propagación inversa fue redescubierto al mismotiempo por varios investigadores, David Rumelhart, Geoffrey Hinton y RonalWilliams, David Parker y Yann Le Cun. El algoritmo se popularizó cuando fueincluido en el libro "Parallel Distributed Processing Group" por los sicólogos DavidRumelhart y James McClelland. La publicación de este libro trajo consigo un augeen las investigaciones con redes neuronales, siendo la Backpropagation una delas redes más ampliamente empleadas, aun en nuestros días.

Uno de los grandes avances logrados con la Backpropagation es que esta redaprovecha la naturaleza paralela de las redes neuronales para reducir el tiemporequerido por un procesador secuencial para determinar la correspondencia entreunos patrones dados. Además el tiempo de desarrollo de cualquier sistema que seesté tratando de analizar se puede reducir como consecuencia de que la redpuede aprender el algoritmo correcto sin que alguien tenga que deducir poranticipado el algoritmo en cuestión.

La mayoría de los sistemas actuales de cómputo se han diseñado para llevar acabo funciones matemáticas y lógicas a una velocidad que resultaasombrosamente alta para el ser humano. Sin embargo la destreza matemática noes lo que se necesita para solucionar problemas de reconocimiento de patronesen entornos ruidosos, característica que incluso dentro de un espacio de entradarelativamente pequeño, puede llegar a consumir mucho tiempo. El problema es lanaturaleza secuencial del propio computador; el ciclo tomar – ejecutar de lanaturaleza Von Neumann solo permite que la máquina realice una operación a lavez. En la mayoría de los casos, el tiempo que necesita la máquina para llevar acabo cada instrucción es tan breve (típicamente una millonésima de segundo) queel tiempo necesario para un programa, así sea muy grande, es insignificante para

Page 56: Antologia de Inteligencia Artificial 1 (2)

los usuarios. Sin embargo, para aquellas aplicaciones que deban explorar un granespacio de entrada o que intentan correlacionar todas las permutaciones posiblesde un conjunto de patrones muy complejo, el tiempo de computación necesario sehace bastante grande.

Lo que se necesita es un nuevo sistema de procesamiento que sea capaz deexaminar todos los patrones en paralelo. Idealmente ese sistema no tendría queser programado explícitamente, lo que haría es adaptarse a sí mismo paraaprender la relación entre un conjunto de patrones dado como ejemplo y ser capazde aplicar la misma relación a nuevos patrones de entrada. Este sistema debeestar en capacidad de concentrarse en las características de una entrada arbitrariaque se asemeje a otros patrones vistos previamente, sin que ninguna señal deruido lo afecte. Este sistema fue el gran aporte de la red de propagación inversa,Backpropagation.

La Backpropagation es un tipo de red de aprendizaje supervisado, que emplea unciclo propagación – adaptación de dos fases. Una vez que se ha aplicado unpatrón a la entrada de la red como estímulo, este se propaga desde la primeracapa a través de las capas superiores de la red, hasta generar una salida. Laseñal de salida se compara con la salida deseada y se calcula una señal de errorpara cada una de las salidas.

Las salidas de error se propagan hacia atrás, partiendo de la capa de salida, haciatodas las neuronas de la capa oculta que contribuyen directamente a la salida. Sinembargo las neuronas de la capa oculta solo reciben una fracción de la señal totaldel error, basándose aproximadamente en la contribución relativa que hayaaportado cada neurona a la salida original. Este proceso se repite, capa por capa,hasta que todas las neuronas de la red hayan recibido una señal de error quedescriba su contribución relativa al error total. Basándose en la señal de errorpercibida, se actualizan los pesos de conexión de cada neurona, para hacer que lared converja hacia un estado que permita clasificar correctamente todos lospatrones de entrenamiento.

La importancia de este proceso consiste en que, a medida que se entrena la red,las neuronas de las capas intermedias se organizan a sí mismas de tal modo quelas distintas neuronas aprenden a reconocer distintas características del espaciototal de entrada. Después del entrenamiento, cuando se les presente un patrónarbitrario de entrada que contenga ruido o que esté incompleto, las neuronas de lacapa oculta de la red responderán con una salida activa si la nueva entradacontiene un patrón que se asemeje a aquella característica que las neuronasindividuales hayan aprendido a reconocer durante su entrenamiento. Y a lainversa, las unidades de las capas ocultas tienen una tendencia a inhibir su salidasi el patrón de entrada no contiene la característica para reconocer, para la cualhan sido entrenadas.

Varias investigaciones han demostrado que, durante el proceso de entrenamiento,la red Backpropagation tiende a desarrollar relaciones internas entre neuronas con

Page 57: Antologia de Inteligencia Artificial 1 (2)

el fin de organizar los datos de entrenamiento en clases. Esta tendencia se puedeextrapolar, para llegar a la hipótesis consistente en que todas las unidades de lacapa oculta de una Backpropagation son asociadas de alguna manera acaracterísticas específicas del patrón de entrada como consecuencia delentrenamiento. Lo que sea o no exactamente la asociación puede no resultarevidente para el observador humano, lo importante es que la red ha encontradouna representación interna que le permite generar las salidas deseadas cuando sele dan las entradas, en el proceso de entrenamiento. Esta misma representacióninterna se puede aplicar a entradas que la red no haya visto antes, y la redclasificará estas entradas según las características que compartan con losejemplos de entrenamiento.

2.3 BACKPROPAGATION

2.3.2 Estructura de la Red: La estructura típica de una red multicapa se observaen la figura 2.3.1

Figura 2.3.1 Red de tres capas

Puede notarse que esta red de tres capas equivale a tener tres redes tipoperceptrón en cascada; la salida de la primera red, es la entrada a la segunda y lasalida de la segunda red es la entrada a la tercera. Cada capa puede tenerdiferente número de neuronas, e incluso distinta función de transferencia.

En la figura 2.3.1, W1 representa la matriz de pesos para la primera capa, W2 lospesos de la segunda y así similarmente para todas las capas que incluya una red.Para identificar la estructura de una red multicapa, se empleará una notación

Page 58: Antologia de Inteligencia Artificial 1 (2)

abreviada, donde el número de entradas va seguido del número de neuronas encada capa:

R : S1 : S2 : S3 (2.3.1)

Donde S representa el número de neuronas y el exponente representa la capa a lacual la neurona corresponde.

La notación de la figura 2.3.1 es bastante clara cuando se desea conocer laestructura detallada de la red, e identificar cada una de las conexiones, perocuando la red es muy grande, el proceso de conexión se torna muy complejo y esbastante útil utilizar el esquema de la figura 2.3.2

Figura 2.3.2 Notación compacta de una red de tres capas

2.3 BACKPROPAGATION

2.3.3 Regla de Aprendizaje El algoritmo Backpropagation para redes multicapaes una generalización del algoritmo LMS, ambos algoritmos realizan su labor deactualización de pesos y ganancias con base en el error medio cuadrático. La redBackpropagation trabaja bajo aprendizaje supervisado y por tanto necesita un setde entrenamiento que le describa cada salida y su valor de salida esperado de lasiguiente forma:

{p1,t1}, {p2,t2}, . . . ,{pQ, tQ} (2.3.2)

Donde pQ es una entrada a la red y tQ es la correspondiente salida deseada parael patrón q-ésimo. El algoritmo debe ajustar los parámetros de la red paraminimizar el error medio cuadrático.

El entrenamiento de una red neuronal multicapa se realiza mediante un procesode aprendizaje, para realizar este proceso se debe inicialmente tener definida la

Page 59: Antologia de Inteligencia Artificial 1 (2)

topología de la red esto es: número de neuronas en la capa de entrada el cualdepende del número de componentes del vector de entrada, cantidad de capasocultas y número de neuronas de cada una de ellas, número de neuronas en lacapa de la salida el cual depende del número de componentes del vector de salidao patrones objetivo y funciones de transferencia requeridas en cada capa, conbase en la topología escogida se asignan valores iniciales a cada uno de losparámetros que conforma la red.

Es importante recalcar que no existe una técnica para determinar el número decapas ocultas, ni el número de neuronas que debe contener cada una de ellaspara un problema específico, esta elección es determinada por la experiencia deldiseñador, el cual debe cumplir con las limitaciones de tipo computacional.

Cada patrón de entrenamiento se propaga a través de la red y sus parámetrospara producir una respuesta en la capa de salida, la cual se compara con lospatrones objetivo o salidas deseadas para calcular el error en el aprendizaje, esteerror marca el camino más adecuado para la actualización de los pesos yganancias que al final del entrenamiento producirán una respuesta satisfactoria atodos los patrones de entrenamiento, esto se logra minimizando el error mediocuadrático en cada iteración del proceso de aprendizaje.

La deducción matemática de este procedimiento se realizará para una red con unacapa de entrada, una capa oculta y una capa de salida y luego se generalizarápara redes que tengan más de una capa oculta.

Figura 2.3.3 Disposición de una red sencilla de 3 capas

Es importante aclarar que en la figura 2.3.3

Page 60: Antologia de Inteligencia Artificial 1 (2)

q: Equivale al número de componentes el vector de entrada.m: Número de neuronas de la capa oculta

l: Número de neuronas de la capa de salida

Para iniciar el entrenamiento se le presenta a la red un patrón de entrenamiento, elcual tiene q componentes como se describe en la ecuación (2.3.3)

(2.3.3)

Cuando se le presenta a la red una patrón de entrenamiento, este se propaga através de las conexiones existentes produciendo una entrada neta n en cada unalas neuronas de la siguiente capa, la entrada neta a la neurona j de la siguientecapa debido a la presencia de un patrón de entrenamiento en la entrada está dadapor la ecuación (2.3.4), nótese que la entrada neta es el valor justo antes de pasarpor la función de transferencia

(2.3.4)

Woji: Peso que une la componente i de la entrada con la neurona j de la capaocultapi: Componente i del vector p que contiene el patrón de entrenamiento de qcomponentesboj: Ganancia de la neurona j de la capa oculta

Donde el superíndice (o) representa la capa a la que pertenece cada parámetro, eseste caso la capa oculta.

Cada una de las neuronas de la capa oculta tiene como salida aoj que está dadapor la ecuación (2.3.5)

(2.3.5)

Page 61: Antologia de Inteligencia Artificial 1 (2)

fo: Función de transferencia de las neuronas de la capa oculta

Las salidas aoj de las neuronas de la capa oculta (de l componentes) son lasentradas a los pesos de conexión de la capa de salida, este comportamiento estadescrito por la ecuación (2.3.6)

(2.3.6)

Wskj: Peso que une la neurona j de la capa oculta con la neurona k de la capa desalida, la cual cuenta con s neuronasaoj: Salida de la neurona j de la capa oculta, la cual cuenta con m neuronas.bsk: Ganancia de la neurona k de la capa de salida.nsk: Entrada neta a la neurona k de la capa de salida

La red produce una salida final descrita por la ecuación (2.3.7)

(2.3.7)

f s: Función de transferencia de las neuronas de la capa de salida

Reemplazando (2.3.6) en (2.3.7) se obtiene la salida de la red en función de laentrada neta y de los pesos de conexión con la última capa oculta

(2.3.8)

La salida de la red de cada neurona ask se compara con la salida deseada tk paracalcular el error en cada unidad de salida (2.3.9)

(2.3.9)

El error debido a cada patrón p propagado está dado por (2.3.11)

(2.3.10)

ep2: Error medio cuadrático para cada patrón de entrada p

: Error en la neurona k de la capa de salida con l neuronas

Page 62: Antologia de Inteligencia Artificial 1 (2)

Este proceso se repite para el número total de patrones de entrenamiento (r), paraun proceso de aprendizaje exitoso el objetivo del algoritmo es actualizar todos lospesos y ganancias de la red minimizando el error medio cuadrático total descritoen (2.3.11)

(2.3.11)

e2: Error total en el proceso de aprendizaje en una iteración luego de haberpresentado a la red los r patrones de entrenamiento

El error que genera una red neuronal en función de sus pesos, genera un espaciode n dimensiones, donde n es el número de pesos de conexión de la red, alevaluar el gradiente del error en un punto de esta superficie se obtendrá ladirección en la cual la función del error tendrá un mayor crecimiento, como elobjetivo del proceso de aprendizaje es minimizar el error debe tomarse la direcciónnegativa del gradiente para obtener el mayor decremento del error y de esta formasu minimización, condición requerida para realizar la actualización de la matriz depesos en el algoritmo Backpropagation:

(2.3.12)

El gradiente negativo de ep2 se denotara como y se calcula como laderivada del error respecto a todos los pesos de la red

En la capa de salida el gradiente negativo del error con respecto a los pesos es:

(2.3.13)

: Componente del gradiente respecto al peso de la conexión de laneurona de la capa de salida y la neurona j de la capa oculta

: Derivada de la salida de la neurona k de la capa de salida respecto, al pesoWskj

Para calcular se debe utilizar la regla de la cadena, pues el error no es unafunción explícita de los pesos de la red, de la ecuación (2.3.7) puede verse que la

Page 63: Antologia de Inteligencia Artificial 1 (2)

salida de la red ask esta explícitamente en función de nsk y de la ecuación (2.3.6)puede verse que nsk esta explícitamente en función de Wskj, considerando esto segenera la ecuación (2.3.13)

(2.3.14)

Tomando la ecuación (2.3.14) y reemplazándola en la ecuación (2.3.13) seobtiene,

(2.3.15)

: Derivada de la entrada neta a la neurona k de la capa de salida respecto alos pesos de la conexión entre las neuronas de la capa oculta y la capa de salida

: Derivada de la salida de la neurona k de la capa de salida respecto a suentrada neta.

Reemplazando en la ecuación (2.3.15) las derivadas de las ecuaciones (2.3.6) y(2.3.7) se obtiene

(2.3.16)

Como se observa en la ecuación (2.3.16) las funciones de transferencia utilizadasen este tipo de red deben ser continuas para que su derivada exista en todo elintervalo, ya que el término f’s(nsk) es requerido para el cálculo del error.

Las funciones de transferencia más utilizadas y sus respectivas derivadas sonlas siguientes:

logsig: (2.3.17)

tansig: (2.3.18)

Page 64: Antologia de Inteligencia Artificial 1 (2)

purelin: (2.3.19)

De la ecuación (2.3.16), los términos del error para las neuronas de la capa desalida están dados por la ecuación (2.3.20), la cual se le denomina comúnmentesensitividad de la capa de salida.

(2.3.20)

Este algoritmo se denomina Backpropagation o de propagación inversa debido aque el error se propaga de manera inversa al funcionamiento normal de la red, deesta forma, el algoritmo encuentra el error en el proceso de aprendizaje desde lascapas más internas hasta llegar a la entrada; con base en el cálculo de este errorse actualizan los pesos y ganancias de cada capa.

Después de conocer (2.3.20) se procede a encontrar el error en la capa oculta elcual está dado por:

(2.3.21)

Para calcular el último término de la ecuación (2.3.21) se debe aplicar la regla dela cadena en varias ocasiones como se observa en la ecuación (2.3.22) puestoque la salida de la red no es una función explícita de los pesos de la conexiónentre la capa de entrada y la capa oculta

(2.3.22)

Todos los términos de la ecuación (2.3.23) son derivados respecto a variables delas que dependan explícitamente, reemplazando (2.3.22) en (2.3.21) tenemos:

(2.3.23)

Tomando las derivas de las ecuaciones (2.3.4) (2.3.5) (2.3.6) (2.3.7) yreemplazándolas en la ecuación (2.3.23) se obtiene la expresión del gradiente delerror en la capa oculta

Page 65: Antologia de Inteligencia Artificial 1 (2)

(2.3.24)

Reemplazando la ecuación (2.3.20) en la ecuación (2.3.24) se tiene:

(2.3.25)

Los términos del error para cada neurona de la capa oculta está dado por laecuación (2.3.26), este término también se denomina sensitividad de la capaoculta

(2.3.26)

Luego de encontrar el valor del gradiente del error se procede a actualizar lospesos de todas las capas empezando por la de salida, para la capa de salida laactualización de pesos y ganancias esta dada por (2.3.27) y (2.3.28).

(2.3.27)

(2.3.28)

: Rata de aprendizaje que varía entre 0 y 1 dependiendo de las característicasdel problema a solucionar.

Luego de actualizar los pesos y ganancias de al capa de salida se procede aactualizar los pesos y ganancias de la capa oculta mediante las ecuaciones(2.3.29) y (2.3.30)

(2.3.29)

(2.3.30)

Esta deducción fue realizada para una red de tres capas, si se requiere realizar elanálisis para una red con dos o más capas ocultas, las expresiones puedenderivarse de la ecuación (2.3.26) donde los términos que se encuentran dentro dela sumatoria pertenecen a la capa inmediatamente superior, este algoritmo es

Page 66: Antologia de Inteligencia Artificial 1 (2)

conocido como la regla Delta Generalizada desarrollada por Rumelhart D [], la cuales una extensión de la regla delta desarrollada por Widrow [] en 1930

Para algunos autores las sensibilidades de las capas están detonadas por la letraS, reescribiendo las ecuaciones (2.3.20) y (2.3.26) con esta notación se obtienenlas ecuaciones (2.3.31) y (2.3.32)

(2.3.31)

(2.3.32)

En la ecuación (2.3.31) M representa la última capa y SM la sensitividad para estacapa, la ecuación (2.3.32) expresa el cálculo de la sensitividad capa por capacomenzando desde la última capa oculta, cada uno de estos términos involucraque el término para la sensitividad de la capa siguiente ya este calculado.

Como se ve el algoritmo Backpropagation utiliza la misma técnica de aproximaciónen pasos descendientes que emplea el algoritmo LMS, la única complicación estáen el cálculo del gradiente, el cual es un término indispensable para realizar lapropagación de la sensitividad.

En las técnicas de gradiente descendiente es conveniente avanzar por lasuperficie de error con incrementos pequeños de los pesos; esto se debe a quetenemos una información local de la superficie y no se sabe lo lejos o lo cerca quese está del punto mínimo, con incrementos grandes, se corre el riesgo de pasarpor encima del punto mínimo, con incrementos pequeños, aunque se tarde más enllegar, se evita que esto ocurra. El elegir un incremento adecuado influye en lavelocidad de convergencia del algoritmo, esta velocidad se controla a través de larata de aprendizaje , la que por lo general se escoge como un número pequeño,para asegurar que la red encuentre una solución. Un valor pequeño de significaque la red tendrá que hacer un gran número de iteraciones, si se toma un valormuy grande, los cambios en los pesos serán muy grandes, avanzando muyrápidamente por la superficie de error, con el riesgo de saltar el valor mínimo delerror y estar oscilando alrededor de él, pero sin poder alcanzarlo.

Es recomendable aumentar el valor de a medida que disminuye el error de la reddurante la fase de entrenamiento, para garantizar así una rápida convergencia,teniendo la precaución de no tomar valores demasiado grandes que hagan que lared oscile alejándose demasiado del valor mínimo. Algo importante que debetenerse en cuenta, es la posibilidad de convergencia hacia alguno de los mínimoslocales que pueden existir en la superficie del error del espacio de pesos como seve en la figura 2.3.4.

Page 67: Antologia de Inteligencia Artificial 1 (2)

Figura 2.3.4 Superficie típica de error

En el desarrollo matemático que se ha realizado para llegar al algoritmoBackpropagation, no se asegura en ningún momento que el mínimo que seencuentre sea global, una vez la red se asiente en un mínimo sea local o globalcesa el aprendizaje, aunque el error siga siendo alto. En todo caso, si la soluciónes admisible desde el punto de vista del error, no importa si el mínimo es local oglobal o si se ha detenido en algún momento previo a alcanzar un verdaderomínimo.

2.3 BACKPROPAGATION

Para ilustrar el cálculo de cada uno de los términos del algoritmo Backpropagation,este se utilizara se para aproximar la siguiente función:

(2.3.33)

La función se ha restringido al intervalo entre –2 y 2 para conservarla dentro delímites observables, como se observa en la figura 2.3.5

Figura 2.3.5 Intervalo de la función t

Page 68: Antologia de Inteligencia Artificial 1 (2)

La configuración escogida para la red corresponde a una red 1:2:1 según lanotación definida con anterioridad, es decir una entrada, dos neuronas en la capaoculta y una salida; esta estructura se visualiza en la figura 2.3.6

Figura 2.3.6 Red utilizada para aproximar la función

Como se observa la salida de la red para la primera capa está dada por

a1= tansig(W1pT+b) (2.3.34)

Las redes tipo Backpropagation utilizan principalmente dos funciones detransferencia en la primera capa: logsig, cuando el rango de la función es siemprepositivo y tansig como en este caso, cuando se le permite a la función oscilar entrevalores positivos y negativos limitados en el intervalo –1, 1.

La salida de la segunda capa está determinada generalmente por la función detransferencia purelin, la cual reproduce exactamente el valor resultante despuésde la sumatoria.

a2 = purelin(W 2 * a1+b2) (2.3.35)

Al evaluar la ecuación (2.3.33) en los diferentes patrones de entrenamiento, seobtienen los valores de las entradas y sus salidas asociadas, ya que como se dijoantes la red Backpropagation es una red de aprendizaje supervisado. Esimportante destacar, que no es estrictamente necesario el conocimiento de lafunción a aproximar, basta con conocer la respuesta a una entrada dada, o unregistro estadístico de salidas para modelar el comportamiento del sistema,limitando el problema a la realización de pruebas a una caja negra.

Los parámetros de entrada y sus valores de salida asociados, se observan en latabla 2.3.1

1 2 3 4 5 6

Page 69: Antologia de Inteligencia Artificial 1 (2)

p -2 -1,2 0,4 0,4 1,2 2

t -1 -0,81

-0,31 0,309 0,809 1

Tabla 2.3.1 Set de entrenamiento de la red

Los valores iniciales para la matriz de pesos y el vector de ganancias de la red seescogieron en forma aleatoria así:

, , , ,

Para el proceso de cálculo, se le presenta a la red el patron de entrenamiento p1,

de esta forma la primera iteración es como sigue

e=t - a= - 1- (0.63) = -1.63

Como se esperaba la primera iteración no ha sido suficiente, para aproximar lafunción correctamente, así que se calculará la sensitividad para iniciar el procesode actualización de los valores de los pesos y las ganancias de la red.

Los valores de las derivadas del error medio cuadrático son:

Y las sensitividades, empezando desde la última hasta la primera capa,

s2=-2(1) (-1.63) = 3.26

Page 70: Antologia de Inteligencia Artificial 1 (2)

Con estos valores, y de acuerdo a la regla de actualización descrita anteriormente,los nuevos parámetros de la red son:

Con esto se completa la primera iteración, y el algoritmo queda listo parapresentar a la red el siguiente patrón y continuar el proceso iterativo hasta obtenerun valor de tolerancia aceptable para el error.

En 1989 Funahashi [] demostró matemáticamente que una red neuronal multicapapuede aproximar cualquier función no lineal o mapa lineal multivariable, f (x)= Rn

R Este teorema es de existencia, pues prueba que la red existe pero no indicacómo construirla y tampoco garantiza que la red aprenderá función.

El algoritmo Backpropagation es fácil de implementar, y tiene la flexibilidad deadaptarse para aproximar cualquier función, siendo una de las redes multicapamás potentes; esta característica ha convertido a esta red en una de las másampliamente utilizadas y ha llevado al desarrollo de nuevas técnicas que permitansu mejoramiento. Dentro de estas técnicas encontramos dos métodos heurísticosy dos métodos basados en algoritmos de optimización numérica.

2.3 BACKPROPAGATION

2.3.3.1 Red Backpropagation con momentum: Esta modificación está basada en laobservación de la última sección de la gráfica del error medio cuadrático en elproceso de convergencia típico para una red Backpropagation; este procesopuede verse en la figura 2.3.7 en la cual se nota la caída brusca del error en laiteración para la cual alcanza convergencia

Page 71: Antologia de Inteligencia Artificial 1 (2)

Figura 2.3.7 Comportamiento típico del proceso de convergencia para una redBackpropagation

Este comportamiento puede causar oscilaciones no deseadas, por lo que esconveniente suavizar esta sección de la gráfica incorporando un filtro pasa-bajo alsistema. Para ilustrar el efecto positivo del filtro en el proceso de convergencia, seanalizará el siguiente filtro de primer orden:

(2.3.36)

Donde w(k) es la entrada al filtro, y(k) su salida y es el coeficiente de momentumque está en el intervalo

El efecto del filtro puede observase en la figura 2.3.8, en la cual se tomó comoentrada al filtro la función:

(2.3.37)

Figura 2.3.8 Efecto del coeficiente de momentum

El coeficiente de momentum se asumió para la gráfica de la izquierda ypara la gráfica de la derecha. De esta figura puede notarse como la

oscilación es menor a la salida del filtro, la oscilación se reduce a medida que sedecrementa, el promedio de la salida del filtro es el mismo que el promedio de

Page 72: Antologia de Inteligencia Artificial 1 (2)

entrada al filtro aunque mientras sea incrementado la salida del filtro será máslenta.

Recordando los parámetros de actualización empleados por el algoritmoBackpropagation tradicional:

(2.3.38)

(2.3.39)

Al adicionar el filtro con momentum a este algoritmo de actualización, se obtienenlas siguientes ecuaciones que representan el algoritmo Backpropagation conmomentum:

(2.3.40)

(2.3.41)

Este algoritmo, hace que la convergencia sea estable e incluso más rápida,además permite utilizar una rata de aprendizaje alta.

La figura 2.3.9 referencia el comportamiento del algoritmo con momentum en elpunto de convergencia:

Figura 2.3.9 Trayectoria de convergencia con momentum

2.3 BACKPROPAGATION

2.3.3.2 Red Backpropagation con rata de aprendizaje variable: Del análisis de lasección 2.3.3 se vio que es el gradiente del error, de igual forma se definirá

como la Hessiana de la función de error, donde x representa las variables

Page 73: Antologia de Inteligencia Artificial 1 (2)

de las cuales depende el error (pesos y ganancias), esta matriz es siempre de laforma:

(2.3.42)

La superficie del error medio cuadrático para redes de una sola capa es siempreuna función cuadrática y la matriz Hessiana es por tanto constante, esto lleva aque la máxima rata de aprendizaje estable para el algoritmo de pasosdescendientes sea el máximo valor propio de la matriz Hessiana dividido 2,HBD[].Para una red multicapa la superficie del error no es una función cuadrática, suforma es diferente para diferentes regiones del espacio, la velocidad deconvergencia puede incrementarse por la variación de la rata de aprendizaje encada parte de la superficie del error, sin sobrepasar el valor máximo paraaprendizaje estable definido anteriormente.

Existen varias técnicas para modificar la rata de aprendizaje; este algoritmoemplea un procedimiento mediante el cual la rata de aprendizaje varía de acuerdoal rendimiento que va presentando el algoritmo en cada punto; si el errordisminuye vamos por el camino correcto y se puede ir más rápido incrementandola rata de aprendizaje, si el error aumenta, es necesario decrementar la rata deaprendizaje; el criterio de variación de debe estar en concordancia con lassiguientes reglas heurísticas:

1. Si el error cuadrático de todos los parámetros del set de entrenamiento seincrementa en un porcentaje típicamente entre 1% y 5%, después de laactualización de los pesos, esa actualización es descartada, la rata deaprendizaje se multiplica por un factor , y el coeficiente demomentum es fijado en cero.

2. Si el error cuadrático se decrementa después de la actualización de lospesos, esa actualización es aceptada y la rata de aprendizaje esmultiplicada por un factor . Si había sido previamente puesto en cero,se retorna a su valor original.

3. Si el error cuadrático se incrementa en un valor menor a , los pesosactualizados son aceptados, pero la rata de aprendizaje y el coeficiente demomentum no son cambiados.

Page 74: Antologia de Inteligencia Artificial 1 (2)

Figura 2.3.10 Característica de convergencia para una rata de aprendizaje variable

La figura 2.3.10, muestra la trayectoria de la rata de aprendizaje para estealgoritmo en comparación con la característica de convergencia

Existen muchas variaciones de este algoritmo, por ejemplo Jacobs[] propuso laregla delta-bar-delta, en la cual cada uno de los parámetros de la red, (pesos yganancias) tenían su propia rata de aprendizaje. El algoritmo incrementa la rata deaprendizaje para un parámetro de la red si el parámetro escogido, ha estado en lamisma dirección para varias iteraciones; si la dirección del parámetro escogidocambia, entonces la rata de aprendizaje es reducida.

Los algoritmos Backpropagation con momentum y con rata de aprendizaje variableson los dos métodos heurísticos más utilizados para modificar el algoritmoBackpropagation tradicional. Estas modificaciones garantizan rápida convergenciapara algunos problemas, sin embargo presentan dos problemas principales:primero, requieren de un gran número de parámetros , los que la mayoríade las veces se definen por un método de ensayo y error de acuerdo a laexperiencia del investigador, mientras que el algoritmo tradicional, solo requieredefinir la rata de aprendizaje; segundo, estas modificaciones pueden llevar a queel algoritmo nunca converja y se torne oscilante para problemas muy complejos.

Como se mencionó antes, existen también métodos de modificación basados entécnicas de optimización numérica, de esta clase de modificaciones se destacaranlas más sobresalientes; es importante recalcar que estos métodos requieren unamatemática más exigente, que el simple del dominio de cálculo diferencial.

2.3 BACKPROPAGATION

2.3.3.3 Método del Gradiente Conjugado []: Este algoritmo no involucra el cálculode las segundas derivadas de las variables y converge al mínimo de la funcióncuadrática en un número finito de iteraciones. El algoritmo del gradienteconjugado, sin aplicarlo aún al algoritmo de propagación inversa consiste en:

Page 75: Antologia de Inteligencia Artificial 1 (2)

1. Seleccionar la dirección de p0 , la condición inicial, en el sentido negativodel gradiente:

(2.3.43)

Donde

(2.3.44)

2. Seleccionar la rata de aprendizaje para minimizar la función a lo largo dela dirección

(2.3.45)

3. Seleccionar la dirección siguiente de acuerdo a la ecuación

(2.3.46)

con

(2.3.47)

4.Si el algoritmo en este punto aún no ha convergido, regresamos al numeral 2

Este algoritmo no puede ser aplicado directamente a una red neural porque elerror no es una función cuadrática; lo que afecta al algoritmo en dos formas,primero no es hábil para minimizar la función a lo largo de una línea como esrequerido en el paso 2; segundo, el error mínimo no será alcanzado normalmenteen un número finito de pasos y por esto el algoritmo necesitará ser inicializadodespués de un número determinado de iteraciones.

A pesar de estas complicaciones, esta modificación del algoritmo Backpropagationconverge en muy pocas iteraciones, y es incluso uno de los algoritmos másrápidos para redes multicapa, como puede notarse en la figura 2.3.11

Page 76: Antologia de Inteligencia Artificial 1 (2)

Figura 2.3.11 Trayectoria del Gradiente Conjugado

2.3 BACKPROPAGATION

2.3.3.4 Algoritmo de Levenberg - Marquardt:[] Este algoritmo es una modificacióndel método de Newton, el que fue diseñado para minimizar funciones que sean lasuma de los cuadrados de otras funciones no lineales; es por ello que el algoritmode Levenberg - Marquardt, tiene un excelente desempeño en el entrenamiento deredes neuronales donde el rendimiento de la red esté determinado por el errormedio cuadrático.

El método de Newton para optimizar el rendimiento e(x) es:

(2.3.48)

(2.3.49)

Si asumimos que e(x) es una suma de funciones cuadráticas:

(2.3.50)

El gradiente puede ser escrito entonces en forma matricial:

(2.3.51)

Donde J(x) es la matriz Jacobiana.

Ajustando el método de Newton, obtenemos el algoritmo de Levenberg Marquardt

(2.3.52)

Page 77: Antologia de Inteligencia Artificial 1 (2)

o

(2.3.53)

La nueva constante determina la tendencia el algoritmo, cuando seincrementa, este algoritmo se aproxima al algoritmo de pasos descendientes para

ratas de aprendizaje muy pequeñas; cuando se decrementa este algoritmo seconvierte en el método de Gauss - Newton

El algoritmo comienza con un valor pequeño para , por lo general 0.01, si enese paso no se alcanza el valor para e(x) entonces el paso es repetido conmultiplicado por un factor . Si se ha escogido un valor pequeño de paso en ladirección de paso descendiente, e(x) debería decrecer. Si un paso produce unpequeño valor para e(x), entonces el algoritmo tiende al método de Gauss -Newton, el que se supone garantiza una rápida convergencia. Este algoritmogenera un compromiso entre la velocidad del método de Gauss-Newton y lagarantía de convergencia del método de paso descendiente.

Los elementos de la matriz Jacobiana necesarios en el algoritmo de Levenberg-Marquardt son de este estilo:

(2.3.54)

Donde x es el vector de parámetros de la red, que tiene la siguiente forma:

(2.3.55)

Para utilizar este algoritmo en las aplicaciones para redes multicapa, se redefiniráel término sensitividad de forma que sea más simple hallarlo en cada iteración.

(2.3.56)

Donde h=(q-1)SM + k

Con la sensitividad definida de esta manera, los términos de la matriz Jacobianapueden ser calculados más fácilmente:

Page 78: Antologia de Inteligencia Artificial 1 (2)

(2.3.57)

y para las ganancias:

(2.3.58)

De esta forma, cuando la entrada pQ ha sido aplicada a la red y sucorrespondiente salida aMQ ha sido computada, el algoritmo Backpropagation deLevenberg-Marquardt es inicializado con:

(2.3.59)

Cada columna de la matriz SMQ debe ser propagada inversamente a través de lared para producir una fila de la matriz Jacobiana. Las columnas pueden tambiénser propagadas conjuntamente de la siguiente manera:

(2.3.60)

La matrices sensitividad total para cada capa en el algoritmo de Levenberg-Marquardt son formadas por la extensión de las matrices computadas para cadaentrada:

(2.3.61)

Para cada nueva entrada que es presentada a la red, los vectores de sensitividadson propagados hacia atrás, esto se debe a que se ha calculado cada error enforma individual, en lugar de derivar la suma al cuadrado de los errores. Para cadaentrada aplicada a la red habrá SM errores, uno por cada elemento de salida de lared y por cada error se generara una fila de la matriz Jacobiana.

Este algoritmo puede resumirse de la siguiente manera:

1. Se presentan todas las entradas a la red, se calculan las correspondientessalidas y cada uno de los errores según

(2.3.62)

Page 79: Antologia de Inteligencia Artificial 1 (2)

se calcula después, la suma de los errores cuadrados para cada entradae(x)

2. Se calculan las sensitividades individuales y la matriz sensitividad total ycon estas, se calculan los elementos de la matriz Jacobiana.

3. Se obtiene4. Se recalcula la suma de los errores cuadrados usando . Si esta

nueva suma es más pequeña que el valor calculado en el paso 1 entoncesse divide por , se calcula y se regresa al paso 1. Si lasuma no se reduce entonces se multiplica por

y se regresa al paso 3.

El algoritmo debe alcanzar convergencia cuando la norma del gradiente de

(2.3.63)

Sea menor que algún valor predeterminado, o cuando la suma de los errorescuadrados ha sido reducida a un error que se haya trazado como meta.

El comportamiento de este algoritmo se visualiza en la figura 2.3.12, la cualmuestra la trayectoria de convergencia con y

Figura 2.3.12 Trayectoria del algoritmo Levenberg-Marquardt

Como puede verse, este algoritmo converge en menos iteraciones que cualquiermétodo discutido anteriormente, por supuesto requiere mucha más computaciónpor iteración, debido a que implica el cálculo de matrices inversas. A pesar de sugran esfuerzo computacional sigue siendo el algoritmo de entrenamiento másrápido para redes neuronales cuando se trabaja con un moderado número deparámetros en la red, si el número de parámetros es muy grande utilizarlo resultapoco práctico.

Page 80: Antologia de Inteligencia Artificial 1 (2)

4 APRENDIZAJE ASOCIATIVO

2.4.1 Antecedentes: Las redes con aprendizaje no supervisado (tambiénconocido como auto-supervisado) no requieren influencia externa para ajustar lospesos de las conexiones entre sus neuronas, la red no recibe ninguna informaciónpor parte del entorno que le indique si la salida generada en respuesta a unadeterminada entrada es o no correcta, por ello suele decirse que estas redes soncapaces de auto organizarse.

Estas redes deben encontrar las características, regularidades, correlaciones ocategorías que se puedan establecer entre los datos que se presenten en suentrada; puesto que no hay supervisor que indique a la red la respuesta que debegenerar ante una entrada concreta, cabría preguntarse precisamente por lo que lared genera en estos casos, existen varias posibilidades en cuanto a lainterpretación de la salida de estas redes que dependen de su estructura y delalgoritmo de aprendizaje empleado.

En algunos casos, la salida representa el grado de familiaridad o similitud entre lainformación que se le está presentando en la entrada de la red y las informacionesque se le han mostrado hasta entonces, en otro caso la red podría realizar unaclusterización (clustering) o establecimiento de categorías, indicando la salida dela red a que categoría pertenece la información presentada a la entrada, siendo lapropia red quien deba encontrar las categorías apropiadas a partir decorrelaciones entre las informaciones presentadas. Una variación de estacategorización es el prototipado, en este caso la red obtiene ejemplares oprototipos representantes de las clases a las que pertenecen las informaciones deentrada.

El aprendizaje sin supervisión permite también realizar una codificación de losdatos de entrada, generando a la salida una versión codificada de la entrada conmenos bits, pero manteniendo la información relevante de los datos.

Algunas redes con aprendizaje no supervisado generan un mapeo decaracterísticas (featuring mapping), obteniéndose en las neuronas de salida unadisposición geométrica que representa un mapa fotográfico de las característicasde los datos de entrada, de tal forma que si se presentan a la red informacionessimilares siempre sean afectadas neuronas de salida próximas entre sí, en lamisma zona del mapa.

En cuanto a los algoritmos de aprendizaje no supervisado, en general seconsideran dos tipos, que dan lugar a los siguientes aprendizajes:

Aprendizaje asociativo Aprendizaje competitivo

En el primer caso normalmente se pretende medir la familiaridad o extraercaracterísticas de los datos de entrada, mientras que el segundo suele orientarse

Page 81: Antologia de Inteligencia Artificial 1 (2)

hacia la clusterización o clasificación de dichos datos. En esta sección seprofundizará en el estudio del primero de estos algoritmos, el correspondiente alaprendizaje asociativo.

Una asociación es cualquier vínculo entre la entrada de un sistema y sucorrespondiente salida. Cuando dos patrones son vinculados por una asociación,el patrón de entrada es a menudo referido como el estímulo, y la salida es referidacomo la respuesta.

El aprendizaje asociativo fue inicialmente estudiado por escuelas de Sicología, lascuales se dedicaron a estudiar las relaciones entre el comportamiento humano y elcomportamiento animal. Una de las primeras influencias en este campo fue elexperimento clásico de Pavlov, en el cual se entrenó a un perro para salivar alescuchar el sonido de una campana si le era presentado un plato de comida, estees un ejemplo del llamado Condicionamiento Clásico. Otro de los principalesexponentes de esta escuela fue B.F. Skinner, su experimento involucró elentrenamiento de ratas, las cuales debían presionar un botón para obtenercomida, a este tipo de entrenamiento se le llamo Condicionamiento Instrumental.

Basado en este tipo de comportamiento, Donald Hebb postuló el siguienteprincipio conocido como la regla de Hebb:

“Cuando un axón de una celda A está lo suficientemente cerca de otra celda Bcomo para excitarla y repetidamente ocasiona su activación, un cambio metabólicose presenta en una o ambas celdas, tal que la eficiencia de A, como celdaexcitadora de B, se incrementa". Con el término celda, Hebb se refería a unconjunto de neuronas fuertemente conexionadas a través de una estructuracompleja, la eficiencia podría identificarse con la intensidad o magnitud de laconexión, es decir el peso.

Este postulado aplicado a redes asociativas, marcó el inicio del aprendizaje nosupervisado. Un gran número de investigadores ha contribuido al aprendizajeasociativo, en particular Tuevo Kohonen, James Anderson y Stephen Grossberg.Anderson y Kohonen desarrollaron independientemente el asociador lineal afinales de los años 60's y Grossberg introdujo la red asociativa no lineal duranteeste mismo periodo.

Según la regla de aprendizaje de Hebb, la actividad coincidente en las neuronasprésináptica y postsináptica es crítica para fortalecer la conexión entre ellas, a estose denomina mecanismo asociativo pre-post.

2.4 APRENDIZAJE ASOCIATIVO

2.4.2 Estructura de la red: La red más sencilla capaz de realizar una asociaciónse presenta en la figura 2.4.1, esta es una red de una sola neurona con unafunción de transferencia limitador fuerte

Page 82: Antologia de Inteligencia Artificial 1 (2)

Figura 2.4.1 Asociador lineal con un limitador fuerte

La salida a de la neurona está determinada por su entrada p, de acuerdo a:

a=hardlim (wp+b) (2.4.1)

Por simplicidad se tomará el valor de p como cero o uno, indicando presencia oausencia de estímulo. El valor de a esta limitado por la función de transferenciacon salida cero o uno.

La presencia de una asociación entre el estímulo p=1 y la respuesta a=1, esindicada por el valor de w. La red responderá al estímulo, solamente si wp esmayor que –b.

El estudio de redes asociativas ha evitado el uso de redes complejas, por tanto sehan definido dos tipos de estímulos: un conjunto de entradas llamado estímulo nocondicionado, análogo a la comida presentada al perro en el experimento dePavlov y otro conjunto de entradas llamado estímulo condicionado, análogo a lacampana en el experimento. Inicialmente el perro saliva solamente cuando lacomida es presentada, esta característica innata hace que el perro aprenda. Sinembargo, cuando la campana ha acompañado la comida repetidas veces, el perroes condicionado a salivar con el sonido de la campana aún cuando la comida nohaya sido presentada.

Definiendo las clases de entradas a una red asociativa, se tiene:

Estímulo no condicionado: Corresponde a la entrada, que pudiendo ser decarácter escalar o vectorial, refuerza el aprendizaje y ayuda a hacer la asociacióncon la salida deseada, este estímulo se presenta intermitentemente para simularun real proceso de aprendizaje y memorización de la red; la mayoría de las vecesel estímulo no condicionado se convierte en la salida deseada de la red.

Page 83: Antologia de Inteligencia Artificial 1 (2)

Estímulo condicionado: Es el objeto de la asociación, debe ser siemprepresentado a la red y ésta debe asociarlo con la salida deseada; al final delproceso de aprendizaje la red debe ser capaz de entregar la respuesta correctacon la presentación de este único estímulo a su entrada, sin importar si el estímulono condicionado ha sido presentado o no, pues la asociación ya ha sido realizada.

En este caso representaremos el estímulo no condicionado por p0 y el estímulocondicionado simplemente por p. Los pesos w0, asociados con p0 se tomarán fijosy los pesos w asociados a p serán actualizados en cada iteración.

La figura 2.4.2 representa la red correspondiente al asociador lineal para una fruta,la red tiene ambos estímulos, no condicionado (forma de la fruta) y condicionado(olor de la fruta), escogidos aleatoriamente para este caso, en el cual se tratarásimplemente de ilustrar el objeto de una asociación. Según la elección de losestímulos se desea que la red asocie la forma de la fruta pero no su olor, es decirel sensor de olor trabajará siempre correctamente, de tal manera que la red lotendrá siempre presente, pero el sensor de forma trabajará intermitentemente,cuando la forma sea detectada (sensor de forma p0=1), la red responderácorrectamente identificando la fruta.

Figura 2.4.2 Asociador para una fruta

La definición de los estímulos estará dada por:

Con el propósito de cumplir las condiciones matemáticas del ejemplo, se haescogido b = -0.5. Para iniciar con el asociador se asignará a w0 un valor mayor a -b y a w un valor menor que –b. Los siguientes valores satisfacen estosrequerimientos:

w 0=1, w=0 (2.4.2)

Page 84: Antologia de Inteligencia Artificial 1 (2)

La función de entrada/salida del asociador para una fruta, puede simplificarse a:

a= hardlim (p 0 - 0.5) (2.4.3)

La red responderá solo si p0=1, sin importar si p=1, o p=0, es decir la redresponderá independientemente del estímulo condicionado.

Llegará un momento en que el sensor de forma no trabajará más y se espera quepara ese momento la red haya realizado una asociación correcta para identificar lafruta con la sola presencia del olor, sin necesidad de que su forma tenga que serdetectada, esto se logrará variando los valores para los pesos de conexión de lared para el estímulo condicionado.

2.4 APRENDIZAJE ASOCIATIVO

2.4.3 Regla de Hebb: Esta regla puede interpretarse matemáticamente teniendoen cuenta que si dos neuronas en cualquier lado de la sinapsis son activadassimultáneamente, la longitud de la sinapsis se incrementará. Si se revisa la figura2.4.3 correspondiente a un asociador lineal, se ve como la salida a, esdeterminada por el vector de entrada p.

Figura 2.4.3 Asociador Lineal

(2.4.4)

Puede notarse como la conexión (sinapsis) entre la entrada pj y la salida ai es elpeso wij. De esta forma el postulado de Hebb implica que si un valor positivo pjproduce un valor positivo ai, el valor de wij debe incrementarse,

(2.4.5)

Page 85: Antologia de Inteligencia Artificial 1 (2)

Donde:

pjq :j-ésimo elemento del q-ésimo vector de entrada pqaiq :i-ésimo elemento de salida de la red, cuando el q-ésimo vector de entrada espresentado

:es la rata de aprendizaje, la cual es un valor positivo constante

La regla de Hebb dice que el cambio en el peso wij es proporcional al producto delas funciones de activación en cualquier lado de la sinapsis. Así, los pesos seránincrementados cuando pj y ai sean positivos, pero también lo harán cuando ambosparámetros sean negativos, en contraposición los pesos se decrementaráncuando pj y aijtengan signos contrarios.

Si se retorna a la discusión de los estímulos en animales y seres humanos, debedecirse que ambos tienden a asociar eventos que ocurren simultáneamente.Parafraseando el postulado de Hebb: "Si el estímulo del olor de la fruta, ocurresimultáneamente con la respuesta del concepto de esa fruta, (activada por algúnotro estímulo como la forma de la fruta), la red debe alargar la conexión entre ellospara que después, la red active el concepto de esa fruta en respuesta a su olorsolamente."

La regla de aprendizaje de Hebb determina que el incremento del peso wij entre laentrada pj de una neurona y su salida ai en la q-ésima iteración es:

(2.4.6)

La rata de aprendizaje determina cuantas veces un estímulo y su respuestadeben ocurrir juntos antes de que la asociación sea hecha. En la red de la figura2.4.2, una asociación será hecha cuando w > -b = 0.5, entonces para una entradap=1 se producirá una salida a=1, sin importar el valor de p0

Para comprender el funcionamiento de la regla de Hebb, ésta se aplicará a lasolución del asociador de la fruta resuelto en el numeral anterior. El asociador seráinicializado con los valores determinados anteriormente

w 0=1, w (0) = 0 (2.4.7)

El asociador será repetidamente expuesto a la fruta; sin embargo mientras elsensor de olor trabajará en forma siempre confiable (estímulo condicionado), elsensor de la forma operará intermitentemente (estímulo no condicionado). Así lasecuencia de entrenamiento consiste en la repetición de la siguiente secuencia devalores de entrada:

{p0(1) = 0, p(1) = 1}, {p 0(2) = 1, p(2) = 1}.... (2.4.8)

Page 86: Antologia de Inteligencia Artificial 1 (2)

Usando una rata de aprendizaje , y empleando la regla de Hebb, seránactualizados los pesos w correspondientes al estímulo condicionado, ya que comose dijo anteriormente, los pesos correspondientes al estímulo no condicionado semantendrán constantes.

La salida para la primera iteración (q=1) es:

a(1) = hardlim(w 0 p 0 (1)+ w(0) p (1) - 0.5)

= hardlim (1*0 + 0*1- 0.5) = 0 No hay respuesta (2.4.9)

El olor solamente no ha generado una respuesta esto es, no hubo una asociaciónentre el olor de la fruta y el concepto de la fruta como tal, sin una respuesta laregla de Hebb, no altera el valor de w

W (1)=w (0)+a (1) p (1) = 0 + 0*1=0 (2.4.10)

En la segunda iteración, son detectados tanto la forma como el olor de la fruta y lared responderá correctamente identificando la fruta

a(2) = hardlim (w0p0 (2) + w(1) p(2) - 0.5) (2.4.11)

= hardlim(1*1 + 0*1- 0.5) = 1 La fruta ha sido detectada

Como el estímulo del olor y la respuesta de la red ocurrieron simultáneamente laregla de Hebb, incrementa los pesos entre ellos.

w(2)= w(1) + a(2) p(2) = 0 + 1*1 =1 (2.4.12)

En la tercera iteración a pesar de que el sensor de la forma falla nuevamente, lared responde correctamente. La red ha realizado una asociación útil entre el olorde la fruta y su respuesta.

a(3)=hardlim(w 0p0(3)+w(2) p(3) - 0.5) (2.4.13)

=hardlim(1*0+1*1-0.5) =1 La fruta ha sido detectada

w(3) = w(2)+a(3) p(3) = 1+1*1 = 2 (2.4.14)

Ahora la red es capaz de identificar la fruta por medio de su olor o de su forma;incluso si los dos sensores tienen fallas intermitentes, la red responderácorrectamente la mayoría de las veces.

Una forma de mejorar la regla de Hebb, es adicionar un término que controle elcrecimiento de la matriz de peso, a esta modificación se le da el nombre de reglade Hebb con rata de olvido.

Page 87: Antologia de Inteligencia Artificial 1 (2)

(2.4.15)

Donde es la rata de olvido, la cual es una constante positiva menor que 1;cuando se aproxima a cero la ley de aprendizaje se convierte en la ley de Hebbestándar; cuando se aproxima a 1, la rata de aprendizaje olvida rápidamente lasentradas anteriores y recuerda solamente los patrones más recientes. El efecto deesta nueva constante, es controlar que el crecimiento de la matriz de pesos no serealice sin límites y así darle un mejor aprovechamiento a la capacidad dememoria de la red.

2.4 APRENDIZAJE ASOCIATIVO

2.4.4 Red Instar: Hasta ahora se han considerado solamente reglas de asociaciónentre entradas y salidas escalares. Si se examina la red de la figura 2.4.4, se notacomo esta neurona está enfrentada a un problema de reconocimiento de patronescuya entrada es de tipo vectorial; esta neurona es el tipo de red más simple capazde resolver esta clase de problemas y es llamada red Instar.

Figura 2.4.4 Red Instar

Puede notarse la similitud entre la red Instar y la red Perceptrón de la figura 2.1.6,o incluso a la red Adaline de la figura 2.2 3. Estas redes han tenido diferentesnombres, debido a razones históricas y a que su desempeño ha sido analizado endiferentes ambientes. Para la Instar no se considerará directamente sucaracterística de decisión, concepto que fue bastante importante para elPerceptrón, en lugar de ello se analizará la capacidad de la Instar parareconocimiento de patrones a través de asociaciones y aprendizaje nosupervisado.

La ecuación para determinar la entrada/salida de la Instar es:

Page 88: Antologia de Inteligencia Artificial 1 (2)

a= hardlims (wTp+b) (2.4.16)

La red Instar se activará si el producto punto entre el vector de pesos (fila de lamatriz de pesos) y la entrada sea mayor o igual a –b

(2.4.17)

Los vectores w y p son de longitud constante, por lo tanto el mayor producto puntose presentará cuando los dos vectores apunten en la misma dirección; dicho deotra forma cuando el ángulo entre w y p sea , esto permite observar que lared instar de la figura 2.4.4 se activará cuando p y w estén muy cercanos,escogiendo un apropiado valor para la ganancia b se puede determinar qué tancerca deben estar p y w para que la instar se active, si se fija

(2.4.18)

la instar se activará solamente cuando p apunte exactamente en la mismadirección de w, de esta forma b se puede incrementar a valores ligeramente

mayores a , el mayor valor de b se presentará cuando la Instar estéactiva. Es importante recalcar que este análisis asume que todos los vectorestienen la misma longitud.

Uno de los inconvenientes de la regla de Hebb con rata de olvido, es que requiereque los estímulos se presenten de forma repetitiva o de lo contrario se perderá laasociación, se desea encontrar una regla alternativa que habilite el término conolvido solo cuando la Instar es activa , de esta forma los valores de los pesosseguirán siendo limitados, pero el porcentaje de olvido será minimizado. Paraobtener los beneficios del término de peso con rata de olvido, se adiciona unnuevo término proporcional a ai(q).

(2.4.19)

El nuevo término de peso se hace proporcional a la salida escalar ai(q), ya que sedesea controlar esta salida para que reproduzca el estímulo no condicionado; si seconsidera que la rata a la cual la red aprende nuevos pesos es igual a la rata deolvido , la ecuación (2.4.18) puede simplificarse a:

(2.4.20)

Esta ecuación es la llamada regla de Instar, que en forma vectorial teniendo encuenta el caso en que la instar esta activa (ai=1), se convierte en:

Page 89: Antologia de Inteligencia Artificial 1 (2)

w(q)= w(q-1) + (p(q) - w(q-1))

= (1- ) w(q-1)+ p(q) (2.4.21)

Esta operación se muestra en la figura 2.4.5

Figura 2.4.5 Representación gráfica de la regla de Instar

Cuando la instar es activa, el vector de pesos se mueve hacia el vector de entradaa lo largo de una línea entre el vector de pesos anterior y el vector de entrada. Ladistancia a la que se mueve el vector depende del valor de la rata de aprendizaje

. Cuando =0, el nuevo vector de pesos es igual al vector de pesos anterior.Cuando =1, el nuevo vector de pesos es igual al vector de entrada. Si =0.5 elnuevo vector de pesos será la mitad entre el vector de pesos anterior y el vectorde entrada.

Una característica útil de la regla Instar es que si los vectores de entrada sonnormalizados, entonces w será también normalizado una vez la red hayaaprendido un vector particular p, esta regla no solamente minimiza la rata deolvido, también normaliza los vectores de peso si el vector de entrada esnormalizado.

Se aplicará la regla de Instar para solucionar el problema de la figura 2.4.6, similaral problema del asociador para una fruta; este nuevo caso cuenta con dosentradas, una indicando si la fruta ha sido visualizada o no (estímulo nocondicionado) y otra consistente en un vector de tres medidas pertenecientes a lafruta (estímulo condicionado).

Page 90: Antologia de Inteligencia Artificial 1 (2)

Figura 2.4.6 Reconocimiento de una fruta por medio de una Instar

La salida de la red, está determinada por

a = hardlim(w0p0+Wp+b)

Los elementos de entrada a la red serán valores de 1 o –1, las tres propiedadesque se medirán de la fruta son: forma, textura y peso, de esta manera la salida delsensor de forma será 1 si la fruta es aproximadamente redonda o –1 si la fruta eselíptica, la salida del sensor de textura será 1 si la superficie de la fruta es suave yserá –1 si es rugosa y la salida del sensor de peso será 1 si la fruta pesa más deuna libra o –1 si el peso de la fruta es menor de esta medida.

En este caso la elección del estímulo condicionado y el no condicionado ya no esaleatoria, pues como se dijo en análisis anteriores, el estímulo no condicionado seconvierte la mayoría de las veces en la salida deseada de la red que es tipo deescalar para una red Instar, por lo tanto el sensor que representa la visualizaciónde la red será el estímulo no condicionado y el vector de medidas de la fruta seráel estímulo condicionado.

Con las dimensiones consideradas p es un vector normalizado con = . Ladefinición de p0 y p es:

El valor de la ganancia se asumirá como b = -2, un valor ligeramente más positivo

que - 2 = -3. Lo ideal es que la red tenga una asociación constante, entre lavisualización de la fruta y su respuesta, para que w0 sea mayor que – b.

Page 91: Antologia de Inteligencia Artificial 1 (2)

Inicialmente la red no responderá a ninguna combinación de medidas de la fruta,puesto que la fruta no ha sido detectada visualmente, así que los pesos inicialesserán cero

w0=3, W(0) = 1wT(0) = [0 0 0] (2.4.22)

Usando la regla Instar con una rata de aprendizaje , los pesos actualizadosse encontrarán de la siguiente forma:

w(q) = w (q -1) + a(q) (p(q) - w(q-1)) (2.4.23)

La secuencia de entrenamiento consistirá en repetidas presentaciones de la fruta,los sensores estarán actuando todo el tiempo sin embargo, en orden a observar laoperación de la regla Instar se asumirá que el sensor que visualiza la fruta actuaráintermitentemente, simulando así una falla en su construcción

(2.4.24)

Como la matriz W inicialmente contiene ceros, la Instar no responderá a lossensores de la fruta en la primera iteración

a(1)=hardlim(w 0 p 0(1) + Wp (1) - 2)

(2.4.25)

Como la neurona no respondió, sus pesos no serán actualizados por la reglaInstar

w(0) = w(0)+ a (1)(p(1)-w (0))

(2.4.26)

En la segunda iteración, cuando la fruta haya sido detectada visualmente, laneurona responderá

Page 92: Antologia de Inteligencia Artificial 1 (2)

a(2) = hardlim (w0p0(2)+Wp (2)-2)

(2.4.27)

El resultado es que la red aprendió a asociar el vector de medidas de la fruta consu respuesta. El vector de pesos de la red, se convierte en una copia del vector demedidas de la fruta.

w(2) = w(1)+ a (2)(p(2)-w (1))

(2.4.28)

La red puede ahora reconocer la fruta por sus medidas; la neurona respondió en latercera iteración, aun cuando el sistema de detección visual falló, por lo tanto lared realizará una asociación entre la presencia de la fruta y el vector de estímuloscondicionados, sin importar si el sensor de visualización (estímulo nocondicionado) opera adecuadamente.

a(3) = hardlim (w0p0(3)+Wp (3) - 2)

(2.4.29)

Cuando las medidas de la fruta han sido detectadas completamente, los pesosdejan de cambiar y se estabilizan.

w(3) = w(2)+ a (3)(p(3)-w (2))

(2.4.30)

Page 93: Antologia de Inteligencia Artificial 1 (2)

2.4 APRENDIZAJE ASOCIATIVO

2.4.5 Red Outstar: Ya se ha visto como la red Instar (con una entrada tipo vectory una salida tipo escalar) puede resolver problemas de reconocimiento depatrones por asociación de un vector particular de estímulo, con su respuesta. Lared Outstar, mostrada en la figura 2.4.7 tiene una entrada tipo escalar y una salidatipo vectorial y puede recordar patrones por asociación de un estímulo con unvector de respuesta.

Figura 2.4.7 Red Outstar

La expresión de salida de esta red es:

a=satlins(Wp) (2.4.30)

Se desea recordar un vector con valores entre –1 y 1, para lo cual se utilizará lafunción de saturación simétrica satlins, aunque pueden usarse otras funcionescomo por ejemplo hardlims.

Para derivar la regla Instar, el problema del olvido presentado por la regla deaprendizaje de Hebb fue limitado por el nuevo término de peso, el cual eraproporcional a la salida de la red ai. De manera similar, para obtener la regla deaprendizaje Outstar el término con olvido se hará proporcional a la entrada de lared pj ya que la salida de esta red es un vector, con el cual se espera simular elestímulo no condicionado

(2.4.31)

Si se hace la rata de olvido igual a la rata de aprendizaje se obtiene

Page 94: Antologia de Inteligencia Artificial 1 (2)

wij(q) = wij (q -1) + (ai(q) - wij(q-1)) pj(q) (2.4.32)

La regla Outstar tiene propiedades complementarias a la regla Instar; elaprendizaje ocurre cuando una entrada pj tiene un valor diferente a cero (en lugarde ai). Cuando el aprendizaje ocurre, la columna wj, se acerca al vector de salida.

Se entrenará la red de la figura 2.4.8, para observar el funcionamiento delalgoritmo

Figura 2.4.8 Reconocimiento de una fruta mediante una Outstar

La salida de la red será calculada como:

a=satlins(W0p0+Wp) (2.4.33)

Donde

(2.4.34)

Continuando con el reconocimiento de frutas, los estímulos condicionado y nocondicionado son:

Page 95: Antologia de Inteligencia Artificial 1 (2)

Como puede verse el estímulo no condicionado para una red Outstar tiene formavectorial y el estímulo no condicionado forma escalar, en forma opuesta a la redde Instar; la salida esperada de la red, es el vector de medidas de la fruta paracualquier entrada disponible.

La matriz de pesos para el estímulo no condicionado W0 es la matriz identidad, asícualquier conjunto de medidas p0 (con valores entre 1 y-1) será reproducido a lasalida de la red. La matriz de pesos para el estímulo condicionado W, esinicializada en ceros para que un 1 en p no genere respuesta. W será actualizadacon la regla Outstar, usando una rata de aprendizaje de 1.

La secuencia de entrenamiento consiste en repetidas presentaciones de lavisualización de la fruta y de sus medidas, las cuales se escogieron de la siguienteforma:

(2.4.35)

Para probar la red, el sistema de medidas de la red será presentadointermitentemente

(2.4.36)

En la primera iteración la fruta es vista pero sus medidas no están disponibles, ycomo el vector de medidas es en este caso el estímulo no condicionado la red noestregará una respuesta.

a=satlins(W0p0(1)+Wp(1)) (2.4.37)

La red ve la fruta, pero no puede determinar sus medidas porque aún no las haaprendido; por lo tanto los pesos no son alterados

w1(1) = w1(0)+(a (1) – w1 (2)) p(1) (2.4.38)

Page 96: Antologia de Inteligencia Artificial 1 (2)

En la segunda iteración, tanto la fruta como sus medidas son presentadas a la red

(2.4.39)

La red entregó las medidas de la fruta a la salida, es decir realizó la primeraasociación entre la fruta y sus medidas, por lo tanto los pesos son actualizados

w1(2) = w1(1)+(a (2) – w1 (1)) p(2) (2.4.40)

Cuando la fruta fue visualizada y sus medidas presentadas, la red forma unaasociación entre ellas, la matriz de pesos es ahora una copia de las medidas de lafruta y de esa forma podrá recordarlas más adelante.

En la tercera iteración, las medidas no son presentadas a la red, y aún así la redlas reproduce porque las recuerda por medio de la asociación que realizó

(2.4.41)

Desde este momento, los pesos no sufrirán grandes cambios, a menos que lafruta sea vista con medidas diferentes

w1(3) = w1(2)+(a (3) – w1 (2)) p(3) (2.4.42)

Page 97: Antologia de Inteligencia Artificial 1 (2)

Las redes de Instar y Outstar son empleadas conjuntamente en la red ART [], ycada una en forma independiente son utilizadas en gran cantidad de aplicacionesdebido a su fácil implementación y al funcionamiento casi intuitivo de su regla deaprendizaje; las redes asociativas se utilizan principalmente para filtrado deinformación en la reconstrucción de datos, eliminando distorsiones o ruido,también se emplean para explorar relaciones entre informaciones similares, parafacilitar la búsqueda por contenido en bases de datos y para resolver problemasde optimización.

2.5 REDES COMPETITIVAS

2.5.1 Antecedentes: En las redes con aprendizaje competitivo (y cooperativo),suele decirse que las neuronas compiten (y cooperan) unas con otras con el fin dellevar a cabo una tarea dada. Con este tipo de aprendizaje se pretende quecuando se presente a la red cierta información de entrada, sólo una de lasneuronas de salida de la red, o una por cierto grupo de neuronas, se active(alcance su valor de respuesta máximo). Por tanto las neuronas compiten paraactivarse quedando finalmente una, o una por grupo, como neurona vencedora yel resto quedan anuladas y siendo forzadas a sus valores de respuesta mínimos.

La competición entre neuronas se realiza en todas las capas de la red, existiendoen estas redes neuronas con conexiones de autoexcitación (signo positivo) yconexiones de inhibición (signo negativo) por parte de neuronas vecinas.

El objetivo de este aprendizaje es categorizar (clisterizar) los datos que seintroducen en la red, de esta forma las informaciones similares son clasificadasformando parte de la misma categoría y por tanto deben activar la misma neuronade salida. Las clases o categorías deben ser creadas por la propia red, puesto quese trata de un aprendizaje no supervisado a través de las correlaciones entre losdatos de entrada.

A principios de 1959, Frank Rosenblatt creó su simple clasificador espontáneo,una red de aprendizaje no supervisado basado en el Perceptrón, el cual aprendíaa clasificar vectores de entrada en dos clases con igual número de términos.

A finales de los años 60’s y principios de los 70’s, Stephen Grossberg introdujomuchas redes competitivas que usaban inhibición lateral obteniendo buenosresultados. Algunos de los comportamientos útiles obtenidos por él, fueron lasupresión del ruido, aumento del contraste y normalización de vectores.

En 1973, Christoph Von Der Malsburg introduce la regla del mapa de organizaciónpropia, que permitía a la red clasificar entradas en las cuales las neuronas queestuviesen en un vecindario cercano a la neurona ganadora, respondieran aentradas similares. La topología de esta red imitaba de alguna forma lasestructuras encontradas en la corteza visual de los gatos, estudiada por DavidHubel y Torten Wiesel. Su regla de aprendizaje generó gran interés, pero esta

Page 98: Antologia de Inteligencia Artificial 1 (2)

utilizaba un cálculo no local para garantizar que los pesos fueran normalizados,este hecho hacía este modelo biológicamente poco posible.

Grossberg extendió el trabajo de Von Der Malsburg, redescubriendo la reglaInstar. Grossberg mostró que la regla Instar removió la necesidad de renormalizarlos pesos, porque los vectores de pesos que aprendían a reconocer vectores deentrada normalizados, automáticamente se normalizarán ellos mismos.

El trabajo de Grossberg y Von Der Malsburg enfatizó la posibilidad biológica desus redes. Otro exitoso investigador, Tuevo Kohonen ha sido también un fuerteproponente de las redes competitivas; sin embargo, su énfasis ha sido enaplicaciones para ingeniería y en descripciones de eficiencia matemática de lasredes. Durante la década de los 70 Kohonen desarrolló una versión simplificadade la regla Instar, inspirada también en la red de Von Der Malsburg y Grossberg,de esta forma encontró una manera muy eficiente de incorporar topología a unared competitiva.

Otra forma de aplicar este tipo de aprendizaje fue propuesta por Rumelhart yZisper [32] en 1985, quienes utilizaban redes multicapa dividiendo cada capa engrupos de neuronas, de tal forma que éstas disponían de conexiones inhibitoriascon otras neuronas de su mismo grupo y conexiones excitadoras con las neuronasde la siguiente capa; en una red de este tipo, después de recibir diferentesinformaciones de entrada, cada neurona en cada grupo se especializa en larespuesta a determinadas características de los datos de entrada.

En este tipo de redes cada neurona tiene asignado un peso total (suma de todoslos pesos de las conexiones que tiene a su entrada), el aprendizaje afecta sólo alas neuronas ganadoras (activas), en las que se redistribuye el peso total entre susconexiones y se sustrae una porción de los pesos de todas las conexiones quellegan a la neurona vencedora, repartiendo esta cantidad por igual entre todas lasconexiones procedentes de unidades activas, por tanto la variación del peso deuna conexión entre una unidad i y otra j será nula si la neurona j no recibeexcitación por parte de la neurona i (no vence en presencia de un estímulo porparte de i) y se modificará (se reforzará) si es excitada por dicha neurona.

Una variación del aprendizaje supervisado aplicado a redes multicapa consiste enimponer una inhibición mutua entre neuronas únicamente cuando están a ciertadistancia unas de otras (suponiendo que las neuronas se han dispuestogeométricamente, por ejemplo formando capas bidimensionales), existe entoncesun área o región de vecindad alrededor de las neuronas que constituye un grupolocal.

Fukushima [11] empleó esta idea en 1975 para una red multicapa llamadaCognitron, fuertemente inspirada en la anatomía y fisiología del sistema visualhumano y en 1980 el mismo Fukushima [12] en una versión mejorada de laanterior a la que llamó Necognitron, presentó una variación de esta red utilizandoaprendizaje supervisado. El Necognitrron disponía de un gran número de capas

Page 99: Antologia de Inteligencia Artificial 1 (2)

con arquitectura muy específica de interconexiones entre ellas y era capaz deaprender a diferenciar caracteres, aunque estos se presentasen a diferenteescala, en diferente posición o distorsionados.

El aspecto geométrico de la disposición de neuronas de una red, es la base de uncaso particular de aprendizaje competitivo introducido por Kohonen en 1982conocido como feature mapping (mapas de características), aplicado en redes conuna disposición bidimensional de las neuronas de salida, que permiten obtenermapas topológicos o topográficos (topology preserving maps, topographics maps,self organization maps) en los que de algún modo estarían representadas lascaracterísticas principales de las informaciones presentadas a la red. De estaforma, si la red recibe informaciones con características similares, se generaríanmapas parecidos, puesto que serían afectadas neuronas de salidas próximasentre sí.

2.5 REDES COMPETITIVAS

2.5.2 Red de Kohonen: Existen evidencias que demuestran que en el cerebro hayneuronas que se organizan en muchas zonas, de forma que las informacionescaptadas del entorno a través de los órganos sensoriales se representaninternamente en forma de mapas bidimensionales. Por ejemplo, en el sistemavisual se han detectado mapas del espacio visual en zonas del córtex (capaexterna del cerebro), también en el sistema auditivo se detecta una organizaciónsegún la frecuencia a la que cada neurona alcanza mayor repuesta (organizacióntonotópica).

Aunque en gran medida esta organización neuronal está predeterminadagenéticamente, es probable que parte de ella se origine mediante el aprendizaje,esto sugiere que el cerebro podría poseer la capacidad inherente de formar mapastopológicos de las informaciones recibidas del exterior, de hecho esta teoría podríaexplicar su poder de operar con elementos semánticos: algunas áreas del cerebrosimplemente podrían crear y ordenar neuronas especializadas o grupos concaracterísticas de alto nivel y sus combinaciones, en definitiva se construiríanmapas especiales para atributos y características.

A partir de estas ideas Tuevo Kohonen [24] presentó en 1982 un sistema con uncomportamiento semejante, se trataba de un modelo de red neuronal concapacidad para formar mapas de características de manera similar a como ocurreen el cerebro; el objetivo de Kohonen era demostrar que un estímulo externo(información de entrada) por sí solo, suponiendo una estructura propia y unadescripción funcional del comportamiento de la red, era suficiente para forzar laformación de los mapas.

Este modelo tiene dos variantes denominadas LVQ (Learning Vector Quantization)y TPM (Topology Preserving Map) o SOM (Self Organizing Map), ambas se basanen el principio de formación de mapas topológicos para establecer característicascomunes entre las informaciones (vectores) de entrada a la red, aunque difieren

Page 100: Antologia de Inteligencia Artificial 1 (2)

en las dimensiones de éstos, siendo de una sola dimensión en el caso de LVQ ybidimensional o tridimensional en la red SOM. Estas redes se tratarán con mayorprofundidad en secciones posteriores.

El aprendizaje en el modelo de Kohonen es de tipo Off-line, por lo que se distingueuna etapa de aprendizaje y otra de funcionamiento. En la etapa de aprendizaje sefijan los valores de las conexiones (feedforward) entre la capa de entrada y lasalida. Esta red utiliza un aprendizaje no supervisado de tipo competitivo, lasneuronas de la capa de salida compiten por activarse y sólo una de ellaspermanece activa ante una determinada información de entrada a la red, los pesosde las conexiones se ajustan en función de la neurona que haya resultadovencedora.

Durante la etapa de entrenamiento, se presenta a la red un conjunto deinformaciones de entrada (vectores de entrenamiento) para que ésta establezcaen función de la semejanza entre los datos las diferentes categorías (una porneurona de salida), que servirían durante la fase de funcionamiento para realizarclasificaciones de nuevos datos que se presenten a la red. Los valores finales delos pesos de las conexiones entre cada neurona de la capa de salida con las deentrada se corresponderán con los valores de los componentes del vector deaprendizaje que consigue activar la neurona correspondiente. En el caso de existirmás patrones de entrenamiento que neuronas de salida, más de uno deberáasociarse con la misma neurona, es decir pertenecerán a la misma clase.

En este modelo el aprendizaje no concluye después de presentarle una vez todoslos patrones de entrada, sino que habrá que repetir el proceso varías veces pararefinar el mapa topológico de salida, de tal forma que cuantas más veces sepresenten los datos, tanto más se reducirán las zonas de neuronas que se debenactivar ante entradas parecidas, consiguiendo que la red pueda realizar unaclasificación más selectiva.

Un concepto muy importante en la red de Kohonen es la zona de vecindad, ovecindario alrededor de la neurona vencedora i*, los pesos de las neuronas que seencuentren en esta zona a la que se le dará el nombre de X(q), serán actualizadosjunto con el peso de la neurona ganadora, en un ejemplo de aprendizajecooperativo.

El algoritmo de aprendizaje utilizado para establecer los valores de los pesos delas conexiones entre las N neuronas de entrada y las M de salida es el siguiente:

1. En primer lugar se inicializan los pesos (wij) con valores aleatoriospequeños y se fija la zona inicial de vecindad entre las neuronas de salida.

2. A continuación se presenta a la red una información de entrada (la quedebe aprender) en forma de vector p = (p1, p2, ..., pn), cuyas componentespi serán valores continuos.

3. Puesto que se trata de un aprendizaje competitivo, se determina la neuronavencedora de la capa de salida, esta será aquella i cuyo vector de pesos wi

Page 101: Antologia de Inteligencia Artificial 1 (2)

(vector cuyas componentes son los valores de los pesos de las conexionesentre esa neurona y cada una de las neuronas de la capa de entrada) seael más parecido a la información de entrada p (patrón o vector de entrada).Para ello se calculan las distancias o diferencias entre ambos vectores,considerando una por una todas las neuronas de salida, suele utilizarse ladistancia euclídea o la siguiente expresión que es similar a aquella, peroeliminando la raíz cuadrada:

(2.5.1)

pj: Componente i-ésimo del vector de entradawij: Peso de la conexión entre la neurona j de la capa de entrada y laneurona i de la capa de salida.

Figura 2.5.1 Conexiones de una red de Kohonen

4. Una vez localizada la neurona vencedora (i*), se actualizan los pesos de lasconexiones entre las neuronas de entrada y dicha neurona, así como los delas conexiones entre las de entrada y las neuronas vecinas de lavencedora, en realidad lo que se consigue con esto es asociar lainformación de entrada con una cierta zona de la capa de salida. Esto serealiza mediante la siguiente ecuación

w(q)= w(q-1)+a(q)(p(q)-w(q-1)) para i X(q) (2.5.2)

Page 102: Antologia de Inteligencia Artificial 1 (2)

El tamaño de X(q) se puede reducir en cada iteración del proceso de ajustede los pesos, con lo que el conjunto de neuronas que pueden considerarsevecinas cada vez es menor como se observa en la figura 2.5.2, sin embargoen la práctica es habitual considerar una zona fija en todo el proceso deentrenamiento de la red.

Figura 2.5.2 Posible evolución de la vecindad en una red de Kohonen

El término es el coeficiente de aprendizaje o parámetro de ganancia,con un valor entre 0 y 1 el cual decrece con el número de iteraciones (q) delproceso de entrenamiento, de tal forma que cuando se ha presentado ungran número de veces todo el juego de patrones de aprendizaje su valor esprácticamente nulo, con lo que la modificación de los pesos esinsignificante.

Para hallar suele utilizarse una de las siguientes expresiones [20]:

(2.5.3)

Siendo un valor de 0.1 ó 0.2 y un valor próximo al número total deiteraciones del aprendizaje, que por lo general se toma como 10000 paraesta red.

5. El proceso debe repetirse, volviendo a presentar todo el juego de patronesde aprendizaje p1, p2..,pn hasta obtener la salida deseada.

Como la regla Instar, la regla de Kohonen habilita a los pesos de una neurona aaprender un vector de entrada y de esta forma resolver aplicaciones dereconocimiento de patrones. A diferencia de la regla Instar, el aprendizaje no esproporcional a la salida de la neurona ai(q), en lugar de ello el aprendizaje ocurre

Page 103: Antologia de Inteligencia Artificial 1 (2)

cuando la neurona i sea miembro del conjunto X(q), si la regla Instar es aplicada auna capa de neuronas cuya función de transferencia solamente retorna valores de0 o 1 (por ejemplo hardlim), la regla de Kohonen es equivalente a la regla Instar.

En definitiva lo que hace una red de Kohonen es realizar una tarea declasificación, puesto que la neurona de salida activada ante una entradarepresenta la clase a la que pertenece dicha información de entrada, además anteotra entrada parecida se activa la misma neurona de salida, u otra cercana a laanterior debido a la semejanza entre las clases, así se garantiza que las neuronastopológicamente próximas sean sensibles a entradas físicamente similares; poresta causa la red es especialmente útil para establecer relaciones desconocidaspreviamente entre conjuntos de datos.

2.5 REDES COMPETITIVAS

2.5.3 Red de Hamming: La red de Hamming ilustrada en la figura 2.5.3 es uno delos ejemplo más simples de aprendizaje competitivo, a pesar de ello su estructuraes un poco compleja ya que emplea el concepto de capas recurrentes en susegunda capa y aunque hoy en día en redes de aprendizaje competitivo se hasimplificado este concepto con el uso de funciones de activación más sencillas, lared de Hamming representa uno de los primeros avances en este tipo deaprendizaje, convirtiéndola en un modelo obligado de referencia dentro de lasredes de aprendizaje competitivo. Las neuronas en la capa de salida de esta redcompiten unas con otras para determinar la ganadora, la cual índica el patrónprototipo más representativo en la entrada de la red, la competición esimplementada por inhibición lateral (un conjunto de conexiones negativas entre lasneuronas en la capa de salida).

Esta red consiste en dos capas; la primera capa, la cual es una red Instar, realizala correlación entre el vector de entrada y los vectores prototipo, la segunda caparealiza la competición para determinar cuál de los vectores prototipo está máscercano al vector de entrada.

Figura 2.5.3 Red de Hamming

Page 104: Antologia de Inteligencia Artificial 1 (2)

Capa 1:

La red Instar es capaz de clasificar solo un patrón; para que múltiples patronessean reconocidos se necesitan múltiples Instar y es precisamente de esa formacomo está compuesta la primera capa de la red de Hamming. Para una mejorcomprensión de su funcionamiento se partirá de unos vectores prototipo que la reddebe clasificar

{ p1, p2 ,..., pQ} (2.5.4)

La matriz de pesos W 1 y el vector de ganancias b1 para la capa uno serán:

(2.5.5)

Donde cada fila de W1 representa un vector prototipo, el cual deseamos reconocery cada elemento b1 es igual al número de elementos en cada vector de entrada (R)(el número de neuronas S es igual al número de vectores prototipo Q). Así lasalida de la primera capa será:

(2.5.6)

La salida de la capa 1 es igual al producto punto de los vectores prototipo con laentrada más el vector R; este producto indica cuan cercano está cada vector deentrada a los patrones prototipo.

Capa 2:

La red Instar emplea una función de transferencia poslin para decidir si el vectorde entrada estaba lo suficientemente cerca al vector prototipo. En la capa 2 de lared de Hamming se utilizan múltiples Instar, así se determinara por medio de unacapa competitiva el patrón prototipo más cercano. Las neuronas en esta capa soninicializadas con la salida de la capa en realimentación, la cual índica lacorrelación entre los patrones prototipo y el vector de entrada. Las neuronascompiten unas con otras para determinar una ganadora; después de lacompetición solo una neurona tendrá una salida no cero. La neurona ganadora

Page 105: Antologia de Inteligencia Artificial 1 (2)

índica cual categoría de entrada fue presentada a la red (cada vector prototiporepresenta una categoría).

La salida de la primera capa a1 es usada para inicializar la segunda capa:

a2 (0) = a1 (2.5.7)

La salida de la segunda capa está determinada de acuerdo a la siguiente relaciónrecurrente:

a2 (t +1) = poslin (W 2a 2(t)) (2.5.8)

Los pesos de la segunda capa W 2 son fijados de tal forma que los elementos de ladiagonal sean 1, y los elementos por fuera de la diagonal tengan pequeñosvalores negativos.

(2.5.9)

Esta matriz produce un efecto inhibitorio, en el cual la salida de cada neuronatiene un efecto inhibitorio sobre todas las otras neuronas. Para ilustrar este efecto,sustituimos los valores de peros de 1 y por los apropiados elementos de W 2 .Reescribiendo la ecuación de salida de la red para una sola neurona se tiene:

a2i (t+1) = poslin (2.5.10)

En cada iteración, cada salida de la neurona se decrementará en proporción a lasuma de las salidas de las otras neuronas. La salida de la neurona con lacondición inicial más grande se decrementará más despacio que las salidas deotras neuronas; eventualmente cada neurona tendrá una salida positiva y en esepunto la red habrá alcanzado el estado estable.

2.5 REDES COMPETITIVAS

2.5.4 Estructura general de una red competitiva: En las redes asociativas, sevio como la regla instar puede aprender a responder a un cierto grupo de vectoresde entrada que están concentrados en una región del espacio. Supóngase que setienen varias instar agrupadas en una capa, tal como se muestra en la figura 2.5.4,cada una de las cuales responde en forma máxima a un cierto grupo de vectoresde entrada de una región distinta del espacio.

Page 106: Antologia de Inteligencia Artificial 1 (2)

Figura 2.5.4 Instar agrupadas en una capa

Se puede decir que esta capa de Instars clasifica cualquier vector de entrada,porque la Instar con la mayor respuesta para alguna entrada dada es la queidentifica a la región del espacio en la cual yace el vector de entrada. En lugar deexaminar la respuesta de cada instar para determinar cuál es la mayor, la labor declasificación sería más fácil si la Instar de mayor respuesta fuera la única unidadque tuviese una salida no nula; esto se puede conseguir si las instar compitenunas con otras por el privilegio de la activación, este es el principio de las redescompetitivas.

Las neuronas de la segunda capa de la red de Hamming, están en competiciónporque cada neurona se excita a sí misma e inhibe a todas las otras neuronas,para simplificar la discusión se definirá una nueva función de transferencia quehace el trabajo de una capa recurrente competitiva

a = compet (n) (2.5.11)

Donde a es la salida total de la red y n es la entrada neta a la función detransferencia, compet es una función de transferencia que encuentra el índice i* dela neurona con la entrada neta más grande y fija su salida en uno, todas las otrasneuronas tienen salida 0.

(2.5.12)

Reemplazando la capa recurrente de la red de Hamming, con una función detransferencia competitiva, la presentación de una capa competitiva se simplifica dela siguiente manera.

Page 107: Antologia de Inteligencia Artificial 1 (2)

Figura 2.5.5 Capa Competitiva

Como con la red de Hamming, los vectores prototipo son almacenados en las filasde W. La entrada neta n calcula la distancia entre el vector de entrada p y cadaprototipo wi (asumiendo que los vectores tienen longitudes normalizadas L). La

entrada neta ni de cada neurona es proporcional al ángulo entre p y el vectorprototipo wi:

(2.5.13)

La función de transferencia competitiva asigna una salida de 1 a la neurona cuyovector de pesos apunte en la dirección más cercana al vector de entrada

a = compet (n) (2.5.14)

2.5 REDES COMPETITIVAS

2.5.5 Regla de aprendizaje: En este punto es posible diseñar una red competitivaque realice clasificaciones correctas fijando el valor de las filas de W en los valoresdel vector prototipo esperado, sin embargo es deseable tener una regla deaprendizaje que pueda entrenar los pesos en una red competitiva sin conocer losvectores prototipo, una de estas reglas es la Instar estudiada es el numeral 2.4.3

1w(q) = 1w(q-1) + a(q)(p(q) -1w(q-1)) (2.5.15)

Para redes competitivas, a tiene un valor diferente de cero solamente para laneurona ganadora (i=i*), de esta forma los mismos resultados serán obtenidosutilizando la regla de Kohonen

iw(q) = iw(q-1)+ (p(q) – iw(q-1))= (1- ) iw (q-1) + p(q) (2.5.16)

Page 108: Antologia de Inteligencia Artificial 1 (2)

y

w(q)=w(q-1) i i* (2.5.17)

Así, la fila de la matriz de pesos que esté más cerca al vector de entrada (o tengael producto punto más grande con el vector de entrada) se moverá hacía el vectorde entrada. Este se mueve a lo largo de la línea entre la fila anterior del vector depesos y el vector de entrada, como puede verse en la figura 2.5.6

Figura 2.5.6 Representación gráfica de la regla de Kohonen

Para demostrar cómo trabaja una red competitiva, se creará una red que clasifiquelos siguientes vectores:

Figura 2.5.7 Vectores de entrada

La red tendrá tres neuronas, por lo tanto los vectores serán clasificados en tresclases o grupos, esta es una de las principales características de las redescompetitivas, ellas pueden agrupar los patrones de entrada en clases que no seconocen. Los pesos normalizados escogidos aleatoriamente son:

Page 109: Antologia de Inteligencia Artificial 1 (2)

Los vectores de datos y los pesos asignados pueden visualizarse en la figura 2.5.8

Figura 2.5.8 Vectores de entrada y vector de pesos

Se presenta a la red el vector p2

El vector de peso de la segunda neurona estaba más cercano a p2, por lo tantoganó la competición (i*=2) y su salida es 1. Ahora se aplicará la regla de Kohonena la neurona ganadora con una rata de aprendizaje

2w nuevo = 2w anterior + (p2 – 2w anterior)

La regla de Kohonen hace que 2w tienda hacia p2 como puede verse en la figura2.5.9, si continuamos escogiendo vectores de entrada aleatoriamente ypresentándoselos a la red, en cada iteración el vector de pesos se acercará más alvector de entrada.

Page 110: Antologia de Inteligencia Artificial 1 (2)

Figura 2.5.9 Proceso de entrenamiento

Cada vector de pesos apuntará hacia una clase diferente del vector de entrada,convirtiéndose en un prototipo para esa clase. Cuando termine el proceso deentrenamiento, los pesos finales se verán como aparece en la figura 2.5.10

Figura 2.5.10 Pesos Finales

2.5 REDES COMPETITIVAS

2.5.6 Problemas de las redes Competitivas: Las redes competitivas, sonbastante eficientes para resolver problemas de clasificación, sin embargopresentan algunos problemas. El primero es la elección de una rata de aprendizajeque permita hallar un punto de equilibrio entre velocidad de convergencia y laestabilidad final de los vectores de peso. Una rata de aprendizaje cercana a cero,torna el aprendizaje muy lento pero garantiza que cuando un vector hayaalcanzado el centro de la clase objetivo, se mantendrá allí indefinidamente. Encontraste, una rata de aprendizaje cercana a uno genera un aprendizaje muyrápido, pero los vectores de peso continuarán oscilando aún después de que sehaya alcanzado convergencia. La indecisión que se presenta al escoger la rata deaprendizaje puede ser empleada como una ventaja si se inicia el entrenamientocon una rata de aprendizaje alta y se decrementa en el transcurso del proceso deentrenamiento cuando sea necesario, desafortunadamente esta técnica nofunciona si la red necesita continuamente ser adaptada a nuevos argumentos delos vectores de entrada (caso en que la red se trabaje 0n-line). Un ejemplo de esteproblema se visualiza en la figura 2.5.11

Page 111: Antologia de Inteligencia Artificial 1 (2)

Figura 2.5.11 Variación de la rata de aprendizaje

Un problema de estabilidad más serio, ocurre cuando las clases están muy juntas;en ciertos casos, un vector de pesos tratando de apuntar hacia una clasedeterminada, puede entrar al territorio de otro vector de pesos. En la figura 2.5.12,pueden observarse con círculos azules, como dos vectores de entrada sonpresentados repetidas veces a la red; el resultado, es que los vectores de pesosque representan las clases de la mitad y de la derecha se encuentran a laderecha. Con seguridad, se presentará el caso en que una de las clases de laderecha será clasificada por el vector de pesos del centro

Figura 2.5.12 Aprendizaje Inestable

Un tercer problema con redes competitivas, es que es posible que el vector depesos inicial de una neurona se encuentre muy lejos de cualquiera de los vectoresde entrada y por lo tanto nunca gane la competición. La consecuencia será, la"muerte" de la neurona, lo que por supuesto no es recomendable.

Figura 2.5.13 Causa de la muerte de una neurona

En la figura 2.5.13 el vector de peso w3 nunca ganará la competición, sin importarcuál sea el orden en que se le presenten los vectores de entrada. Una solución aeste problema, consiste en adicionar una ganancia negativa a la entrada neta decada neurona y decrementar así la ganancia total cada vez que la neurona gane la

Page 112: Antologia de Inteligencia Artificial 1 (2)

competición; esto hará que difícilmente una neurona gane varias veces lacompetición, a este mecanismo se le llama "conciencia".

Una capa competitiva tiene tantas clases como neuronas, lo que podría complicaralgunas aplicaciones, especialmente cuando el número de clases no se conoce deantemano. En capas competitivas, cada clase consiste de una región convexa delespacio de entrada, las capas competitivas no pueden formar clases con regionesno convexas o clases que sean la unión de regiones no conectadas.

2.5 REDES COMPETITIVAS

2.5.7 Mapas de auto organización (SOM): Se cree que algunos sistemasbiológicos realizan sus operaciones siguiendo un método de trabajo que algunosinvestigadores han llamado, on-center/off-surround; este término describe unpatrón de conexión entre neuronas, cada neurona se refuerza a ella misma(center) mientras inhibe a todas las neuronas a su alrededor (surround). En lasredes competitivas biológicas, lo que sucede realmente es que cuando unaneurona se refuerza a ella misma, refuerza también las neuronas que están cerca;la transición entre reforzar las neuronas "vecinas" o inhibirlas, se realizasuavemente a medida que la distancia entre las neuronas aumenta. De esta formael proceso on-center/off-surround; para redes biológicas sigue el comportamientoseñalado en la figura 2.5.14, función que habitualmente es referida comosombrero mejicano debido a su forma.

Figura 2.5.14 on-center/off-surround; para capas biológicas

Tratando de emular la actividad biológica, sin tener que implementar conexioneson-center/off-surround; de realimentación no lineal, Kohonen diseñó la redconocida como mapa de auto organización (SOM). Esta red determina primero laneurona ganadora i* usando el mismo procedimiento que las redes competitivas,luego los vectores de pesos de todas las neuronas que se encuentren en unaregión cercana "vecindario", serán actualizados mediante la regla de Kohonen

iw(q) = iw(q-1)+ (p(q) – iw(q-1)) para i Ni*(d) (2.5.18)

Page 113: Antologia de Inteligencia Artificial 1 (2)

Donde el vecindario Ni* contiene el índice para todas las neuronas que seencuentren a un radio "d" de la neurona ganadora i*

(2.5.19)

Cuando un vector p es presentado, los pesos de la neurona ganadora y de susvecinas tenderán hacia p, el resultado es que después de muchas presentacioneslas neuronas vecinas habrán aprendido vectores similares que cada una de lasotras.

El concepto de vecindario es ilustrado en la figura 2.5.15; para la primera figura seha tomado un vecindario de radio d =1 alrededor de la neurona 13; para lasegunda figura se ha tomado un vecindario de radio d =2.

Figura 2.5.15 Vecindarios

Estos vecindarios pueden definirse como sigue:

N13 (1) = {8,12,13,14,18} (2.5.20)

N13 (2) = {3,7,8,9,11,12,13,14,15,17,18,19,23}

El vecindario puede determinarse en diferentes formas; Kohonen, por ejemplo hasugerido vecindarios rectangulares o hexagonales para lograr alta eficiencia; esimportante destacar que el rendimiento de la red no es realmente sensitivo a laforma exacta del vecindario.

La figura 2.5.16 ilustra un mapa de auto organización de dos dimensiones

Page 114: Antologia de Inteligencia Artificial 1 (2)

Figura 2.5.16 Mapa de auto organización

2.5 REDES COMPETITIVAS

2.5.8 Learning Vector Quantization (LVQ): Esta red es un híbrido que empleatanto aprendizaje no supervisado, como aprendizaje supervisado para clasificaciónde patrones

Figura 2.5.17 Red LVQ

En la red LVQ, cada neurona de la primera capa es asignada a una clase,después cada clase es asignada a una neurona en la segunda capa. El número deneuronas en la primera capa, S1 debe ser mayor o al menos igual que el númerode neuronas en la segunda capa, S2.

Al igual que con redes competitivas, cada neurona en la primera capa de la redLVQ aprende un vector prototipo, el cual permite a la neurona clasificar una regióndel espacio de entrada, sin embargo en lugar de calcular la distancia entre laentrada y el vector de pesos por medio del producto punto, la red LVQ calcula ladistancia directamente. Una ventaja de hacer el cálculo de la distanciadirectamente, es que los vectores no necesitan ser normalizados, cuando los

Page 115: Antologia de Inteligencia Artificial 1 (2)

vectores son normalizados la respuesta de la red será la misma sin importar latécnica que se utilice.

La entrada neta a la primera capa de la red LVQ es entonces,

(2.5.21)

La salida de la primera capa de la red LVQ es,

a1=compet (n1) (2.5.22)

Así, la neurona cuyo vector de pesos este cercano al vector de entrada tendrásalida 1 y las otras neuronas, tendrán salida 0; en este aspecto la red LVQ secomporta igual a las redes competitivas, la única diferencia consiste en lainterpretación, mientras que en las redes competitivas la salida no cero representauna clase del vector de entrada, para el algoritmo LVQ, índica más bien una sub-clase, y de esta forma muchas neuronas (subclases), conforman una clase.

Figura 2.5.18 Comportamiento de las neuronas en una red LVQ

La segunda capa de la red LVQ es usada para combinar subclases dentro de unasola clase, esto es realizado por la matriz de pesos W2 Las columnas de W 2

representan las subclases y las filas representan las clases, W2 tiene un solo 1 encada columna, todos los demás elementos son cero, la fila en la cual se presentael 1 índica cual es la clase a la que la subclase pertenece.

Page 116: Antologia de Inteligencia Artificial 1 (2)

W 2ki = 1 la subclase i pertenece a la clase k (2.5.23)

Una propiedad importante de esta red, es que el proceso de combinar subclasespara formar clases, permite a la red LVQ crear clases más complejas. Una capacompetitiva estándar tiene la limitación de que puede crear solo regiones dedecisión convexas; la red LVQ soluciona esta limitación.

La red LVQ combina aprendizaje competitivo con aprendizaje supervisado, razónpor lo cual necesita un set de entrenamiento que describa el comportamientopropio de la red

{p1, t1}, {p2, t2}, ... , {pQ, tQ} (2.5.24)

Para ilustrar el desempeño de la red LVQ, se considerará la clasificación de unvector particular de tres elementos dentro de otro de cuatro clases, de esta forma:

(2.5.25)

Antes de que suceda el aprendizaje, cada neurona en la segunda capa esasignada a una neurona de salida, así se genera la matriz W2; por lo general, igualnúmero de neuronas ocultas son conectadas a cada neurona de salida, para quecada clase pueda ser conformada por el mismo número de regiones convexas.Todos los elementos de W2 son cero excepto los que cumplan la siguientecondición:

Si la neurona i es asignada a la clase k w2ki=1 (2.5.26)

Una vez W2 ha sido definida, nunca será alterada. Los pesos ocultos W1 sonactualizados por medio de la regla de Kohonen.

La regla de aprendizaje del algoritmo LVQ, trabaja de la siguiente manera:

1. En cada iteración, un vector de entrada p es presentado a la red y secalcula la distancia a cada vector prototipo.

2. Las neuronas ocultas compiten, la neurona i* gana la competición y el i*-ésimo elemento de a1 se fija en 1.

3. a1 es multiplicada por W2 para obtener la salida final a2, la cual tienesolamente un elemento no cero, k*, indicando que el patrón p está siendoasignado a la clase k*

Page 117: Antologia de Inteligencia Artificial 1 (2)

La regla de Kohonen es empleada para mejorar la capa oculta de la red LVQ, endos formas:

Primero, si p es clasificado correctamente los pesos de la neurona ganadorase hacen tender hacia p.

i*w(q) = i*w(q -1) - a(q) (p (q) – i*w(q-1)) si a2k = tk* = 1 (2.5.27)

Segundo, si p es clasificado incorrectamente una neurona equivocada ganó lacompetición y por lo tanto sus pesos i*w1 se alejan de p.

i*w(q) = i*w(q -1) - a(q) (p (q) – i*w(q-1)) si a2k* = 1 tk* = 0 (2.5.28)

El resultado será que cada neurona se moverá hacia los vectores que cayerondentro de la clase, para la cual ellos forman una subclase y lejos de los vectoresque cayeron en otras clases.

Se ilustrará el funcionamiento de la red LVQ, buscando que clasifiquecorrectamente los siguientes patrones, cuyas clases se han definidoarbitrariamente:

Los vectores esperados asociados a cada una de las entradas son:

La posición inicial de los patrones de entrada es la siguiente:

Figura 2.5.19 Posición de los patrones de entrada

Page 118: Antologia de Inteligencia Artificial 1 (2)

Si se escogen dos subclases para cada una de las dos clases existentes,tendremos entonces cuatro subclases, lo que determina que debe haber cuatroneuronas en la capa oculta. La matriz de pesos para la capa de salida es:

W2 conecta las neuronas ocultas 1 y 2 a la neurona de salida 1 y las neuronasocultas 3 y 4 a la neurona de salida 2. Cada clase será formada por dos regionesconvexas.

Figura 2.5.20 Esquema de la red LVQ que solucionará el ejemplo

W1 será inicializada con valores aleatorios, de la siguiente forma:

La posición inicial de estos vectores de pesos, se observa en la figura 2.5.21

Figura 2.5.21 Estado inicial del vector de peso

Un vector de entrada diferente será presentado en cada iteración, se encontrarásu respuesta y luego se actualizaran los pesos correspondientes. Se presentaráinicialmente p3 a la red:

Page 119: Antologia de Inteligencia Artificial 1 (2)

La tercera neurona oculta ha estado más cerca del vector p3 y de esta forma ya sedeterminó la subclase, ahora determinamos la clase a la cual pertenecemultiplicando a1 por W 2

La salida de la red índica que p3 es un miembro de la clase 2, lo cual es correctopor lo tanto 3w1 es desplazado en la dirección de p3.

3w1 (1) = 3w1 (0) + (p3 – 3w1 (0))

Figura 2.5.22 Resultado después de la primera y después de muchas iteraciones

El diagrama al lado izquierdo de la figura 2.5.22, muestra como el vector peso 3w1

es actualizado después de la primera iteración; el diagrama de la derecha,muestra la localización de los pesos después de que el algoritmo ha alcanzadoconvergencia, además en esta parte de la gráfica puede verse como las regionesdel espacio de entrada son clasificadas. Los vectores de entrada p1 y p2perteneciente a la clase uno son visualizadas en azul y los vectores p3 y p4pertenecientes a la clase dos pueden verse en blanco.

Page 120: Antologia de Inteligencia Artificial 1 (2)

2.6 REDES RECURRENTES

En el contexto de las redes recurrentes existen redes dinámicas por naturalezacomo lo son la red de Hopfield, la red de Jordan y la red de Elman y redesdinámicas que siendo de naturaleza estática como lo son las redes multicapalogran el comportamiento dinámico realimentando sus entradas con muestrasanteriores de las salidas, el comportamiento dinámico de las redes recurrenteshace que sean una poderosa herramienta para simular e identificar sistemasdinámicos no lineales.

2.6.1 Red de Hopfield:

2.6.1.1 Antecedentes: En la década de los 80´s con el fin de estudiar procesos queinvolucran sistemas gobernados por ecuaciones diferenciales no lineales surge lateoría clásica de control geométrico basada en la geometría diferencial;simultáneamente renace el estudio de las Redes Neuronales debido alredescubrimiento del algoritmo Backpropagation, este hecho sumado al fracaso delas metodologías tradicionales aplicadas a la inteligencia artificial y a ladisponibilidad de herramientas computacionales de bajo costo permitieron eldesarrollo las redes neuronales recurrentes cuya principal aplicación es el controle identificación de sistemas no lineales. Este desarrollo es posible debido a quelas propiedades matemáticas de las redes recurrentes están enmarcadas en lasmismas propiedades que fundamentan el control geométrico, la primera redneuronal recurrente de naturaleza dinámica fue propuesta por Hopfield en 1984bajo el contexto de las memorias asociativas.

2.6.1 Red de Hopfield:

2.6.1.2 Estructura de la red: En búsqueda de una implementación práctica,Hopfield presentó su modelo básico como un circuito eléctrico, el cual se muestraen la figura 2.6.1, donde cada neurona se representa por un amplificadoroperacional y una red asociada formada por una capacitancia y una resistencia, laentrada a cada amplificador es la suma de las corrientes Ii mas lasrealimentaciones provenientes de otros amplificadores, por ejemplo el segundoamplificador realimenta al amplificador S a través de la resistencia RS2, en caso denecesitarse realimentaciones con signo negativo, estas se hacen por medio de lasalida inversora de cada amplificador; la ecuación para el modelo de Hopfieldbasado en las leyes de Kirchhoff se muestra en la ecuación (2.6.1).

Page 121: Antologia de Inteligencia Artificial 1 (2)

Figura 2.6.1 Circuito Eléctrico red Hopfield

(2.6.1)

Donde ni es el voltaje de entrada a cada amplificador y ai =f(ni) su salida, concaracterística de amplificación f la cual es generalmente de tipo sigmoidal,

.

Multiplicando a ambos lados de la ecuación (2.6.1) por Ri y definiendo =RiC, ij=RiTij y bi=RiIi, esta puede reescribirse en la ecuación (2.6.2) la cual describe elcomportamiento de cada una de las neuronas dinámicas que componen el circuitoeléctrico de la red de Hopfield.

(2.6.2)

Utilizando la ecuación (2.6.2) y escribiéndola en su forma matricial con a(t)=f(n(t)),se obtiene (2.6.3), en esta ecuación se describe el comportamiento de la red deHopfield

(2.6.3)

La red de Hopfield en notación compacta se muestra en la figura 2.6.2, en dondeel vector de p no se considera como la entrada a la red sino como la condicióninicial de la red

Page 122: Antologia de Inteligencia Artificial 1 (2)

Figura 2.6.2 Notación compacta red de Hopfield

Como se observa, la red de Hopfield esta compuesta de neuronas dinámicasaltamente interconectadas gobernadas por ecuaciones diferenciales no lineales,esta red funciona como una memoria asociativa no lineal que puede procesarpatrones presentados de forma incompleta o con ruido, siendo útil como unapoderosa herramienta de optimización

En el libro "Neural Network Design" [23], se muestra que una de las principalescontribuciones de Hopfield fue la aplicación de la teoría de estabilidad deLyapunov al análisis de las redes recurrentes, la teoría de estabilidad de Lyapunovse aplica a través del teorema de LaSalle y para su utilización el primer paso esescoger una función de Lyapunov, para lo cual Hopfield sugirió la siguientefunción:

(2.6.4)

Donde a es la salida de la red, W es la matriz de pesos y b es el vector deganancias.

La escogencia de esta particular función, fue clave en el desarrollo de Hopfield,pues el primer y el tércer termino de esta ecuación conforman una funcióncuadrática, las cuales pueden aproximar gran cantidad de funciones en unpequeño intervalo, especialmente cerca de puntos donde se encuentre un mínimolocal.

Para usar el teorema de LaSalle se necesita evaluar la derivada de la ecuación2.6.4, por claridad se evaluará cada uno de los tres términos de formaindependiente, tomando la derivada del primer término de la ecuación 2.6.4 seobtiene:

Page 123: Antologia de Inteligencia Artificial 1 (2)

(2.6.5)

Derivando el segundo término de la ecuación 2.6.4, el cual consiste de unasumatoria de integrales y considerando una de estas integrales se obtiene:

(2.6.6)

Tomando en consideración todas las integrales, en forma matricial la derivada delsegundo término es:

(2.6.7)

Derivando el tercer término de la ecuación 2.6.4 y apoyándose en las propiedadesde las funciones cuadráticas se obtiene la ecuación 2.6.8

(2.6.8)

La derivada total de la ecuación 2.6.8 se obtiene al unir los resultados de lasecuaciones 2.6.5, 2.6.7 y 2.6.8

(2.6.9)

comparando con la ecuación (2.6.3) del modelo eléctrico de Hopfield, se tiene que:

(2.6.10)

Esto permite reescribir la ecuación 2.6.9 así como sigue:

(2.6.11)

ya que ni = f- –1(ai), es posible expandir la derivada de ni de la siguiente forma:

Page 124: Antologia de Inteligencia Artificial 1 (2)

(2.6.12)

Con esto la ecuación (2.6.11) puede ser reescrita como:

(2.6.13)

si se asume que f- –1(ai) es una función incremental, como sucede en losamplificadores operacionales, entonces:

(2.6.14)

Este resultado implica en la ecuación 2.6.12 que:

(2.6.15)

De esta manera, si f- –1(ai) es una función incremental, todos los valores propios dela función dV(a)/dt son no positivos lo cual implica que la red sea estable,entonces V(a) es una función de Lyapunov valida

Los atractores de Hopfield son puntos estacionarios de la función de Lyapunovque satisfacen la ecuación (2.6.16)

(2.6.16)

Estos puntos estacionarios son puntos donde se encuentra un mínimo de lafunción V(a) descrita en la ecuación (2.6.4), en estos puntos el gradiente de lafunción V(a) igual a cero [21].

(2.6.17)

La función de Lyapunov descrita por la ecuación (2.6.4) puede simplificarse si seconsidera que la ganancia es grande, como sucede en los amplificadores conlos que se implementa la red, una función de transferencia típica para estosamplificadores no lineales se muestra a continuación:

Page 125: Antologia de Inteligencia Artificial 1 (2)

(2.6.18)

Para evaluar el segundo término de la función de Lyapunov se requiere el cálculode f- –1(u).

(2.6.19)

Si la ganancia es muy grande y la salida de la red se mantiene en el rango1>a>–1, el segundo término de la función de Lyapunov tiende a cero y puededefinirse la función de alta ganancia de Lyapunov como:

(2.6.20)

2.6.1 Red de Hopfield:

2.6.1.3 Regla de Aprendizaje

La red de Hopfield no tiene una ley de aprendizaje asociada, esto significa que lared no es entrenada ni realiza un proceso de aprendizaje, sin embargo es posibledeterminar la matriz de pesos por medio de un procedimiento basado en la funciónde alta ganancia de Lyapunov descrita por la ecuación 2.6.20.

(2.6.21)

El procedimiento consiste en escoger la matriz de pesos W y el vector deganancias b tal que V toma la forma de la función que se quiere minimizar,convirtiendo el problema que se quiere resolver, en un problema de minimizacióncuadrática, puesto que la red de Hopfield minimizará a V

Una red de Hopfield puede diseñarse como una memoria asociativa, en este casoes llamada memoria de contenido direccionable, porque la memoria recupera lainformación almacenada con base en parte de su contenido, en contraste con lasmemorias estándar de computo, donde la información se recupera con base ensus direcciones, por ejemplo si se tiene una base de datos de contenidodireccionable que contiene nombres y direcciones de los empleados de unaempresa, la información completa se recupera por ejemplo suministrando elnombre (o parte de él), este tipo de memoria es la misma memoria autoasociativaexcepto que en este caso se utilizará la red recurrente de Hopfield en vez delasociador lineal estudiado en la sección 2.4.

Page 126: Antologia de Inteligencia Artificial 1 (2)

Cuando se le presenta un patrón de entrada a la red de Hopfield, el estado inicialde la salida será el mismo patrón de entrada y luego la red convergerá al patrónprototipo almacenado que se encuentre más cercano (o que más se parezca) alpatrón de entrada, para que la red memorice un patrón prototipo, este debe ser unmínimo de la función de Lyapunov

Asumiremos que los patrones prototipo son y que cada uno deestos vectores se compone de S elementos, al asumir que Q<<S, el espacio deestado es amplio y los patrones prototipo se encuentran bien distribuidos y por lotanto no están cercanos uno de otro.

Para garantizar que los patrones prototipo a almacenar son mínimos de la funciónde Lyapunov, se propone la siguiente función para evaluar el error en laaproximación.

(2.6.22)

Si los elementos de a son restringidos a valores de 1, la función es minimizada enlos patrones prototipo como se mostrara a continuación:

Asumiendo que los patrones prototipo son ortogonales, y evaluando el error enuno de ellos, se tendrá que.

(2.6.23)

La segunda igualdad de la ecuación 2.6.23 se debe a la ortogonalidad de lospatrones prototipo y la última igualdad a que todos los elementos de pj son 1,evaluando el error del patrón aleatorio de entrada, el cual presumiblemente noestá cercano a ningún patrón prototipo, cada elemento de la sumatoria en laecuación (2.6.22) es el producto punto entre un patrón prototipo y la entrada, elproducto punto se incrementara cuando la entrada se mueva cerca del patrónprototipo, sin embargo, si la entrada no se encuentra cerca de algún patrónprototipo, todos los términos de la sumatoria serán pequeños y por lo tanto J(a)será la mayor (menos negativa) y cuando a sea igual a alguno de los patronesprototipo J(a) será más pequeña (más negativa).

La ecuación (2.6.22) es una función cuadrática que indica con precisión eldesempeño del contenido de la memoria direccionable, el próximo paso esescoger la matriz de pesos W y ganancias b, tal que la función de Lyapunov deHopfield V sea equivalente al desempeño de la función cuadrática J.

Page 127: Antologia de Inteligencia Artificial 1 (2)

Si se utiliza la regla de aprendizaje supervisado de Hebb para calcular la matriz depesos (con patrones objetivo iguales a los patrones de entrada)

y b=0 (2.6.24)

Entonces la función de Lyapunov será:

(2.6.25)

Y puede ser reescrita como:

(2.6.26)

Podemos observar que la función de Lyapunov es igual al desempeño del error delcontenido de la memoria direccionable, la salida de la red de Hopfield tendera aconverger a los patrones prototipo almacenados, en el caso que todos lospatrones prototipo sean ortogonales, cada uno será un punto de equilibrio de lared; la red puede tener muchos otros puntos de equilibrio indeseables, una reglapráctica para evitarlos consiste en que cuando se utilice la regla de Hebb, elnúmero de patrones almacenados no debe superar el 15% del número deneuronas de la red.

6.1 Red de Hopfield:

2.6.1.4 Identificación de Sistemas No Lineales: El comportamiento dinámico de lasredes recurrentes hace que sean una poderosa herramienta en la identificación desistemas dinámicos no lineales.

En la forma estándar una neurona dinámica está regida por la siguiente ecuación yse muestra en la figura 2.6.3

(2.6.27)

Page 128: Antologia de Inteligencia Artificial 1 (2)

Figura 2.6.3 Neurona dinámica

O en forma matricial:

(2.6.28)

Donde , , , y

En la figura 2.6.4 se observa una red neuronal dinámica recurrente, donde cadaunidad de procesamiento es una neurona dinámica y cada punto es un peso.

Figura 2.6.4 Red neuronal dinámica recurrente

Para garantizar la estabilidad de las redes dinámicas recurrentes en el proceso deidentificación de sistemas no lineales, Delgado[9] formuló condiciones estrictaspara los pesos la red y su desarrollo se basa en la función de Lyapunov.

Para el entrenamiento de la red de Hopfield en identificación de sistemas, seutiliza el algoritmo de Chemotaxis, el cual permite entrenar redes neuronales de

Page 129: Antologia de Inteligencia Artificial 1 (2)

cualquier tipo sin calcular el gradiente del error, este algoritmo fue formuladoconsiderando el movimiento de una bacteria en un medio donde hay un gradientede solución alimenticia; la bacteria se mueve inicialmente al azar hasta detectar unaumento en la concentración de la solución y luego continua en esa dirección.

El algoritmo de Chemotaxis toma los pesos iniciales al azar con distribuciónGaussinana, cuando una iteración es exitosa (disminuye el valor de la función deerror) el algoritmo continua en esta dirección hasta que la función de error J nomuestra cambios

Figura 2.6.5 Algoritmo de Chemostaxis

it_max: Numero máximo de iteracionesit: Contador de iteracionesi_s: Contador de iteraciones exitosasi_f: Contador de iteraciones no exitosasRata de aprendizaje1: Antigua matriz de pesos2: Antigua matriz de pesos

Page 130: Antologia de Inteligencia Artificial 1 (2)

Perturbacion en la matriz de pesosgauss( ): Generador de números aleatorios con distribución GaussianaJi: Indice de la función de error correspondiente a la matriz de pesos i.

La función de error Ji relaciona la salida del sistema a aproximar con la salida dela red dinámica entrenada con NP patrones de entrenamiento.

(2.6.29)

dk: Salida deseada para el patrón de entrenamiento k.

yk: Salida actual de la red ante el patrón de entrenamiento k.

2.6.2 Redes Multicapa

2.6.2.1 Estructura de la red: Las redes multicapa son de naturaleza estática, o seasu salida no evoluciona con el tiempo (para un patrón de entrada existe una salidaasociada), pero pueden adquirir un comportamiento dinámico (para un patrónentrada la salida posee un estado transitorio y converge a un valor en el estadoestacionario) realimentando sus entradas con estados anteriores de sus salidas.

La red está compuesta de una capa estática la cual generalmente posee unnúmero de neuronas superior al número de variables de estado del sistema aidentificar, la salida de la capa estática va a un sumador donde se le resta el valoranterior de la variable de estado Zi identificada por el sistema, de esta operaciónse genera la derivada de cada una de las i variables de estado identificadas por elsistema.

Figura 2.6.6 Red Dinámica Multicapa

Page 131: Antologia de Inteligencia Artificial 1 (2)

La red recurrente dinámica multicapa cuyo comportamiento lo describe la ecuación(2.6.30) puede identificar el comportamiento de un sistema autónomo (u=0)descrito por la ecuación (2.6.31)

(2.6.30)

(2.6.31)

donde , , , , ,

, y función de transferencia ()=tansig( ), n es elnúmero de variables de estado del sistema y N el número deneuronas en la capa oculta.

Según Delgado[9], sin pérdida de generalidad si el origen se asume como puntode equilibrio, el sistema (2.6.31) será identificado con la red (2.6.30) alrededor desu región de atracción y se garantiza que el error en la aproximación e(t) eslimitado.

2.6.2 Redes Multicapa

2.6.2.2 Regla de Aprendizaje: La etapa estática que hace parte de la red multicapadinámica recurrente generalmente es entrenada con el algoritmo de Chemotaxis ocualquier algoritmo de propagación inversa (Backpropagation), estos algoritmosfueron descritos en la sección 2.3, el algoritmo de Chemotaxis fue explicado en elcontexto de la identificación de sistemas dinámicos por medio de la red deHopfield donde es realmente indispensable, pues para redes dinámicas multicapalos algoritmos de propagación inversa son más eficientes y rápidos.

Los patrones de entrenamiento de la capa estática de la figura (2.6.6) sondiferentes combinaciones de valores de las variables de estado y los patronesobjetivo están dados por la suma de cada variable de estado con sucorrespondiente derivada como se muestra en la figura 2.6.7

Figura 2.6.7 Patrones de entrenamiento de la red multicapa

Page 132: Antologia de Inteligencia Artificial 1 (2)

La red después de entrenada tiene la estructura de la ecuación (2.6.32)

(2.6.32)

Para garantizar que la red a identificado la dinámica del sistema, el Jacobiano dela red en el origen (2.6.33) debe tener valores propios muy cercanos a los delsistema que ha sido aproximado.

(2.6.33)

Transformado una red dinámica multicapa en una red dinámica recurrentetipo Hopfield

La red dinámica multicapa de la figura (2.6.6), puede transformarse en una reddinámica tipo Hopfield por medio de la siguiente transformación lineal descrita enla ecuación (2.6.34)

(2.6.34)

Generalmente la matriz T es cuadrada, pero en caso no ser cuadrada latransformación se realiza por medio de la inversa generalizada; la redtransformada tendrá la estructura (2.6.35)

(2.6.35)

Donde el nuevo vector de estado , , es la matriz identidadde dimensión N, la transformación (2.6.34) extiende la red dinámica multicapa(2.6.32) en la red dinámica recurrente de Hopfield (2.6.35), aunque en la red deHopfield no existen neuronas en la capa oculta el número de estados es mayor oigual al número de estados de la red multicapa N n

Después de realizar la transformación, la red tiene la estructura (2.6.36)

Page 133: Antologia de Inteligencia Artificial 1 (2)

(2.6.36)

El Jacobiano de la red descrito en la ecuación 2.6.37 debe tener valores propiosmuy cercanos a los del sistema que ha sido aproximado e iguales a los de la redmulticapa.

(2.6.37)

2.6.3 Red de Elman

2.6.3.1 Estructura de la Red: La red de Elman típicamente posee dos capas, cadauna compuesta de una red tipo Backpropagation, con la adición de una conexiónde realimentación desde la salida de la capa oculta hacia la entrada de la mismacapa oculta, esta realimentación permite a la red de Elman aprender a reconocer ygenerar patrones temporales o variantes con el tiempo.

Figura 2.6.8 Red de Elman

La red de Elman generalmente posee neuronas con función transferenciasigmoidal en su capa oculta, en este caso tansig y neuronas con función detransferencia tipo lineal en la capa de salida, en esta caso purelin, la ventaja de laconfiguración de esta red de dos capas con este tipo de funciones de trasferencia,es que según lo demostrado por Funahashi [16], puede aproximar cualquierfunción con la precisión deseada mientras que esta posea un numero finito dediscontinuidades, para lo cual la precisión de la aproximación depende de laselección del número adecuado de neuronas en la capa oculta.

Page 134: Antologia de Inteligencia Artificial 1 (2)

Para la red de Elman la capa oculta es la capa recurrente y el retardo en laconexión de realimentación almacena los valores de la iteración previa, los cualesserán usados en la siguiente iteración; dos redes de Elman con los mismosparámetros y entradas idénticas en las mismas iteraciones podrían producirsalidas diferentes debido a que pueden presentar diferentes estados derealimentación.

2.6.3 Red de Elman

2.6.3.2 Entrenamiento de la red: Debido a la estructura similar de la red de Elmancon una red tipo Backpropagation, esta red puede entrenarse con cualquieralgoritmo de propagación inversa como los explicados en la sección 2.3 de estecapítulo, entre los cuales se destacan los algoritmos basados en técnicas deoptimización como el del gradiente conjugado o el algoritmo de LevembergMarquard.

El entrenamiento de la red puede resumirse en los siguientes pasos:

Presentar a la red, los patrones de entrenamiento y calcular la salida de lared con los pesos iniciales, comparar la salida de la red con los patronesobjetivo y generar la secuencia de error.

Propagar inversamente el error para encontrar el gradiente del error paracada conjunto de pesos y ganancias,

Actualizar todos los pesos y ganancias con el gradiente encontrado conbase en el algoritmo de propagación inversa.

La red de Elman no es tan confiable como otros tipos de redes porque el gradientese calcula con base en una aproximación del error, para solucionar un problemacon este tipo de red se necesitan más neuronas en la capa oculta que si sesolucionara el mismo problema con otro tipo de red.

Page 135: Antologia de Inteligencia Artificial 1 (2)

CAPITULO 3

3.1.1 Descripción del problema:

Un robot es un dispositivo automático que realiza acciones específicas, quedependen de las necesidades del proceso en que se encuentre involucrado, eneste caso se tiene un robot que cuenta con cuatro sensores de proximidad endistintas ubicaciones que permanentemente detectan si hay objetos que seencuentren a una distancia superior o inferior a la preestablecida, con base enesto se decide si dar marcha adelante o atrás a cada uno de los dos motores queposee; en las lecturas de los sensores podrían darse 16 posibles combinaciones(16=24) y para cada combinación cada uno de los dos motores podría dar marchaadelante o marcha atrás.

Figura 3.1.1 Robot

El comportamiento del robot lo describe la tabla 3.1.2, cuando los sensoresdetecten un objeto que se encuentra a una distancia inferior a la predeterminadase dirá que el objeto se encuentra cerca y esto se representa por medio de un 1 ycuando se detecte un objeto que se encuentra a una distancia mayor que lapredeterminada se dirá que el objeto está lejos lo cual se indica con un –1;dependiendo de estas lecturas los motores podrán dar marcha adelante, lo que serepresentara por un 1 o dar marcha atrás con un –1.

S1 S2 S3 S4 M1 M21 1 1 1 -1 -1-1 1 1 1 -1 11 1 -1 -1 1 -1-1 -1 -1 -1 1 11 -1 1 1 1 -11 1 -1 1 -1 11 1 1 -1 1 -1

Tabla 3.1.1 Comportamiento del robot

Page 136: Antologia de Inteligencia Artificial 1 (2)

3.1 DETECCIÓN DE OBSTÁCULOS POR MEDIO DE UN ROBOT

3.1.2 Justificación del tipo de red

Este tipo de problema generalmente es resuelto suministrándole al robot una basede datos que contiene todas las posibles situaciones que se podrían presentarse ysus respectivas soluciones, en este caso se necesitaría almacenar las respuestaspara ambos motores ante las 16 posibles combinaciones en las lecturas de lossensores, cuando el número de variables de entrada y el número de salidas esmucho mayor, la cantidad de datos necesarios para especificar cada posiblesituación crece indefinidamente, debido a esto se requerirían dispositivos con grancapacidad de almacenamiento; en contraste una red neuronal puede entrenarsecon un número representativo de patrones y aprender el comportamiento delsistema utilizando dispositivos de menos capacidad de almacenamiento y costo.

Una red tipo Perceptrón puede ser entrenada con patrones de cualquier dimensiónen la entrada y en la salida con datos binarios, por la simplicidad del problemaeste tipo de red es la más adecuada.

Para garantizar que el problema puede ser resuelto por una red neuronal tipoPerceptrón se debe comprobar que los patrones de entrenamiento son linealmenteseparables, para esto se deben plantear las desigualdades generadas por cadapatrón de entrenamiento, en este caso cada patrón de cuatro dimensionesgenerara dos desigualdades (una por cada salida), estas desigualdades no debencontradecirse, si esto ocurriera el problema no podría ser resuelto por una red tipoPerceptrón de una sola capa y deberá buscarse otro tipo de solución.

Debido a la naturaleza bipolar de la salida, la función de transferencia a utilizar eshardlims (ver sección 1.3.2), la cual se rige por las siguientes condiciones.

(3.1.1)

La salida de la red está dada por la ecuación 3.1.2, (ver sección 2.1)

(3.1.2)

Aplicando esta ecuación a cada patrón de entrenamiento se tienen lasdesigualdades de la tabla 3.1.2, las cuales se satisfacen plenamente, lo queimplica que el problema es linealmente separable y puede ser resuelto por una redtipo Perceptron

Page 137: Antologia de Inteligencia Artificial 1 (2)

Tabla 3.1.2 Desigualdades que garantizan que el problema sea linealmenteseparable

3.1 DETECCIÓN DE OBSTÁCULOS POR MEDIO DE UN ROBOT

3.1.3 Entrenamiento de la red:

A la red se le presentaran 7 patrones de la tabla 3.1.1, para los cualesdependiendo de las lecturas de los sensores se le dirá al robot que hacerespecíficamente y luego se probará la red con los casos restantes para comprobarla capacidad de generalización de la red neuronal ante un patrón nunca antesvisto.

Los estados de lecturas de los sensores y de operación de los motores fuerondesignados con 1 y –1, puesto que para la convergencia del proceso deentrenamiento resulta más ventajosos propagar valores de 1 y –1 que de 1 y 0.

Debido a la naturaleza de la salida y de la entrada de la red, la función detransferencia apropiada es hardlims, la cual trabaja con valores bipolares.

Figura 3.1.2 Red tipo Perceptrón

Se creará una red de 4 entradas con una neurona tipo Perceptrón para cadasalida, teniendo así una salida bidimensional, los pesos iniciales aleatorios de lared se muestran en la tabla 3.1.3

Page 138: Antologia de Inteligencia Artificial 1 (2)

Wi=net.IW{1,1} bi=net.b{1}S1 S2 S3 S4

M1 0.8636 -0.1627 0.0503 0.3443 M1 1M2 -0.0680 0.6924 -0.5947 0.6762 M2 1

Tabla 3.1.3 Pesos Iniciales

El siguiente código crea una red tipo Perceptrón con función de transferenciahardlims, dos neuronas en la salida, utiliza como patrones de entrenamiento laslecturas de los cuatro sensores almacenados en p y como patrones objetivo osalidas deseadas las acciones de ambos motores almacenados en el vector t.

net=newp([-1 1;-1 1;-1 1;-1 1],2,'hardlims');net.adaptParam.passes=200;Wi;[net,a,e]=adapt(net,P,t);Wf=net.IW{1,1};bf=net.b{1};

Los pesos finales de la red entrada que satisface todos los patrones de entrada ysalida son:

Wf=net.IW{1,1} bf=net.b{1}S1 S2 S3 S4

M1 0.8636 -4.1627 0.0503 -3.6557 M1 1M2 -4.0680 0.6924 -4.5947 4.6762 M2 1

Tabla 3.1.4 Pesos finales red entrenada

La red fue simulada para la totalidad de combinaciones posibles de entrada paracomprobar que no exista error en el aprendizaje de los patrones de entrenamientoy para observar su capacidad de generalización en los casos restantes

S1=[1 -1]; S2=[1 -1]; S3=[1 -1]; S4=[1 -1];P=combvec(S1,S2,S3,S4);net=newp([-1 1;-1 1;-1 1;-1 1],2,'hardlims');Wf;t=sim(net,P);

La respuesta de la red a todos los patrones de entrenamiento fue exitosa, comopuede observarse en la tabla 3.1.5

Page 139: Antologia de Inteligencia Artificial 1 (2)

S1 S2 S3 S4 M1 M2P1 1 1 1 1 -1 -1P2 -1 1 1 1 -1 1P3 1 1 -1 -1 1 -1P4 -1 -1 -1 -1 1 1P5 1 -1 1 1 1 -1P6 1 1 -1 1 -1 1P7 1 1 1 -1 1 -1

Tabla 3.1.5 Simulación de la red para los Patrones de Entrenamiento

La red fue simulada para las posibles combinaciones restantes obteniéndose lossiguientes resultados:

S1 S2 S3 S4 M1 M2C1 -1 -1 1 1 1 1C2 -1 1 -1 1 -1 1C3 1 -1 -1 1 1 1C4 -1 -1 -1 1 1 1C5 -1 1 1 -1 -1 -1C6 1 -1 1 -1 1 -1C7 -1 -1 1 -1 1 -1C8 -1 1 -1 -1 -1 1C9 1 -1 -1 -1 1 -1

Tabla 3.1.6 Simulación de la red para las nuevas combinaciones

Las combinaciones que no hacían parte del set de entrenamiento, al serpresentadas a la red fueron aproximadas al patrón del set de entrenamientoaprendido con menor distancia euclidiana.

Para las combinaciones C1, C2 y C4 la red decidió dar marcha adelante a ambosmotores; para la combinación C5 la red decidió dar marcha atrás a ambosmotores, para las combinaciones C6, C7 y C9 la red decidió dar marcha adelantea M1 y marcha atrás a M2 y para las combinaciones C2 y C8 la red decidió darmarcha atrás a M1 y marcha adelante a M2

Una red tipo Perceptrón de una sola capa es una buena solución a un problemaque involucre patrones linealmente separables, en el caso de contar con patrones

Page 140: Antologia de Inteligencia Artificial 1 (2)

que no son linealmente separables se tiene la alternativa de utilizar una redPerceptrón multicapa o cambiar definitivamente de red, nótese que una redPerceptrón multicapa puede solucionar el problema de separabilidad lineal amedida que aumenta el número de capas de la red.

La capacidad de generalización de las redes neuronales juega un papelimportante cuando las posibles combinaciones de patrones de entrada son tantasque resultaría imposible especificarle a un dispositivo que hacer en cada caso,puesto que la red se entrena con un número de patrones representativo y no conla totalidad de ellos, ahorrando tiempo de computo en la solución del problema.

En las aplicaciones desarrolladas con redes neuronales juega un papel importantela tolerancia a fallas que las caracteriza, pues en caso de fallar uno o variossensores (como en este caso) la red siempre producirá una salida que en lamayoría de los casos es la más acertada, debido a que la red después de unproceso de aprendizaje exitoso está en capacidad de generalizar elcomportamiento del sistema.

3.2 CONTROL DE GIRO DE UN MOTOR DE INDUCCIÓN DE JAULA DEARDILLA

3.2.1 Descripción del problema:

Un motor de inducción tiene físicamente el mismo estator de una máquinasincrónica con diferente construcción de rotor, existen dos tipos diferentes derotores de motor de inducción que se pueden colocar dentro del estator, rotor jaulade ardilla y rotor devanado; para esta aplicación se estudiará el rotor de jaula deardilla, el cual consiste en una serie de barras conductoras colocadas en ranurastalladas en la cara del rotor y con sus extremos puestos en corto circuito. Estediseño hace referencia a un rotor de jaula de ardilla, porque los conductoresparecen las ruedas de ejercicio en donde suelen jugar las ardillas o los ratones delaboratorio, ejemplos de este tipo de motor pueden verse en las figuras 3.2.1.a y3.2.1.b

Figura 3.2.1.a Corte típico de un motor jaula de ardilla pequeño

Page 141: Antologia de Inteligencia Artificial 1 (2)

Figura 3.2.1.b Corte típico de un motor jaula de ardilla grande

En la figura 3.2.2 se muestra un motor de inducción jaula de ardilla, en el unsistema de voltajes trifásicos ha sido aplicado al estator y un conjunto decorrientes trifásicas del estator circula en sus embobinados. Estas corrientesproducen un campo magnético Bs, el cual está girando en sentido contrario al delas manecillas del reloj. La velocidad de rotación del campo magnético está dadapor

(3.2.1)

Donde es la frecuencia del sistema en Hz y P es el número de polos de lamáquina. Este campo magnético rotatorio Bs, pasa sobre las barras del rotor y lesinduce un voltaje. El voltaje inducido en una barra de rotor dada se obtienemediante la ecuación

(3.2.2)

Donde v: Velocidad de las barras del rotor con relación al campo magnético

B: Densidad de flujo magnético del estatorL: Longitud de la barra del rotor

Page 142: Antologia de Inteligencia Artificial 1 (2)

Figura 3.2.2 Desarrollo del momento de torsión en un motor de inducción

El movimiento relativo del rotor con relación al campo magnético del estator es loque produce el voltaje inducido en una barra del rotor. La velocidad de las barrassuperiores del rotor, con relación al campo magnético es hacia la derecha, de talforma que el voltaje inducido en las barras superiores estará hacia fuera de lafigura y el voltaje inducido en las varillas inferiores estará hacia adentro de lafigura. Esto determina un flujo de corriente hacia fuera de las barras superiores yhacia adentro de las barras inferiores, sin embargo como el conjunto del rotor esinductivo y su corriente pico se atrasa con relación a su voltaje pico (parte centralde la figura 3.2.2), el flujo de corriente del rotor produce un campo magnético BR.

Por último, como el momento de torsión inducido en la máquina se expresa por:

(3.2.3) el momento resultante es contrario al sentido de lasmanecillas del reloj, por lo cual el rotor se acelera en esta dirección.

No obstante, la velocidad del motor tiene un límite superior finito. Si el rotor delmotor de inducción girará a velocidad sincrónica, entonces sus barraspermanecerían estacionarias con relación al campo magnético y no habríainducción de voltaje; si fuera igual a cero, entonces no habría corriente ni campomagnético en el rotor; sin campo magnético en éste, el momento de torsióninducido sería cero porque el rotor se frenaría como consecuencia de las pérdidaspor fricción.

Un motor puede, en esta forma, acelerarse hasta cerca de la velocidad sincrónica,pero jamás podrá alcanzar exactamente la velocidad sincrónica.

En esta aplicación sugerida en Delgado [8], se requiere entrenar una red neuronalque sintetice el accionamiento correspondiente a la inversión del sentido de girode un motor de las condiciones descritas anteriormente. En la figura 3.2.3 se haceuna representación gráfica de la secuencia de contactos que deben accionarsepara dar paso a una inversión en el giro del motor.

Page 143: Antologia de Inteligencia Artificial 1 (2)

Figura 3.2.3 Diagrama Eléctrico y de Contactos

Cada elemento en la figura anterior representa:

F1: Fusible circuito principalF2: Relé térmico (I1)K1: Contactor derecha (Q1)K2: Contactor izquierda (Q2)S1: Pulsador de paro (I2)S2: Pulsador izquierda (I3)S3: Pulsador derecha (I4)

Las ecuaciones lógicas del circuito son:

(3.2.4)

(3.2.5)

Los valores de entrada a la red fueron determinados por Delgado [8] los cualescubren las posibles combinaciones de contactores de la figura 3.2.3, de tal modoque su interconexión determinará el sentido de giro para el motor trifásico. Losestados de cada uno de los contactores se agrupan en la tabla 3.2.1, en donde 1representa el contactor se encuentra activo y –1 representa que el contactor estáinactivo.

Page 144: Antologia de Inteligencia Artificial 1 (2)

P P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 P11 P12I1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1I2 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1 1I3 -1 -1 -1 -1 1 1 1 1 -1 -1 -1 -1I4 -1 -1 1 1 -1 -1 1 1 -1 -1 1 1

-1 1 -1 1 -1 1 -1 1 -1 1 -1 1

P P13 P14 P15 P16 P17 P18 P19 P20 P21 P22 P23 P24 P25I1 -1 1 -1 -1 1 1 1 1 1 1 1 1 1I2 1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 1I3 1 1 1 1 -1 -1 -1 -1 1 1 1 1 -1I4 -1 -1 1 1 -1 -1 1 1 -1 -1 1 1 -1

-1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1

Tabla 3.2.1 Entradas a la red

La quinta fila de la tabla 3.2.1 representa un sensor que se ha implementado paradeterminar el estado de giro en que se encuentra el motor al momento deaccionamiento para cambio. Este sensor es necesario para determinar si elcambio debe realizarse o no, es decir, si dada una configuración cualquiera elmotor se encuentra girando hacia la derecha y el contactor Q1, que da la orden decambiar a derecha y que para la red neuronal es representada por un 1, esaccionado, la red no tendrá que dar al motor ninguna orden de cambio; si por elcontrario para esta misma configuración es accionado el contartor Q2, que da laorden de cambiar a izquierda y que para la red es representado por –1, la redinmediatamente debe dar la orden de cambio de giro, y el motor debe pasar degirar hacia la derecha a girar hacia la izquierda.

Siendo 1 el valor que representa el giro del motor por derecha y –1 el valor querepresenta el giro por izquierda, los valores esperados de salida se visualizan enla tabla 3.2.2:

t t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 t11 t12-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1

t13 t14 t15 t16 t17 t18 t19 t20 t21 T22 t23 t24 t25

Page 145: Antologia de Inteligencia Artificial 1 (2)

-1 1 -1 -1 1 1 1 1 1 1 1 1 1

Tabla 3.2.2 Salidas esperadas de la red

3.2 CONTROL DE GIRO DE UN MOTOR DE INDUCCIÓN DE JAULA DEARDILLA

3.2.2 Justificación del tipo de red:

En Ingeniería Eléctrica hay muchos tipos de problemas cuya solución dependesolo de dos estados: on - off, si - no, 1-0, alto - bajo, o como en el caso que seestudia izquierda - derecha, este tipo de problemas divide el espacio solución endos regiones, cada una de ellas limitada por un hiperplano que determina el límitedonde empieza una y termina la otra.

La regla de aprendizaje del Perceptrón, es hábil para dividir el espacio de entradaen dos regiones, más que una línea existe un hiperplano que separa físicamenteel espacio en cada una de las categorías de entrada, matemáticamente estehiperplano se expresa así:

(3.2.6)

Los problemas que permiten que un hiperplano de estas características separesus categorías de entrada en dos regiones diferentes son llamados problemaslinealmente separables y pueden ser solucionados por una red tipo Perceptrón.

Expresar los datos de la tabla 3.2.1 gráficamente para saber si los valores deentrada a la red son linealmente separables, es imposible debido al orden de estosdatos los cuales generan una gráfica en R5, así que es necesario emplear latécnica alternativa del capítulo 2, en la cual por medio de desigualdades sedetermina la separabilidad lineal de un conjunto de vectores dados y secomprueba la factibilidad de emplear una red Perceptrón en su solución.

3.2 CONTROL DE GIRO DE UN MOTOR DE INDUCCIÓN DE JAULA DEARDILLA

3.2.3 Entrenamiento de la red:

El proceso de entrenamiento de esta red fue realizado por medio del Matlab,utilizando las funciones de la herramienta de redes neuronales. Como patrones deentrada a la red se emplearon los datos de la tabla 3.2.1, y sus salidas asociadascorresponden a la tabla 3.2.2.

Page 146: Antologia de Inteligencia Artificial 1 (2)

La red fue generada por medio de la función newp, de acuerdo a la sintaxisreferida en el anexo 1 y escogiendo la función de transferencia hardlims deacuerdo con la naturaleza de los datos de salida

net=newp([-1 1;-1 1;-1 1;-1 1;-1 1],1,'hardlims');

Los valores iniciales para la matriz de peso W se generaron aleatoriamente y elvalor inicial para la ganancia b, se escogió arbitrariamente como 1

net.IW{1,1}=rands(1,5);net.b{1}=[1];

Los comandos básicos para entrenar una red Perceptrón se presentan acontinuación; mediante los valores fijados se logró un buen desempeño de la red

net.adaptParam.passes=50;[net,a,e]=adapt(net,p,t);

Los resultados obtenidos se agrupan en la siguiente tabla:

Pesos =

6.0056 2.4189 1.8578 1.6092 1.3793

Ganancia= -1

Tabla 3.2.3 Valores finales de los parámetros de la red finalizada el proceso deentrenamiento

El error entregado por esta red fue cero, demostrando no sólo la efectividad de lared tipo Perceptrón para clasificar patrones linealmente separables, sino sufacilidad de implementación, ya que sólo requiere tener clarificados la naturalezade los datos de entrada a la red y la respuesta asociada a cada uno de ellos.

3.3 FILTRO ADAPTIVO

3.3.1 Descripción del problema:

Sin duda la principal aplicación de la red Adaline está en el campo delprocesamiento de señales, en concreto para el diseño y realización de filtros queeliminen el ruido de señales portadoras de información. Como filtro adaptivo se hautilizado ésta red en numerosas aplicaciones, destacándose su uso en filtros deecualización adaptivos en modems de alta velocidad y canceladores adaptivos deleco para filtrado de señales en comunicaciones telefónicas de larga distancia ycomunicaciones vía satélite. Una de las primeras aplicaciones de redes

Page 147: Antologia de Inteligencia Artificial 1 (2)

neuronales que tuvo éxito en la industria fue el Adaline para la eliminación de ecosen circuitos telefónicos.

Por otro lado, los filtros adaptivos se pueden usar para predecir el valor futuro deuna señal a partir de su valor actual basándose en un aprendizaje en el que seemplea como entrada el valor retardado de la señal actual y como salidaesperada, el valor actual de la señal, el filtro intentará minimizar el error entre susalida y la señal anterior. Una vez el filtro predice correctamente la señal actual,basándose en la señal anterior, se puede utilizar directamente la actual comoentrada sin el retardo, el filtro realizará una predicción del valor futuro de la señal.

Otro ejemplo es el filtro adaptivo utilizado para modelar las respuestas de unsistema basándose en las señales de entrada, en este caso las entradas al filtroson las mismas que las del sistema, ajustando los pesos durante el aprendizaje enfunción de la diferencia entre su salida y la del sistema, éste será el modelo defiltro adaptivo utilizado en esta aplicación.

Existen sistemas en los cuales es posible determinar la fuente de ruido, porejemplo cuando son los mismos elementos de medición los que introducenseñales de ruido a la señal original; este ruido es ocasionado por los niveles devoltaje y de frecuencia del sistema alimentador de los aparatos, el cual esimprescindible en el proceso.

En la presente aplicación, una señal de ruido ha sido introducida por los cables deconexión de los aparatos y se ha mezclado con la señal que se desea medir, loque en este caso es crítico, ya que no se conoce la forma exacta de la señal deinterés y por tanto no es posible determinar cuál debe ser la señal correcta desalida.

Aprovechando que la fuente de ruido ha sido completamente determinada, seutilizará este conocimiento para implementar un procedimiento de filtrado que pormedio de un filtro adaptivo permita recuperar la señal original.

La figura 3.3.1, es un esquema de la disposición que se dará al filtro dentro delcontexto general que se ha dispuesto para solucionar el problema. Las variablesson:

Page 148: Antologia de Inteligencia Artificial 1 (2)

Figura 3.3.1 Diagrama de Bloques de un filtro adaptivo

s: Señal de interés, es decir es la señal que se desea medir, aunque se conoce sunaturaleza, su forma es indeterminada.

v: Fuente de poder de los instrumentos de medida, por sus características depotencia y frecuencia es una fuente de ruido.

m: La señal v, es indispensable en el proceso de medición ya que sin ella losaparatos de medida no funcionarían; v es la fuente detectada de ruido, pero sucontribución se limita a la parte inducida en los cables de conexión, que seconvierten en el camino de contaminación; de esta forma la señal m es la fuentede ruido que afecta realmente la señal original s.

t: Señal resultante de la suma de la señal de interés s y de m que es el porcentajeefectivo de ruido que afecta la medición.

a: Salida del filtro.

e: Diferencia entre la señal contaminada t y la señal que entrega el filtro adaptivo,si el filtro realiza un buen trabajo, esta señal debe ser la señal restaurada sin ruido.Durante el proceso de aprendizaje la señal e servirá como referencia paradeterminar el desempeño del filtro.

La señal v es una señal por lo general de 60Hz, que en este caso alimenta el filtroadaptivo, los parámetros del filtro deben ajustarse para minimizar la señal de errore, de esta forma y de acuerdo con el esquema de la figura 3.3.1 podría pensarseque la salida esperada del filtro a es la señal contaminada t, pero debe recordarseque la única fuente efectiva de ruido es la señal m por lo tanto, lo que realmentese espera del filtro es que reproduzca sólo la parte de t que afecta la medición (t=

Page 149: Antologia de Inteligencia Artificial 1 (2)

s+m), o sea m. Por consiguiente la salida del filtro a debe ser cada vez máscercana a m para que la señal de error e, se aproxime a la señal no contaminadas.

La entrada al filtro es el valor de la fuente de ruido, que en este caso se asumirácomo una señal senoidal uniformemente distribuida entre -0.2 y 0.2 paraconservarla dentro de límites observables; la frecuencia de la onda es de 60 Hz, yla frecuencia de muestreo es de 180 Hz.

(3.3.1)

El estudio de los procesos de filtrado se ha basado en un análisis en el dominio dela frecuencia, determinado por las series de Fourier, así para un sistema de filtradodado, una señal de entrada que produce una salida característica delsistema en el dominio del tiempo, se obtendrá un análogo en el dominio de lafrecuencia tal que, F(w) producirá una señal de salida F(w)H(w).

En la figura 3.3.2, se observa como el sistema actúa como un filtro de lasdiferentes componentes de frecuencia. Para garantizar que el filtrado sea exitoso,el filtro debe atenuar igualmente todas las componentes de frecuencia, larespuesta debe ser una réplica de la señal de entrada no en magnitud, pero si enforma; en general puede haber un retraso de tiempo asociado con esta réplica, porlo tanto, se habrá filtrado exitosamente una señal , si la respuesta es

; la respuesta es una réplica de la entrada con magnitud k veces laseñal original y un retraso de t0 segundos.

Figura 3.3.2 Representación de un sistema de filtrado en el dominio del tiempo yen el dominio frecuencial

Para el filtro adaptivo v(t) es la señal de entrada al filtro y la respuesta debe serque en el dominio de la frecuencia, equivale a desfasar la función

original 900 y multiplicarla por un factor k, el cual se escogió como 1/10 parasimplificar el proceso de visualización.

Como se indicó anteriormente, la salida del filtro debe ser la señal m para que alfinal del proceso pueda obtenerse la señal restaurada, por lo tanto la forma de laseñal m será:

Page 150: Antologia de Inteligencia Artificial 1 (2)

(3.3.2)

Para tener una idea clara de la relación entre m y v, la figura 3.3.3 ilustra laproporción de la señal original de ruido y de la señal efectiva de ruido que afecta lamedición.

En la gráfica de la parte superior de la figura 3.3.3, se ve como v es una señalsenoidal de magnitud 1.2, mientras que la gráfica inferior muestra la señal m quealcanza solo la décima parte de v con una magnitud de 0.12 y desfasada 900 conrespecto a la señal v, éstas dos ondas representan los patrones de entrenamientode la red, siendo v la entrada y m la salida deseada.

Figura 3.3.3 Señal original de ruido y señal que afecta el proceso de medición

3.3 FILTRO ADAPTIVO

3.3.2 Justificación del tipo de red

Como puede notarse, la red Adaline tiene la estructura básica del Perceptrón, ladiferencia es que su función de transferencia es del tipo lineal, pero por poseer

Page 151: Antologia de Inteligencia Artificial 1 (2)

una estructura similar presenta la misma limitación de la red tipo Perceptrón depoder resolver solo problemas linealmente separables.

A pesar de sus limitaciones innatas, la red Adaline es ampliamente usada en losprocesos de filtrado combinándola con retardos en línea a su entrada, quemejoran la calidad del filtrado

Figura 3.3.4 Estructura de un filtro adaptivo con una red Adaline

Cuando no es posible determinar la forma de onda de la señal original, ya queeste es precisamente el propósito de la medición, un filtro adaptivo se hacebastante útil, pues como su nombre lo dice se adapta a cualquier forma de señalque se le presente, sobrepasando así las limitaciones de los filtros tradicionales.

FILTRO ADAPTIVO

3.3.3 Entrenamiento de la red:

El objetivo del algoritmo diseñado en Matlab es lograr obtener la señal m a lasalida del filtro, minimizando el error medio cuadrático hasta reproducir una buenacopia de la señal original s.

La red es creada con la función de las herramientas de redes neuronales newlin,que genera una nueva red tipo Adaline, a la cual se le han introducido cuatroretardos, para conformar el filtro adaptivo que filtrará la señal de entrada. El valorde los retardos fue escogido por prueba y error, escogiendo aquel número quepresentará un mejor rendimiento para la red.

Page 152: Antologia de Inteligencia Artificial 1 (2)

net=newlin([-1,2],1);net.inputWeights{1,1}.delays=[0 1 2 3 4];

Los valores de los pesos iniciales y de las ganancias de la red son inicializadosaleatoriamente, con ayuda de la función rands

net.IW{1,1}=rands(1,5);net.b{1}=[0];pi={1 2 3 4};

Los valores correspondientes a la entrada y a la salida de la red se obtuvieronevaluando la ecuación (3.3.1) para valores desde hasta . La red seentrenó para 5000 iteraciones, mediante las cuales el filtro logró una excelenteaproximación de la función original.

net.adaptParam.passes=5000;[net,y,E,pf,af]=adapt(net,p,T,pi);

Para entrenar la red se generaron 101 puntos, algunos de los cuales pueden verseen la siguiente tabla:

1 2 23 51 52 78 101

Entrada a lared (v) 0.6967 1.1345 .... 1.1926 .... 0.2119 0.8583 .... -1.1165 .... -0.3137

Valoresperado(m)

0.0561 -0.0159 .... -0.0653 .... 0.0961 0.0365 .... 0.0107 .... 0.1176

Valorentregado(a)

-0.2592 -0.2379 .... -0.0385 .... 0.0766 0.0293 .... 0.0163 .... 0.1098

W1=net.IW{1,1} b1=net.b{1}

I1 I2 I3 I4 I5

N1 -0.0405 -0.0127 -0.0319 -0.0389 -0.0097 N1 0.0032

Mse 0.0022

Tabla 3.3.1 Resultados del proceso de entrenamiento

Para poder juzgar el trabajo realizado por el filtro, la figura 3.3.5 muestra la señaloriginal y la señal restaurada, que permiten comprobar las bondades del filtroadaptivo.

Page 153: Antologia de Inteligencia Artificial 1 (2)

En la figura 3.3.5 se observa como la señal e (verde) reproduce la señal original s(naranja) logrando una excelente aproximación, a partir de la cual puederetomarse el proceso de medición, pues en este punto cualquier tratamiento quese le haga a la señal de interés es altamente confiable, ya que ésta se encuentralibre de ruido.

Figura 3.3.5 Señal recuperada por el filtro

Al final del proceso iterativo el máximo error entregado por la red equivale a 1.41e-07, este es un valor bastante aceptable teniendo en cuenta que el errordifícilmente será cero, puesto que el algoritmo LMS emplea un valor aproximadopara el gradiente, que como se dijo en el capítulo 2 recibe el nombre de gradienteinstantáneo, en lugar del valor real para realizar la actualización de los pesos; estevalor del gradiente es una versión distorsionada del verdadero gradiente queocasionará que los pesos sigan variando suavemente, a pesar de que el errormedio cuadrático haya alcanzado el mínimo valor posible.

Es importante diferenciar entre el valor del error del filtro adaptivo, el cual mide sudesempeño y corresponde al error medio cuadrático descrito anteriormente, y e laseñal de error del sistema en general, con la cual se espera reproducir la señaloriginal sin contaminación s, trabajo que depende a su vez del desempeño delfiltro.

Page 154: Antologia de Inteligencia Artificial 1 (2)

En esta red todos los parámetros están muy ligados, por ejemplo en el esquemageneral de la figura 3.3.1 se observa como la salida e (correspondiente a ladiferencia entre a la salida del filtro y m la señal que se esperaba que esteentregará para poder reproducir la señal original s a la salida del sistema),realimenta el filtro adaptivo convirtiéndose en un factor decisivo en el proceso deactualización de los pesos de la red, por otro lado la dimensión del vector depesos tiene una influencia directa en el tiempo necesario de entrenamiento, por loque generalmente se debe tomar un compromiso entre este aspecto y laaceptabilidad de la solución (normalmente se mejora el error aumentando elnúmero de pesos).

El valor del parámetro tiene una gran influencia sobre el entrenamiento. Si esdemasiado grande, es posible que la convergencia no se produzca debido a quese darán altos en torno al mínimo sin alcanzarlo. Si es demasiado pequeño, sealcanzara convergencia pero a costa de una etapa

3.4 PREDICCIÓN DE CONSUMO DE CARGA

3.4.1 Descripción del problema

Un sistema de energía eléctrica debe abastecer de energía a todos los puntos decarga con una buena calidad del servicio. Por lo tanto un sistema eléctricoconfiable, el cual asegura buena calidad, debe contar con las siguientescaracterísticas:

Entregar energía en forma continua a todos los puntos de carga.

Los límites de la frecuencia y la tensión deben estar dentro de valorestolerables.

El sistema debe operar en la medida de lo posible, con costos mínimos ycon un mínimo de alteraciones ambientales o ecológicas.

Estas características pueden adquirirse por medio de una planeación exhaustivadel sistema, que permita conocer no solo su estado actual, sino también lasmedidas que deben adoptarse para condiciones futuras.

Una de las herramientas útiles en el planeamiento de un sistema eléctrico es lapredicción del consumo de carga, la cual permite conocer de antemano lanecesidad de expansión del sistema; la finalidad de la predicción siempre será elmejoramiento del servicio, convirtiéndose en uno de los primeros pasos encualquier proceso de planeamiento de un sistema eléctrico.

Al hablar de predicción de carga, resulta útil aclarar que como carga se asumetodo equipo que demanda energía del sistema de energía eléctrica, tales comolámparas, electrodomésticos, motores eléctricos, hornos eléctricos, etc. De estamanera se tienen varios tipos de carga:

Page 155: Antologia de Inteligencia Artificial 1 (2)

Motores en general Equipos de calentamiento Equipos electrónicos Equipo de iluminación

Desde el punto de vista del sistema de energía eléctrica, las cargas pueden serseparadas en tres (3) grupos funcionales:

Cargas domiciliarias Cargas industriales Cargas comerciales

Estas cargas presentan características muy diferentes con relación al tamaño,simetría (1 o 3 ), constancia de la carga y el período de funcionamiento.

La predicción de consumo de carga refleja las necesidades futuras de unapoblación; esta previsión debe ser lo más ajustada a la realidad, ya que unosvalores inferiores a los reales causaran deficiencias en la prestación del servicioen el futuro y un pronóstico de necesidades superior al real, motiva la inversiónprematura en instalaciones que no tendrán un aprovechamiento inmediato.

La proyección del suministro de energía se hace con base en el consumo,aplicando porcentajes de pérdidas que pueden obtenerse de un análisis de losregistros históricos (que normalmente se presentan en forma estadística), o porsimilitud con otros sistemas. En general las pérdidas tienden a disminuir a causade las mejoras progresivas, que se introducen en los sistemas de transmisión,subtransmisión y distribución. En forma similar al consumo de energía, laproyección de la demanda pico se obtiene sumando las demandas máximascoincidentes en hora pico [37].

En la tabla 3.4.1 se observa el comportamiento típico de consumo de carga de unapoblación, a la cual se realizó un seguimiento hora a hora durante una semana. Seha tomado el día lunes como 1 y en su orden el día domingo como 7, se asumió launa de la mañana como la hora 0 y las doce de la noche como la hora 23. Losdatos correspondientes al consumo de la población se encuentran en (kW).

HORA 0 1 2 3 4 5 6 7 8 9 10 11

Lunes 1,2300 1,0889 1,0289 0,9879 0,9879 1,1050 1,3729 1,6649 1,6649 2,1569 2,3230 2,3659

Martes 1,6049 1,4389 1,3631 1,3559 1,3439 1,3890 1,5699 1,7750 2,0180 2,1900 2,3359 2,3630

Miércoles 1,6630 1,4689 1,3890 1,3751 1,3611 1,4140 1,6040 1,8009 2,0739 2,2301 2,3649 2,3990

Jueves 1,7299 1,5159 1,4320 1,3931 1,3909 1,4310 1,6140 1,8170 2,0989 2,2260 2,3810 2,3741

Viernes 1,7129 1,4569 1,3461 1,2880 1,2331 1,1911 1,1570 1,1700 1,2139 1,3370 1,4799 1,5740

Sábado 1,7130 1,2821 1,1820 1,1220 1,0961 1,1059 1,1710 1,2751 1,4121 1,5450 1,7110 1,7410

Domingo 1,4140 1,3250 1,2249 1,2239 1,1240 1,0191 0,9989 0,9989 0,9790 1,0150 1,1271 1,2271

Page 156: Antologia de Inteligencia Artificial 1 (2)

HORA 12 13 14 15 16 17 18 19 20 21 22 23

Lunes 2,3731 2,2311 2,1560 2,2080 2,2949 2,3741 2,5000 2,4340 2,3560 2,0000 1,9890 1,8080

Martes 2,3359 2,1560 2,0799 0,1651 2,2551 2,3671 2,4770 2,4310 2,3540 2,2100 1,7085 1,7000

Miércoles 2,3580 2,2000 2,1231 2,1749 2,2049 2,3349 2,4640 2,3780 2,4140 2,0040 1,8582 1,7071

Jueves 2,3021 2,1459 2,0581 2,0809 2,1651 2,2380 2,2820 2,1540 2,1020 1,9950 1,9040 1,8590

Viernes 1,5951 1,5771 1,5629 1,5320 1,5440 1,6380 1,7310 1,7480 1,7921 1,8321 1,8620 1,7930

Sábado 1,7129 1,6200 1,1570 1,5831 1,6251 1,6251 1,8950 1,9040 1,9310 1,9360 1,9580 1,748

Domingo 1,2950 1,3130 1,2909 1,2600 1,2669 1,3631 1,1530 1,6020 1,6440 1,6150 1,5030 1,4990

Tabla 3.4.1 Datos de consumo de carga de una población durante una semana

Estos datos son una recopilación de un promedio histórico de diferentes años, delconsumo de la población escogida como muestra, con ellos podemos determinarla tendencia del consumo de los usuarios de esta población. El objetivo esentrenar una red neuronal que aprenda los datos anteriores y a partir de ellos estéen capacidad de predecir lo que sucederá en cualquier día de la semana a unahora determinada en años futuros.

El comportamiento de estos usuarios se visualiza en la figura 3.4.1, en dondepuede notarse las tendencias que pueden llegar a causar congestión en la centralen caso de no preverse con anticipación:

Page 157: Antologia de Inteligencia Artificial 1 (2)

Figura 3.4.1 Curvas de Carga

3.4 PREDICCIÓN DE CONSUMO DE CARGA

3.4.2 Justificación del tipo de red:

El algoritmo Backpropagation es un algoritmo de aprendizaje supervisado, el cualnecesita conocer cual es la salida esperada (columnas interiores de la tabla 3.4.1)asociada a cada una de las entradas (columnas referentes al día y a la hora en latabla 3.4.1), que actualiza pesos y ganancias siguiendo la regla de pasosdescendientes descrita en la sección 2.3.3

(3.4.1)

(3.4.2)

Una de las mayores ventajas de las redes multicapa, y en especial de la redBackpropagation, es que pueden aproximar cualquier función si se escoge unaadecuada configuración para la red [16] y un adecuado número de neuronas en lacapa oculta, escogencia que depende de la experiencia del desarrollador de lared. La red Bakcpropagation es un excelente aproximador de funciones, aunquees imposible determinar una configuración exacta de la red para cada aplicación.

Page 158: Antologia de Inteligencia Artificial 1 (2)

El proceso de aprendizaje no es fijo para ninguna red neuronal, el éxito consisteen probar con diferentes configuraciones hasta obtener la respuesta deseada;para esta aplicación se escogió una red 2:12:8:1, es decir que para un vector deentrada de dos dimensiones y esperando una sola salida de red, se tienen 12neuronas en la primera capa oculta y 8 neuronas en la segunda capa oculta.

Un esquema de la red puede observarse en la figura 3.4.2, la cual muestra lascaracterísticas de los datos de entrada y salida de la red. Allí puede verse que esnecesario ingresar a la red el día y la hora para los cuales se desea conocer elvalor de demanda pico de acuerdo a la convención de la tabla 3.4.1, lascondiciones de entrada a la red pueden ser tan complejas como se quiera, esdecir, la entrada puede convertirse fácilmente en un vector de cuatro componentesque incluya además del día y la hora, el mes y el año para los cuales se requierepredecir el valor de demanda; existen también otras opciones como convertir laentrada en un vector de tres componentes donde se incluya hora, día y tipo decarga para el cual se desea prever el consumo.

La elección de los patrones de entrada debe realizarse dependiendo de lasnecesidades explícitas que se tengan en el momento de hacer la predicción decarga, de la forma en que vaya a procesarse la información de salida de la red yde la cantidad y calidad de la información disponible.

Figura 3.4.2 Red Backpropagation 2:12:8:1 para predicción del consumo de carga

Page 159: Antologia de Inteligencia Artificial 1 (2)

Cualquier cambio que se realice en los patrones de entrenamiento exige unacodificación diferente del vector de entrada y a su vez cambia las condicionesgenerales de la red, pero el proceso de entrenamiento sigue siendo igual. En estaaplicación se utilizó la configuración de la figura 3.4.2 porque el objetivo es mostrarel funcionamiento general de una red Backpropagation, mostrando las bondadesde este tipo de red para aproximar funciones (en este caso las curvas de carga dela población en estudio) y su gran capacidad para predecir comportamientosfuturos de patrones nunca antes presentados en la etapa de aprendizaje.

3.4 PREDICCIÓN DE CONSUMO DE CARGA

3.4.3 Entrenamiento de la red

El código de entrenamiento para esta red, es desarrollado con base en laherramienta de redes neuronales del Matlab. La red es creada mediante elcomando newff para creación de redes Backpropagation, con las siguientescaracterísticas:

net=newff([0 1;0 1],[12,10,1], {'tansig','tansig','purelin'},'trainlm');

Los valores de iniciación de la matriz de pesos se generaron aleatoriamente;después de varias pruebas, los parámetros que determinan el entrenamiento sefijaron en los siguientes valores, mediante los cuales se alcanzó el rendimientoóptimo de la red.

net.trainParam.show =10;net.trainParam.epochs =1000;net.trainParam.goal =1e-5;net.trainParam.lr=0.075;net.trainParam.max_fail =5;net.trainParam.mem_reduc =1;net.trainParam.min_grad =1e-12;net.trainParam.time =inf;

Una explicación del significado de los comandos anteriores, puede encontrarse enel anexo A.

Los valores de entrada a la red se agruparon en el vector de dos entradas p, (tabla3.4.1), las cuales describen el día y la hora en que desea saberse el valor deconsumo. La red se entrenó solo con 180 valores de entrada de los 206 queconforman todo el set de entrenamiento, estos valores fueron normalizadosporque de esa forma se obtuvo una mejor generalización de la red en el procesode aprendizaje; el proceso de normalización consiste en dividir cada uno de losvalores de demanda de la tabla 3.4.1 por el valor de demanda máximo, de talforma que el mayor valor de entrada a la red será uno:

Page 160: Antologia de Inteligencia Artificial 1 (2)

El valor esperado, el valor de la potencia pico en un instante determinado, esrepresentado por el escalar t

t=t';[net,tr]=train(net,p,t);

Los restantes 26 valores de los patrones de entrenamiento se tomaron comovalores de prueba del rendimiento de la red y se agruparon en el vector p1, siendot1 el vector de salidas esperadas.

p1=p1';a = sim(net,p1);

Luego de varias iteraciones el error cayó por debajo de 2x10-5, el desempeño delerror medio cuadrático puede observarse en la figura 3.4.3.

Figura 3.4.3 Iteraciones Vs Error en una predicción de consumo de carga

Los parámetros de la red entrenada se presentan en la tabla 3.4.2

Page 161: Antologia de Inteligencia Artificial 1 (2)

W1=net.IW{1,1}1 2

N1 -21,9482 3,0064

N2 -0,4403 14,0061

N3 -30,1225 -14,4532

N4 6,8063 9,6593

N5 -0,6548 10,661

N6 -32,5167 -16,0543

N7 -31,5269 28,1193

N8 -26,5558 -10,0917

N9 2,4681 -26,1821

N10 7,306 1,6967

N11 -0,0242 9,3016

N12 -5,2355 0,211

W2=net.LW{2,1}

1 2 3 4 5 6

N1 -0,3267 18,5006 1,4482 7,3519 5,56 -63,61

N2 -1,7789 -34,377 132,102 56,1894 -36,79 5,4474

N3 2,9001 -1,6303 31,2892 2,0873 -3,0091 -1,3828

N4 -0,8462 8,6876 4,0463 6,0138 2,3158 -0,2587

N5 12,0037 0,1605 60,885 148,871 2,5194 106,22

N6 -98,9806 105,356 115,699 0,5065 95,0003 -17,001

N7 -5,6485 136,978 15,7418 43,3306 -13,133 -23,351

N8 -0,7708 -80,889 1,397 100,628 5,1579 -0,1767

7 8 9 10 11 12

N1 72,191 -27,627 42,4595 0,9163 -2,2968 57,8689

N2 180,2947 -253,47 -92,087 0,066 3,5167 -77,476

N3 3,3586 2,9584 1,2985 -0,0981 0,0207 -1,3115

N4 29,6843 0,8862 -10,697 0,4033 -1,1097 25,1813

N5 10,1653 0,8031 -30,127 0,2075 2,0099 3,7721

N6 46,6346 112,561 -28,56 6,8125 96,3854 172,322

N7 -58,043 -16,587 -10,875 -35,975 0,3041 74,7964

N8 94,3186 -1,8353 -1,4035 0,0731 -0,1007 33,8039

Page 162: Antologia de Inteligencia Artificial 1 (2)

W3=net.LW{3,2}1 2 3 4 5 6 7 8

N1 -0.1029 -0.2205 1.1001 0.2796 0.2537 -1.0455 -0.0863 1.0944

b1=net.b{1} b2=net.b{2} b3=net.b{3}

N1 17,6647 N1 35,736 N1 -0.5760

N2 -12,2797 N2 -58,2132

N3 36,1202 N3 -28,9712

N4 -11,3385 N4 29,135

N5 -4,2961 N5 7,4498

N6 29,8648 N6 -119,529

N7 -12,2397 N7 20,4235

N8 5,5126 N8 84,9714

N9 16,6252

N10 -2,721

N11 -0,2757

N12 4,0912

Tabla 3.4.2 Resultados obtenidos con la red entrenada

En la tabla 3.4.3, se muestran seis de los valores de la simulación de la red; losvalores de a1 corresponden a los valores entregados por al red y los valores de t1corresponden a los valores esperados.

a1=

1,341 1,3925 1,1588 1,1699 1,2124 1,339 1,4776

t1=

1,3439 1,389 1,157 1,17 1,2139 1,337 1,4799

e=

0,0029 0,0035 0,0018 0,0001 0,0015 0,002 0,0023

emáx= emin =

0,0035 1,19E-04

Page 163: Antologia de Inteligencia Artificial 1 (2)

Tabla 3.4.3 Valores de la simulación

Los comandos, que evaluaron el desempeño de la red son los siguientes, conellos se calculó el error en la simulación

e=abs(t1-a1)emax=max(e)emin=min(e)

En la tabla 3.4.3 puede observarse el trabajo final de la red y la excelente labor deaproximación que realiza. Ilustrar el resultado para todos los patrones de pruebaresulta un poco extenso, por lo tanto se escogieron los patrones másrepresentativos, donde puede verse que sin ningún problema la red haaproximado patrones que no se le habían presentado durante el entrenamiento,garantizando el éxito de la red para realizar predicciones de consumo de carga.

De los datos entregados en el entrenamiento, el error más significativo equivale a0.0035, es decir 3.5kW, valor muy aceptable teniendo en cuenta la disparidad delos datos de entrada, ya que como se observa de la figura 3.4.1 la población tieneun comportamiento bastante aleatorio, pues aunque se conserva la forma deonda, indicando que el comportamiento es similar todos los días de la semana, losvalores de la demanda pico son muy diferentes cada día

Después de probar los algoritmos traingd, traingda, (ver anexo A) se comprobóque el algoritmo trainlm, correspondiente al método de Levenberg Marquardtgarantizaba una alta velocidad de aprendizaje y una excelente generalización delos patrones de entrenamiento que no se le habían presentado inicialmente, y poreso se escogió para completar el proceso de entrenamiento.

El proceso de entrenamiento, involucró experimentar con muchos tipos de redestratando de encontrar no solo una configuración óptima, si no también un algoritmoque además de rapidez garantizara estabilidad en el resultado final. La redescogida en la figura 3.4.2 es bastante robusta e involucra un gran número deparámetros (149 en total), sin embargo alcanzó convergencia en menos tiempoque otras redes escogidas en las cuales se trabajó con una sola capa ocultacompuesta por un gran número de neuronas, de esta forma se confirma que noexiste un procedimiento establecido para determinar el modelo de red que debeemplearse en cada aplicación y que sólo con la práctica puede determinarse cuáles la configuración de red que garantiza mejores resultados, esta aparentedificultad de las redes neuronales puede aprovecharse para resaltar una de susgrandes ventajas: La adaptabilidad de esta teoría a diferentes lenguajes deprogramación, de tal forma que con unos pocos comandos los parámetros de lared pueden ser transformados sin mayor problema, adoptando una configuracióntotalmente diferente.

Redes con el tipo de estructura, como la utilizada en esta aplicación puedenemplearse para predecir la necesidad de una reconfiguración del sistema en un

Page 164: Antologia de Inteligencia Artificial 1 (2)

día y una hora específica. Es posible también que los resultados de una red comoésta, se utilicen para adoptar estrategias de restauración del servicio en diferenteshoras y diferentes días, pues al conocer los valores de demanda es fácildeterminar comportamientos críticos y dar prioridad en el restablecimiento,dejando por fuera a la menor cantidad de usuarios posible.

Las diferentes aplicaciones para las que sea necesario implementar unapredicción de consumo de carga, pueden derivarse fácilmente de ésta adaptandoel código fuente a los patrones con los que se desea realizar la predicción, asícomo se mencionó anteriormente, lo único necesario es variar la estructura delvector de entrada p adecuándolo a la cantidad de entradas que se vayan aingresar (hora, día, mes, año, tipo de carga) a la red y también establecer conclaridad que tipo de información de salida se espera dependiendo del propósito dela predicción.

3.5 CONTROL DE VOLTAJE POR INYECCIÓN DE REACTIVOS EN UNA BARRAREMOTA

3.5.1 Descripción del problema: El objetivo de un sistema de potencia essuministrar a las barras de carga, potencia activa y reactiva para su consumoconservando los niveles de voltaje dentro de los límites establecidos. Sin embargolos niveles de tensión en las barras están determinados por las condiciones delsistema, no obstante es posible realizar un control en el nivel de tensióninyectando reactivos en una barra remota, para de este modo controlar los nivelesde tensión. Cuando se desea especificar el nivel de voltaje en una barra de cargaPQ, ésta barra se declara como tipo PQV, la barra donde se inyecta potenciareactiva que generalmente es de tipo PV se declara como tipo P.

Las ecuaciones básicas que describen el flujo de carga en un sistema de potenciason las siguientes:

(3.5.1)

(3.5.2)

Para Número de barras del sistema

La solución de las ecuaciones de flujo de potencia generalmente se realizan por elmétodo de Newton-Raphson, donde se calculan las derivadas de P y Q de lasecuaciones (3.5.1) y (3.5.2) respecto a las variables V y . El sistema deecuaciones no lineales en forma matricial se describe en la ecuación 3.5.3, dondeel Jacobiano del sistema es la matriz después de la igualdad.

Page 165: Antologia de Inteligencia Artificial 1 (2)

(3.5.3)

Para la solución de flujo de potencia cada barra aporta distintas ecuaciones eincógnitas según su tipo, como se puede ver en las tablas 3.5.1 y 3.5.2

Barra tipo PV

Ecuación:

Incógnita:

Barra tipo PQ

Ecuaciones:

Incógnitas: ,

Tabla 3.5.1 Ecuaciones e incógnitas barras, tipo PV y PQ

Cuando se desea realizar control de voltaje por inyección de reactivos en unabarra remota, las barras tipo P y PQV proporcionan las siguientes ecuaciones:

Barra tipo P o de Control

Ecuación:

Incógnitas: ,

Barra tipo PQV o Controlada

Ecuaciones:

Incógnita:

Tabla 3.5.2 Ecuaciones e incógnitas barras tipo P y PQV

En resumen las ecuaciones e incógnitas que aporta cada tipo de barra se sintetizaen el grupo de ecuaciones (3.5.4).

Page 166: Antologia de Inteligencia Artificial 1 (2)

(3.5.4)

Dónde: Número de barras con control remoto de voltaje. ,Número de barras tipo PQ y PV respectivamente

Esta aplicación se llevará a cabo en un sistema de tres barras donde la barra 1 esuna barra slack o de compensación V, la barra 2 es una barra tipo P, desde dondese pretende controlar por inyección de reactivos el voltaje de la barra 3, la cual esuna barra tipo PQV.

Figura 3.5.1 Sistema de 3 barras

El sistema tiene como potencia base Sb=100MVA y voltaje base Vb=230kV, elvoltaje en el nodo slack se mantendrá en V1=1.015p.u.

Las ecuaciones no lineales que describen el comportamiento del flujo de potenciaen el sistema de tres barras en forma matricial son las siguientes:

Page 167: Antologia de Inteligencia Artificial 1 (2)

(3.5.5)

(3.5.6)

(3.5.7)

(3.5.8)

(3.5.9)

(3.5.10)

(3.5.11)

(3.5.12)

(3.5.13)

(3.5.14)

(3.5.15)

El proceso de cálculo se realiza de forma iterativa, cuando el sistema deecuaciones ha convergido por debajo del error deseado se obtiene V2, de lascondiciones iniciales del flujo de carga se tienen V1 y V3 y con estos datos secalcula la potencia reactiva inyectada en la barra 2 (Q2), que satisface lascondiciones impuestas en la barra 3.

Page 168: Antologia de Inteligencia Artificial 1 (2)

(3.5.16)

Los datos de las líneas en p.u. son:

Z serie Y/2 paralelo1-2 0.0229+j0.0400 j0.0362-3 0.0118+j0.0333 j0.0273-1 0.0046+j0.0267 j0.040

Tabla 3.5.3 Datos de las líneas del sistema de tres barras

Y bus en p.u.

1 2 31 17.04606-j55.12630 -10.77946+j18.82875 -6.26660+j36.373542 -10.77946+j18.82875 22.37953-j41.94710 -12.60006+j23.181343 -6.26660+j36.37354 -12.60006+j23.18134 18.86667-j59.48788

Tabla 3.5.4 Y bus del sistema de tres barras

3.5 CONTROL DE VOLTAJE POR INYECCIÓN DE REACTIVOS EN UNABARRA REMOTA

3.5.2 Justificación del tipo de red: El problema de flujos de potencia está regidopor ecuaciones no lineales, las cuales según lo demostrado por Funahashi[16]pueden ser aprendidas por una red multicapa, en esta publicación el autordemuestra que siempre existe la red neuronal apropiada; este teorema es solo deexistencia pues prueba que la red existe pero no indica cómo construirla nitampoco garantiza que la red aprenderá la función.

La red neuronal de propagación inversa o Backpropagation es una generalizaciónpara redes multicapa del algoritmo LMS. Ambas utilizan la técnica del error mediocuadrático, pero la red Backpropagation es más ampliamente utilizada paraaproximación de funciones en especial no lineales.

3.5 CONTROL DE VOLTAJE POR INYECCIÓN DE REACTIVOS EN UNA BARRAREMOTA

3.5.3 Entrenamiento de la Red utilizando como entradas P3, Q3 y V3; paraobtener Q2 utilizando 10 neuronas en la capa oculta

Page 169: Antologia de Inteligencia Artificial 1 (2)

Figura 3.5.2 Red neuronal en configuración 3:10:1

La red será entrenada para determinar la cantidad de potencia reactiva en p.u.inyectada en la barra dos (Q2) para satisfacer las condiciones impuestas por V3, P3y Q3, que son el voltaje, la potencia activa y reactiva demandada en la barra 3.Para generar el set de entrenamiento, se resolvieron las ecuaciones no linealesque describen el comportamiento del sistema por el método de Newton-Raphsonconsiderando variaciones de V3, P3, Q3; cada variable se incrementó según lomostrado en la tabla 3.5.3; se mantuvieron constantes el voltaje en el nodo slackV1=1.015p.u. y la potencia activa demandada en la barra dos, P2=0.7p.u.

ValorInicial

ValorFinal

Incremento

V3 0.997 1.015 0.003P3 0.700 0.850 0.030Q3 0.250 0.400 0.030

Tabla 3.5.5 Patrones de entrenamiento

De estas variaciones se obtuvieron 252 combinaciones que conforman el vectorde patrones de entrenamiento p, que generan a su vez igual número de patronesobjetivos o salidas deseadas t.

P P1 P2 P36 P78 P79 P140 P252

V3 0.9970 0.9970 .... 0.9970 .... 1.0030 1.0030 .... 1.0060 .... 1.0150

Page 170: Antologia de Inteligencia Artificial 1 (2)

P3 0.8500 0.8500 .... 0.7000 .... 0.8500 0.8200 .... 0.7000 .... 0.7000

Q3 0.2500 0.2800 .... 0.4000 .... 0.4000 0.2500 .... 0.2800 .... 0.4000

t t1 t2 t36 t78 t79 t140 t252

Q2 -0.7480 -0.6939 .... -0.5495 .... 0.0685 -0.2244 .... 0.0464 .... 1.1281

Tabla 3.5.6 Patrones de entrenamiento de la red neuronal

Los pesos iniciales de la red fueron obtenidos de la función initlay que calcula lospesos iniciales con base al rango de los datos de entrada p.

W1i=net.IW{1,1} b1i=net.b{1}

I1 I2 I3

N1 -82.4449 -30.1178 24.7463 N1 101.2545

N2 251.4143 -20.6245 -16.7856 N2 -233.8294

N3 -325.2046 -1.0347 9.6617 N3 326.4934

N4 325.4475 -9.5779 0.6391 N4 -321.1904

N5 329.3532 -5.3503 -5.1664 N5 -325.8389

N6 -142.9295 34.0779 12.7224 N6 112.9068

N7 64.3926 -27.4716 28.3361 N7 -51.6923

N8 294.8647 -14.5486 -12.3960 N8 -279.6544

N9 231.7537 21.5285 -19.5048 N9 -241.1438

N10 -186.3720 -28.7647 -17.0220 N10 212.2988

W2i=net.LW{2,1}

N1 N2 N3 N4 N5 N6 N7 N8 N9 N10

S1 -0.1769 -0.4281 -0.2117 0.0060 0.4440 -0.3876 -0.7757 -0.1134 -0.0665 -0.9707

b2i=net.b{2}

S1 0.3281

Tabla 3.5.7 Pesos iniciales para la red neuronal

Se entrenará la red de la figura 3.5.2 con 3 distintos algoritmos de aprendizaje yluego se simulará cada red con los siguientes patrones de prueba:

1 2 3 4 5 6 7 8

V3 1.0120 0.9950 1.0100 1.0200 1.0070 1.0160 1.0050 1.0100

P3 0.7320 0.8300 0.8250 0.8370 0.7520 0.9120 0.8720 0.8500

Page 171: Antologia de Inteligencia Artificial 1 (2)

Q3 0.3710 0.3600 0.2300 0.4100 0.3230 0.2500 0.4500 0.2020

Q2 0.7992 -0.7359 0.3895 1.7141 0.2457 1.0476 0.3588 0.3497

9 10 11 12 13 14 15 16

V3 1.0100 1.0170 1.0050 1.0120 1.0030 0.9950 1.0200 1.0100

P3 0.8430 0.9000 0.7500 0.8500 0.8200 0.6500 0.9000 0.8000

Q3 0.3570 0.1500 0.3100 0.5000 0.2800 0.1500 0.2000 0.3000

Q2 0.6390 0.9463 0.0349 1.1089 -0.1691 -1.1977 1.3368 0.5088

Tabla 3.5.8 Patrones de prueba de las RN’s

Los valores de prueba que se encuentran en negrilla se encuentran por fuera delrango de entrenamiento y buscan probar la capacidad de extrapolación de la red,la mayoría de los datos de prueba que se encuentran dentro del rango deentrenamiento no coinciden exactamente con el valor utilizado en el entrenamientopara probar la capacidad de interpolación de la red.

3.5.3 Entrenamiento de la Red utilizando como entradas P3, Q3 y V3; paraobtener Q2 utilizando 10 neuronas en la capa oculta

Entrenamiento utilizando el algoritmo trainrp

El siguiente código entrena una red neuronal con 3 entradas, 10 neuronas en lacapa oculta y 1 en la capa salida, utilizando la función de aprendizaje trainrp (VerAnexo 1) y como objetivo un error medio cuadrático de 6x10-6.

net=newff([0.997 1.015;0.7 0.85;0.25 0.4],[10,1], {'tansig','purelin'},'trainrp');net.trainParam.epochs=50000;net.trainParam.goal=6e-6;net.trainParam.min_grad=1e-10;net.trainParam.lr=0.03;net.trainParam.delt_inc=1.08;net.trainParam.delt_dec=0.70;net.trainParam.delta0=0.08;net.trainParam.deltamax=50.0;[net,tr]=train(net,P,t);

El error medio cuadrático objetivo fue fijado en 6x10-6, puesto que con la variaciónde los distintos parámetros no fue posible alcanzar un valor inferior; los mejoresresultados se obtuvieron para una rata de aprendizaje de 0.03, para esta red unvalor superior causa serias inestabilidades lo que a su vez ocasiona un proceso deaprendizaje bastante pobre (la red generaliza de manera incorrecta) y un valorinferior produce un aprendizaje bastante lento.

Page 172: Antologia de Inteligencia Artificial 1 (2)

La figura 3.5.3 muestra la evolución del error medio cuadrático a través de 50000iteraciones hasta alcanzar el error deseado.

Figura 3.5.3 Error medio cuadrático utilizando trainrp

Luego de 50000 iteraciones el error medio cuadrático cayó por debajo de 6x10-6,los pesos y ganancias de la red entrenada son:

W1f=net.IW{1,1} b1f=net.b{1}

I1 I2 I3

N1 -79.6128 -24.9124 34.8705 N1 112.1139

N2 252.3923 -15.6532 -27.2092 N2 -232.4849

N3 -323.5910 -0.0197 0.3244 N3 327.5410

N4 322.9282 -0.2053 -0.1796 N4 -324.6580

N5 325.8474 -0.0746 0.2680 N5 -325.7568

N6 -133.9024 3.5832 15.9724 N6 127.9533

N7 59.2478 1.9485 7.0366 N7 -63.8474

N8 275.5195 5.1249 21.3110 N8 -284.2129

N9 234.3145 -18.7189 -245.3248 N9 -129.0298

N10 -200.4902 -7.0055 -22.0806 N10 212.8007

Page 173: Antologia de Inteligencia Artificial 1 (2)

W2f=net.LW{2,1}

N1 N2 N3 N4 N5 N6 N7 N8 N9 N10

S1 -0.0688 -0.0069 -0.2988 0.2533 0.2656 0.0251 0.2475 0.0563 -0.0031 -0.0346

b2f=net.b{2}

S1 0.2726

Tabla 3.5.9 Pesos finales de la RN

Para hallar la respuesta de la red (Q2Rn) ante los patrones de prueba, se simulóla red y para hallar el error en las aproximaciones se comparó con la respuestaproducida por las ecuaciones del flujo de carga (Q2Fc).

1 2 3 4 5 6 7 8

Q2Fc 0.7992 -0.7359 0.3895 1.7141 0.2457 1.0476 0.3588 0.3497

Q2Rn 0.7980 -0.6457 0.3799 1.3230 0.2549 1.0028 0.3215 0.3437

Error 0.0011 -0.0902 0.0097 0.3911 -0.0092 0.0448 0.0374 0.0060

9 10 11 12 13 14 15 16

Q2Fc 0.6390 0.9463 0.0349 1.1089 -0.1691 -1.1977 1.3368 0.5088

Q2Rn 0.6333 0.8745 0.0268 0.9868 -0.1672 -0.9485 1.0116 0.4964

Error 0.0057 0.0718 0.0081 0.1220 -0.0019 -0.2492 0.3252 0.0123

Tabla 3.5.10 Simulación de la RN con los patrones de prueba

Los errores más altos se presentaron en los patrones de prueba 4 (2), 12 (1), 14(3) y 15 (3), donde los valores entre paréntesis son el número de datosextrapolados del set de entrenamiento; algunos resultados son muy próximos a losvalores que producirían las ecuaciones de flujo de carga que describen elcomportamiento del sistema, pero en general el aprendizaje fue muy lento (50000iteraciones) y la aproximación es muy deficiente.

3.5.3 Entrenamiento de la Red utilizando como entradas P3, Q3 y V3; paraobtener Q2 utilizando 10 neuronas en la capa oculta

Entrenamiento utilizando el algoritmo trainbfg

El siguiente código entrena una red neuronal con 3 entradas, 10 neuronas en lacapa oculta y 1 en la salida, utilizando la función de aprendizaje trainbfg (VerAnexo 1) y como objetivo un error medio cuadrático de 1.35x10-8.

Page 174: Antologia de Inteligencia Artificial 1 (2)

net=newff([0.997 1.015;0.7 0.85;0.25 0.4],[10,1], {'tansig','purelin'},'trainbfg');net.trainParam.epochs=1800;net.trainParam.goal=1.35e-8;net.trainParam.min_grad=1e-10;net.trainParam.searchFcn='srchcha'net.trainParam.scal_tol=20;net.trainParam.alpha=0.001;net.trainParam.beta=0.1;net.trainParam.delta=0.01;net.trainParam.gama=0.1;net.trainParam.low_lim=0.1;net.trainParam.up_lim=0.5;[net,tr]=train(net,P,t);

El error medio cuadrático fue fijado en 1.35x10-8, por debajo de este valor la matrizJacobiana de esta red se vuelve singular o sin inversa y por este motivo sepresenta un estancamiento en el proceso de aprendizaje, pero antes de que estosuceda los resultados obtenidos presentan un error medio cuadrático bastantepequeño, produciendo una muy buena aproximación y generalización de lasfunciones deseadas

La figura 3.5.4 muestra la evolución del error medio cuadrático a través de 1523iteraciones hasta alcanzar el error deseado.

Page 175: Antologia de Inteligencia Artificial 1 (2)

Figura 3.5.4 Error medio cuadrático utilizando trainbfg

Luego de 1523 iteraciones el error medio cuadrático cayo por debajo de 1.35x10-8,alcanzado el error deseado, los pesos y ganancias de la red entrenada son:

W1f=net.IW{1,1} b1f=net.b{1}

I1 I2 I3

N1 314.7873 292.0234 160.5730 N1 492.3094

N2 311.7056 -134.0357 138.9636 N2 -159.4016

N3 -84.6597 -0.4099 -1.4174 N3 87.8088

N4 26.3003 0.1433 0.5297 N4 -26.8251

N5 109.2728 0.6771 2.6136 N5 -109.7182

N6 -63.4637 -296.9911 231.7073 N6 208.1393

N7 -75.4292 -98.1638 5.7991 N7 -188.8066

N8 643.5915 286.1720 167.6307 N8 66.2581

N9 257.6940 33.3274 -21.1659 N9 -215.0041

N10 -220.3097 125.5978 -512.3378 N10 171.3954

W2f=net.LW{2,1}

N1 N2 N3 N4 N5 N6 N7 N8 N9 N10

S1 -35.0242 -5.1142 -0.3124 3.4025 0.0932 0.0000 29.3423 -617.2979 -545.3703 0.2596

b2f=net.b{2}

S1 1233.1

Tabla 3.5.11 Pesos finales de la RN entrenada con trainbfg

Para hallar la respuesta de la red (Q2Rn) ante los patrones de prueba, se simulóla red y para hallar el error en las aproximaciones se comparó con la respuestaproducida por las ecuaciones del flujo de carga (Q2Fc).

1 2 3 4 5 6 7 8

Q2Fc 0.7992 -0.7359 0.3895 1.7141 0.2457 1.0476 0.3588 0.3497

Q2Rn 0.7992 -0.7356 0.3893 1.7148 0.2459 1.0474 0.3582 0.3492

Error -0.0000 -0.0002 0.0002 -0.0007 -0.0001 0.0001 0.0007 0.0005

9 10 11 12 13 14 15 16

Q2Fc 0.6390 0.9463 0.0349 1.1089 -0.1691 -1.1977 1.3368 0.5088

Page 176: Antologia de Inteligencia Artificial 1 (2)

Q2Rn 0.6390 0.9454 0.0351 1.1073 -0.1690 -1.1897 1.3380 0.5089

Error -0.0000 0.0008 -0.0001 0.0015 -0.0001 -0.0080 -0.0011 -0.0001

Tabla 3.5.12 Simulación de la RN con los patrones de prueba

Como se observa esta red tiene una amplia capacidad de generalización tantopara interpolar como para extrapolar, el error más grande se produjo en el patrónde prueba 15 el cual tiene 3 valores extrapolados con respecto al set deentrenamiento.

3.5.3 Entrenamiento de la Red utilizando como entradas P3, Q3 y V3; paraobtener Q2 utilizando 10 neuronas en la capa oculta

Entrenamiento utilizando el algoritmo trainlm

El siguiente código entrena una red neuronal con 3 entradas, 10 neuronas en lacapa oculta y 1 en la salida, utilizando la función de aprendizaje trainlm y comoobjetivo un error medio cuadrático de 1x10-8.

net=newff([0.997 1.015;0.7 0.85;0.25 0.4],[10,1], {'tansig','purelin'},'trainlm');net.trainParam.epochs=700;net.trainParam.goal=1e-8;net.trainParam.lr=0.03;net.trainParam.mem_reduc=1;net.trainParam.min_grad=1e-10;[net,tr]=train(net,P,t);

Se utilizó una rata de aprendizaje de 0.03, para este valor se obtuvieron losmejores resultados de error medio cuadrático en el menor número de iteraciones,para valores diferentes a esta rata de aprendizaje se obtuvieron valores superioresen el error medio cuadrático para el mismo número de iteraciones.

No fue necesario fraccionar por submatrices el cálculo de la matriz Jacobiana delalgoritmo de entrenamiento, lo cual en algunos casos se hace indispensable porrazones computacionales cuando el conjunto de patrones de entrenamiento esmuy extenso, pues el Jacobiano de este algoritmo tiene dimensiones QxN dondeQ es el número de patrones de entrenamiento y N es el número de pesos yganancias de la red.

La figura 3.5.5 muestra la evolución del error medio cuadrático a través de 601iteraciones hasta alcanzar el error deseado.

Page 177: Antologia de Inteligencia Artificial 1 (2)

Figura 3.5.5 Error medio cuadrático utilizando trainlm

Luego de 601 iteraciones el error medio cuadrático cayó por debajo de 1x10-8,alcanzado el error deseado, los pesos y ganancias de la red entrenada son:

W1f=net.IW{1,1} b1f=net.b{1}

I1 I2 I3

N1 -88.3684 -9.3759 -10.4875 N1 105.0244

N2 249.1384 -17.7323 -11.8856 N2 -236.6178

N3 -289.7534 -1.2117 -8.7486 N3 296.1395

N4 333.5132 -34.3139 1.4535 N4 -312.9180

N5 320.8474 1.9620 9.7026 N5 -324.2801

N6 -143.5382 31.1396 23.1280 N6 113.2598

N7 13.7085 0.0753 0.2782 N7 -14.1171

N8 298.9814 -14.0175 -39.8990 N8 -274.3762

N9 241.2621 -9.1133 -10.0929 N9 -232.4621

N10 -193.7428 0.4029 2.1040 N10 195.5529

W2f=net.LW{2,1}

N1 N2 N3 N4 N5 N6 N7 N8 N9 N10

Page 178: Antologia de Inteligencia Artificial 1 (2)

S1 -0.3137 -0.0002 0.0016 0.0002 0.0043 0.0001 6.9859 0.0001 0.0007 -0.0068

b2f=net.b{2}

S1 1.7103

Tabla 3.5.13 Pesos y ganancias RN entrenada con trainlm

Para hallar la respuesta de la red (Q2Rn) ante los patrones de prueba, se simulóla red y para hallar el error en las aproximaciones se comparó con la respuestaproducida por las ecuaciones del flujo de carga (Q2Fc)

1 2 3 4 5 6 7 8

Q2Fc 0.7992 -0.7359 0.3895 1.7141 0.2457 1.0476 0.3588 0.3497

Q2Rn 0.7992 -0.7361 0.3896 1.7055 0.2459 1.0469 0.3598 0.3497

Error -0.0001 0.0002 -0.0001 0.0086 -0.0001 0.0007 -0.0010 0.0000

9 10 11 12 13 14 15 16

Q2Fc 0.6390 0.9463 0.0349 1.1089 -0.1691 -1.1977 1.3368 0.5088

Q2Rn 0.6387 0.9443 0.0350 1.1132 -0.1692 -1.1856 1.3291 0.5087

Error 0.0003 0.0020 -0.0000 -0.0043 0.0001 -0.0120 0.0078 0.0000

Tabla 3.5.14 Simulación de la RN con los patrones de prueba

Como se observa, esta red tiene una amplia capacidad de generalización parainterpolar como para extrapolar, los errores más grandes se produjeron en lospatrones de prueba 4 y 15 los cuales tienen 2 y 3 valores extrapoladosrespectivamente con relación al set de entrenamiento; este algoritmo produjoresultados tan buenos como los obtenidos con el algoritmo trainbfg pero en menornúmero de iteraciones y sin problemas de singularidad de la matriz Jacobiana enel proceso de aprendizaje.

3.5 CONTROL DE VOLTAJE POR INYECCIÓN DE REACTIVOS EN UNA BARRAREMOTA

3.5.4 Entrenamiento de la Red utilizando como entradas P3, Q3, V3 y P2; paraobtener Q2 utilizando 12 neuronas en la capa oculta

Page 179: Antologia de Inteligencia Artificial 1 (2)

Figura 3.5.6 Red Neuronal en configuración 4:12:1

La red será entrenada para determinar la cantidad de potencia reactiva en p.u.inyectada en la barra 2 (Q2) para satisfacer las condiciones impuestas por V3, P3Q3 y P2, que son el voltaje, la potencia activa y reactiva deseados en la barra 3 y lapotencia activa demandada en la barra 2. Para generar el set de entrenamiento seresolvieron las ecuaciones no lineales que describen el comportamiento delsistema por el método de Newton-Raphson considerando variaciones de V3, P3,Q3 , P2 y sus posibles combinaciones en los rangos mostrados en la tabla 3.5.13,el voltaje en el nodo slack V1=1.015p.u se conservo constante.

Valor Inicial Valor Final Incremento

V3 0.997 1.015 0.0045

P3 0.700 0.850 0.0500

Q3 0.250 0.400 0.0500

P2 0.600 0.750 0.0500

Tabla 3.5.15 Patrones de entrenamiento

De estas variaciones se obtuvieron 320 patrones de entrenamiento p, quegeneraron a su vez igual número de respuestas esperadas t

Page 180: Antologia de Inteligencia Artificial 1 (2)

P p1 p2 p75 p148 p149 p263 p320

V3 0.9970 0.9970 .... 1.0015 .... 1.0060 1.0060 .... 1.0150 .... 1.0150

P3 0.8500 0.8500 .... 0.8500 .... 0.8000 0.8000 .... 0.8500 .... 0.7000

Q3 0.2500 0.2500 0.3500 0.2500 0.3000 0.3000 0.4000

P2 0.6000 0.6500 .... 0.7000 .... 0.7500 0.6000 .... 0.7000 .... 0.7500

t t1 t2 t75 t148 t149 t263 t320

Q2 -0.7800 -0.7641 .... -0.1617 .... 0.0577 0.1008 .... 1.0139 .... 1.1456

Tabla 3.5.16 Patrones de entrenamiento de la red neuronal

Los pesos iniciales de la red fueron obtenidos de la función initlay que calcula lospesos iniciales con base en el rango de los datos de entrada

W1i=net.IW{1,1} b1f=net.b{1}

I1 I2 I3 I4

N1 214.9557 18.4104 8.3064 11.5648 N1 -243.6249

N2 85.1487 -25.6540 -20.9690 2.1943 N2 -62.5758

N3 -84.5134 12.2602 12.9213 28.0521 N3 54.0424

N4 -203.3228 18.7339 16.1259 -0.8630 N4 186.5500

N5 77.5282 -22.7461 -7.6400 -23.3397 N5 -42.8385

N6 130.9888 27.2670 -5.8177 13.5142 N6 -160.3749

N7 -68.2392 4.5660 10.2405 31.8477 N7 40.0478

N8 -207.9645 6.7104 17.1889 15.6131 N8 187.1758

N9 -63.1775 -25.1240 -12.1456 19.2571 N9 72.7921

N10 272.6824 6.2926 -9.6419 -1.9396 N10 -273.0942

N11 129.7327 22.8632 5.0148 -20.4160 N11 -133.9472

N12 250.8019 -11.8106 4.7112 11.8144 N12 -250.0536

W2i=net.LW{2,1}

N1 N2 N3 N4 N5 N6

S1 -0.2693 -0.7199 0.1335 0.6460 0.3479 0.9989

b2f=net.b{2}

N7 N8 N9 N10 N11 N12

S1 0.9233 -0.8823 -0.2794 0.0970 -0.4765 0.1947 S1 -0.9014

Page 181: Antologia de Inteligencia Artificial 1 (2)

Tabla 3.5.17 Pesos iniciales para la red neuronal

Se entrenará la red de la figura 3.5.6 con dos distintos algoritmos de aprendizaje yluego se simulará cada red con los siguientes patrones de prueba:

1 2 3 4 5 6 7 8

V3 1.0120 0.9950 1.0100 1.0200 1.0070 1.0160 1.0050 1.0100

P3 0.7320 0.8300 0.8250 0.8370 0.7520 0.9120 0.8720 0.8500

Q3 0.3710 0.3600 0.2300 0.4100 0.3230 0.2500 0.4500 0.2020P2 0.5300 0.5500 0.6200 0.6100 0.7580 0.7420 0.6320 0.5840Q2 0.7416 -0.7836 0.3626 1.6821 0.2653 1.0623 0.3359 0.3108

9 10 11 12 13 14 15 16

V3 1.0100 1.0170 1.0050 1.0120 1.0030 0.9950 1.0200 1.0100

P3 0.8430 0.9000 0.7500 0.8500 0.8200 0.6500 0.9000 0.8000

Q3 0.3570 0.1500 0.3100 0.5000 0.2800 0.1500 0.2000 0.3000

P2 0.6500 0.7800 0.6200 0.5800 0.5500 0.6000 0.6800 0.7000

Q2 0.6220 0.9743 0.0085 1.0673 -0.2180 -1.2288 1.3298 0.5088

Tabla 3.5.18 Patrones de prueba de las RN’s

Los valores de la tabla 3.5.18 que se encuentran en negrilla se encuentran porfuera del rango de entrenamiento y con ellos se busca probar la capacidad deextrapolación de la red, la mayoría de los datos de prueba que se encuentrandentro del rango de entrenamiento no coinciden exactamente con el valor utilizadoen el entrenamiento para probar la capacidad de interpolación de la red.

3.5.4 Entrenamiento de la Red utilizando como entradas P3, Q3, V3 y P2; paraobtener Q2 utilizando 12 neuronas en la capa oculta

Entrenamiento utilizando el algoritmo trainbfg

El siguiente código entrena una red neuronal con 4 entradas, 12 neuronas en lacapa oculta y 1 en la salida, utilizando la función de aprendizaje trainbfg (VerAnexo 1) y como objetivo un error medio cuadrático de 2.15x10-8.

net=newff([0.997 1.015;0.7 0.85;0.25 0.4;0.6 0.75],[12,1],{'tansig','purelin'},'trainbfg');net.trainParam.epochs=1500;net.trainParam.goal=5e-8;net.trainParam.min_grad=1e-10;net.trainParam.searchFcn='srchcha'net.trainParam.scal_tol=20;net.trainParam.alpha=0.001;

Page 182: Antologia de Inteligencia Artificial 1 (2)

net.trainParam.beta=0.1;net.trainParam.delta=0.01;net.trainParam.gama=0.1;net.trainParam.low_lim=0.1;net.trainParam.up_lim=0.5;[net,tr]=train(net,P,t);

En el entrenamiento de la red con este algoritmo se presentaron de nuevoinconvenientes en la invertibilidad de la matriz Jacobiana del algoritmo en elproceso iterativo, por lo cual el error medio cuadrático objetivo fue fijado en 5x10 -8,por debajo de este valor la matriz Jacobiana del algoritmo se vuelve singular ypresenta los inconvenientes antes descritos, pero antes de que esto suceda losresultados obtenidos proveen una muy buena aproximación.

La figura 3.5.7 muestra la evolución del error medio cuadrático a través de 1066iteraciones hasta alcanzar el error deseado.

Figura 3.5.7 Error medio cuadrático utilizando trainbfg

Luego de 1066 iteraciones el error medio cuadrático cayo por debajo de 5x10-8,alcanzado el error deseado, los pesos y ganancias de la red entrenada son:

Page 183: Antologia de Inteligencia Artificial 1 (2)

W1f=net.IW{1,1} b1f=net.b{1}

I1 I2 I3 I4

N1 224.4737 1.1518 4.1945 0.7659 N1 -231.1824

N2 102.8281 19.5357 -69.0280 -18.4298 N2 -48.5460

N3 132.9784 173.1409 67.2342 171.2176 N3 272.5634

N4 -783.1072 -316.8951 -154.8182 -441.7653 N4 -385.5031

N5 -151.4010 -190.8937 -109.9698 -159.8299 N5 -271.9678

N6 425.0669 259.6459 85.3641 183.3998 N6 132.7761

N7 361.8879 328.3253 140.2923 276.1773 N7 464.9202

N8 47.0275 204.3169 40.6780 175.2289 N8 445.8823

N9 -45.6292 -0.2511 -0.9316 -0.1655 N9 46.1722

N10 268.0715 1.2620 4.5158 0.8389 N10 -272.7277

N11 82.6771 4.2783 13.3543 -42.3772 N11 -177.9131

N12 243.0169 1.3006 4.7068 0.8643 N12 -248.8931

W2f=net.LW{2,1}

N1 N2 N3 N4 N5 N6

S1 0.2130 10.4271 10.5727 -2.6097 27.1693 -906.5415

b2f=net.b{2}

N7 N8 N9 N10 N11 N12

S1 794.0887 -14.8412 -1.9511 0.0293 -0.4926 0.0775 S1 130.1609

Tabla 3.5.19 Pesos y ganancias RN entrenada con trainbfg

Para hallar la respuesta de la red (Q2Rn) ante los patrones de prueba, se simulóla red y para hallar el error en las aproximaciones se comparó con la respuestaproducida por las ecuaciones del flujo de carga (Q2Fc)

1 2 3 4 5 6 7 8

Q2Fc 0.7416 -0.7836 0.3626 1.6821 0.2653 1.0623 0.3359 0.3108

Q2Rn 0.7412 -0.7841 0.3629 1.5963 0.2658 1.0627 0.3350 0.3112

Error 0.0004 0.0005 -0.0003 0.0858 -0.0005 -0.0004 0.0010 -0.0003

Page 184: Antologia de Inteligencia Artificial 1 (2)

9 10 11 12 13 14 15 16

Q2Fc 0.6220 0.9743 0.0085 1.0673 -0.2180 -1.2288 1.3298 0.5088

Q2Rn 0.6221 0.9742 0.0083 1.0634 -0.2184 -1.2087 1.3310 0.5088

Error -0.0002 0.0001 0.0003 0.0040 0.0004 -0.0201 -0.0012 -0.0001

Tabla 3.5.20 Simulación de la RN con los patrones de prueba.

Como se observa, esta red tiene una amplia capacidad de generalización parainterpolar como para extrapolar, los errores más grandes se produjeron en lospatrones de prueba 4 y 14 los cuales tienen 2 y 3 valores extrapoladosrespectivamente en relación al set de entrenamiento.

3.5.4 Entrenamiento de la Red utilizando como entradas P3, Q3, V3 y P2; paraobtener Q2 utilizando 12 neuronas en la capa oculta

Entrenamiento utilizando el algoritmo trainlm

El siguiente código entrena una red neuronal con 4 entradas, 12 neuronas en lacapa oculta y 1 en la salida, utilizando la función de aprendizaje trainlm y comoobjetivo un error medio cuadrático de 1x10-8.

net=newff([0.997 1.015;0.7 0.85;0.25 0.4;0.6 0.75],[12,1],{'tansig','purelin'},'trainlm');net.trainParam.epochs=700;net.trainParam.goal=1e-8;net.trainParam.lr=0.03;net.trainParam.max_fail=5;net.trainParam.mem_reduc=1;net.trainParam.min_grad=1e-10;[net,tr]=train(net,P,t);

Después de realizar varias pruebas, se decidió utilizar una rata de aprendizaje de0.03, para este valor se obtuvieron los mejores resultados en el entrenamiento dela red, llegando a un valor muy pequeño en el error medio cuadrático a través depocas iteraciones.

Como en el caso anterior de entrenamiento con este algoritmo, no fue necesariofraccionar por submatrices el calculo de la matriz Jacobiana, pues los patrones deentrenamiento y el número de parámetros de la red son estrictamente losnecesarios

La figura 3.5.8 muestra la evolución del error medio cuadrático a través de 362iteraciones hasta alcanzar el error deseado.

Page 185: Antologia de Inteligencia Artificial 1 (2)

Figura 3.5.8 Error medio cuadrático utilizando trainlm

Luego de 362 iteraciones el error medio cuadrático cayo por debajo de 1x10-8,alcanzado el error deseado, los pesos y ganancias de la red entrenada son:

W1f=net.IW{1,1} b1f=net.b{1}

I1 I2 I3 I4

N1 217.3050 1.1784 4.3958 0.7495 N1 -221.8890

N2 86.3682 -28.0087 -14.8760 2.4348 N2 -60.9291

N3 -82.5289 9.5925 36.1293 22.6072 N3 50.6335

N4 -196.4316 15.3102 -1.1168 -1.8863 N4 187.3245

N5 73.2020 -19.7579 -4.5863 -25.2722 N5 -49.0199

N6 144.0374 0.7851 2.9423 0.5168 N6 -145.1983

N7 -66.5832 7.3605 5.8988 24.5765 N7 41.1724

N8 -191.3809 -1.0280 -3.8772 -0.6760 N8 194.3911

N9 -70.7928 -0.3863 -1.4178 -0.2546 N9 72.9238

N10 263.8718 9.4256 8.6166 1.3268 N10 -275.1674

N11 126.0300 11.5735 16.9349 2.5421 N11 -139.0503

N12 246.1641 -2.9151 -7.5082 -1.6426 N12 -244.2148

Page 186: Antologia de Inteligencia Artificial 1 (2)

W2f=net.LW{2,1}

N1 N2 N3 N4 N5 N6

S1 0.0595 -0.0001 0.0001 -0.0001 -0.4521 0.4525

b2f=net.b{2}

N7 N8 N9 N10 N11 N12

S1 0.0003 -0.1357 -1.3382 0.0004 0.0024 0.0023 S1 0.1047

Tabla 3.5.21 Pesos y ganancias RN entrenada con trainlm

Para hallar la respuesta de la red (Q2Rn) ante los patrones de prueba, se simulóla red y para hallar el error en las aproximaciones se comparó con la respuestaproducida por las ecuaciones del flujo de carga (Q2Fc)

1 2 3 4 5 6 7 8

Q2Fc 0.7416 -0.7836 0.3626 1.6821 0.2653 1.0623 0.3359 0.3108

Q2Rn 0.7406 -0.7842 0.3624 1.6512 0.2652 1.0621 0.3357 0.3105

Error 0.0010 0.0007 0.0002 0.0308 0.0001 0.0002 0.0002 0.0004

9 10 11 12 13 14 15 16

Q2Fc 0.6220 0.9743 0.0085 1.0673 -0.2180 -1.2288 1.3298 0.5088

Q2Rn 0.6222 0.9730 0.0089 1.0680 -0.2182 -1.1664 1.3250 0.5089

Error -0.0002 0.0013 -0.0004 -0.0006 0.0002 -0.0624 0.0048 -0.0002

Tabla 3.5.22 Simulación de la RN con los patrones de prueba

De la tabla 3.5.22 se observa que esta red tiene una amplia capacidad degeneralización para interpolar como para extrapolar, los errores más grandes seprodujeron en los patrones de prueba 4 (2), 14 (3) y 15 (3) donde los valores entreparéntesis son el número de datos extrapolados en relación con el set deentrenamiento; este algoritmo produjo resultados tan buenos como los obtenidoscon el algoritmo trainbfg pero en menor número de iteraciones y sin problemas desingularidad de la matriz Jacobiana en el proceso de aprendizaje.

Para entrenar una red neuronal se bebe invertir cierta cantidad de tiempo en laelección del tipo de red, conjunto de patrones de entrenamiento, topología de lared, proceso de entrenamiento; la inversión de esta cantidad de tiempo se verecompensada cuando la red ha sido entrenada, pues la velocidad de la respuestade la red es muy grande y la confiabilidad en las respuestas es muy alta

Los sistemas de potencia poseen diferentes tópicos en los cuales se dificulta lasolución de las complejas ecuaciones que los describen, una red neuronalentrenada correctamente con abundante y representativa información puede

Page 187: Antologia de Inteligencia Artificial 1 (2)

controlar las condiciones de operación de un sistema de potencia, con la precisióny acierto de un operador experto

Utilizando redes neuronales se podrían entrenar dispositivos inteligentes paralograr despacho económico en mercado abierto y obtener flujos óptimos en elsistema de potencia sin necesidad de recurrir a resolver el sistema de ecuacionesno lineales que describen este de difícil solución.

3.6 RECONFIGURACIÓN DE UN ALIMENTADOR PRIMARIO DE CATORCENODOS

3.6.1 Descripción del problema:

En la figura 3.6.1 vemos el sistema de distribución que será analizado en esteejemplo, el sistema cuenta con tres alimentadores, 14 barras, 13 ramas del árbol y3 ramas de enlace.

Figura 3.6.1 Sistema de 14 nodos

Cada uno de los nodos representa la carga concentrada como una inyección depotencia, o la división de diferentes ramas y/o ubicación de un seccionador.

Las ramas o líneas continuas interconectan los nodos, transportando la energíademandada y conformando así el árbol; para completar el sistema las líneaspunteadas representan líneas desenergizadas formando el coárbol.

Cuando una rama del árbol se intercambia con una rama del coárbol, conservandola estructura radial, la topología del sistema cambia, y a esta maniobra se le llamareconfiguración de la red de distribución.

Bajo condiciones de operación normal la reconfiguración es útil para balancearcargas, evitando sobre corrientes en las líneas o sobrecargas en los

Page 188: Antologia de Inteligencia Artificial 1 (2)

transformadores, mejora los niveles de tensión y reduciendo las pérdidas depotencia activa del sistema; ante aumentos de demanda, la reconfiguración es unaherramienta útil en la planeación y diseño de nuevas configuraciones óptimas.

En este ejemplo el objetivo principal es utilizar la reconfiguración como unaherramienta para reducción de pérdidas, para ello es necesario correr un flujo decarga antes y después de la maniobra, lo que nos permitirá conocer los valores delas pérdidas de potencia y comprobar así la eficiencia de la operación.

Las pérdidas de potencia activa totales del sistema pueden calcularse como sigue:

(3.6.1)

Donde:Pa: Pérdidas activas totales del sistemaPi: Flujo de potencia activa por la rama iQi: Flujo de potencia reactiva por la rama iVi: Magnitud del voltaje de recibo por la rama in : Número de ramas del sistema

El objetivo es encontrar una configuración óptima del sistema de distribución, esdecir encontrar todas aquellas posibles configuraciones que con base en la figura3.6.1 minimicen las pérdidas; nuestra función objetivo (F.O) es entonces:

(3.6.2)

La reconfiguración óptima debe cumplir con las siguientes restricciones:

Conservar la topología radial de la red sin que se presenten aislamientosdel sistema

S i-1 = Si + SLi (i=2,3,4...n) (3.6.3)

Donde:

Si-1 : Flujo de potencia que sale del nodo i -1Si : Flujo de potencia que sale del nodo iSLi : Potencia de carga en el nodo i-ésimon : Número de nodos del sistema

Page 189: Antologia de Inteligencia Artificial 1 (2)

No sobrepasar las restricciones de voltaje mínimo en la carga

Vi Vi min (i=1,2,3...,n) (3.6.4)

Donde:

Vi : Voltaje en el nodo iVimin : Voltaje mínimo permitido par el nodo in : Número de nodos del sistema

Cumplir con las especificaciones de carga máxima en los transformadores yde corriente máxima que circule por cada rama

Si Si max (i= 1,2,3,...,m) (3.6.5)

Donde:

Si : Flujo de carga por la rama i, o potencia demandada para el transformador iSimax : Capacidad máxima de la rama i, o capacidad máxima del transformador in : Número de ramas del alimentador o número de transformadores

En el proceso de encontrar la configuración óptima, pueden diferenciarse dostécnicas, aquellas exhaustivas que estudian todas las combinaciones de estadosdel sistema, y otras que proporcionen una ruta heurística que se acerque demanera rápida al estado objetivo.

Una heurística es una técnica que aumenta la eficiencia de un proceso debúsqueda, en ocasiones pueden causar que una ruta sea pasada por alto, pero enpromedio, mejoran la calidad de las rutas que exploran. Al usar buenas heurísticasse esperan soluciones a problemas difíciles, que aunque no siempre son lasóptimas, podría decirse que son subóptimas.

Un gran número de las metodologías que se han utilizado para resolver elproblema de la reconfiguración de alimentadores primarios, se ha basado entécnicas heurísticas; de estos trabajos se destacan: Cinvalar [7], Baran M.E y WuF.F [4], Goswami K.S y Basu S.K [20], Chen C.S y Cho M [6] y Gallego R.[18],metodología que se empleará en esta aplicación.

En la figura 3.6.1, las líneas punteadas representan los enlaces del sistema parala configuración inicial. Los datos de la estructura del sistema pueden verse en latabla 3.6.1, cuyos valores base son: Vb=23Kv y Sb=100MVA,

Page 190: Antologia de Inteligencia Artificial 1 (2)

Nodode

Nodo de Resistencia Reactancia Demanda nodo de recibo

Envío Recibo de rama (pu) De rama(pu) P(MW) Q(MVAR)

14 13 0.0075 0.1 2 1.6

13 12 0.08 0.11 3 1.5

13 11 0.09 0.18 2 0.8

11 10 0.04 0.04 1.5 1.2

14 9 0.11 0.11 4 2.7

9 8 0.08 0.11 5 3

9 7 0.11 0.11 1 0.9

8 6 0.11 0.11 0.6 0.1

8 5 0.08 0.11 4.5 2

14 4 0.11 0.11 1 0.9

4 3 0.09 0.12 1 0.7

4 2 0.08 0.11 1 0.9

2 1 0.04 0.04 2.1 1

12 6 0.04 0.04

7 3 0.04 0.04

10 1 0.09 0.12

Tabla 3.6.1 Estructura del sistema de catorce nodos

Como no existen curvas de carga que simulen el comportamiento de este sistema,se supondrá un agrupamiento según perfiles de demanda de igual tendencia, deacuerdo con el procedimiento empleado por Baran M.E [4]

Grupo Nodos que conforman elgrupo

Grupo #1 6-10-11-13

Grupo #2 4-8-9-12

Grupo #3 1-2-3-5-7

Tabla 3.6.2 Clasificación de las cargas según su tipo

Cada grupo representa un perfil de demanda típico, el grupo #1 Residencial, grupo#2 Comercial y grupo #3 Industrial. Para discretizar las curvas de carga en niveles,aunque estas no se conozcan se pueden utilizar una discretización por nivelesrepresentativos que son un porcentaje de la demanda pico, este criterio esutilizado principalmente por N.I SANTOSO y O.T TAN [39] quienes consideraronque los niveles de carga que deben tenerse en cuenta ocurren para el 50%, 70%,

Page 191: Antologia de Inteligencia Artificial 1 (2)

85% y 100% de la demanda pico. Según lo anterior para el nodo #1, lasvariaciones de la demanda a tenerse en cuenta son:

Valor de la demanda al 100% 2.0MW+j1.6MVAR

Valor de la demanda al 85% 1.7MW+j1.36MVAR

Valor de la demanda al 70% 1.4MW+j1.12MVAR

Valor de la demanda al 50% 1.0MW+j0.8MVAR

Tabla 3.6.3 Niveles representativos de la demanda pico para el nodo #1

Por lo tanto para tres grupos de demanda, cada uno de ellos con cuatro niveles decarga, el número total de combinaciones de carga es 43 = 64, que serán los datoscon los cuales se entrenará la red, este criterio de discretización puede verseampliamente en FLOREZ O. y SALAZAR H [11], de donde se extrajo la siguientetabla que ilustra las 64 combinaciones posibles:

Combinación Nivelgrupo 1

Nivelgrupo 2

Nivelgrupo 3

Combinación Nivelgrupo 1

Nivelgrupo 2

Nivelgrupo 3

1 1,00 1,00 1,00 33 0,70 1,00 1,002 1,00 1,00 0,85 34 0,70 1,00 0,853 1,00 1,00 0,70 35 0,70 1,00 0,704 1,00 1,00 0,50 36 0,70 1,00 0,505 1,00 0,85 1,00 37 0,70 0,85 1,006 1,00 0,85 0,85 38 0,70 0,85 0,857 1,00 0,85 0,70 39 0,70 0,85 0,708 1,00 0,85 0,50 40 0,70 0,85 0,509 1,00 0,70 1,00 41 0,70 0,70 1,0010 1,00 0,70 0,85 42 0,70 0,70 0,8511 1,00 0,70 0,70 43 0,70 0,70 0,7012 1,00 0,70 0,50 44 0,70 0,70 0,5013 1,00 0,50 1,00 45 0,70 0,50 1,0014 1,00 0,50 0,85 46 0,70 0,50 0,8515 1,00 0,50 0,70 47 0,70 0,50 0,7016 1,00 0,50 0,50 48 0,70 0,50 0,5017 0,85 1,00 1,00 49 0,50 1,00 1,0018 0,85 1,00 0,85 50 0,50 1,00 0,8519 0,85 1,00 0,70 51 0,50 1,00 0,7020 0,85 1,00 0,50 52 0,50 1,00 0,5021 0,85 0,85 1,00 53 0,50 0,85 1,0022 0,85 0,85 0,85 54 0,50 0,85 0,8523 0,85 0,85 0,70 55 0,50 0,85 0,7024 0,85 0,85 0,50 56 0,50 0,85 0,50

Page 192: Antologia de Inteligencia Artificial 1 (2)

25 0,85 0,70 1,00 57 0,50 0,70 1,0026 0,85 0,70 0,85 58 0,50 0,70 0,8527 0,85 0,70 0,70 59 0,50 0,70 0,7028 0,85 0,70 0,50 60 0,50 0,70 0,5029 0,85 0,50 1,00 61 0,50 0,50 1,0030 0,85 0,50 0,85 62 0,50 0,50 0,8531 0,85 0,50 0,70 63 0,50 0,50 0,7032 0,85 0,50 0,50 64 0,50 0,50 0,50

Tabla 3.6.4 Número total de combinaciones

El procedimiento para determinar la topología que disminuye las pérdidas para los64 datos de entrada es [11]:

1. Leer los datos del sistema original2. Leer una fila de los niveles de carga, es decir una fila de la tabla 3.6.43. Multiplicar la demanda pico de cada barra, por el nivel correspondiente

leído en el numeral anterior.4. Ejecutar el algoritmo de Gallego R [18], con los valores de carga

establecidos en tres.5. Ejecutar un flujo de carga radia, con la configuración encontrada en cuatro

para determinar la efectividad del reconfigurador.6. Repetir los pasos anteriores para cada una de las 64 combinaciones

Mediante este procedimiento se encontró que las dos topologías que garantizabanuna disminución en las pérdidas de potencia activa son las ilustradas en la tabla3.6.5:

Número de

Configuración

Ramas del Coárbol

1 9 - 7 8 - 6 10 - 1

2 11 - 10 9 - 7 8 – 6

Tabla 3.6.5 Configuraciones óptimas después de evaluar las 64 combinaciones

Para formar el set de entrenamiento los niveles de carga para cada nodo serepresentan por un vector de cuatro elementos el cual tendrá un uno en la posiciónque corresponda al nivel de carga, por consiguiente el set de entrenamiento estaráconformado por una matriz de 54 filas, las 52 primera corresponden los niveles decarga en forma binaria y los dos últimos a la configuración que disminuye laspérdidas; cada columna es un patrón de entrenamiento. De esta forma las

Page 193: Antologia de Inteligencia Artificial 1 (2)

entradas a la red serán siempre 0 o 1, los patrones de entrenamiento de la red sepresentan en la tabla 3.6.6

Tabla 3.6.6 Matriz de entrenamiento

3.6 RECONFIGURACIÓN DE UN ALIMENTADOR PRIMARIO DE CATORCENODOS

3.6.2 Justificación del tipo de red

El objetivo es entrenar una red neuronal competitiva y más explícitamente una redLVQ que para cada una de las 64 combinaciones generadas encuentre la mejorconfiguración, esta configuración consistirá en una de las dos especificadas en latabla 3.6.5.

Page 194: Antologia de Inteligencia Artificial 1 (2)

El entrenamiento de la primera capa de la red LVQ, la cual es una capacompetitiva y por lo tanto de aprendizaje no supervisado, determinará lassubclases dentro de las cuales se ubicará cada una de las combinaciones, estassubclases son cuatro (determinadas arbitrariamente).

El entrenamiento de la segunda capa de la red LVQ, la cual es una capa lineal deaprendizaje supervisado, requiere conocer las clases en las cuales se ubicarácada una de las salidas de la primera capa, estas clases son las dos topologíasencontradas en el set de entrenamiento.

Un esquema general de la red que solucionará la aplicación es:

Figura 3.6.2 Esquema general de la red LVQ para reconfiguración

La función de transferencia compet retorna un vector de salida formado por cerosa excepción de la neurona ganadora, aquella cuyos pesos están más cercanos alvector de entrada y que ocasiona una salida de uno, esto es, las neuronas de estacapa compiten por ser la subclase ganadora. El vector de salida de la segundacapa, el cual depende de la subclase ganadora de la primera capa, determina laconfiguración óptima para cada patrón de entrada, de tal manera que si se obtieneun uno en la primera fila, la configuración óptima será la configuración número unocorrespondiente a las ramas de coárbol 9-7, 8-6, 10 -1 y si el uno es obtenido en lasegunda fila, la configuración óptima corresponde al coárbol 11-10, 9 -7, 8 – 6.

La disposición de las dos capas del algoritmo LVQ en notación compacta es la quese muestra en la figura 3.6.2.

Page 195: Antologia de Inteligencia Artificial 1 (2)

Figura 3.6.3 Red LVQ

La salida de la capa competitiva a1 determina una posible configuración, la que redsospecha que es la configuración indicada a través del aprendizaje nosupervisado, sin embargo la decisión de la mejor configuración es determinada enla capa dos, mediante un aprendizaje supervisado.

De esta forma la red LVQ ofrece una gran ventaja, puesto que en su primera capala red tiene la libertad de determinar la "mejor" configuración, la cual escorroborada por la segunda capa, esto presenta dos mejoras, primero, un menortiempo computacional en su entrenamiento y segundo, ofrece la flexibilidad paraque la red pueda generar sus propias representaciones (configuraciones) en lacapa competitiva, la cual en el mejor de los casos puede ser una configuracióncompletamente desconocida.

3.6 RECONFIGURACIÓN DE UN ALIMENTADOR PRIMARIO DE CATORCENODOS

3.6.3 Entrenamiento de la red

El código del algoritmo para esta aplicación fue desarrollado en Matlab 5.3, pormedio de comandos generales sin utilizar la herramienta de redes neuronales,esto con el fin de utilizar los datos de la tabla 3.6.5 sin transformaciones; esnecesario aclarar que para el entrenamiento de la red se emplearon las funcionesde transferencia adecuadas para una red tipo competitiva.

Page 196: Antologia de Inteligencia Artificial 1 (2)

Como datos de entrenamiento se tomaron 36 columnas de las 64 disponibles en latabla 3.6.5, los valores restantes fueron escogidos como patrones de prueba paracomprobar la capacidad de generalización de la red.

Los datos iniciales de los pesos fueron generados aleatoriamente con valoresentre –1 y 1, por medio de la función rands

W1i=rands(52,36);dim=size(W1);cw=dim(2);

Los valores de W2 (dos últimas filas de la tabla 3.6.5) representan las clases a lasque corresponden los vectores de entrada en el algoritmo LVQ; en este caso, cadauna de ellas muestra la configuración apropiada que debe adoptarse dependiendode las condiciones impuestas por los datos de entrada.

La rata de aprendizaje, se varió hasta encontrar un valor óptimo de 0.45

Alfa=0.45;

Los comandos mediante los cuales se realiza la validación y actualización de lospesos son los siguientes:

for i=1:cwfor j=1:cwn(j,1)=-norm(W1(:,j)-p(:,i));enda1=compet(n);a2=W2*a1;e(:,i)=a2-W2(:,i);if e(:,i)==0W1(:,i)=W1(:,i)+alfa*(p(:,i)-W1(:,i));elsel=find(a1);W1(:,l)=W1(:,l)-alfa*(p(:,i)-W1(:,l));endend

Después de ejecutar este algoritmo para seis iteraciones la red alcanzóconvergencia, obteniendo los siguientes valores para la matriz de pesos de lacapa competitiva:

W1=net.IW{1,1}1 2 3 4 ..... 48 49 50 51 52

N1 1,1229 0,8898 1,1379 1,052 ..... 0,0232 -0,111 0,0271 -0,0448 0,0603

Page 197: Antologia de Inteligencia Artificial 1 (2)

N2 -0,0713 0,0111 -0,353 -0,2442 ..... -0,0773 -0,1375 -0,2203 0,0168 -0,0654

N3 -0,1078 -0,1675 -0,0779 -0,1233 ..... 0,9166 -0,0185 0,0619 0,9126 -0,0326

N4 -0,0037 0,0525 0,1002 0,0298 ..... -0,0532 0,9624 1,0164 -0,0679 0,9667

Tabla 3.6.7 Pesos de la capa competitiva

Los pesos para la segunda capa se visualizan en la tabla 3.6.7, los cuales comose esperaba, corresponden a la salida deseada de la red.

W2=net.LW{2,1}

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18N1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1

N2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0

19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36N1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

N2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Tabla 3.6.8 Pesos de la capa lineal

El algoritmo LVQ no tiene ganancias, aun así la red alcanza un eficientedesempeño clasificando correctamente todos los patrones, es decir encontrando laconfiguración más adecuada para cada una de las condiciones del sistema, estaevaluación del desempeño de la red se hace con base en los flujos de cargaejecutados para las diferentes combinaciones y comparándolo con laconfiguración óptima determinada por la red, ya que al ser éste tipo de red unhíbrido entre aprendizaje supervisado y competitivo no es posible determinar unerror en su entrenamiento, pues el vector de salida para la primera capa no estáespecificado.

Esta red tiene grandes ventajas con respecto a otras que podrían también realizaresta aplicación, una de ellas es el tiempo de computo, el cual es más corto parauna red LVQ, comparado con el tiempo que invierte por ejemplo unaBackpropagation en alcanzar convergencia para el mismo número de patrones deentrenamiento [11].

Otra importante característica es la configuración de la red, pues el número deneuronas de cada una de las dos capas queda determinado por las mismascondiciones del problema. Además su capacidad de generalización no se veafectada por la cantidad de patrones de entrada a la red.

Page 198: Antologia de Inteligencia Artificial 1 (2)

3.7 IDENTIFICACION DE UN SISTEMA NO LINEAL

3.7.1 Descripción del Problema: La identificación de un sistema consiste endeterminar una función que relacione las variables de entrada con las variables desalida, esta identificación tradicionalmente se hace a través de técnicas deregresión y con un conocimiento previo de la naturaleza del sistema.

Clásicamente el comportamiento de un sistema se describe a través de susecuaciones de estado, las cuales son un conjunto de ecuaciones diferenciales nolineales de primer orden, donde el objetivo es encontrar las funciones f y gmostradas en las siguientes ecuaciones:

(3.7.1)

(3.7.2)

En la identificación de un sistema pueden conocerse previamente el orden delsistema y desconocer de forma precisa sus parámetros o desconocer totalmenteel orden del sistema y sus parámetros; la identificación de un sistema medianteredes neuronales no pretende encontrar las funciones f y g, sino un mapa de larelación entrada - salida con base a los patrones con que fue entrenada.

El sistema que se quiere identificar es el péndulo invertido propuesto porKuschewski et al. (1993), mostrado en la figura 3.7.1

Figura 3.7.1 Péndulo Invertido

Page 199: Antologia de Inteligencia Artificial 1 (2)

Las ecuaciones diferenciales no lineales que describen el comportamiento delsistema son:

(3.7.3)

(3.7.4)

(3.7.5)

(3.7.6)

Km: Constante de Torque del motor = 0.1NM/A

Kb: Constante de Fuerza Contra electromotriz = 0.1Vs/rad

Nt: Relación de Transformación entre los piñones = 10

g = 9.8 m/s2 l = 1m m = 1 kg Ra = 1 La = 1 mH

Con estos parámetros, las ecuaciones de estado que representan elcomportamiento del Péndulo Invertido están dadas por:

(3.7.7)

(3.7.8)

Las variables de estado del sistema son:

, , (3.7.9)

3.7 IDENTIFICACION DE UN SISTEMA NO LINEAL

3.7.2 Justificación del tipo de red:

Page 200: Antologia de Inteligencia Artificial 1 (2)

Según lo demostrado en la sección 2.6.1 del capítulo 2, una red neuronal dinámicarecurrente puede identificar el comportamiento de un sistema dinámico descritopor ecuaciones diferenciales no lineales si se tiene abundante y representativainformación de sus datos de entrada y salida.

Según lo demostrado en la sección 2.6.2 un sistema dinámico autónomo (u=0)puede ser identificado una red dinámica multicapa, utilizando en la capa estáticaun algoritmo tipo backpropagation.

3.7.3 Entrenamiento de la red

3.7.3.1 Identificación del Sistema Autónomo (u=0) utilizando una red dinámicamulticapa: Se identificara la dinámica del péndulo invertido autónomoconsiderando nulo el voltaje aplicado.

Figura 3.7.2 Red multicapa

Para encontrar los pesos tij y wij de la red recurrente multicapa, se entrenara lacapa estática con un algoritmo de propagación inversa y luego se implementara lared de la figura 3.7.2 para identificar plenamente la dinámica del sistemaautónomo.

El set de entrenamiento se generó con variaciones en el ángulo, la velocidad, lacorriente y todas sus posibles combinaciones en los siguientes rangos:

Valor Inicial Valor Final Incremento Conversión

Ang -30º 30º 12º pi/180º

Vel -115º 46º 115º pi/180º

u 0 8 1.6 -

Page 201: Antologia de Inteligencia Artificial 1 (2)

Tabla 3.7.1 Rangos del set de entrenamiento

Los patrones de entrenamiento esperados se calculan como el valor actual delpatrón de entrada más el valor de cada una de sus derivadas como se explicó enla sección 2.6.2, el valor de las derivadas de las variables de estado se obtiene alevaluar su valor actual en el conjunto de ecuaciones que describe elcomportamiento de la planta.

P P1 P2 P42 P144 P145 P180 P216

Z1 -0.5236 -0.3142 .... 0.5236 .... 0.5236 -0.5236 .... 0.5236 .... 0.5236

Z2 -2.0071 -2.0071 .... -2.0071 .... 2.0071 -2.0071 .... 2.0071 .... 2.0071

Z3 0.0000 0.0000 .... 1.6000 .... 4.8000 6.4000 .... 6.4000 .... 8.0000

t t1 t2 t42 t144 t145 t180 t216

Z1+dZ1 -2.5307 -2.3213 ... -1.4835 ... 2.5307 -2.5307 ... 2.5307 ... 2.5307

Z2+dZ2 2.8929 1.0212 ... -5.3071 ... 1.9071 9.2929 ... 3.5071 ... 5.1071

Z3+dZ3 20.0713 20.0713 ... 5.6713 ... -63.2713

-37.5287

... -77.6713

... -92.0713

Tabla 3.7.2 Patrones de entrenamiento

Para la capa estática tipo backpropagation los pesos iniciales son:

W1i=net.IW{1,1}

Z1 Z2 Z3

N1 2.4024 -1.0466 -0.0833

N2 -2.3909 0.2432 -0.4966

N3 2.6014 0.2716 -0.4746

N4 2.2506 -0.6173 -0.4285

N5 -2.7268 0.1526 -0.4748

W2i=net.LW{2,1}

N1 N2 N3 N4 N5

Z1 -0.2321 -0.9293 -0.9685 0.1738 0.2629

Z2 0.3662 0.2248 -0.9673 -0.8848 0.4353

Z3 -0.8143 0.2171 -0.6199 -0.2649 0.3853

Tabla 3.7.3 Valores iniciales de los Parámetros de la Capa Estática

El siguiente código crea una red de 3 entradas, 5 neuronas en la capa oculta y 3salidas y la entrena con el algoritmo trainlm (Ver Anexo A):

Page 202: Antologia de Inteligencia Artificial 1 (2)

net=newff(minmax(P),[5 3],{'tansig' 'purelin'},'trainlm');net.trainParam.epochs=1000;net.trainParam.goal=1e-06;net.trainParam.lr=0.03net.trainParam.mem_reduc=1[net,tr]=train(net,P,t);

Luego de 500 iteraciones el error medio cuadrático cae por debajo de 1x10-6, losvalores de los parámetros de la red luego del proceso de entrenamiento semuestran en la tabla 3.7.2

tij=W1f=net.IW{1,1}

Z1 Z2 Z3

N1 0.7305 0.0000 0.0000

N2 0.0002 0.0211 0.0188

N3 -0.0003 -0.0212 -0.0189

N4 -0.0003 -0.0287 -0.0256

N5 -0.0078 -0.0074 0.0004

wij=W2i=net.LW{2,1}

N1 N2 N3 N4 N5

Z1 -0.0004 10.1756 7.9010 -1.1967 -127.9416

Z2 -13.2698 16.1031 -28.6495 -24.1701 15.6964

Z3 0.0000 -217.4789 187.7513 218.6130 -13.3227

Tabla 3.7.4 Valores finales de los Parámetros de la Capa Estática

Según lo demostrado en la sección 2.6.2, el Jacobiano de la red multicapa en elorigen se calcula como:

(3.7.10)

Reemplazando en la ecuación 3.7.10, los valores de la tabla 3.7.4 el Jacobiano dela red multicapa es como se sigue:

JM

0.0002 10.260 0.0231

-9.7995 0.5254 1.4680

-0.0490 -14.7521 -14.2328

Page 203: Antologia de Inteligencia Artificial 1 (2)

Tabla 3.7.5 Jacobiano de la Red Multicapa

Para una identificación exitosa los valores propios del Jacobiano de la redmulticapa mostrado en la tabla 3.7.5 deben ser muy próximos a los valores propiosdel sistema descritos en la ecuación 3.7.10

(3.7.11)

Los valores propios del sistema son calculados del sistema de ecuaciones 3.7.7

(3.7.12)

Como se observa, los valores del Jacobiano de la red multicapa se encuentranpróximos a los del sistema, por lo tanto la red a identificado el sistemacorrectamente, nótese además que todos los valores propios tanto de la red comodel sistema se encuentran en el semiplano complejo izquierdo haciendo que elsistema y la red neuronal sean estables.

Según lo demostrado en la sección 2.6.2, una red dinámica multicapa puede sertransformada en una red dinámica tipo Hopfield por medio de la siguientetransformación:

(3.7.13)

Tomando los valores de los parámetros de la red multicapa y reemplazándolos enla ecuación 3.7.13 se obtiene la matriz de pesos de la red dinámica de Hopfieldequivalente a la red dinámica recurrente, la matriz de pesos de la red de Hopfieldse muestra en la tabla 3.7.6

Matriz de Pesos Red de Hopfield = TW

-0.0003 7.4337 5.7721 -0.8742 -93.4671

-0.2803 -3.7494 2.9285 3.6020 0.0568

0.2810 3.7589 -2.9370 -3.6117 -0.0488

0.3813 5.0998 -3.9839 -4.8997 -0.0721

0.0979 -0.2832 0.2229 0.2730 0.8793

Page 204: Antologia de Inteligencia Artificial 1 (2)

Tabla 3.7.6 Matriz de pesos Red de Hopfield equivalente

El Jacobiano de la red de Hopfield según lo demostrado en la sección 2.6.2 secalculan como:

(3.7.14)

y tiene los siguientes valores propios:

(3.7.15)

Nótese que los tres primeros valores propios de la ecuación 3.7.15 coinciden conlos valores propios de la ecuación 3.7.12, y estos a su vez se encuentran muypróximos a los valores propios del sistema, los valores propios adicionales de laecuación 3.7.15 corresponden a los estados adicionales que se agregaron parauna adecuada identificación del sistema.

Para comprobar la efectividad de la aproximación, en la figura 3.7.3 se muestra lacomparación de la respuesta de las variables de estado del sistema con larespuesta de la red neuronal multicapa; como la identificación que se realizo fuedel sistema autónomo (u=0), para la simulación se requieren condiciones inicialesen las variables de estado del sistema y en las variables de estado estimadas dela res multicapa, los valores iniciales para la simulación fueron: X10=0.2, X20=-0.3,X30=0.

Page 205: Antologia de Inteligencia Artificial 1 (2)

Figura 3.7.3 Respuesta del sistema Vs Red Multicapa

La línea azul representa la respuesta del sistema y la línea roja muestra larespuesta de la red dinámica multicapa, en la gráfica de la izquierda se gráficacada variable de estado en función del tiempo y en la gráfica de la derecha setienen los planos de fase descritos por las tres variables de estado, de la gráfica3.7.3 se observa, que se obtuvo una muy buena aproximación del sistemaautónomo y de la ecuación 3.7.11 se tiene una buena aproximación de los valorespropios del sistema.

3.7.3 Entrenamiento de la red

3.7.3.2 Identificación de la dinámica del Sistema: Se entrenara una red recurrentesegún el procedimiento descrito en el tutorial del Matlab versión 5.3 [34], esta redtiene como entradas el ángulo, la velocidad, la corriente de armadura y el voltajeaplicado, para identificar

Page 206: Antologia de Inteligencia Artificial 1 (2)

Figura 3.7.4 Capa Estática Red Recurrente

De la figura 3.7.4, se puede observar que la red recurrente posee una capabackpropagation, para la cual el set de entrenamiento fue generado convariaciones en el ángulo, la velocidad, la corriente y todas sus posiblescombinaciones

Valor Inicial Valor Final Incremento Conversión

Ang -30º 30º 15º pi/180º

Vel -115º 55º 115º pi/180º

ia 0 8 2 -

u -6 3 6 -

Tabla 3.7.7 Datos de entrenamiento

Adicionalmente se incluyen en el set de entrenamiento datos de posicionesiniciales con velocidad y corriente igual a cero

Valor Inicial Valor Final Incremento Conversión

Ang -30º 30º 6º pi/180º

Vel 0 0 0 -

ia 0 0 0 -

u 0 0 0 -

Tabla 3.7.8 Datos adicionales de entrenamiento

Todos los patrones de entrenamiento se evaluaron en el conjunto de ecuacionesque describen el comportamiento del sistema, las ecuaciones diferenciales no

Page 207: Antologia de Inteligencia Artificial 1 (2)

lineales fueron resueltas en cada caso para un tiempo tstep=0.05s, la salidaesperada para cada patrón de entrada es el vector solución X menos el valor deXo utilizado como condición inicial.

tstep=0.05;t=zeros(3,length(P));for i=1:length(P)[time,X]=ode45('modelo',[0 tstep],P(:,i));t(:,i)=X(length(X),1:3)'-P(1:3,i);end

P P1 P2 P72 P144 P145 P340 P636

X10 -0.5236 -0.2618 .... -0.2618 .... 0.2618 0.5236 .... 0.5236 .... 0.5236

X20 -2.0071 -2.0071 .... 1.8326 .... 0.8727 0.8727 .... -0.0873 .... 0.0000

X30 0.0000 0.0000 .... 4.0000 .... 0.0000 0.0000 .... 6.0000 .... 0.0000

U -6.0000 -6.0000 .... -6.0000 .... -3.0000 -3.0000 .... 0.0000 .... 0.0000

T t1 t2 t72 t144 t145 t340 t636

X1-X10 -0.0946 -0.0975 ... 0.0972 ... 0.0396 0.0367 ... -0.0041 ... -0.0061

X2-X20 0.2217 0.1069 ... 0.1770 ... -0.1772 -0.2935 ... -0.0072 ... -0.2432

X3-X30 -1.6197 -1.5950 ... -4.7026 ... -1.4890 -1.4641 ... -2.3287 ... 0.0520

Tabla 3.7.9 Patrones de entrenamiento P y patrones esperados t

La red fue entrenada con el algoritmo backpropagation trainlm con los siguientespesos iniciales:

W1i=net.IW{1,1} b1i=net.b{1}

I1 I2 I3 I4

N1 4.3432 0.1214 -0.1408 -0.0044 N1 -1.7807

N2 1.8875 0.1985 -0.2226 0.3175 N2 -0.7742

N3 1.7496 0.7324 -0.3268 0.1682 N3 0.3622

N4 3.6430 -0.1749 -0.3306 0.0347 N4 0.9709

N5 2.6789 0.6421 0.0647 0.2351 N5 0.1337

N6 -2.4939 -0.5881 0.3700 0.1018 N6 -2.5404

N7 -1.4134 -0.1684 -0.4461 0.2178 N7 0.0877

N8 -1.7871 0.1220 0.0541 -0.3562 N8 -2.5602

W2i=net.LW{2,1}

N1 N2 N3 N4 N5 N6 N7 N8

Page 208: Antologia de Inteligencia Artificial 1 (2)

S1 -0.5745 -0.8180 -0.1714 0.8758 -0.3649 -0.6993 -0.2245 0.1744

S2 0.4294 -0.4508 -0.9462 -0.5202 0.7740 0.3627 -0.0005 0.6912

S3 -0.7391 -0.9940 0.4196 -0.6382 0.3041 -0.2284 -0.7049 0.1802

b2f=net.b{2}

S1 0.9108

S2 0.1123

S3 -0.7037

Tabla 3.7.10 Pesos iniciales red recurrente

El siguiente código entrena la red backpropagation de 4 entradas, 8 neuronas enla capa oculta y 3 salidas con el algoritmo de entrenamiento trainlm.

net=newff(minmax(P),[8 3],{'tansig' 'purelin'},'trainlm');net.trainParam.epochs=700;net.trainParam.goal=1e-8;net.trainParam.lr=0.03;net.trainParam.mem_reduc=1;net.trainParam.min_grad=1e-10;[net,tr]=train(net,P,t);

Page 209: Antologia de Inteligencia Artificial 1 (2)

Figura 3.7.5 Error medio cuadrático utilizando trainlm

Después de 435 iteraciones de entrenamiento, el error medio cuadrático cayó pordebajo de 1x10-8, los pesos y ganancias de la red entrenada son:

W1f=net.IW{1,1} b1f=net.b{1}

I1 I2 I3 I4

N1 -0.0043 0.0241 0.0298 -0.0246 N1 0.5084

N2 0.7562 0.0193 0.0003 0.0001 N2 0.0001

N3 0.0139 0.0040 -0.0005 -0.0173 N3 -0.0546

N4 5.3898 -0.9620 0.1449 0.0234 N4 2.5040

N5 0.0007 0.0333 -0.0006 -0.0002 N5 0.0052

N6 -0.2605 -0.0725 0.0168 0.2906 N6 -1.8745

N7 -3.5076 -0.4256 -1.7086 0.0763 N7 0.2389

N8 -0.0047 0.0266 0.0329 -0.0272 N8 -0.8470

W2f=net.LW{2,1}

N1 N2 N3 N4 N5 N6 N7 N8

S1 0.0516 -0.0148 -0.1203 0.00001 1.4688 0.0002 0.00000 0.0425

S2 0.9975 -0.5914 -2.3910 0.00000 -0.9662 0.0033 -0.00001 0.8211

Page 210: Antologia de Inteligencia Artificial 1 (2)

S3 -10.8348 0.1225 -3.2830 -0.00005 -1.5610 0.0045 0.00003 -8.8873

b2f=net.b{2}

S1 -0.0089

S2 -0.0235

S3 -1.2166

Tabla 3.7.10 Pesos finales de la red recurrente

Para comprobar si la red neuronal recurrente identifica correctamente la dinámicade la planta, esta fue simulada con los pesos finales anteriormente encontradosutilizando el siguiente algoritmo, con condiciones iniciales mostradas de lasvariables de estado X1 (ángulo) = -8º, X2 (velocidad) = 0 º/s, X3 (corriente dearmadura) = 0 A, y u (voltaje)= 1 V, estos valores están contenidos en Xo

Xo=[-8*pi/180; 0; 0];u=1;tstep=0.05;times=0:tstep:10;estado=Xo;estados=zeros(3,length(times));estados(:,1)=estado;for i=2:length(times)estado=estado+sim(net,[estado;u]);estados(:,i)=estado;end

Para obtener la respuesta de la red en el tiempo deseado, esta debe ser simuladaen intervalos de tiempo iguales al tiempo para el cual fueron resueltas lasecuaciones del set de entrenamiento, en este caso las ecuaciones fueronresueltas para un tiempo tstep=0.05s, por lo tanto para obtener la respuesta de lared en un tiempo total de 10s, debe simularse 201 veces en intervalos de 0.05s.

Page 211: Antologia de Inteligencia Artificial 1 (2)

Figura 3.7.6 Comparación de la respuesta del sistema y la RN

La línea continua azul representa la respuesta del sistema simulado y las crucesrojas representan las simulaciones de la red neuronal entrenada, como se observala red neuronal ha identificado la dinámica de la red perfectamente, en la siguientegráfica puede observarse que los planos de fase descritos por la planta y por lared neuronal coinciden exactamente.

Page 212: Antologia de Inteligencia Artificial 1 (2)

Figura 3.7.7 Comparación de los planos de fase

Como se observa en la figura 3.7.7, cuando la misma red neuronal es simulada enintervalos de tiempo distintos al tiempo para el cual fueron solucionadas lasecuaciones que generaron el set de entrenamiento, la red produce las mismasrespuestas que la planta en estado estacionario, pero en el estado transitorio laforma de la respuesta es similar pero en el caso de un intervalo de simulaciónmenor tstep=0.3 la red neuronal responde mas rápido que la planta y en el casode un intervalo de simulación mayor tstep=0.10 la red neuronal responde maslento que la planta, para una identificación optima de la planta tanto en estadoestacionario como en estado el intervalo de simulación debe ser igual a tiempo desolución de las ecuaciones que generaron los patrones de entrenamiento.

Page 213: Antologia de Inteligencia Artificial 1 (2)

Figura 3.7.8 Red neuronal con diferentes tiempos de simulación

DESCRIPCIÓN DE LAS FUNCIONES UTILIZADAS EN MATLAB

1. Red tipo Perceptrón: Las siguientes son las herramientas de redes neuronalesdel Matlab 5.3: utilizadas en el entrenamiento de las redes neuronalescorrespondientes a las aplicaciones del proceso de detección de obstáculos de unrobot y Control de cambio de giro de un motor trifásico.

newp: Crea una red tipo Perceptrón, que requiere las siguientes entradas:

NET = NEWP(PR,S,TF,LF)PR : Rx2 matriz de valores máximos y mínimos para los R elementos de entrada.S : Número de neuronas.TF : Función de Transferencia, en este caso 'hardlims'.LF : Función de aprendizaje, para este caso 'learnp'.

rands: Función simétrica que inicializa aleatoriamente los valores de pesosy ganancias de una red con valores entre -1 y 1; requiere de la estructura

rands(S,PR), generando una matriz de dimensiones S x PR.

adapt: Permite a una red neuronal adaptarse a los patrones de entrada,esta función tiene la siguiente sintaxis:

Page 214: Antologia de Inteligencia Artificial 1 (2)

[net,Y,E,Pf,Af] = adapt(NET,P,T,Pi,Ai)

net : Red que va a crearseP : Entradas a la red; deben aparecer en forma de un arreglo de matrices.T : Salidas esperadas de la red, si no se especifican son ceros por defecto.Pi : Condiciones de retardo para la entrada inicial, por defecto son ceros.Ai : Condiciones de retardo para la capa inicial, por defecto ceros

net.adaptParam.passes: Número de iteraciones que utiliza el programa.

2. Red tipo Adaline: Las siguientes son las funciones de las herramientas deRedes Neuronales del Matlab utilizadas en el entrenamiento del filtro adaptivodiseñado con base en una red Adaline.

newlin: Función para crea una red tipo Adaline, que requiere las siguientesentradas:

NEWLIN(PR,S,ID,LR)

R: Matriz de Rx2 que contiene los valores máximos y mínimos de cada uno de losR elementos de entrada.S : Número de neuronasID : Arreglo que contiene los valores de los retardos, por defecto todos sus valoresson cero.LR : Rata de aprendizaje, por defecto = 0.01

net.inputWeights{1,1}.delays: Especifica los retardos iniciales

net.adaptParam.passes: Número máximo de iteraciones

[net,y,E,pf,af]=adapt(net,p,T,pi): Comando de entrenamiento de la red;requiere como entradas la red creada anteriormente, los patrones deentrada, las salidas esperadas y los retardos iniciales, retorna el estadofinal de la red, los valores obtenidos para cada patrón de entrada con suscorrespondientes errores así como los valores finales de los retardos.

3. Red tipo Backpropagation: La red neuronal Backpropagation presenta unagran variedad de opciones de configuración, dependiendo de la necesidad deaprendizaje y de la aplicación que se este desarrollando.

newff: Crea una red tipo Backpropagation, requiere que le seanespecificados los siguientes parámetros

newff: (PR,[S1 S2...SNl],{TF1 TF2...TFNl},BTF,BLF,PF)

Page 215: Antologia de Inteligencia Artificial 1 (2)

PR : Rx2 Matriz de valores máximos y mínimos de cada uno de las Rneuronas de entrada.Si : Número de neuronas para cada una de las capas.TFi : Función de transferencia a utilizar en cada una de las capas, pordefecto utiliza tansigBTF : Algoritmo de entrenamiento a utilizar, por defecto utiliza trainlmBLF : Función de actualización de los pesos, por defecto utiliza learngdm.PF : Función para evaluar el desempeño de la red, por defecto utiliza mse.

Los siguientes fueron los algoritmos de entrenamiento que se utilizaron en elejemplo de control de voltaje por inyección de reactivos en una barra remota y enla aplicación de predicción de consumo de carga durante sus respectivos procesosde aprendizaje hasta que se encontró uno que brindara un aprendizaje óptimo,para cada uno de ellos utilizando la red Backpropagation:

3.1 Traingd: Algoritmo de pasos descendientes, que actualiza pesos y gananciasvariándolos en la dirección negativa del gradiente de la función del error. Es unalgoritmo de aprendizaje muy lento, que requiere de la siguiente sintaxis:

net.trainParam.epochs: Máximo número de iteraciones para obtenerconvergencia

net.trainParam.goal: Error máximo permitido net.trainParam.lr: Rata de aprendizaje net.trainParam.max_fail: Máximo número de fallas net.trainParam.min_grad: Mínimo rendimiento del gradiente net.trainParam.show: Intervalo de visualización de los resultados net.trainParam.time: Máximo tiempo de entrenamiento en segundos

Con este algoritmo el aprendizaje de la red se detendrá si el número deiteraciones excede el comando net.trainParam.epochs, si se alcanzó el valor delerror propuesto como meta, si la magnitud del gradiente es menor quenet.trainParam.min_grad, o si el tiempo d entrenamiento supera el valor denet.trainParam.time.

3.2 Traingdm: Equivale al algoritmo tradicional, más un nuevo coeficiente demomentum, que interviene en el proceso de actualización de los pesos. Si el errorde la red en una iteración dada, excede el valor del error en la iteración anterior,en un valor mayor al definido por un radio de cobertura dado el que puededeterminarse por medio de la función max_perf_inc y que está típicamentealrededor de 1.04, los nuevos pesos y ganancias son descartados y el coeficientede momentum mc es fijado en cero.

La sintaxis de este algoritmo es igual a la utilizada para el algoritmo traingd, másun nuevo comando que permite modificar el coeficiente de momentum

net.trainParam.mc: Valor fijado para el coeficiente de momentum

Page 216: Antologia de Inteligencia Artificial 1 (2)

3.2 Traingda: Algoritmo de Gradiente Descendiente, que emplea una rata deaprendizaje adaptiva durante el proceso de entrenamiento. La rata de aprendizajevaría entre 0.01 y 1, una rata de aprendizaje muy pequeña torna lento elaprendizaje, pero si se incrementa demasiado el aprendizaje puede tornarseinestable y crear divergencia, por esto la función traingda varía la rata deaprendizaje tratando de sacar provecho de la inclinación del gradiente en cadamomento; su gran desventaja es que los pesos iniciales varían muy poco así seencuentren distantes de los valores de convergencia. La sintaxis de este elalgoritmo es la siguiente:

net.trainParam.epochs: Máximo número de iteraciones para obtenerconvergencia

net.trainParam.goal: Error máximo permitido net.trainParam.lr: Rata de aprendizaje inicial net.trainParam.lr_inc: Porcentaje que incrementa la rata de aprendizaje

cuando el error disminuye net.trainParam.lr_dec: Porcentaje en que es decrementada la rata de

aprendizaje cuando el error aumenta net.trainParam.max_fail: Máximo número de fallas net.trainParam.max_perf_inc: Máximo incremento del rendimiento net.trainParam.min_grad: Mínimo rendimiento del gradiente net.trainParam.show: Los resultados son visualizados siempre que

transcurre este número de iteraciones. net.trainParam.time: Máximo tiempo de entrenamiento en segundos

3.3 Trainrp: Las redes multicapa, utilizan típicamente una función de transferenciasigmoidal (ver capítulo 1) en las capas ocultas, estas funciones comprimen uninfinito rango de entradas, dentro de un finito rango de salidas, además secaracterizan porque su pendiente tendera cada vez más a cero, mientras másgrande sea la entrada que se le presenta a la red, esto ocasiona problemascuando se usa un algoritmo de entrenamiento de pasos descendientes, porque elgradiente empieza a tomar valores muy pequeños y por lo tanto no habráncambios representativos en los pesos y las ganancias, así se encuentren bastantelejos de sus valores óptimos. El propósito del algoritmo Backpropagation Resileint(RPROP) es eliminar este efecto en la magnitud de las derivadas parciales. Eneste algoritmo solamente el signo de la derivada es utilizado para determinar ladirección de actualización de los parámetros, la magnitud de las derivadas notiene efecto en la actualización. La magnitud en el cambio de cada peso esdeterminada por separado; el valor del incremento de pesos y ganancias esdeterminado por el factor delt_inc, así la derivada parcial del error con respecto alos pesos tenga el mismo signo durante dos iteraciones sucesivas; el valor dedecremento está determinado por el factor delt_dec así la derivada del error conrespecto a los pesos haya cambiado de signo con respecto a la anterior iteración;si la derivada es cero, entonces el valor actualizado se conserva; si los pesoscontinúan cambiando en la misma dirección durante varias iteraciones, lamagnitud de cambios de los pesos se decrementa.

Page 217: Antologia de Inteligencia Artificial 1 (2)

La sintaxis de este algoritmo se resume a continuación:

net.trainParam.epochs: Máximo número de iteraciones del entrenamiento net.trainParam.show: Intervalo de visualización de los resultados net.trainParam.goal: Error deseado net.trainParam.time=inf: Máximo tiempo de entrenamiento en segundos net.trainParam.min_grad: Mínimo rendimiento del gradiente net.trainParam.max_fail: Máximo número de fallas net.trainParam.lr: Rata de aprendizaje net.trainParam.delt_inc: Incremento en la actualización de pesos net.trainParam.delt_dec: Decremento en la actualización de pesos net.trainParam.delta0: Incremento inicial en la actualización de pesos net.trainParam.deltamax: Máximo cambio en los pesos

3.4 Trainbfg: Algoritmo alternativo que emplea la técnica del gradiente conjugado,su expresión matemática se deriva del método de Newton, con la ventaja de queno es necesario computar las segundas derivadas; este algoritmo requiere mascapacidad de almacenamiento que el algoritmo tradional, pero generalmenteconverge en menos iteraciones. Requiere de un cálculo aproximado de la matrizHessiana, la cual es de dimensiones n2 x n2, donde n la cantidad de pesos yganancias de la red; para redes que involucren una gran cantidad de parámetroses preferible emplear el algoritmo trainrp.

net.trainParam.epochs: Máximo número de iteraciones del entrenamiento net.trainParam.show: Número de iteraciones entre las cuales se muestran

resultados net.trainParam.goal: Error deseado net.trainParam.time=inf: Máximo tiempo de entrenamiento en segundos net.trainParam.min_grad: Mínimo rendimiento del gradiente net.trainParam.max_fail=5: Máximo número de fallas net.trainParam.searchFcn 'srchcha' Nombre de la rutina de búsqueda lineal

a utilizar. net.trainParam.scal_tol: Se divide entre el valor de Delta para determinar la

tolerancia para la búsqueda lineal. net.trainParam.alpha: Factor de escala que determina una reducción

suficiente en el desempeño. net.trainParam.beta: Factor de escala que determina un tamaño de paso

suficientemente grande. net.trainParam.delta: Tamaño de paso inicial en el intervalo de localización

de paso. net.trainParam.gama: Parámetro para evitar pequeñas reducciones en el

desempeño. net.trainParam.low_lim: Límite inferior en el cambio del tamaño del paso. net.trainParam.up_lim: Límite superior en el cambio del tamaño del paso. net.trainParam.maxstep: Máximo longitud de paso. net.trainParam.minstep: Mínima longitud de paso; por defecto es 1.0e-6 net.trainParam.bmax: Máximo tamaño de paso.

Page 218: Antologia de Inteligencia Artificial 1 (2)

3.5 Trainlm: Algoritmo que actualiza los pesos y las ganancias de acuerdo a laoptimización de Levenberg-Marquardt. Es el algoritmo más rápido para redesBackpropagation; tiene la desventaja de requerir de un set de entrenamiento lomás estándar posible, pues de otra forma solo aproximará correctamente valoresque se encuentren dentro de los patrones de aprendizaje. Si el set deentrenamiento es muy extenso, se recomienda reducir el Jacobiano.

La sintaxis de este algoritmo es la siguiente:

net.trainParam.epochs: Máximo número de iteraciones del entrenamiento net.trainParam.goal: Error deseado net.trainParam.lr: Rata de aprendizaje net.trainParam.max_fail: Máximo número de veces que falla el valor de Mu net.trainParam.mem_reducFactor de fraccionamiento de Jacobiano para

ahorrar memoria net.trainParam.min_grad: Mínimo rendimiento del gradiente net.trainParam.show:Intervalo de visualización de los resultados. net.trainParam.time: Máximo tiempo de entrenamiento en segundos tr.mu: Valor del Mu adaptivo

Algunos Enlaces Interesantes...

Los siguientes son algunos enlaces interesantes en el contexto del desarrollo delas redes neuronaeles

Tutorial de Redes Neuronales desarrollado en la Universidad Politécnica deMadrid UPM (España), bajo la dirección del Dr. Diego Andina de la FuenteContiene una explicación de los distintos tipos de redes segun su forma deaprendizaje y permite descargar un simulador para entrenar una red tipobackpropagationhttp://www.gc.ssr.upm.es/inves/neural/ann2/anntutor.htm

Applets en Java que permiten de forma interactiva entrenar una RedNeuronal Artificial, una Red tipo Perceptron de una sola y bvarias capas; elcodigo fuente es abierto con fines academicosProyecto de grado de Fred Corbett de la universidad de Manitoba, Canadahttp://home.cc.umanitoba.ca/~umcorbe9/mlp.html

Aplicación en Java de una Red Neuronal para aproximar distintas funcioneshttp://neuron.eng.wayne.edu/bpFunctionApprox/bpFunctionApprox.html

Visión Artificial y Visión Humana, aplicación a la percepción Visual enRoboticaGrupo de investigacion dirigido por el profesor Luis Jañez Esacalada'shttp://sirio.psi.ucm.es/PROYECTOS/VISIONROBOT/vavh.html

Page 219: Antologia de Inteligencia Artificial 1 (2)

Redes Neuronales aplicadas al reconocimiento de voz.Proyecto desarrollado por José María Garcia Jiménez en Madrid, Españahttp://electronica.com.mx/neural/aplicaciones/index.html

Pagina de la Universidad de Chile contiene manual sobre el Snnshttp://cipres.cec.uchile.cl/~em753/

Tutorial con teoria detalladahttp://www.paisvirtual.com/informatica/navegadores/toniomos/rn/temas-rn.htm

Redes de Resonancia Adaptiva (ART), arquitectura, entrenamiento yaplicaciones de esta redProyectos finales curso Redes Neuronales, Universidad del Valle, Colombiahttp://maxwell.univalle.edu.co/proyectos/rna/ART1/http://maxwell.univalle.edu.co/proyectos/rna/ART2/http://maxwell.univalle.edu.co/proyectos/rna/ART4/

Sistemas NeurodifusosProyectos finales curso Redes Neuronales y Logica Difusa, Universidad delValle, Colombiahttp://maxwell.univalle.edu.co/proyectos/rna/neurofuzzy1/http://maxwell.univalle.edu.co/proyectos/rna/neurofuzzy2/

Introducción a las Redes Neuronales Artificiales. Desarrollado por Alfredo Catalina Gallegohttp://www.gui.uva.es/login/13/redesn.html

Control de procesos mediante Redes NeuronalesPresentado por Cristina Garrido de la Universidad de Concepción paraoptar al título de Ingeniero Civil Químicohttp://www.diq.udec.cl/~cgarrido/http://melquiades.diq.udec.cl/~cgarrido/

Tutorial Redes Neuronales contiene Teoria General lhttp://www.gc.ssr.upm.es/inves/neural/ann2/anntutorial.html

Page 220: Antologia de Inteligencia Artificial 1 (2)

BIBLIOGRAFÍA

1. BARAN M.E, WU F.F. "Network reconfiguration in distribution sistems forloss reduction and load balancing". IEEE. Transaction on power delivery,Vol 4, # 2, April 1989.

2. CHAPMAN Stephen J. "Máquinas Eléctricas". McGraw Hill. Santafé deBogotá Colombia. 1997

3. DELGADO Alberto. "Inteligencia Artificial y Minirobots". Bogota D.C.Colombia. Ecoe Ediciones. Julio 1998.

4. DELGADO Alberto. "Propiedades Matemáticas y Aplicaciones de las RedesNeuronales Dinámicas Recurrentes". Santafé de Bogotá Colombia.

5. FISCHBACH Gerald D.. "Mente y cerebro". Investigación y Ciencia # 194,Noviembre de 1992

6. FLOREZ Oscar y SALAZAR Harold. Proyecto de grado "Utilización deRedes Neuronales Artificiales en la Reconfiguración de AlimentadoresPrimarios". Pereira Colombia. Universidad Tecnológica. 1998.

7. FREEMAN James y SKAPURA David. "Redes Neuronales: Algoritmos,aplicaciones y técnicas de programación". Delaware E.U.A. Addison WesleyIberoamericana S.A. 1993

8. GALLEGO Ramón y Ruben. "Flujo de Carga". Pereira Colombia.Universidad Tecnológica de Pereira. 1999

9. GIRALDO Didier, TABARES Ivan. "Programa que entrena neuronas paraimplementar funciones lógicas". Scientia et technica. Año II, #5, Junio de1997.

10.HAGAN Martin, DEMUTH Howard y BEALE Mark. "Neural Network Design".PWS Publishing Company. Boston U.S.A. 1996.

11.HILERA José R., MARTINEZ Víctor J. "Redes Neuronales Artificiales.Fundamentos, modelos y aplicaciones”. Ra-ma Editorial. Madrid. 1995

12.HINTON Geoffrey E. "Redes neuronales que aprenden de la experiencia".Investigación y ciencia. #194, Noviembre de 1992.

13.KANDEL Eric R., ROBERT Hawkins. "Bases biológicas del aprendizaje y dela individualidad". Investigación y ciencia #194, Noviembre de 1992.

14.KOHONEN Tuevo. "Associative memory. A system theoretical approach".Springer-Verlag, 1977

15.KOHONEN Tuevo. "Self-organized formaion of topologically correct featuremaps". Biological Cybernetics #43 , 1982. Reimpreso en el texto"Neurocomputing" (J.Anderson y E. Rosenfeld ed.), MIT press,1988.

16.KOHONEN Tuevo. "Learning Vector Quantization". Abstracts of the firstannual INNS Meeting, #308, 1988.

17.KONONEN Tuevo. "Self-organization and associative memory (3ª ed.)".Springer-Verlag, 1989.

18.KOSKO. "Bidirectional Associative Memories". IEEE Transactions onsystem, Man & Cybernetics, #18, pags 42-60,1988

19.LATHI B.P. "Introducción a la teoría y sistemas de comunicación". Limusaeditores. Méjico. 1995

20.M. Minsky y S. Papert. "Perceptrons". ED. MIT Press,1969