Sei sulla pagina 1di 220

TECNOLGICO DE ESTUDIOS SUPERIORES DE CHALCO

Carrera: Ing. Sistemas Computacionales


Profesor: Ing. Marco Antonio Acosta Mendizbal
Antologa De Inteligencia Artificial (Redes neuronales)
Crdito Adicional
Alumno:
Zamudio Ibarra Anali
Orozco Salomn Oscar
Lpez Zamora Jovanny
Martnez Galicia Cesar
Vazquez Lorenzo Anselmo
Bautista Bautista Pedro Joan
Semestre: Sptimo
Grupo: 4701
INDICE
Captulo 1
1.1introduccin a las redes neuronales
1.2funcionamiento de una red neuronal
1.3caractersticas una red neuronal
1.3.1 notacin
1.3.2 funciones de transferencia
1.3.2.1 funcin de transferencia limitador fuerte (hardlim)
1.3.2.2 funcin de transferencia lineal (purelin)
1.3.2.3 funcin de transferencia sigmoidal (logsig)
1.3.3 topologa de una red
Capitulo 2
2.1 PERCEPTRON
2.1.1 Antecedentes
2.1.2 Estructura de la Red
2.1.3 Regla de Aprendizaje
2.1.4 Limitacion del Perceptron
2.1.5 Perceptron Multicapa
2.2 ADALINE
2.1.1 Antecedentes
2.1.2 Estructura de la Red
2.1.3 Regla de Aprendizaje
2.3 BACKPROPAGATION
2.3.1 Antecedentes
2.3.2 Estructura de la Red
2.3.3 Regla de Aprendizaje
2.3.3.1 Red Backpropagation con momentum
2.3.3.2 Red Backpropagation con rata de aprendizaje variable
2.3.3.3 Mtodo del Gradiente Conjugado
2.3.3.4 Algoritmo de Levenberg - Marquardt
2.4 APRENDIZAJE ASOCIATIVO
2.4.1 Antecedentes
2.4.2 Estructura de la Red
2.4.3 Regla de Hebb
2.4.4 Red Instar
2.4.5 Red Oustar
2.5 REDES COMPETITIVAS
2.5.1 Antecedentes
2.5.2 Red de Kohonen
2.5.3 Red de Hamming
2.5.4 Estructura de la Red
2.5.5 Regla de Aprendizaje
2.5.6 Problemas con las Redes Competitivas
2.5.7 Mapas de Auto Organizacin (SOM)
2.5.8 Learning Vector Quantization (LVQ)
3.1 deteccin de obstculos por medio de un robot
3.2 control de giro de un motor de induccin jaula de ardilla
3.3 filtro adaptivo
3.4 prediccin de consumo de carga
3.5 control de voltaje por inyeccin de reactivos en una barra remota
3.6 reconfiguracin de un alimentador primario de catorce nodos
3.7 identificacin de un sistema no lineal
2.6 REDES RECURRENTES
2.6.1 Red de hopfield
2.6.1.1 Antecedentes
2.6.1.2 Estructura de la Red
2.6.1.3 Regla de Aprendizaje
2.6.1.4 Indentificacion de Sistemas Dinamicos No Lineales
2.6.2 Redes Multicapa
2.6.2.1 Estructura de la Red
2.6.2.2 Regla de aprendizaje
2.6.3 Red de Elman
2.6.3.1 Estructura de la Red
2.6.3.2 Entrenamiento de la Red
CAPITULO 1
CARACTERSTICAS PRINCIPALES DE LAS REDES NEURONALES
1. CARACTERSTICAS PRINCIPALES DE LAS REDES NEURONALES
1.1 INTRODUCCIN A LAS REDES NEURONALES
Resulta irnico pensar que mquinas de cmputo capaces de realizar 100
millones de operaciones en coma flotante por segundo, no sean capaces de
entender el significado de las formas visuales o de distinguir entre distintas clases
de objetos. Los sistemas de computacin secuencial, son exitosos en la resolucin
de problemas matemticos o cientficos, en la creacin, manipulacin y
mantenimiento de bases de datos, en comunicaciones electrnicas, en el
procesamiento de textos, grficos y auto edicin, incluso en funciones de control
de electrodomsticos, hacindolos ms eficientes y fciles de usar, pero
definitivamente tienen una gran incapacidad para interpretar el mundo.
Esta dificultad de los sistemas de cmputo que trabajan bajo la filosofa de los
sistemas secuenciales, desarrollados por Von Neumann, ha hecho que un gran
nmero de investigadores centre su atencin en el desarrollo de nuevos sistemas
de tratamiento de la informacin, que permitan solucionar problemas cotidianos,
tal como lo hace el cerebro humano; este rgano biolgico cuenta con varias
caractersticas deseables para cualquier sistema de procesamiento digital, tales
como:
1. Es robusto y tolerante a fallas, diariamente mueren neuronas sin afectar su
desempeo.
2. Es flexible, se ajusta a nuevos ambientes por aprendizaje, no hay que
programarlo.
3. Puede manejar informacin difusa, con ruido o inconsistente.
4. Es altamente paralelo
5. Es pequeo, compacto y consume poca energa.
El cerebro humano constituye una computadora muy notable, es capaz de
interpretar informacin imprecisa suministrada por los sentidos a un ritmo
increblemente veloz. Logra discernir un susurro en una sala ruidosa, un rostro en
un callejn mal iluminado y leer entre lneas un discurso; lo ms impresionante de
todo, es que el cerebro aprende sin instrucciones explcitas de ninguna clase, a
crear las representaciones internas que hacen posibles estas habilidades.
Basados en la eficiencia de los procesos llevados a cabo por el cerebro, e
inspirados en su funcionamiento, varios investigadores han desarrollado desde
hace ms de 30 aos la teora de las Redes Neuronales Artificiales (RNA), las
cuales emulan las redes neuronales biolgicas, y que se han utilizado para
aprender estrategias de solucin basadas en ejemplos de comportamiento tpico
de patrones; estos sistemas no requieren que la tarea a ejecutar se programe,
ellos generalizan y aprenden de la experiencia.
La teora de las RNA ha brindado una alternativa a la computacin clsica, para
aquellos problemas, en los cuales los mtodos tradicionales no han entregado
resultados muy convincentes, o poco convenientes. Las aplicaciones ms exitosas
de las RNA son:
1. Procesamiento de imgenes y de voz
2. Reconocimiento de patrones
3. Planeamiento
4. Interfaces adaptivas para sistemas Hombre/mquina
5. Prediccin
6. Control y optimizacin
7. Filtrado de seales
Los sistemas de cmputo tradicional procesan la informacin en forma secuencial;
un computador serial consiste por lo general de un solo procesador que puede
manipular 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 es
secuencial, todo sucede en una sola secuencia determinstica de operaciones. Las
RNA no ejecutan instrucciones, responden en paralelo a las entradas que se les
presenta. El resultado no se almacena en una posicin de memoria, este es el
estado de la red para el cual se logra equilibrio. El conocimiento de una red
neuronal no se almacena en instrucciones, el poder de la red est en su topologa
y en los valores de las conexiones (pesos) entre neuronas.
Las RNA son una teora que an est en proceso de desarrollo, su verdadera
potencialidad no se ha alcanzado todava; aunque los investigadores han
desarrollado potentes algoritmos de aprendizaje de gran valor prctico, las
representaciones y procedimientos de que se sirve el cerebro, son an
desconocidas. Tarde o temprano los estudios computacionales del aprendizaje
con RNA acabarn por converger a los mtodos descubiertos por evolucin,
cuando eso suceda, muchos datos empricos concernientes al cerebro
comenzarn sbitamente a adquirir sentido y se tornarn factibles muchas
aplicaciones desconocidas de las redes neuronales.
1. CARACTERSTICAS PRINCIPALES DE LAS REDES NEURONALES
1.2 FUNCIONAMIENTO DE UNA NEURONA BIOLGICA
El cerebro consta de un gran nmero (aproximadamente 10
11
) de elementos
altamente interconectados (aproximadamente 10
4
conexiones por elemento),
llamados neuronas. Estas neuronas tienen tres componentes principales, las
dendritas, el cuerpo de la clula o soma, y el axn. Las dendritas, son el rbol
receptor de la red, son como fibras nerviosas que cargan de seales elctricas el
cuerpo de la clula. El cuerpo de la clula, realiza la suma de esas seales de
entrada. El axn es una fibra larga que lleva la seal desde el cuerpo de la clula
hacia otras neuronas. El punto de contacto entre un axn de una clula y una
dendrita de otra clula es llamado sinapsis, la longitud de la sinapsis es
determinada por la complejidad del proceso qumico que estabiliza la funcin de la
red neuronal. Un esquema simplificado de la interconexin de dos neuronas
biolgicas se observa en la figura 1.2.1
Figura 1.2.1 Neuronas Biolgicas
Algunas de las estructuras neuronales son determinadas en el nacimiento, otra
parte es desarrollada a travs del aprendizaje, proceso en que nuevas conexiones
neuronales son realizadas y otras se pierden por completo. El desarrollo
neurolgico se hace crtico durante los primeros aos de vida, por ejemplo est
demostrado que si a un cachorro de gato, se le impide usar uno de sus ojos
durante un periodo corto de tiempo, el nunca desarrollara una visin normal en
ese ojo.
Las estructuras neuronales continan cambiando durante toda la vida, estos
cambios consisten en el refuerzo o debilitamiento de las uniones sinpticas; por
ejemplo se cree que nuevas memorias son formadas por la modificacin de esta
intensidad 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 sistemas
mnmicos (relacionados con la memoria), se crea que el almacenamiento de la
memoria asociativa, tanto implcita como explcita, requeran de un circuito
neuronal muy complejo. Entre quienes comenzaron a oponerse a este enfoque se
hallaba Donald O. Hebb, profesor de la universidad de Milner; Hebb sugiri que el
aprendizaje asociativo podra ser producido por un mecanismo celular sencillo y
propuso que las asociaciones podran formarse por una actividad neuronal
coincidente: "Cuando un axn de la clula A excita la clula B y participa en su
activacin, se produce algn proceso de desarrollo o cambio metablico en una o
en ambas clulas, de suerte que la eficacia de A, como clula excitadora de B, se
intensifica". Segn la regla Hebbiana de aprendizaje, el que coincida la actividad
de las neuronas presinpticas (suministran el impulso de entrada) con la de las
postsinpticas (reciben el impulso) es muy importante para que se refuerce la
conexin entre ellas, este mecanismo es llamado pre-postasociativo, del cual
puede observarse un ejemplo en la figura 1.2.2
Figura 1.2.2 Cambios asociativos de las fuerzas sinpticas durante el aprendizaje
Todas las neuronas conducen la informacin de forma similar, esta viaja a lo largo
de axones en breves impulsos elctricos, denominados potenciales de accin; los
potenciales de accin que alcanzan una amplitud mxima de unos 100 mV y duran
1 ms, son resultado del desplazamiento a travs de la membrana celular de iones
de sodio dotados de carga positiva, que pasan desde el fluido extracelular hasta el
citoplasma intracelular; la concentracin extracelular de sodio supera
enormemente la concentracin intracelular.
La membrana en reposo mantiene un gradiente de potencial elctrico de -70mv, el
signo negativo se debe a que el citoplasma intracelular est cargado
negativamente con respecto al exterior; los iones de sodio no atraviesan con
facilidad la membrana en reposo, los estmulos fsicos o qumicos que reducen el
gradiente de potencial, o que despolaricen la membrana, aumentan su
permeabilidad al sodio y el flujo de este ion hacia el exterior acenta la
despolarizacin de la membrana, con lo que la permeabilidad al sodio se
incrementa ms an.
Alcanzado un potencial crtico denominado "umbral", la realimentacin positiva
produce un efecto regenerativo que obliga al potencial de membrana a cambiar de
signo. Es decir, el interior de la clula se torna positivo con respecto al exterior, al
cabo de 1 ms, la permeabilidad del sodio decae y el potencial de membrana
retorna a -70mv, su valor de reposo. Tras cada explosin de actividad inica, el
mecanismo de permeabilidad del sodio se mantiene refractario durante algunos
milisegundos; la tasa de generacin de potenciales de accin queda as limitada a
unos 200 impulsos por segundo, o menos.
Aunque los axones puedan parecer hilos conductores aislados, no conducen los
impulsos elctricos de igual forma, como hilos elctricos no seran muy valiosos,
pues su resistencia a lo largo del eje es demasiado grande y a resistencia de la
membrana demasiado baja; la carga positiva inyectada en el axn durante el
potencial de accin queda disipada uno o dos milmetros ms adelante, para que
la seal recorra varios centmetros es preciso regenerar frecuentemente el
potencial de accin a lo largo del camino la necesidad de reforzar repetidamente
esta corriente elctrica limita a unos 100 metros por segundo la velocidad mxima
de viaje de los impulsos, tal velocidad es inferior a la millonsima de la velocidad
de una seal elctrica por un hilo de cobre.
Los potenciales de accin, son seales de baja frecuencia conducidas en forma
muy lenta, estos no pueden saltar de una clula a otra, la comunicacin entre
neuronas viene siempre mediada por transmisores qumicos que son liberados en
las sinapsis. Un ejemplo de comunicacin entre neuronas y del proceso qumico
de la liberacin de neurotransmisores se ilustra en la figura 1.2.3.
Figura 1.2.3 Comunicacin entre neuronas
Cuando un potencial de accin llega al terminal de un axn son liberados
transmisores alojados en diminutas vesculas, que despus son vertidos en una
hendidura de unos 20 nanmetros de anchura que separa la membrana
presinptica de la postsinptica; durante el apogeo del potencial de accin,
penetran iones de calcio en el terminal nervioso, su movimiento constituye la seal
determinante de la exocitosis sincronizada, esto es la liberacin coordinada de
molculas neurotransmisoras. En cuanto son liberados, los neurotransmisores se
enlazan con receptores postsinpticos, instando el cambio de la permeabilidad de
la membrana.
Cuando el desplazamiento de carga hace que la membrana se aproxime al umbral
de generacin de potenciales de accin, se produce un efecto excitador y cuando
la membrana resulta estabilizada en la vecindad el valor de reposo se produce un
efecto inhibidor. Cada sinapsis produce slo un pequeo efecto, para determinar
la intensidad (frecuencia de los potenciales de accin) de la respuesta cada
neurona ha de integrar continuamente hasta unas 1000 seales sinpticas, que se
suman en el soma o cuerpo de la clula.
En algunas neuronas los impulsos se inician en la unin entre el axn y el soma, y
luego se transmiten a lo largo del axn a otras clulas nerviosas. Cuando el axn
est cerca de sus clulas destino, se divide en muchas ramificaciones que forman
sinapsis con el soma o axones de otras clulas. Las sinapsis pueden ser
excitatorias o inhibitorias segn el neurotransmisor que se libere, cada neurona
recibe de 10.000 a 100.000 sinapsis y su axn realiza una cantidad similar de
sinapsis.
Las sinapsis se clasifican segn su posicin en la superficie de la neurona
receptora en tres tipos: axo-somtica, axo-dendrtica, axo-axnica. Los fenmenos
que ocurren en la sinapsis son de naturaleza qumica, pero tienen efectos
elctricos laterales que se pueden medir.
En la figura 1.2.4 se visualiza el proceso qumico de una sinapsis y los diferentes
elementos que hacen parte del proceso tanto en la neurona presinptica, como en
la postsinptica.
Figura 1.2.4 Proceso qumico de una sinapsis
Las RNA no alcanzan la complejidad del cerebro, sin embargo hay dos aspectos
similares entre redes biolgicas y artificiales, primero los bloques de construccin
de ambas redes son sencillos elementos computacionales (aunque las RNA son
mucho ms simples que las biolgicas) altamente interconectados; segundo, las
conexiones entre neuronas determinan la funcin de la red.
1. CARACTERSTICAS PRINCIPALES DE LAS REDES NEURONALES
1.3 CARACTERISTICAS DE UNA RED NEURONAL ARTIFICIAL
El modelo de una neurona artificial es una imitacin del proceso de una neurona
biolgica, puede tambin asemejarse a un sumador hecho con un amplificador
operacional 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 se
observa un PE en forma general y su similitud con una neurona biolgica
Figura 1.3.2 De la neurona biolgica a la neurona artificial
De la observacin detallada del proceso biolgico se han hallado los siguientes
anlogos con el sistema artificial:
Las entradas Xi representan las seales que provienen de otras neuronas y
que 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 funcin umbral que la neurona debe sobrepasar para activarse; este
proceso ocurre biolgicamente en el cuerpo de la clula.
Las seales de entrada a una neurona artificial X1, X2,.., Xn son variables
continuas en lugar de pulsos discretos, como se presentan en una neurona
biolgica. Cada seal de entrada pasa a travs de una ganancia o peso, llamado
peso sinptico o fortaleza de la conexin cuya funcin es anloga a la de la
funcin sinptica de la neurona biolgica. Los pesos pueden ser positivos
(excitatorios), o negativos (inhibitorios), el nodo sumatorio acumula todas las
seales de entradas multiplicadas por los pesos o ponderadas y las pasa a la
salida a travs de una funcin umbral o funcin de transferencia. La entrada neta a
cada 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 puede
observarse el recorrido de un conjunto de seales que entran a la red.
Figura 1.3.3 Proceso de una red neuronal
Una vez que se ha calculado la activacin del nodo, el valor de salida equivale a
(1.3.2)
Donde representa la funcin de activacin para esa unidad, que corresponde a
la funcin escogida para transformar la entrada netai en el valor de salida y que
depende de las caractersticas especficas de cada red.
1.3 CARACTERISTICAS DE UNA RED NEURONAL ARTIFICIAL
1.3.1 Notacin: Una notacin matemtica estndar no ha sido an establecida
para las redes neuronales, ya que sus aplicaciones son tiles en muchos campos,
Ingeniera, Fsica, Sicologa y Matemticas. En este trabajo se adopt la siguiente
convencin para identificar las variables, de manera que fuera compatibles con las
diferentes reas, siendo lo ms sencilla posible:
Valores escalares: se representarn por medio de letra minscula itlica
Vectores: se representarn con letra itlica minscula en negrilla.
Matrices: se representarn con letra mayscula itlica en negrilla.
Para redes multicapa, los parmetros adoptaran la siguiente forma:
Donde c, es el nmero de la capa a la que corresponde dicho peso, y s representa
las neuronas que participan en proceso.
As representa el peso de la segunda capa que comunica la primera neurona
de dicha capa con la primera neurona de la primera capa. De igual manera el peso
que representa la conexin desde la ltima neurona de la capa dos a la ltima
neurona de la capa uno estar representado por:
Esta convencin es adoptada para todos los parmetros de la red.
1.3 CARACTERISTICAS DE UNA RED NEURONAL ARTIFICIAL
1.3.2 Funciones de Transferencia: Un modelo ms acadmico que facilita el
estudio de una neurona, puede visualizarse en la figura 1.3.4
Figura 1.3.4 Neurona de una sola entrada
Las entradas a la red sern ahora presentadas en el vector p, que para el caso de
una sola neurona contiene solo un elemento, w sigue representando los pesos y la
nueva entrada b es una ganancia que refuerza la salida del sumador n, la cual es
la salida neta de la red; la salida total est determinada por la funcin de
transferencia , la cual puede ser una funcin lineal o no lineal de n, y que es
escogida dependiendo de las especificaciones del problema que la neurona tenga
que resolver; aunque las RNA se inspiren en modelos biolgicos no existe ninguna
limitacin para realizar modificaciones en las funciones de salida, as que se
encontrarn modelos artificiales que nada tienen que ver con las caractersticas
del sistema biolgico.
1.3.2.1 Limitador fuerte (Hardlim): La figura 1.3.5, muestra como esta funcin de
transferencia acerca la salida de la red a cero, si el argumento de la funcin es
menor que cero y la lleva a uno si este argumento es mayor que uno. Esta funcin
crea neuronas que clasifican las entradas en dos categoras diferentes,
caracterstica que le permite ser empleada en la red tipo Perceptrn
(1.3.3)
Figura 1.3.5 Funcin de transferencia Hardlim
El icono para la funcin Hardlim reemplazara a la letra f en la expresin general,
cuando se utilice la funcin Hardlim.
Una modificacin de esta funcin puede verse en la figura 1.3.6, la que representa
la funcin de transferencia Hardlims que restringe el espacio de salida a valores
entre 1 y 1.
(1.3.4)
Figura 1.3.6 Funcin de transferencia Hardlims
1.3.2.2 Funcin de transferencia lineal (purelin): La salida de una funcin de
transferencia lineal es igual a su entrada,
(1.3.5)
Figura 1.3.7 Funcin de transferencia lineal
En la grfica del lado derecho de la figura 1.3.6, puede verse la caracterstica de la
salida a de la red, comparada con la entrada p, ms un valor de ganancia b,
neuronas que emplean esta funcin de transferencia son utilizadas en la red tipo
Adaline.
1.3.2.3 Funcin de transferencia sigmoidal (logsig): Esta funcin toma los valores
de entrada, los cuales pueden oscilar entre ms y menos infinito, y restringe la
salida a valores entre cero y uno, de acuerdo a la expresin
(1.3.6)
Esta funcin es comnmente usada en redes multicapa, como la Backpropagation,
en parte porque la funcin logsig es diferenciable.
Figura 1.3.8 Funcin de transferencia sigmoidal
La tabla 1.3.1 hace una relacin de las principales funciones de transferencia
empleadas en el entrenamiento de redes neuronales.
Nombre
Relacin
Entrada /Salida
Icono Funcin
Limitador Fuerte hardlim
Limitador Fuerte
Simtrico
hardlims
Lineal Positiva poslin
Lineal purelin
Lineal Saturado satlin
Lineal Saturado
Simtrico
satlins
Sigmoidal Logartmico logsig
Tangente Sigmoidal
Hiperblica
tansig
Competitiva compet
Tabla 1.3.1 Funciones de Transferencia
1.3 CARACTERISTICAS DE UNA RED NEURONAL ARTIFICIAL
1.3.3 Topologa de una Red: Tpicamente una neurona tiene ms de una
entrada; en la figura 1.3.9 se observa una neurona con R entradas; las entradas
individuales 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 mltiples entradas
La neurona tiene una ganancia b, la cual llega al mismo sumador al que llegan las
entradas multiplicadas por los pesos, para formar la salida n,
(1.3.7)
Esta expresin puede ser escrita en forma matricial
(1.3.8)
Los subndices de la matriz de pesos representan los trminos involucrados en la
conexin, el primer subndice representa la neurona destino y el segundo,
representa la fuente de la seal que alimenta a la neurona. Por ejemplo, los
ndices de w1,2 indican que este peso es la conexin desde la segunda entrada a
la primera neurona. Esta convencin se hace ms til cuando hay ms de una
neurona, o cuando se tiene una neurona con demasiados parmetros; en este
caso la notacin de la figura 1.3.9, puede resultar inapropiada y se prefiere
emplear la notacin abreviada representada en la figura 1.3.10
Figura 1.3.10 Neurona con mltiples entradas, notacin abreviada
El vector de entrada p es representado por la barra slida 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 entradas
van a la matriz de pesos W, la cual tiene R columnas y solo una fila para el caso
de una sola neurona. Una constante 1 entra a la neurona multiplicada por la
ganancia escalar b. La salida de la red a, es en este caso un escalar, si la red
tuviera ms de una neurona a sera un vector.
Dentro de una red neuronal, los elementos de procesamiento se encuentran
agrupados por capas, una capa es una coleccin de neuronas; de acuerdo a la
ubicacin de la capa en la RNA, esta recibe diferentes nombres
Capa de entrada: Recibe las seales de la entrada de la red, algunos autores no
consideran el vector de entrada como una capa pues all no se lleva a cabo ningn
proceso.
Capas ocultas: Estas capas son aquellas que no tienen contacto con el medio
exterior, sus elementos pueden tener diferentes conexiones y son estas las que
determinan las diferentes topologas de la red
Capa de salida: Recibe la informacin de la capa oculta y transmite la respuesta al
medio externo.
Una red de una sola capa con un nmero S de neuronas, se observa en la figura
1.3.11 en la cual, cada una de las R entradas es conectada a cada una de las
neuronas, 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, la
funcin de transferencia y el vector de salida. Esta misma capa se observa en
notacin abreviada en la figura 1.3.12
Figura 1.3.12 Capa de S neuronas con notacin abreviada
En la figura 1.3.12 se han dispuesto los smbolos de las variables de tal manera
que describan las caractersticas de cada una de ellas, por ejemplo la entrada a la
red es el vector p cuya longitud R aparece en su parte inferior, W es la matriz de
pesos con dimensiones SxR expresadas debajo del smbolo que la representa
dentro de la red, a y b son vectores de longitud S el cual, como se ha dicho
anteriormente representa el nmero de neuronas de la red.
Ahora, si se considera una red con varias capas, o red multicapa, cada capa
tendr su propia matriz de peso W, su propio vector de ganancias b, un vector de
entradas netas n, y un vector de salida a. La versin completa y la versin en
notacin abreviada de una red de tres capas, pueden ser visualizadas en las
figuras 1.3.13 y 1.3.14, respectivamente.
Figura 1.3.13 Red de tres capas
Para esta red se tienen R entradas, S
1
neuronas en la primera capa, S
2
neuronas
en la segunda capa, las cuales pueden ser diferentes; las salidas de las capas 1 y
2 son las entradas a las capas 2 y 3 respectivamente, as la capa 2 puede ser
vista como una red de una capa con R=S
1
entradas, S
1
=S
2
neuronas y una matriz
de pesos W
2
de dimensiones S
1
xS
2
Figura 1.3.14 Red de tres capas con notacin abreviada
Las redes multicapa son ms poderosas que las redes de una sola capa, por
ejemplo, una red de dos capas que tenga una funcin sigmoidal en la primera
capa y una funcin lineal en la segunda, puede ser entrenada para aproximar
muchas funciones de forma aceptable, una red de una sola capa no podra hacer
esto como se ver en captulos posteriores.
Un tipo de redes, un poco diferente a las que se han estudiado hasta el momento,
son las redes recurrentes, estas contienen una realimentacin hacia atrs o
retroalimentacin, 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
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 segundo
intervalo de tiempo, respectivamente. La red alcanzar su estado estable cuando
la salida para un instante de tiempo sea la misma salida del instante de tiempo
anterior.
Las redes recurrentes son potencialmente ms poderosas que las redes con
realimentacin hacia delante. En este tipo de redes se introducen tambin dos
nuevos conceptos, el bloque de retardo de la figura 1.3.16 y el bloque integrador
de 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 de
tiempo, este bloque requiere que la salida sea inicializada con el valor a(0) para el
tiempo t=0; a(0) se convierte en la salida de la red para el instante de tiempo
inicial.
Integrador
Figura 1.3.17 Bloque integrador
La salida del integrador es calculada de acuerdo a la expresin
(1.3.11)
Una red recurrente cuya implementacin necesita un bloque integrador se ilustra
en la figura 2.6.4.
En general las redes neuronales se pueden clasificar de diversas maneras, segn
su topologa, forma de aprendizaje (supervisado o no supervisado), tipos de
funciones de activacin, valores de entrada (binarios o continuos); un resumen de
esta clasificacin se observa en la figura 1.3.18
Figura 1.3.18 Clasificacin de las Redes Neuronales
CAPITULO 2
PRINCIPALES TIPOS DE REDES NEURONALES
2.1 PERCEPTRN
2.1.1 Antecedentes: La primera red neuronal conocida, fue desarrollada en 1943
por Warren McCulloch y Walter Pitts; esta consista en una suma de las seales
de entrada, multiplicadas por unos valores de pesos escogidos aleatoriamente. La
entrada es comparada con un patrn preestablecido para determinar la salida de
la red. Si en la comparacin, la suma de las entradas multiplicadas por los pesos
es mayor o igual que el patrn preestablecido la salida de la red es uno (1), en
caso contrario la salida es cero (0). Al inicio del desarrollo de los sistemas de
inteligencia artificial, se encontr gran similitud entre su comportamiento y el de los
sistemas biolgicos y en principio se crey que este modelo poda computar
cualquier funcin aritmtica o lgica.
La red tipo Perceptrn fue inventada por el siclogo Frank Rosenblatt en el ao
1957. Su intencin era ilustrar algunas propiedades fundamentales de los
sistemas inteligentes en general, sin entrar en mayores detalles con respecto a
condiciones especficas y desconocidas para organismos biolgicos concretos.
Rosenblatt crea que la conectividad existente en las redes biolgicas tiene un
elevado porcentaje de aleatoriedad, por lo que se opona al anlisis de McCulloch
Pitts en el cual se empleaba lgica simblica para analizar estructuras bastante
idealizadas. Rosenblatt opinaba que la herramienta de anlisis ms apropiada era
la teora de probabilidades, y esto lo llev a una teora de separabilidad estadstica
que utilizaba para caracterizar las propiedades ms visibles de estas redes de
interconexin ligeramente aleatorias.
El primer modelo de Perceptrn fue desarrollado en un ambiente biolgico
imitando el funcionamiento del ojo humano, el fotoperceptrn como se le llamo era
un dispositivo que responda a seales pticas; como se muestra en el figura 2.1.1
la luz incide en los puntos sensibles (S) de la estructura de la retina, cada punto S
responde en forma todo-nada a la luz entrante, los impulsos generados por los
puntos S se transmiten a las unidades de asociacin (A) de la capa de asociacin;
cada unidad A est conectada a un conjunto aleatorio de puntos S, denominados
conjunto fuente de la unidad A, y las conexiones pueden ser tanto excitatorias
como inhibitorias. Las conexiones tienen los valores posibles +1, -1 y 0, cuando
aparece un conjunto de estmulos en la retina, una unidad A se activa si la suma
de sus entradas sobrepasa algn valor umbral; si la unidad esta activada, A
produce una salida que se enva a la siguiente capa de unidades.
Figura 2.1.1 Modelo del Fotoperceptrn de Rosenblatt
De forma similar, las unidades A estn conectadas a unidades de respuesta (R)
dentro de la capa de respuesta y la conectividad vuelve a ser aleatorio entre
capas, pero se aaden conexiones inhibitorias de realimentacin procedentes de
la capa de respuesta y que llegan a la capa de asociacin, tambin hay
conexiones inhibitorias entre las unidades R. Todo el esquema de conexiones se
describe en forma general en un diagrama de Venn, para un Perceptrn sencillo
con dos unidades de respuesta como el de la figura 2.1.2.
Figura 2.1.2 Esquema de conexiones de un Perceptrn sencillo
El Perceptrn era inicialmente un dispositivo de aprendizaje, en su configuracin
inicial no estaba en capacidad de distinguir patrones de entrada muy complejos,
sin embargo mediante un proceso de aprendizaje era capaz de adquirir esta
capacidad. En esencia, el entrenamiento implicaba un proceso de refuerzo
mediante el cual la salida de las unidades A se incrementaba o se decrementaba
dependiendo de si las unidades A contribuan o no a las respuestas correctas del
Perceptrn para una entrada dada. Se aplicaba una entrada a la retina, y el
estmulo se propagaba a travs de las capas hasta que se activase una unidad de
respuesta. Si se haba activado la unidad de respuesta correcta, se incrementaba
la salida de las unidades A que hubieran contribuido. Si se activaba una unidad R
incorrecta, se haca disminuir la salida de las unidades A que hubiesen
contribuido.
Mediante estas investigaciones se pudo demostrar que el Perceptrn era capaz de
clasificar patrones correctamente, en lo que Rosenblatt denominaba un entorno
diferenciado, en el cual cada clase estaba formada por patrones similares. El
Perceptrn tambin era capaz de responder de manera congruente frente a
patrones aleatorios, pero su precisin iba disminuyendo a medida que aumentaba
el nmero de patrones que intentaba aprender.
En 1969 Marvin Minsky y Seymour Papert publicaron su libro: "Perceptrons: An
introduction to Computational Geometry"[], el cual para muchos signific el final de
las redes neuronales. En el se presentaba un anlisis detallado del Perceptrn, en
trminos de sus capacidades y limitaciones, en especial en cuanto a las
restricciones que existen para los problemas que una red tipo Perceptrn puede
resolver; la mayor desventaja de este tipo de redes es su incapacidad para
solucionar problemas que no sean linealmente separables.
Minsky y Papert se apartaban de la aproximacin probabilstica de Rosenblatt y
volvan a las ideas de clculo de predicados en el anlisis del Perceptrn. Su idea
de Perceptrn aparece en la figura 2.1.3
Figura 2.1.3 Perceptrn segn Minsky y Papert
La estructura de un Perceptrn sencillo es similar a la del elemento general de
procesamiento que se muestra en la figura 2.1.3; en la que se observa la adicin
de una condicin umbral en la salida. Si la entrada neta, a esta condicin es mayor
que el valor umbral, la salida de la red es 1, en caso contrario es 0.
La funcin de salida de la red en la figura 2.1.3 es llamada funcin umbral o
funcin de transferencia
(2.1.1)
A pesar de esta limitacin, el Perceptrn es an hoy una red de gran importancia,
pues con base en su estructura se han desarrollado otros modelos de red
neuronal como la red Adaline y las redes multicapa.
2.1 PERCEPTRN
2.1.2 Estructura de la red:
Fig. 2.1.4 Perceptrn
La nica neurona de salida del Perceptrn realiza la suma ponderada de las
entradas, resta el umbral y pasa el resultado a una funcin de transferencia de tipo
escaln. La regla e decisin es responder +1 si el patrn presentado pertenece a
la clase A, o 1 si el patrn pertenece a la clase B (figura 2.1.4), la salida depende
de la entrada neta (n = suma de las entradas pi ponderadas).
La red tipo Perceptrn emplea principalmente dos funciones de transferencia,
hardlim con salidas 1, 0 o hardlims con salidas 1, -1; su uso depende del valor de
salida que se espera para la red, es decir si la salida de la red es unipolar o
bipolar; sin embargo la funcin hardlims es preferida sobre la hardlim, ya que el
tener un cero multiplicando algunas de los valores resultantes del producto de las
entradas por el vector de pesos, ocasiona que estos no se actualicen y que el
aprendizaje sea ms lento.
Una tcnica utilizada para analizar el comportamiento de redes como el
Perceptrn es presentar en un mapa las regiones de decisin creadas en el
espacio multidimensional de entradas de la red, en estas regiones se visualiza qu
patrones pertenecen a una clase y cules a otra, el Perceptrn separa las
regiones por un hiperplano cuya ecuacin queda determinada por los pesos de las
conexiones y el valor umbral de la funcin de activacin de la neurona, en este
caso los valores de los pesos pueden fijarse o adaptarse empleando diferentes
algoritmos de entrenamiento.
Para ilustrar el proceso computacional del Perceptrn consideremos la matriz de
pesos en forma general.
(2.1.2)
Los pesos para una neurona estn representados por un vector compuesto de los
elementos de la i-sima fila de W
(2.1.3)
De esta forma y empleando la funcin de transferencia hardlim la salida de la
neurona i de la capa de salida
(2.1.4)
El Perceptrn, al constar de una sola capa de entrada y otra de salida con una
nica neurona, tiene una capacidad de representacin bastante limitada, este
modelo slo es capaz de discriminar patrones muy sencillos, patrones linealmente
separables (concepto que se estudiar en la seccin 2.1.4), el caso ms conocido
es la imposibilidad del Perceptrn de representar la funcin OR EXCLUSIVA.
2.1 PERCEPTRN
2.1.3 Regla de aprendizaje: El Perceptrn es un tipo de red de aprendizaje
supervisado, es decir necesita conocer los valores esperados para cada una de
las entradas presentadas; su comportamiento est definido por pares de esta
forma:
(2.1.5)
Cuando p es aplicado a la red, la salida de la red es comparada con el valor
esperado t, y la salida de la red esta determinada por:
(2.1.6)
Los valores de los pesos determinan el funcionamiento de la red, estos valores se
pueden fijar o adoptar utilizando diferentes algoritmos de entrenamiento de la red.
Como ejemplo de funcionamiento de una red neuronal tipo Perceptrn, se
solucionar el problema de la funcin OR, para esta funcin la red debe ser capaz
de devolver a partir de los cuatro patrones de entrada, a qu clase pertenece cada
uno; es decir para el patrn 00 debe devolver la clase cero y para los restantes la
clase 1, segn la grfica 2.1.5
Figura 2.1.5 Funcin OR
Para este caso las entradas a la red sern valores binarios, la salida de la red esta
determinada por
(2.1.7)
Si w1p1+w2p2 es mayor que 0 la salida ser 1, en caso contrario la salida ser 1
(funcin escaln unitario). Como puede verse la sumatoria que se le pasa a cada
parmetro (entrada total) a la funcin hardlim (funcin de salida o de transferencia)
es la expresin matemtica de una recta, donde w1 y w2 son variables y p1 y p2
son constantes. En la etapa de aprendizaje se irn variando los valores de los
pesos obteniendo distintas rectas, lo que se pretende al modificar los pesos de las
conexiones es encontrar una recta que divida el plano en dos espacios de las dos
clases de valores de entrada, concretamente para la funcin OR se deben separar
los valores 01, 10, y 11 del valor 00; la red Perceptrn que realiza esta tarea y la
grfica caracterstica pueden observarse en la figura 2.1.6 all puede verse como
las posibles rectas pasarn por el origen de coordenadas, por lo que la entrada 00
quedar sobre la propia recta.
Figura 2.1.6 Perceptrn aplicado a la funcin OR
Se aplicar este mtodo para resolver tambin el problema de la funcin AND, el
cual 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 conclusin de que es
imposible que una recta que pase por el origen, separe los valores 00,01 y 10 del
valor 11, por lo que se hace necesario introducir un trmino independiente para
realizar esta tarea, a este trmino se le da el nombre de ganancia y se representa
por la letra b, al cual por lo general se le asigna un valor inicial de 1 y se ajusta
durante la etapa de aprendizaje de la red; este nuevo trmino permite desplazar la
recta del origen de coordenadas dando una solucin para el caso de la funcin
AND y ampliando el nmero de soluciones de la funcin OR
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 figura
2.1.8
Figura 2.1.8 Solucin para una funcin AND y una OR
En el proceso de entrenamiento el Perceptrn se expone a un conjunto de
patrones de entrada y los pesos de la red son ajustados de forma que al final de
entrenamiento se obtengan las salidas esperadas para cada unos de esos
patrones de entrada.
El algoritmo de entrenamiento del Perceptrn puede resumirse en los siguientes
pasos:
1. Se inicializa la matriz de pesos y el valor de la ganancia, por lo general se
asignan valores aleatorios a cada uno de los pesos wi y al valor b
2. Se presenta el primer patrn a la red, junto con la salida esperada en forma
de pares entrada/salida
3. Se calcula la salida de la red por medio de
(2.1.9)
Donde f puede ser la funcin hardlim o hardlims
4. Cuando la red no retorna la salida correcta, es necesario alterar el valor de
los pesos, tratando de llevarlo hasta p y as aumentar las posibilidades de
que la clasificacin sea correcta, una posibilidad es adicionar p a w
haciendo que el vector w apunte en la direccin de p, y de esta forma
despus de repetidas presentaciones de p a la red, w se aproximar
asintoticamente a p; este es el procedimiento adoptado para la regla de
aprendizaje del Perceptrn.
El proceso de aprendizaje del Perceptrn puede definirse en tres reglas, las cuales
cubren la totalidad de combinaciones de salidas y sus correspondientes valores
esperados. Estas reglas utilizando la funcin de transferencia hardlim, se expresan
como sigue:
(2.1.10)
(2.1.11)
(2.1.12)
Las tres condiciones anteriores pueden ser escritas en forma compacta y
generalizarse para la utilizacin de las funciones de transferencia hardlim o
hardlims, generalizacin que es posible introduciendo el error en las reglas de
aprendizaje del Perceptrn:
(2.1.13)
Por lo tanto:
(2.1.14)
(2.1.15)
(2.1.16)
En una sola expresin 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 Perceptrn, se dar solucin al problema
de clasificacin de patrones ilustrado en la figura 2.1.9
, , ,
Figura 2.1.9 Patrones de entrenamiento
En este caso las salidas toman valores bipolares de 1 o 1, por lo tanto la funcin
de transferencia a utilizar ser hardlims. Segn la dimensiones de los patrones de
entrenamiento la red debe contener dos entradas y una salida.
Figura 2.1.10 Red Perceptrn que resolver el problema de clasificacin de
patrones
Para decidir si una red tipo Perceptrn puede aplicarse al problema de inters, se
debe comprobar si el problema es linealmente separable, esto puede determinarse
grficamente de la figura 2.1.9, en donde se observa que existe un gran nmero
de lneas rectas que pueden separar los patrones de una categora de los
patrones de la otra, el siguiente paso es asumir arbitrariamente los valores para
los pesos y ganancias iniciales de entrada a la red; el proceso terminar cuando
se hayan obtenido los pesos y ganancias finales que permitan a la red clasificar
correctamente todos los patrones presentados.
Los valores iniciales asignados aleatoriamente a los parmetros de la red son:
Con base en el procedimiento descrito anteriormente, el proceso de aprendizaje
de la red es el siguiente:
Iteracin 0
La red clasificara los patrones de entrenamiento segn la caracterstica de
decisin mostrada en la figura 2.1.11, la cual depende de los valores de los pesos
y ganancias iniciales.
Interceptos con los ejes:
Figura 2.1.11 Clasificacin de los patrones de acuerdo a la iteracin
0
Como puede verse, la caracterstica de decisin es ortogonal al vector de pesos
W. La red clasifica incorrectamente los patrones p1, p3 y p4; en esta iteracin; a
continuacin presentamos a la red el patrn de entrenamiento p1.
Iteracin 1
De la iteracin 0 p1 estaba mal clasificado, la actualizacin de pesos permite que
este patrn sea clasificado correctamente.
La iteracin 1 lleva a la caracterstica de decisin de la figura 2.1.12
Interceptos con los ejes:
Como se observa el patrn de entrenamiento p1 ha sido clasificado correctamente,
y casualmente los patrones p2 y p3 fueron correctamente ubicados, pues an no
han sido presentados a la red.
Figura 2.1.12 Caracterstica de decisin de la iteracin 1
Iteracin 2
Se presenta p2 a la red, y es clasificado correctamente, como se observo
grficamente
Este patrn ha sido clasificado correctamente y por lo tanto no hay actualizacin
del set de entrenamiento
Iteracin 3
Se presenta p3 a la red y es clasificado correctamente, como se observ
grficamente
Como se esperaba, no hubo error en la clasificacin de este patrn, y esto lleva a
que no haya actualizacin de los pesos de la red
Iteracin 4
Se presenta a la red p4,
La red ha clasificado incorrectamente este patrn y por lo tanto deben modificarse
pesos y ganancias
En esta iteracin la red se comportara de acuerdo a la caracterstica de decisin
de la figura 2.1.13
Interceptos con los ejes:
Figura 2.1.13 Caracterstica de decisin final
De la figura 2.1.13 se observa que la red ha clasificado correctamente los patrones
de entrenamiento, despus de entrenada la red con los pesos y ganancias finales,
cualquier otro valor de entrada ser clasificado segn la caracterstica de decisin
mostrada.
Es de importancia notar que en este caso los patrones de entrada se encuentran
en dos dimensiones y por lo tanto es fcil determinar grficamente cuando han
sido clasificados correctamente, en el caso que los patrones se encuentren en tres
dimensiones esta visualizacin se dificulta y en el caso de que los patrones sean
de orden superior la visualizacin resulta imposible; para estos casos se debe
comprobar matemticamente que el error correspondiente a cada patrn de
entrenamiento para los pesos finales es nulo.
1 PERCEPTRN
2.1.4 Limitacin de la red Perceptrn
En la seccin 2.1.1, se plante la restriccin que existe para los tipos de
problemas que una red Perceptrn puede solucionar, como se dijo esta red puede
resolver solamente problemas que sean linealmente separables, esto es
problemas cuyas salidas estn clasificadas en dos categoras diferentes y que
permitan que su espacio de entrada sea divido en estas dos regiones por medio
de un hiperplano de caractersticas similares a la ecuacin del Perceptrn, es decir
(2.1.19)
Ejemplos de problemas de este tipo son las funciones lgicas OR y AND
estudiadas anteriormente; para ilustrar ms claramente que significa que un
problema sea linealmente separable se analizar un caso que no lo sea, el caso
de 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 para
los patrones 01 y 10 la clase 1. Como puede verse de la figura 2.1.15 el problema
radica en que no existe ninguna lnea recta que separe los patrones de una clase
de los de la otra
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 lnea divide el
plano en dos regiones, por lo que se podra clasificar los puntos de una regin
como pertenecientes a la clase que posee salida 1 (puntos azules) y los de la otra
regin como pertenecientes a la clase que posee salida 0 (puntos rojos), sin
embargo no hay ninguna forma de posicionar la lnea para que los puntos
correctos para cada clase se encuentren en la misma regin. El problema de la
compuerta XOR no es linealmente separable y una red tipo Perceptrn no esta en
capacidad de clasificar correctamente los patrones de esta funcin, debido a esta
limitacin del Perceptrn y a su amplia publicacin en el libro de Minsky y Papert,
el estudio de las redes neuronales se estanco durante casi 20 aos.
El proceso para determinar si un problema es linealmente separable o no, se
realiza grficamente sin problema, cuando los patrones de entrada generan un
espacio de dos dimensiones, como en el caso de las funciones AND, OR o de la
XOR; sin embargo, esta visualizacin se dificulta cuando el conjunto de patrones
de entrada es de tres dimensiones, y resulta imposible de observar grficamente
cuando los patrones de entrada son de dimensiones superiores; en este caso se
requiere plantear condiciones de desigualdad que permitan comprobar la
separabilidad lineal de los patrones, esto se realiza con base en la ecuacin de
salida del Perceptrn
, 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 derecho
de la figura 2.1.14, estas desigualdades se expresan as:
(p1) (p3)
(p2) (p4)
Si no hay contradiccin en las desigualdades anteriores, el problema es
linealmente separable. Como se observa de las desigualdades 2, 3 y 4, es
imposible que , y que su suma sea menor que cero, esta es una
forma alternativa de comprobar que el problema de la XOR no es linealmente
separable. El aporte de esta tcnica se aprecia mejor para problemas cuyo
espacio de entrada sea de dimensiones mayores.
La solucin al problema de clasificacin de patrones de la funcin XOR se
encontrara fcilmente si se descompone el espacio en tres regiones: una regin
pertenecera a una de las clases de salida y las otras dos pertenecen a la segunda
clase, as que si en lugar de utilizar nicamente una neurona de salida se
utilizaran dos, se obtendran dos rectas por lo que podran delimitarse tres zonas;
para poder elegir entre una zona u otra de las tres, es necesario utilizar otra capa
con una neurona cuyas entradas sern las salidas de las neuronas anteriores; las
dos zonas o regiones que contienen los puntos (0,0) y (1,1) se asocian a una
salida nula de la red y la zona central se asocia a la salida con valor 1, de esta
forma es posible encontrar una solucin al problema de la funcin XOR, por tanto
se ha de utilizar una red de tres neuronas, distribuidas en dos capas para
solucionar este problema.
En la figura 2.1.16 se observa un esquema de lo que sera una red Perceptrn
multicapa, con los valores de pesos y ganancias que clasifican correctamente los
patrones de la compuerta XOR
Figura 2.1.16 Perceptrn multicapa para la XOR
Los valores de la matriz de pesos y del vector de ganancias son:
w11=1 w12=1
w21=1 w22=1
w31=1 w32=-1.5
b1=0.5 b2=1.5 b3=0.5
2.1 PERCEPTRN
2.1.5 Perceptrn multicapa: En el problema de la funcin XOR se explic como
un Perceptrn multicapa haba sido implementado para hallar una solucin, el
esquema general de un Perceptrn multicapa puede encontrarse generalizando la
figura 2.4.1 a una red con mltiples entradas y que incluya una entrada adicional
representada por la ganancia b, este esquema general se ve en la figura 2.1.17 en
donde se notan las conexiones entre sus nodos de entrada y las neuronas de
salida.
Figura 2.1.17 Conexiones del Perceptrn
Un Perceptrn multicapa es una red con alimentacin hacia delante, compuesta
de varias capas de neuronas entre la entrada y la salida de la misma, esta red
permite establecer regiones de decisin mucho ms complejas que las de dos
semiplanos, como lo hace el Perceptrn de un solo nivel.
Un esquema simplificado del modelo del Perceptrn de la figura 2.1.17 se observa
en la figura 2.1.18
Figura 2.1.18 Notacin compacta para la red tipo Perceptrn
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 dimensiones
SxR, con S igual al nmero de neuronas, y R la dimensin 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 Perceptrn multicapa con dos y tres capas y con una nica
neurona en la capa de salida se muestran en la figura 2.1.19 extrada del libro de
Hilera J y Martnez V []. En la segunda columna se muestra el tipo de regin de
decisin que se puede formar con cada una de las configuraciones, en la siguiente
se indica el tipo de regin que se formara para el problema de la XOR, en las dos
ltimas columnas se muestran las regiones formadas para resolver el problema de
clases mezcladas y las formas ms generales para cada uno de los casos.
Estructura
Regiones de
Decisin
Problema
de la XOR
Clases con
Regiones
Mezcladas
Formas de
Regiones
ms
Generales
Medio Plano
Limitado por
un Hiperplano
Regiones
Cerradas o
Convexas
Complejidad
Arbitraria
Limitada por el
Nmero de
Neuronas
Figura 2.1.19 Distintas formas de las regiones generadas por un Perceptrn
multicapa
El Perceptrn bsico slo puede establecer dos regiones separadas por una
frontera lineal en el espacio de entrada de los patrones; un Perceptrn con dos
capas, puede formar cualquier regin convexa en este espacio. Las regiones
convexas se forman mediante la interseccin de regiones formadas por cada
neurona de la segunda capa, cada uno de estos elementos se comporta como un
Perceptrn simple, activndose su salida para los patrones de un lado del
hiperplano, si el valor de los pesos de las conexiones entre las neuronas de la
segunda capa y una neurona del nivel de salida son todos igual a 1, y la funcin
de salida es de tipo hardlim, la salida de la red se activar slo si las salidas de
todos los nodos de la segunda capa estn activos, esto equivale a ejecutar la
funcin lgica AND en el nodo de salida, resultando una regin de decisin
interseccin de todos los semiplanos formados en el nivel anterior. La regin de
decisin resultante de la interseccin ser una regin convexa con un nmero de
lados a lo sumo igual al nmero de neuronas de la segunda capa.
A partir de este anlisis surge el interrogante respecto a los criterios de seleccin
para las neuronas de las capas ocultas de una red multicapa, este nmero en
general debe ser lo suficientemente grande como para que se forme una regin
compleja que pueda resolver el problema, sin embargo no debe ser muy grande
pues la estimacin de los pesos puede ser no confiable para el conjunto de los
patrones de entrada disponibles. Hasta el momento no hay un criterio establecido
para determinar la configuracin de la red y esto depende ms bien de la
experiencia del diseador.
La regla de aprendizaje del Perceptrn para una red multicapa es una
generalizacin 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 el
modelo del Perceptrn Bernard Widrow y su estudiante Marcian Hoff introdujeron
el modelo de la red Adaline y su regla de aprendizaje llamada algoritmo LMS
(Least Mean Square).
La red Adaline es similar al Perceptrn, excepto en su funcin de transferencia, la
cual es una funcin de tipo lineal en lugar de un limitador fuerte como en el caso
del Perceptrn. La red Adaline presenta la misma limitacin del Perceptrn en
cuanto al tipo de problemas que pueden resolver, ambas redes pueden solo
resolver problemas linealmente separables, sin embargo el algoritmo LMS es ms
potente que la regla de aprendizaje del Perceptrn ya que minimiza el error medio
cuadrtico, la regla sirvi de inspiracin para el desarrollo de otros algoritmos, este
es el gran aporte de esta red.
El trmino Adaline es una sigla, sin embargo su significado cambi ligeramente a
finales de los aos sesenta cuando decay el estudio de las redes neuronales,
inicialmente se llamaba ADAptive LInear NEuron (Neurona Lineal Adaptiva), para
pasar despus a ser Adaptive LInear Element (Elemento Lineal Adaptivo), este
cambio se debi a que la Adaline es un dispositivo que consta de un nico
elemento de procesamiento, como tal no es tcnicamente una red neuronal.
El elemento de procesamiento realiza la suma de los productos de los vectores de
entrada y de pesos, y aplica una funcin de salida para obtener un nico valor de
salida, el cual debido a su funcin de transferencia lineal ser +1 si la sumatoria es
positiva o 1 si la salida de la sumatoria es negativa. En trminos generales la
salida de la red est dada por
(2.2.1)
En este caso, la salida es la funcin unidad al igual que la funcin de activacin; el
uso de la funcin identidad como funcin de salida y como funcin de activacin
significa que la salida es igual a la activacin, que es la misma entrada neta al
elemento.
El Adaline es ADaptivo en el sentido de que existe un procedimiento bien definido
para modificar los pesos con objeto de hacer posible que el dispositivo
proporcione el valor de salida correcto para la entrada dada; el significado de
correcto para efectos del valor de salida depende de la funcin de tratamiento de
seales que est siendo llevada a cabo por el dispositivo. El Adaline es LIneal
porque la salida es una funcin lineal sencilla de los valores de la entrada. Es una
NEurona tan solo en el sentido (muy limitado) del PE. Tambin se podra decir que
el Adaline es un Elemento Lineal, evitando por completo la definicin como
NEurona.
2.2 ADALINE
2.2.2 Estructura de la red: La estructura general de la red tipo Adaline puede
visualizarse en la figura 2.2.1
Figura 2.2.1 Estructura de una red Adaline
La salida de la red est dada por:
(2.2.2)
Para una red Adaline de una sola neurona con dos entradas el diagrama
corresponde a la figura 2.2.2
Figura 2.2.2 Adaline de una neurona y dos entradas
En similitud con el Perceptrn, el lmite de la caracterstica de decisin para la red
Adaline se presenta cuando n = 0, por lo tanto:
(2.2.3)
Especfica la lnea que separa en dos regiones el espacio de entrada, como se
muestra en la figura 2.2.3
Figura 2.2.3. Caracterstica de decisin de una red tipo Adaline
La salida de la neurona es mayor que cero en el rea gris, en el rea blanca la
salida es menor que cero. Como se mencion anteriormente, la red Adaline puede
clasificar correctamente patrones linealmente separables en dos categoras.
2.2 ADALINE
2.2.3 Regla de aprendizaje: Al igual que el Perceptrn, la red Adaline es una red
de aprendizaje supervisado que necesita conocer de antemano los valores
asociados 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, cuando
una entrada p es presentada a la red, la salida de la red es comparada con el valor
de t que le es asociado.
El algoritmo LMS se deriva de la regla Widrow-Hoff Delta, la que en trminos
generales para un proceso de actualizacin de los pesos de una red Adaline, se
deduce de la siguiente manera, de acuerdo al procedimiento descrito en Widrow[]
(2.2.5)
En el cual k representa la iteracin actual del proceso de actualizacin,
es el siguiente valor que tomar el vector de pesos y es el valor actual del
vector de pesos. El error actual e(k) es definido como la diferencia entre la
respuesta deseada y la salida de la red antes de la
actualizacin:
(2.2.6)
La variacin del error en cada iteracin es representada por
(2.2.7)
En concordancia con la ecuacin (2.2.5) la actualizacin de los pesos, teniendo en
cuenta el error es:
(2.2.8)
Combinando las ecuaciones (2.2.8) y (2.2.7), se obtiene:
(2.2.9)
De esta forma, el error es reducido por un factor mientras los pesos van
cambiando a medida que se presenta un valor de entrada. Cada vez que se
presenta un nuevo patrn el ciclo de actualizacin inicia nuevamente; el siguiente
error es reducido por un factor , y el proceso continua. Los valores iniciales del
vector de pesos son usualmente escogidos como cero y se actualizan hasta que el
algoritmo alcance convergencia.
La eleccin de controla la estabilidad y velocidad de la convergencia del proceso
de entrenamiento como puede verse en la ecuacin (2.2.9); si se escoge un valor
muy pequeo de , el algoritmo pierde velocidad y tarda mucho en alcanzar
convergencia, si por el contrario se toma un valor muy grande, el algoritmo pierde
estabilidad y se torna oscilante alrededor del valor de convergencia. Para patrones
de entrada independientes en el tiempo, la estabilidad es garantizada para valores
de que varen entre
(2.2.10)
Si se fija en un valor mayor a 1 el error es innecesariamente sobre-corregido, por
lo tanto un rango de valores prcticos para la rata de aprendizaje es:
(2.2.11)
Este algoritmo es auto-normalizado en el sentido que la eleccin de no depende
de la magnitud de las seales de entrada; cada peso actualizado es colineal con
los parmetros de entrada y su magnitud es inversamente proporcional a .
Si se emplea como entradas binarias 1 y 0, la actualizacin no ocurre para pesos
cuya entrada sea cero, mientras con entradas binarias todos los pesos son
actualizados en cada iteracin y la convergencia es ms rpida. Por esta razn,
las entradas simtricas +1 y 1 son generalmente preferidas.
Una descripcin geomtrica del proceso de actualizacin de pesos en la regla
Widrow-Hoff delta o algoritmo LMS, se describe en la figura 2.2.4
Figura 2.2.4 Actualizacin de pesos del algoritmo LMS
De acuerdo a la ecuacin (2.2.8), equivale la suma de y ,
adems es paralelo con el vector de entrada . De la ecuacin (2.2.7),
el cambio en el error es igual al producto negativo de y , como el
algoritmo LMS selecciona a de tal forma que sea colineal con , el
cambio en el error deseado se calcula con la menor magnitud de posible,
empleando el principio de mnima perturbacin [].
Extendiendo el algoritmo a la actualizacin de las ganancias, se tiene:
(2.2.12)
El algoritmo LMS corrige el error y si todos los patrones de entrada son de igual
longitud, la actualizacin de pesos y ganancias tiende a minimizar el error medio
cuadrtico, esta es la principal propiedad de este algoritmo.
En el algoritmo LMS, los valores de los incrementos y se calculan
con base en las derivadas parciales de la funcin del error medio cuadrtico con
respecto a pesos y ganancias respectivamente.
Para explicar el clculo del error medio cuadrtico se considerar una red Adaline
y se emplear un algoritmo de pasos descendientes aproximado, como el que
utilizaron Widrow y Hoff; con este algoritmo calculando el gradiente en cada
iteracin (gradiente instantneo) y no el gradiente verdadero, la funcin para el
error medio cuadrtico es:
(2.2.13)
En la ecuacin 2.2.13 representa la salida esperada en la iteracin k y
representa la salida de la red; el error cuadrtico esperado ha sido reemplazado
por el error cuadrtico en la iteracin k, por lo tanto en cada iteracin se tiene un
gradiente del error de la siguiente forma:
(2.2.14)
y
(2.2.15)
Los primeros R elementos del error son derivadas parciales con respecto a los
pesos de la red, mientras que los elementos restantes son derivadas parciales con
respecto 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 iteracin,
esto puede simplificarse as:
(2.2.17)
De manera similar se obtiene el elemento final del gradiente, correspondiente a la
derivada parcial del error con respecto a la ganancia:
(2.2.18)
En esta ecuacin pueden verse las ventajas de la simplificacin del error medio
cuadrtico al poder ser calculado por medio del error en la iteracin k, y as para
calcular el error se necesita solo multiplicar el error por el nmero de entradas.
La aproximacin de encontrada en la ecuacin (2.2.14) es reemplazada en
la ecuacin (2.2.5) que define el proceso de actualizacin de pesos para el
algoritmo LMS; despus de haber evaluado las derivadas parciales el proceso de
actualizacin puede expresarse como sigue:
(2.2.19)
(2.2.20)
Ahora t(k) y W(k) son trminos independientes. Las ecuaciones (2.2.19) y (2.2.20)
conforman la regla de actualizacin de parmetros empleada por una red Adaline,
la rata de aprendizaje se tom constante durante el proceso de deduccin del
algoritmo.
En forma matricial el algoritmo de actualizacin para pesos y ganancias para la
red Adaline, se expresa como:
(2.2.21)
(2.2.22)
Ntese que ahora el error e y la ganancia b son vectores
2.2 ADALINE
2.2.4 Principal aplicacin de la red Adaline:
La red Adaline ha sido ampliamente utilizada en el procesamiento de seales;
para valorar el real aporte de esta red en ese campo, se detallarn un poco las
herramientas hasta ahora empleadas en los procesos de filtrado.
A comienzos del estudio de las comunicaciones electrnicas, se diseaban filtros
analgicos empleando circuitos RLC (Resistencias, Inductores, Condensadores)
para eliminar el ruido en las seales empleadas de comunicaciones; este
procesamiento se ha transformado en una tcnica de mltiples facetas,
destacndose en la actualidad el uso de procesadores digitales de seales (DSP),
que pueden llevar a cabo los mismos tipos de aplicaciones de filtrado ejecutando
filtros de convolucin realizados mediante programacin convencional, en
cualquier lenguaje de programacin conocido.
El proceso de filtrado sigue ocupando un lugar muy importante en la industria,
pues siempre ser necesario eliminar el ruido en seales portadoras de
informacin. Considrese una transmisin de radio en AM, las tcnicas
electrnicas de comunicacin, bien sean para seales de audio o de datos
constan de una codificacin y una modulacin de la seal. La informacin que hay
que transmitir, se puede codificar en forma de una seal analgica que reproduce
exactamente las frecuencias y las amplitudes del sonido original. Dado que los
sonidos que se estn codificando representan un valor continuo que va desde el
silencio, pasando por la voz, hasta la msica, la frecuencia instantnea de la seal
variar con el tiempo, oscilando entre 0 y 10.000 Hz aproximadamente.
En lugar de intentar transmitir directamente esta seal codificada, se transmite la
seal en forma ms adecuada para la transmisin por radio; esto se logra
modulando la amplitud de una seal portadora de alta frecuencia con la seal de
informacin analgica. Para la radio AM, la frecuencia portadora estar en el
intervalo de los 550 a los 1650 kHz , dado que la frecuencia de la portadora es
muy superior a la frecuencia mxima de la seal de informacin, se pierde muy
poca informacin como consecuencia de la modulacin; la seal modulada puede
ser transmitida despus a una estacin receptora (o se puede retransmitir a
cualquiera que tenga un receptor de radio), en la cual la seal se demodula y se
reproduce en forma de sonido.
La razn ms evidente para utilizar un filtro en una radio de AM es que cada
persona tiene sus preferencias de msica y diversin y dado que hay tantas
emisoras de radio diferentes es necesario permitir que cada usuario sintonice su
receptor a una cierta frecuencia seleccionable. Al sintonizar la radio, lo que se est
haciendo es, modificar las caractersticas de respuesta en frecuencia de un filtro
pasa banda que est dentro de la radio, este filtro solo deja pasar las seales
procedentes de la emisora en la que se est interesado y elimina todas las dems
seales que estn siendo transmitidas dentro del espectro AM.
Figura 2.2.5 Tcnicas de codificacin de informacin y modulacin en amplitud
La herramienta matemtica para el diseo de filtros ms utilizada es la Serie de
Fourier, que describe la naturaleza de las seales peridicas en el dominio
frecuencia y viene dada por:
(2.2.23)
En donde
: Frecuencia fundamental de la seal en el dominio del tiempo
: Coeficientes necesarios para modular la amplitud de los trminos
individuales de la serie.
Las primeras realizaciones de los cuatro filtros bsicos de la figura 2.2.6 posean
una gran limitacin: Solo eran ajustables en un pequeo intervalo
Figura 2.2.6 Caractersticas de los cuatro filtros bsicos
Todos los filtros se pueden caracterizar a partir de su respuesta a la funcin
de impulso unitario, que se representa por en la forma:
(2.2.24)
La ventaja de esta formulacin es que una vez se conoce la respuesta del sistema
para el impulso unitario, la salida del sistema para cualquier entrada est dada por
(2.2.25)
Donde es la entrada al sistema
Esta ecuacin describe una convolucin entre la seal de entrada y la respuesta
del sistema al impulso unitario. Para este caso, basta tener en cuenta que la
convolucin es una operacin de suma entre productos, similar al tipo de
operacin que realiza un Perceptrn cuando calcula su seal de activacin. La red
Adaline emplea este mismo clculo para determinar cuanta estimulacin de
entrada recibe a partir de una seal instantnea de entrada; esta red tiene
diseado en su interior una forma de adaptar los coeficientes ponderables (pesos
de la red) para hacer aumentar o disminuir la estimulacin que recibir la prxima
vez que se le presente la misma seal. La utilidad de esta capacidad se pone de
manifiesto cuando se disea un filtro digital por medio de software; con un
programa normal, el programador debe saber exactamente como se especfica el
algoritmo de filtrado y cules son los detalles de las caractersticas de las seales;
si se necesitaran modificaciones, o si cambian las caractersticas de la seal, es
necesario reprogramar; cuando se emplea una red tipo Adaline, el problema se
convierte, en que la red sea capaz de especificar la seal de salida deseada, dada
una seal de entrada especfica.
La red Adaline toma la entrada y la salida deseada, y se ajusta a s misma para
ser capaz de llevar a cabo la transformacin deseada. Adems, si cambian las
caractersticas de la seal, la red Adaline puede adaptarse automticamente.
En orden a usar la red tipo Adaline para implementar un filtro adaptivo, se debe
incorporar el concepto de retardos en lnea, el cual se visualiza en la figura 2.2.7
Figura 2.2.7 Retardos en lnea
Si se combina la red Adaline con un bloque de retardos en lnea, se ha creado un
filtro adaptivo como el de la figura 2.2.8
Figura 2.2.8 Filtro adaptivo
Cuya salida est dada por:
(2.2.26)
2.3 BACKPROPAGATION
2.3.1 Antecedentes: La regla de aprendizaje del Perceptrn de Rosenblatt y el
algoritmo LMS de Widrow y Hoff fueron diseados para entrenar redes de una sola
capa. Como se discuti anteriormente, estas redes tienen la desventaja que solo
pueden resolver problemas linealmente separables, fue esto lo que llevo al
surgimiento de las redes multicapa para sobrepasar esta dificultad en las redes
hasta entonces conocidas.
El primer algoritmo de entrenamiento para redes multicapa fue desarrollado por
Paul Werbos en 1974, este se desarroll en un contexto general, para cualquier
tipo de redes, siendo las redes neuronales una aplicacin especial, razn por la
cual el algoritmo no fue aceptado dentro de la comunidad de desarrolladores de
redes neuronales. Fue solo hasta mediados de los aos 80 cuando el algoritmo
Backpropagation o algoritmo de propagacin inversa fue redescubierto al mismo
tiempo por varios investigadores, David Rumelhart, Geoffrey Hinton y Ronal
Williams, David Parker y Yann Le Cun. El algoritmo se populariz cuando fue
incluido en el libro "Parallel Distributed Processing Group" por los siclogos David
Rumelhart y James McClelland. La publicacin de este libro trajo consigo un auge
en las investigaciones con redes neuronales, siendo la Backpropagation una de
las redes ms ampliamente empleadas, aun en nuestros das.
Uno de los grandes avances logrados con la Backpropagation es que esta red
aprovecha la naturaleza paralela de las redes neuronales para reducir el tiempo
requerido por un procesador secuencial para determinar la correspondencia entre
unos patrones dados. Adems el tiempo de desarrollo de cualquier sistema que se
est tratando de analizar se puede reducir como consecuencia de que la red
puede aprender el algoritmo correcto sin que alguien tenga que deducir por
anticipado el algoritmo en cuestin.
La mayora de los sistemas actuales de cmputo se han diseado para llevar a
cabo funciones matemticas y lgicas a una velocidad que resulta
asombrosamente alta para el ser humano. Sin embargo la destreza matemtica no
es lo que se necesita para solucionar problemas de reconocimiento de patrones
en entornos ruidosos, caracterstica que incluso dentro de un espacio de entrada
relativamente pequeo, puede llegar a consumir mucho tiempo. El problema es la
naturaleza secuencial del propio computador; el ciclo tomar ejecutar de la
naturaleza Von Neumann solo permite que la mquina realice una operacin a la
vez. En la mayora de los casos, el tiempo que necesita la mquina para llevar a
cabo cada instruccin es tan breve (tpicamente una millonsima de segundo) que
el tiempo necesario para un programa, as sea muy grande, es insignificante para
los usuarios. Sin embargo, para aquellas aplicaciones que deban explorar un gran
espacio de entrada o que intentan correlacionar todas las permutaciones posibles
de un conjunto de patrones muy complejo, el tiempo de computacin necesario se
hace bastante grande.
Lo que se necesita es un nuevo sistema de procesamiento que sea capaz de
examinar todos los patrones en paralelo. Idealmente ese sistema no tendra que
ser programado explcitamente, lo que hara es adaptarse a s mismo para
aprender la relacin entre un conjunto de patrones dado como ejemplo y ser capaz
de aplicar la misma relacin a nuevos patrones de entrada. Este sistema debe
estar en capacidad de concentrarse en las caractersticas de una entrada arbitraria
que se asemeje a otros patrones vistos previamente, sin que ninguna seal de
ruido lo afecte. Este sistema fue el gran aporte de la red de propagacin inversa,
Backpropagation.
La Backpropagation es un tipo de red de aprendizaje supervisado, que emplea un
ciclo propagacin adaptacin de dos fases. Una vez que se ha aplicado un
patrn a la entrada de la red como estmulo, este se propaga desde la primera
capa a travs de las capas superiores de la red, hasta generar una salida. La
seal de salida se compara con la salida deseada y se calcula una seal de error
para cada una de las salidas.
Las salidas de error se propagan hacia atrs, partiendo de la capa de salida, hacia
todas las neuronas de la capa oculta que contribuyen directamente a la salida. Sin
embargo las neuronas de la capa oculta solo reciben una fraccin de la seal total
del error, basndose aproximadamente en la contribucin relativa que haya
aportado cada neurona a la salida original. Este proceso se repite, capa por capa,
hasta que todas las neuronas de la red hayan recibido una seal de error que
describa su contribucin relativa al error total. Basndose en la seal de error
percibida, se actualizan los pesos de conexin de cada neurona, para hacer que la
red converja hacia un estado que permita clasificar correctamente todos los
patrones 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 que
las distintas neuronas aprenden a reconocer distintas caractersticas del espacio
total de entrada. Despus del entrenamiento, cuando se les presente un patrn
arbitrario de entrada que contenga ruido o que est incompleto, las neuronas de la
capa oculta de la red respondern con una salida activa si la nueva entrada
contiene un patrn que se asemeje a aquella caracterstica que las neuronas
individuales hayan aprendido a reconocer durante su entrenamiento. Y a la
inversa, las unidades de las capas ocultas tienen una tendencia a inhibir su salida
si el patrn de entrada no contiene la caracterstica para reconocer, para la cual
han sido entrenadas.
Varias investigaciones han demostrado que, durante el proceso de entrenamiento,
la red Backpropagation tiende a desarrollar relaciones internas entre neuronas con
el fin de organizar los datos de entrenamiento en clases. Esta tendencia se puede
extrapolar, para llegar a la hiptesis consistente en que todas las unidades de la
capa oculta de una Backpropagation son asociadas de alguna manera a
caractersticas especficas del patrn de entrada como consecuencia del
entrenamiento. Lo que sea o no exactamente la asociacin puede no resultar
evidente para el observador humano, lo importante es que la red ha encontrado
una representacin interna que le permite generar las salidas deseadas cuando se
le dan las entradas, en el proceso de entrenamiento. Esta misma representacin
interna se puede aplicar a entradas que la red no haya visto antes, y la red
clasificar estas entradas segn las caractersticas que compartan con los
ejemplos de entrenamiento.
2.3 BACKPROPAGATION
2.3.2 Estructura de la Red: La estructura tpica de una red multicapa se observa
en 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 tipo
perceptrn en cascada; la salida de la primera red, es la entrada a la segunda y la
salida de la segunda red es la entrada a la tercera. Cada capa puede tener
diferente nmero de neuronas, e incluso distinta funcin de transferencia.
En la figura 2.3.1, W
1
representa la matriz de pesos para la primera capa, W
2
los
pesos 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 notacin
abreviada, donde el nmero de entradas va seguido del nmero de neuronas en
cada capa:
R : S
1
: S
2
: S
3
(2.3.1)
Donde S representa el nmero de neuronas y el exponente representa la capa a la
cual la neurona corresponde.
La notacin de la figura 2.3.1 es bastante clara cuando se desea conocer la
estructura detallada de la red, e identificar cada una de las conexiones, pero
cuando la red es muy grande, el proceso de conexin se torna muy complejo y es
bastante til utilizar el esquema de la figura 2.3.2
Figura 2.3.2 Notacin compacta de una red de tres capas
2.3 BACKPROPAGATION
2.3.3 Regla de Aprendizaje El algoritmo Backpropagation para redes multicapa
es una generalizacin del algoritmo LMS, ambos algoritmos realizan su labor de
actualizacin de pesos y ganancias con base en el error medio cuadrtico. La red
Backpropagation trabaja bajo aprendizaje supervisado y por tanto necesita un set
de entrenamiento que le describa cada salida y su valor de salida esperado de la
siguiente 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 para
el patrn q-simo. El algoritmo debe ajustar los parmetros de la red para
minimizar el error medio cuadrtico.
El entrenamiento de una red neuronal multicapa se realiza mediante un proceso
de aprendizaje, para realizar este proceso se debe inicialmente tener definida la
topologa de la red esto es: nmero de neuronas en la capa de entrada el cual
depende del nmero de componentes del vector de entrada, cantidad de capas
ocultas y nmero de neuronas de cada una de ellas, nmero de neuronas en la
capa de la salida el cual depende del nmero de componentes del vector de salida
o patrones objetivo y funciones de transferencia requeridas en cada capa, con
base en la topologa escogida se asignan valores iniciales a cada uno de los
parmetros que conforma la red.
Es importante recalcar que no existe una tcnica para determinar el nmero de
capas ocultas, ni el nmero de neuronas que debe contener cada una de ellas
para un problema especfico, esta eleccin es determinada por la experiencia del
diseador, el cual debe cumplir con las limitaciones de tipo computacional.
Cada patrn de entrenamiento se propaga a travs de la red y sus parmetros
para producir una respuesta en la capa de salida, la cual se compara con los
patrones objetivo o salidas deseadas para calcular el error en el aprendizaje, este
error marca el camino ms adecuado para la actualizacin de los pesos y
ganancias que al final del entrenamiento producirn una respuesta satisfactoria a
todos los patrones de entrenamiento, esto se logra minimizando el error medio
cuadrtico en cada iteracin del proceso de aprendizaje.
La deduccin matemtica de este procedimiento se realizar para una red con una
capa de entrada, una capa oculta y una capa de salida y luego se generalizar
para redes que tengan ms de una capa oculta.
Figura 2.3.3 Disposicin de una red sencilla de 3 capas
Es importante aclarar que en la figura 2.3.3
q: Equivale al nmero de componentes el vector de entrada.
m: Nmero de neuronas de la capa oculta
l: Nmero de neuronas de la capa de salida
Para iniciar el entrenamiento se le presenta a la red un patrn de entrenamiento, el
cual tiene q componentes como se describe en la ecuacin (2.3.3)
(2.3.3)
Cuando se le presenta a la red una patrn de entrenamiento, este se propaga a
travs de las conexiones existentes produciendo una entrada neta n en cada una
las neuronas de la siguiente capa, la entrada neta a la neurona j de la siguiente
capa debido a la presencia de un patrn de entrenamiento en la entrada est dada
por la ecuacin (2.3.4), ntese que la entrada neta es el valor justo antes de pasar
por la funcin de transferencia
(2.3.4)
W
o
ji: Peso que une la componente i de la entrada con la neurona j de la capa
oculta
pi: Componente i del vector p que contiene el patrn de entrenamiento de q
componentes
b
o
j: Ganancia de la neurona j de la capa oculta
Donde el superndice (
o
) representa la capa a la que pertenece cada parmetro, es
este caso la capa oculta.
Cada una de las neuronas de la capa oculta tiene como salida a
o
j que est dada
por la ecuacin (2.3.5)
(2.3.5)
f
o
: Funcin de transferencia de las neuronas de la capa oculta
Las salidas a
o
j de las neuronas de la capa oculta (de l componentes) son las
entradas a los pesos de conexin de la capa de salida, este comportamiento esta
descrito por la ecuacin (2.3.6)
(2.3.6)
W
s
kj: Peso que une la neurona j de la capa oculta con la neurona k de la capa de
salida, la cual cuenta con s neuronas
a
o
j: Salida de la neurona j de la capa oculta, la cual cuenta con m neuronas.
b
s
k: Ganancia de la neurona k de la capa de salida.
n
s
k: Entrada neta a la neurona k de la capa de salida
La red produce una salida final descrita por la ecuacin (2.3.7)
(2.3.7)
f
s
: Funcin 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 funcin de la
entrada neta y de los pesos de conexin con la ltima capa oculta
(2.3.8)
La salida de la red de cada neurona a
s
k se compara con la salida deseada tk para
calcular el error en cada unidad de salida (2.3.9)
(2.3.9)
El error debido a cada patrn p propagado est dado por (2.3.11)
(2.3.10)
ep
2
: Error medio cuadrtico para cada patrn de entrada p
: Error en la neurona k de la capa de salida con l neuronas
Este proceso se repite para el nmero total de patrones de entrenamiento (r), para
un proceso de aprendizaje exitoso el objetivo del algoritmo es actualizar todos los
pesos y ganancias de la red minimizando el error medio cuadrtico total descrito
en (2.3.11)
(2.3.11)
e
2
: Error total en el proceso de aprendizaje en una iteracin luego de haber
presentado a la red los r patrones de entrenamiento
El error que genera una red neuronal en funcin de sus pesos, genera un espacio
de n dimensiones, donde n es el nmero de pesos de conexin de la red, al
evaluar el gradiente del error en un punto de esta superficie se obtendr la
direccin en la cual la funcin del error tendr un mayor crecimiento, como el
objetivo del proceso de aprendizaje es minimizar el error debe tomarse la direccin
negativa del gradiente para obtener el mayor decremento del error y de esta forma
su minimizacin, condicin requerida para realizar la actualizacin de la matriz de
pesos en el algoritmo Backpropagation:
(2.3.12)
El gradiente negativo de ep
2
se denotara como y se calcula como la
derivada 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 conexin de la
neurona 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 peso
W
s
kj
Para calcular se debe utilizar la regla de la cadena, pues el error no es una
funcin explcita de los pesos de la red, de la ecuacin (2.3.7) puede verse que la
salida de la red a
s
k esta explcitamente en funcin de n
s
k y de la ecuacin (2.3.6)
puede verse que n
s
k esta explcitamente en funcin de W
s
kj, considerando esto se
genera la ecuacin (2.3.13)
(2.3.14)
Tomando la ecuacin (2.3.14) y reemplazndola en la ecuacin (2.3.13) se
obtiene,
(2.3.15)
: Derivada de la entrada neta a la neurona k de la capa de salida respecto a
los pesos de la conexin 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 su
entrada neta.
Reemplazando en la ecuacin (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 ecuacin (2.3.16) las funciones de transferencia utilizadas
en este tipo de red deben ser continuas para que su derivada exista en todo el
intervalo, ya que el trmino f
s
(n
s
k) es requerido para el clculo del error.
Las funciones de transferencia ms utilizadas y sus respectivas derivadas son
las siguientes:
logsig: (2.3.17)
tansig: (2.3.18)
purelin: (2.3.19)
De la ecuacin (2.3.16), los trminos del error para las neuronas de la capa de
salida estn dados por la ecuacin (2.3.20), la cual se le denomina comnmente
sensitividad de la capa de salida.
(2.3.20)
Este algoritmo se denomina Backpropagation o de propagacin inversa debido a
que el error se propaga de manera inversa al funcionamiento normal de la red, de
esta forma, el algoritmo encuentra el error en el proceso de aprendizaje desde las
capas ms internas hasta llegar a la entrada; con base en el clculo de este error
se actualizan los pesos y ganancias de cada capa.
Despus de conocer (2.3.20) se procede a encontrar el error en la capa oculta el
cual est dado por:
(2.3.21)
Para calcular el ltimo trmino de la ecuacin (2.3.21) se debe aplicar la regla de
la cadena en varias ocasiones como se observa en la ecuacin (2.3.22) puesto
que la salida de la red no es una funcin explcita de los pesos de la conexin
entre la capa de entrada y la capa oculta
(2.3.22)
Todos los trminos de la ecuacin (2.3.23) son derivados respecto a variables de
las que dependan explcitamente, 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) y
reemplazndolas en la ecuacin (2.3.23) se obtiene la expresin del gradiente del
error en la capa oculta
(2.3.24)
Reemplazando la ecuacin (2.3.20) en la ecuacin (2.3.24) se tiene:
(2.3.25)
Los trminos del error para cada neurona de la capa oculta est dado por la
ecuacin (2.3.26), este trmino tambin se denomina sensitividad de la capa
oculta
(2.3.26)
Luego de encontrar el valor del gradiente del error se procede a actualizar los
pesos de todas las capas empezando por la de salida, para la capa de salida la
actualizacin de pesos y ganancias esta dada por (2.3.27) y (2.3.28).
(2.3.27)
(2.3.28)
: Rata de aprendizaje que vara entre 0 y 1 dependiendo de las caractersticas
del problema a solucionar.
Luego de actualizar los pesos y ganancias de al capa de salida se procede a
actualizar 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 deduccin fue realizada para una red de tres capas, si se requiere realizar el
anlisis para una red con dos o ms capas ocultas, las expresiones pueden
derivarse de la ecuacin (2.3.26) donde los trminos que se encuentran dentro de
la sumatoria pertenecen a la capa inmediatamente superior, este algoritmo es
conocido como la regla Delta Generalizada desarrollada por Rumelhart D [], la cual
es una extensin de la regla delta desarrollada por Widrow [] en 1930
Para algunos autores las sensibilidades de las capas estn detonadas por la letra
S, reescribiendo las ecuaciones (2.3.20) y (2.3.26) con esta notacin se obtienen
las ecuaciones (2.3.31) y (2.3.32)
(2.3.31)
(2.3.32)
En la ecuacin (2.3.31) M representa la ltima capa y S
M
la sensitividad para esta
capa, la ecuacin (2.3.32) expresa el clculo de la sensitividad capa por capa
comenzando desde la ltima capa oculta, cada uno de estos trminos involucra
que el trmino para la sensitividad de la capa siguiente ya este calculado.
Como se ve el algoritmo Backpropagation utiliza la misma tcnica de aproximacin
en pasos descendientes que emplea el algoritmo LMS, la nica complicacin est
en el clculo del gradiente, el cual es un trmino indispensable para realizar la
propagacin de la sensitividad.
En las tcnicas de gradiente descendiente es conveniente avanzar por la
superficie de error con incrementos pequeos de los pesos; esto se debe a que
tenemos una informacin local de la superficie y no se sabe lo lejos o lo cerca que
se est del punto mnimo, con incrementos grandes, se corre el riesgo de pasar
por encima del punto mnimo, con incrementos pequeos, aunque se tarde ms en
llegar, se evita que esto ocurra. El elegir un incremento adecuado influye en la
velocidad de convergencia del algoritmo, esta velocidad se controla a travs de la
rata de aprendizaje , la que por lo general se escoge como un nmero pequeo,
para asegurar que la red encuentre una solucin. Un valor pequeo de significa
que la red tendr que hacer un gran nmero de iteraciones, si se toma un valor
muy grande, los cambios en los pesos sern muy grandes, avanzando muy
rpidamente por la superficie de error, con el riesgo de saltar el valor mnimo del
error y estar oscilando alrededor de l, pero sin poder alcanzarlo.
Es recomendable aumentar el valor de a medida que disminuye el error de la red
durante la fase de entrenamiento, para garantizar as una rpida convergencia,
teniendo la precaucin de no tomar valores demasiado grandes que hagan que la
red oscile alejndose demasiado del valor mnimo. Algo importante que debe
tenerse en cuenta, es la posibilidad de convergencia hacia alguno de los mnimos
locales que pueden existir en la superficie del error del espacio de pesos como se
ve en la figura 2.3.4.
Figura 2.3.4 Superficie tpica de error
En el desarrollo matemtico que se ha realizado para llegar al algoritmo
Backpropagation, no se asegura en ningn momento que el mnimo que se
encuentre sea global, una vez la red se asiente en un mnimo sea local o global
cesa el aprendizaje, aunque el error siga siendo alto. En todo caso, si la solucin
es admisible desde el punto de vista del error, no importa si el mnimo es local o
global o si se ha detenido en algn momento previo a alcanzar un verdadero
mnimo.
2.3 BACKPROPAGATION
Para ilustrar el clculo de cada uno de los trminos del algoritmo Backpropagation,
este se utilizara se para aproximar la siguiente funcin:
(2.3.33)
La funcin se ha restringido al intervalo entre 2 y 2 para conservarla dentro de
lmites observables, como se observa en la figura 2.3.5
Figura 2.3.5 Intervalo de la funcin t
La configuracin escogida para la red corresponde a una red 1:2:1 segn la
notacin definida con anterioridad, es decir una entrada, dos neuronas en la capa
oculta y una salida; esta estructura se visualiza en la figura 2.3.6
Figura 2.3.6 Red utilizada para aproximar la funcin
Como se observa la salida de la red para la primera capa est dada por
a
1
= tansig(W
1
p
T
+b) (2.3.34)
Las redes tipo Backpropagation utilizan principalmente dos funciones de
transferencia en la primera capa: logsig, cuando el rango de la funcin es siempre
positivo y tansig como en este caso, cuando se le permite a la funcin oscilar entre
valores positivos y negativos limitados en el intervalo 1, 1.
La salida de la segunda capa est determinada generalmente por la funcin de
transferencia purelin, la cual reproduce exactamente el valor resultante despus
de la sumatoria.
a
2
= purelin(W
2
* a
1
+b
2
) (2.3.35)
Al evaluar la ecuacin (2.3.33) en los diferentes patrones de entrenamiento, se
obtienen los valores de las entradas y sus salidas asociadas, ya que como se dijo
antes la red Backpropagation es una red de aprendizaje supervisado. Es
importante destacar, que no es estrictamente necesario el conocimiento de la
funcin a aproximar, basta con conocer la respuesta a una entrada dada, o un
registro estadstico de salidas para modelar el comportamiento del sistema,
limitando el problema a la realizacin de pruebas a una caja negra.
Los parmetros de entrada y sus valores de salida asociados, se observan en la
tabla 2.3.1
1 2 3 4 5 6
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 se
escogieron en forma aleatoria as:
, , , ,
Para el proceso de clculo, se le presenta a la red el patron de entrenamiento p1,
de esta forma la primera iteracin es como sigue
e=t - a= - 1- (0.63) = -1.63
Como se esperaba la primera iteracin no ha sido suficiente, para aproximar la
funcin correctamente, as que se calcular la sensitividad para iniciar el proceso
de actualizacin de los valores de los pesos y las ganancias de la red.
Los valores de las derivadas del error medio cuadrtico son:
Y las sensitividades, empezando desde la ltima hasta la primera capa,
s
2
=-2(1) (-1.63) = 3.26
Con estos valores, y de acuerdo a la regla de actualizacin descrita anteriormente,
los nuevos parmetros de la red son:
Con esto se completa la primera iteracin, y el algoritmo queda listo para
presentar a la red el siguiente patrn y continuar el proceso iterativo hasta obtener
un valor de tolerancia aceptable para el error.
En 1989 Funahashi [] demostr matemticamente que una red neuronal multicapa
puede aproximar cualquier funcin no lineal o mapa lineal multivariable, f (x)= R
n
R Este teorema es de existencia, pues prueba que la red existe pero no indica
cmo construirla y tampoco garantiza que la red aprender funcin.
El algoritmo Backpropagation es fcil de implementar, y tiene la flexibilidad de
adaptarse para aproximar cualquier funcin, siendo una de las redes multicapa
ms potentes; esta caracterstica ha convertido a esta red en una de las ms
ampliamente utilizadas y ha llevado al desarrollo de nuevas tcnicas que permitan
su mejoramiento. Dentro de estas tcnicas encontramos dos mtodos heursticos
y dos mtodos basados en algoritmos de optimizacin numrica.
2.3 BACKPROPAGATION
2.3.3.1 Red Backpropagation con momentum: Esta modificacin est basada en la
observacin de la ltima seccin de la grfica del error medio cuadrtico en el
proceso de convergencia tpico para una red Backpropagation; este proceso
puede verse en la figura 2.3.7 en la cual se nota la cada brusca del error en la
iteracin para la cual alcanza convergencia
Figura 2.3.7 Comportamiento tpico del proceso de convergencia para una red
Backpropagation
Este comportamiento puede causar oscilaciones no deseadas, por lo que es
conveniente suavizar esta seccin de la grfica incorporando un filtro pasa-bajo al
sistema. Para ilustrar el efecto positivo del filtro en el proceso de convergencia, se
analizar 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 momentum
que est en el intervalo
El efecto del filtro puede observase en la figura 2.3.8, en la cual se tom como
entrada al filtro la funcin:
(2.3.37)
Figura 2.3.8 Efecto del coeficiente de momentum
El coeficiente de momentum se asumi para la grfica de la izquierda y
para la grfica de la derecha. De esta figura puede notarse como la
oscilacin es menor a la salida del filtro, la oscilacin se reduce a medida que se
decrementa, el promedio de la salida del filtro es el mismo que el promedio de
entrada al filtro aunque mientras sea incrementado la salida del filtro ser ms
lenta.
Recordando los parmetros de actualizacin empleados por el algoritmo
Backpropagation tradicional:
(2.3.38)
(2.3.39)
Al adicionar el filtro con momentum a este algoritmo de actualizacin, se obtienen
las siguientes ecuaciones que representan el algoritmo Backpropagation con
momentum:
(2.3.40)
(2.3.41)
Este algoritmo, hace que la convergencia sea estable e incluso ms rpida,
adems permite utilizar una rata de aprendizaje alta.
La figura 2.3.9 referencia el comportamiento del algoritmo con momentum en el
punto 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 anlisis de la
seccin 2.3.3 se vio que es el gradiente del error, de igual forma se definir
como la Hessiana de la funcin de error, donde x representa las variables
de las cuales depende el error (pesos y ganancias), esta matriz es siempre de la
forma:
(2.3.42)
La superficie del error medio cuadrtico para redes de una sola capa es siempre
una funcin cuadrtica y la matriz Hessiana es por tanto constante, esto lleva a
que la mxima rata de aprendizaje estable para el algoritmo de pasos
descendientes sea el mximo valor propio de la matriz Hessiana dividido 2,HBD[].
Para una red multicapa la superficie del error no es una funcin cuadrtica, su
forma es diferente para diferentes regiones del espacio, la velocidad de
convergencia puede incrementarse por la variacin de la rata de aprendizaje en
cada parte de la superficie del error, sin sobrepasar el valor mximo para
aprendizaje estable definido anteriormente.
Existen varias tcnicas para modificar la rata de aprendizaje; este algoritmo
emplea un procedimiento mediante el cual la rata de aprendizaje vara de acuerdo
al rendimiento que va presentando el algoritmo en cada punto; si el error
disminuye vamos por el camino correcto y se puede ir ms rpido incrementando
la rata de aprendizaje, si el error aumenta, es necesario decrementar la rata de
aprendizaje; el criterio de variacin de debe estar en concordancia con las
siguientes reglas heursticas:
1. Si el error cuadrtico de todos los parmetros del set de entrenamiento se
incrementa en un porcentaje tpicamente entre 1% y 5%, despus de la
actualizacin de los pesos, esa actualizacin es descartada, la rata de
aprendizaje se multiplica por un factor , y el coeficiente de
momentum es fijado en cero.
2. Si el error cuadrtico se decrementa despus de la actualizacin de los
pesos, esa actualizacin es aceptada y la rata de aprendizaje es
multiplicada por un factor . Si haba sido previamente puesto en cero,
se retorna a su valor original.
3. Si el error cuadrtico se incrementa en un valor menor a , los pesos
actualizados son aceptados, pero la rata de aprendizaje y el coeficiente de
momentum no son cambiados.
Figura 2.3.10 Caracterstica de convergencia para una rata de aprendizaje variable
La figura 2.3.10, muestra la trayectoria de la rata de aprendizaje para este
algoritmo en comparacin con la caracterstica de convergencia
Existen muchas variaciones de este algoritmo, por ejemplo Jacobs[] propuso la
regla delta-bar-delta, en la cual cada uno de los parmetros de la red, (pesos y
ganancias) tenan su propia rata de aprendizaje. El algoritmo incrementa la rata de
aprendizaje para un parmetro de la red si el parmetro escogido, ha estado en la
misma direccin para varias iteraciones; si la direccin del parmetro escogido
cambia, entonces la rata de aprendizaje es reducida.
Los algoritmos Backpropagation con momentum y con rata de aprendizaje variable
son los dos mtodos heursticos ms utilizados para modificar el algoritmo
Backpropagation tradicional. Estas modificaciones garantizan rpida convergencia
para algunos problemas, sin embargo presentan dos problemas principales:
primero, requieren de un gran nmero de parmetros , los que la mayora
de las veces se definen por un mtodo de ensayo y error de acuerdo a la
experiencia del investigador, mientras que el algoritmo tradicional, solo requiere
definir la rata de aprendizaje; segundo, estas modificaciones pueden llevar a que
el algoritmo nunca converja y se torne oscilante para problemas muy complejos.
Como se mencion antes, existen tambin mtodos de modificacin basados en
tcnicas de optimizacin numrica, de esta clase de modificaciones se destacaran
las ms sobresalientes; es importante recalcar que estos mtodos requieren una
matemtica ms exigente, que el simple del dominio de clculo diferencial.
2.3 BACKPROPAGATION
2.3.3.3 Mtodo del Gradiente Conjugado []: Este algoritmo no involucra el clculo
de las segundas derivadas de las variables y converge al mnimo de la funcin
cuadrtica en un nmero finito de iteraciones. El algoritmo del gradiente
conjugado, sin aplicarlo an al algoritmo de propagacin inversa consiste en:
1. Seleccionar la direccin de p0 , la condicin inicial, en el sentido negativo
del gradiente:
(2.3.43)
Donde
(2.3.44)
2. Seleccionar la rata de aprendizaje para minimizar la funcin a lo largo de
la direccin
(2.3.45)
3. Seleccionar la direccin siguiente de acuerdo a la ecuacin
(2.3.46)
con
(2.3.47)
4.Si el algoritmo en este punto an no ha convergido, regresamos al numeral 2
Este algoritmo no puede ser aplicado directamente a una red neural porque el
error no es una funcin cuadrtica; lo que afecta al algoritmo en dos formas,
primero no es hbil para minimizar la funcin a lo largo de una lnea como es
requerido en el paso 2; segundo, el error mnimo no ser alcanzado normalmente
en un nmero finito de pasos y por esto el algoritmo necesitar ser inicializado
despus de un nmero determinado de iteraciones.
A pesar de estas complicaciones, esta modificacin del algoritmo Backpropagation
converge en muy pocas iteraciones, y es incluso uno de los algoritmos ms
rpidos para redes multicapa, como puede notarse en la figura 2.3.11
Figura 2.3.11 Trayectoria del Gradiente Conjugado
2.3 BACKPROPAGATION
2.3.3.4 Algoritmo de Levenberg - Marquardt:[] Este algoritmo es una modificacin
del mtodo de Newton, el que fue diseado para minimizar funciones que sean la
suma de los cuadrados de otras funciones no lineales; es por ello que el algoritmo
de Levenberg - Marquardt, tiene un excelente desempeo en el entrenamiento de
redes neuronales donde el rendimiento de la red est determinado por el error
medio cuadrtico.
El mtodo 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 cuadrticas:
(2.3.50)
El gradiente puede ser escrito entonces en forma matricial:
(2.3.51)
Donde J (x) es la matriz Jacobiana.
Ajustando el mtodo de Newton, obtenemos el algoritmo de Levenberg Marquardt
(2.3.52)
o
(2.3.53)
La nueva constante determina la tendencia el algoritmo, cuando se
incrementa, este algoritmo se aproxima al algoritmo de pasos descendientes para
ratas de aprendizaje muy pequeas; cuando se decrementa este algoritmo se
convierte en el mtodo de Gauss - Newton
El algoritmo comienza con un valor pequeo para , por lo general 0.01, si en
ese paso no se alcanza el valor para e(x) entonces el paso es repetido con
multiplicado por un factor . Si se ha escogido un valor pequeo de paso en la
direccin de paso descendiente, e(x) debera decrecer. Si un paso produce un
pequeo valor para e(x), entonces el algoritmo tiende al mtodo de Gauss -
Newton, el que se supone garantiza una rpida convergencia. Este algoritmo
genera un compromiso entre la velocidad del mtodo de Gauss-Newton y la
garanta de convergencia del mtodo 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 parmetros de la red, que tiene la siguiente forma:
(2.3.55)
Para utilizar este algoritmo en las aplicaciones para redes multicapa, se redefinir
el trmino sensitividad de forma que sea ms simple hallarlo en cada iteracin.
(2.3.56)
Donde h=(q-1)S
M
+ k
Con la sensitividad definida de esta manera, los trminos de la matriz Jacobiana
pueden ser calculados ms fcilmente:
(2.3.57)
y para las ganancias:
(2.3.58)
De esta forma, cuando la entrada pQ ha sido aplicada a la red y su
correspondiente salida a
M
Q ha sido computada, el algoritmo Backpropagation de
Levenberg-Marquardt es inicializado con:
(2.3.59)
Cada columna de la matriz S
M
Q debe ser propagada inversamente a travs de la
red para producir una fila de la matriz Jacobiana. Las columnas pueden tambin
ser 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 extensin de las matrices computadas para cada
entrada:
(2.3.61)
Para cada nueva entrada que es presentada a la red, los vectores de sensitividad
son propagados hacia atrs, esto se debe a que se ha calculado cada error en
forma individual, en lugar de derivar la suma al cuadrado de los errores. Para cada
entrada aplicada a la red habr S
M
errores, uno por cada elemento de salida de la
red 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 correspondientes
salidas y cada uno de los errores segn
(2.3.62)
se calcula despus, la suma de los errores cuadrados para cada entrada
e(x)
2. Se calculan las sensitividades individuales y la matriz sensitividad total y
con estas, se calculan los elementos de la matriz Jacobiana.
3. Se obtiene
4. Se recalcula la suma de los errores cuadrados usando . Si esta
nueva suma es ms pequea que el valor calculado en el paso 1 entonces
se divide por , se calcula y se regresa al paso 1. Si la
suma 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 algn valor predeterminado, o cuando la suma de los errores
cuadrados 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 cual
muestra 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 cualquier
mtodo discutido anteriormente, por supuesto requiere mucha ms computacin
por iteracin, debido a que implica el clculo de matrices inversas. A pesar de su
gran esfuerzo computacional sigue siendo el algoritmo de entrenamiento ms
rpido para redes neuronales cuando se trabaja con un moderado nmero de
parmetros en la red, si el nmero de parmetros es muy grande utilizarlo resulta
poco prctico.
4 APRENDIZAJE ASOCIATIVO
2.4.1 Antecedentes: Las redes con aprendizaje no supervisado (tambin
conocido como auto-supervisado) no requieren influencia externa para ajustar los
pesos de las conexiones entre sus neuronas, la red no recibe ninguna informacin
por parte del entorno que le indique si la salida generada en respuesta a una
determinada entrada es o no correcta, por ello suele decirse que estas redes son
capaces de auto organizarse.
Estas redes deben encontrar las caractersticas, regularidades, correlaciones o
categoras que se puedan establecer entre los datos que se presenten en su
entrada; puesto que no hay supervisor que indique a la red la respuesta que debe
generar ante una entrada concreta, cabra preguntarse precisamente por lo que la
red genera en estos casos, existen varias posibilidades en cuanto a la
interpretacin de la salida de estas redes que dependen de su estructura y del
algoritmo de aprendizaje empleado.
En algunos casos, la salida representa el grado de familiaridad o similitud entre la
informacin que se le est presentando en la entrada de la red y las informaciones
que se le han mostrado hasta entonces, en otro caso la red podra realizar una
clusterizacin (clustering) o establecimiento de categoras, indicando la salida de
la red a que categora pertenece la informacin presentada a la entrada, siendo la
propia red quien deba encontrar las categoras apropiadas a partir de
correlaciones entre las informaciones presentadas. Una variacin de esta
categorizacin es el prototipado, en este caso la red obtiene ejemplares o
prototipos representantes de las clases a las que pertenecen las informaciones de
entrada.
El aprendizaje sin supervisin permite tambin realizar una codificacin de los
datos de entrada, generando a la salida una versin codificada de la entrada con
menos bits, pero manteniendo la informacin relevante de los datos.
Algunas redes con aprendizaje no supervisado generan un mapeo de
caractersticas (featuring mapping), obtenindose en las neuronas de salida una
disposicin geomtrica que representa un mapa fotogrfico de las caractersticas
de los datos de entrada, de tal forma que si se presentan a la red informaciones
similares siempre sean afectadas neuronas de salida prximas entre s, en la
misma zona del mapa.
En cuanto a los algoritmos de aprendizaje no supervisado, en general se
consideran dos tipos, que dan lugar a los siguientes aprendizajes:
Aprendizaje asociativo
Aprendizaje competitivo
En el primer caso normalmente se pretende medir la familiaridad o extraer
caractersticas de los datos de entrada, mientras que el segundo suele orientarse
hacia la clusterizacin o clasificacin de dichos datos. En esta seccin se
profundizar en el estudio del primero de estos algoritmos, el correspondiente al
aprendizaje asociativo.
Una asociacin es cualquier vnculo entre la entrada de un sistema y su
correspondiente salida. Cuando dos patrones son vinculados por una asociacin,
el patrn de entrada es a menudo referido como el estmulo, y la salida es referida
como la respuesta.
El aprendizaje asociativo fue inicialmente estudiado por escuelas de Sicologa, las
cuales se dedicaron a estudiar las relaciones entre el comportamiento humano y el
comportamiento animal. Una de las primeras influencias en este campo fue el
experimento clsico de Pavlov, en el cual se entren a un perro para salivar al
escuchar el sonido de una campana si le era presentado un plato de comida, este
es un ejemplo del llamado Condicionamiento Clsico. Otro de los principales
exponentes de esta escuela fue B.F. Skinner, su experimento involucr el
entrenamiento de ratas, las cuales deban presionar un botn para obtener
comida, a este tipo de entrenamiento se le llamo Condicionamiento Instrumental.
Basado en este tipo de comportamiento, Donald Hebb postul el siguiente
principio conocido como la regla de Hebb:
Cuando un axn de una celda A est lo suficientemente cerca de otra celda B
como para excitarla y repetidamente ocasiona su activacin, un cambio metablico
se presenta en una o ambas celdas, tal que la eficiencia de A, como celda
excitadora de B, se incrementa". Con el trmino celda, Hebb se refera a un
conjunto de neuronas fuertemente conexionadas a travs de una estructura
compleja, la eficiencia podra identificarse con la intensidad o magnitud de la
conexin, es decir el peso.
Este postulado aplicado a redes asociativas, marc el inicio del aprendizaje no
supervisado. Un gran nmero de investigadores ha contribuido al aprendizaje
asociativo, en particular Tuevo Kohonen, James Anderson y Stephen Grossberg.
Anderson y Kohonen desarrollaron independientemente el asociador lineal a
finales de los aos 60s y Grossberg introdujo la red asociativa no lineal durante
este mismo periodo.
Segn la regla de aprendizaje de Hebb, la actividad coincidente en las neuronas
prsinptica y postsinptica es crtica para fortalecer la conexin entre ellas, a esto
se denomina mecanismo asociativo pre-post.
2.4 APRENDIZAJE ASOCIATIVO
2.4.2 Estructura de la red: La red ms sencilla capaz de realizar una asociacin
se presenta en la figura 2.4.1, esta es una red de una sola neurona con una
funcin de transferencia limitador fuerte
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 o
ausencia de estmulo. El valor de a esta limitado por la funcin de transferencia
con salida cero o uno.
La presencia de una asociacin entre el estmulo p=1 y la respuesta a=1, es
indicada por el valor de w. La red responder al estmulo, solamente si wp es
mayor que b.
El estudio de redes asociativas ha evitado el uso de redes complejas, por tanto se
han definido dos tipos de estmulos: un conjunto de entradas llamado estmulo no
condicionado, anlogo a la comida presentada al perro en el experimento de
Pavlov y otro conjunto de entradas llamado estmulo condicionado, anlogo a la
campana en el experimento. Inicialmente el perro saliva solamente cuando la
comida es presentada, esta caracterstica innata hace que el perro aprenda. Sin
embargo, cuando la campana ha acompaado la comida repetidas veces, el perro
es condicionado a salivar con el sonido de la campana an cuando la comida no
haya sido presentada.
Definiendo las clases de entradas a una red asociativa, se tiene:
Estmulo no condicionado: Corresponde a la entrada, que pudiendo ser de
carcter escalar o vectorial, refuerza el aprendizaje y ayuda a hacer la asociacin
con la salida deseada, este estmulo se presenta intermitentemente para simular
un real proceso de aprendizaje y memorizacin de la red; la mayora de las veces
el estmulo no condicionado se convierte en la salida deseada de la red.
Estmulo condicionado: Es el objeto de la asociacin, debe ser siempre
presentado a la red y sta debe asociarlo con la salida deseada; al final del
proceso de aprendizaje la red debe ser capaz de entregar la respuesta correcta
con la presentacin de este nico estmulo a su entrada, sin importar si el estmulo
no condicionado ha sido presentado o no, pues la asociacin ya ha sido realizada.
En este caso representaremos el estmulo no condicionado por p
0
y el estmulo
condicionado simplemente por p. Los pesos w
0
, asociados con p
0
se tomarn fijos
y los pesos w asociados a p sern actualizados en cada iteracin.
La figura 2.4.2 representa la red correspondiente al asociador lineal para una fruta,
la red tiene ambos estmulos, 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 asociacin. Segn la eleccin de los
estmulos se desea que la red asocie la forma de la fruta pero no su olor, es decir
el sensor de olor trabajar siempre correctamente, de tal manera que la red lo
tendr siempre presente, pero el sensor de forma trabajar intermitentemente,
cuando la forma sea detectada (sensor de forma p
0
=1), la red responder
correctamente identificando la fruta.
Figura 2.4.2 Asociador para una fruta
La definicin de los estmulos estar dada por:
Con el propsito de cumplir las condiciones matemticas del ejemplo, se ha
escogido b = -0.5. Para iniciar con el asociador se asignar a w
0
un valor mayor a -
b y a w un valor menor que b. Los siguientes valores satisfacen estos
requerimientos:
w
0
=1, w=0 (2.4.2)
La funcin 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 p
0
=1, sin importar si p=1, o p=0, es decir la red
responder independientemente del estmulo condicionado.
Llegar un momento en que el sensor de forma no trabajar ms y se espera que
para ese momento la red haya realizado una asociacin correcta para identificar la
fruta con la sola presencia del olor, sin necesidad de que su forma tenga que ser
detectada, esto se lograr variando los valores para los pesos de conexin de la
red para el estmulo condicionado.
2.4 APRENDIZAJE ASOCIATIVO
2.4.3 Regla de Hebb: Esta regla puede interpretarse matemticamente teniendo
en cuenta que si dos neuronas en cualquier lado de la sinapsis son activadas
simultneamente, la longitud de la sinapsis se incrementar. Si se revisa la figura
2.4.3 correspondiente a un asociador lineal, se ve como la salida a, es
determinada por el vector de entrada p.
Figura 2.4.3 Asociador Lineal
(2.4.4)
Puede notarse como la conexin (sinapsis) entre la entrada pj y la salida ai es el
peso wij. De esta forma el postulado de Hebb implica que si un valor positivo pj
produce un valor positivo ai, el valor de wij debe incrementarse,
(2.4.5)
Donde:
pjq :j-simo elemento del q-simo vector de entrada pq
aiq :i-simo elemento de salida de la red, cuando el q-simo vector de entrada es
presentado
: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 de
las funciones de activacin en cualquier lado de la sinapsis. As, los pesos sern
incrementados cuando pj y ai sean positivos, pero tambin lo harn cuando ambos
parmetros sean negativos, en contraposicin los pesos se decrementarn
cuando pj y aijtengan signos contrarios.
Si se retorna a la discusin de los estmulos en animales y seres humanos, debe
decirse que ambos tienden a asociar eventos que ocurren simultneamente.
Parafraseando el postulado de Hebb: "Si el estmulo del olor de la fruta, ocurre
simultneamente con la respuesta del concepto de esa fruta, (activada por algn
otro estmulo como la forma de la fruta), la red debe alargar la conexin entre ellos
para que despus, la red active el concepto de esa fruta en respuesta a su olor
solamente."
La regla de aprendizaje de Hebb determina que el incremento del peso wij entre la
entrada pj de una neurona y su salida ai en la q-sima iteracin es:
(2.4.6)
La rata de aprendizaje determina cuantas veces un estmulo y su respuesta
deben ocurrir juntos antes de que la asociacin sea hecha. En la red de la figura
2.4.2, una asociacin ser hecha cuando w > -b = 0.5, entonces para una entrada
p=1 se producir una salida a=1, sin importar el valor de p
0
Para comprender el funcionamiento de la regla de Hebb, sta se aplicar a la
solucin 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 el
sensor de olor trabajar en forma siempre confiable (estmulo condicionado), el
sensor de la forma operar intermitentemente (estmulo no condicionado). As la
secuencia de entrenamiento consiste en la repeticin de la siguiente secuencia de
valores de entrada:
{p
0
(1) = 0, p(1) = 1}, {p
0
(2) = 1, p(2) = 1}.... (2.4.8)
Usando una rata de aprendizaje , y empleando la regla de Hebb, sern
actualizados los pesos w correspondientes al estmulo condicionado, ya que como
se dijo anteriormente, los pesos correspondientes al estmulo no condicionado se
mantendrn constantes.
La salida para la primera iteracin (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 asociacin
entre el olor de la fruta y el concepto de la fruta como tal, sin una respuesta la
regla 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 iteracin, son detectados tanto la forma como el olor de la fruta y la
red responder correctamente identificando la fruta
a(2) = hardlim (w
0
p
0
(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 estmulo del olor y la respuesta de la red ocurrieron simultneamente la
regla 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 iteracin a pesar de que el sensor de la forma falla nuevamente, la
red responde correctamente. La red ha realizado una asociacin til entre el olor
de la fruta y su respuesta.
a(3)=hardlim(w
0
p
0
(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 mayora de las veces.
Una forma de mejorar la regla de Hebb, es adicionar un trmino que controle el
crecimiento de la matriz de peso, a esta modificacin se le da el nombre de regla
de Hebb con rata de olvido.
(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 Hebb
estndar; cuando se aproxima a 1, la rata de aprendizaje olvida rpidamente las
entradas anteriores y recuerda solamente los patrones ms recientes. El efecto de
esta nueva constante, es controlar que el crecimiento de la matriz de pesos no se
realice sin lmites y as darle un mejor aprovechamiento a la capacidad de
memoria de la red.
2.4 APRENDIZAJE ASOCIATIVO
2.4.4 Red Instar: Hasta ahora se han considerado solamente reglas de asociacin
entre entradas y salidas escalares. Si se examina la red de la figura 2.4.4, se nota
como esta neurona est enfrentada a un problema de reconocimiento de patrones
cuya entrada es de tipo vectorial; esta neurona es el tipo de red ms simple capaz
de 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 Perceptrn de la figura 2.1.6,
o incluso a la red Adaline de la figura 2.2 3. Estas redes han tenido diferentes
nombres, debido a razones histricas y a que su desempeo ha sido analizado en
diferentes ambientes. Para la Instar no se considerar directamente su
caracterstica de decisin, concepto que fue bastante importante para el
Perceptrn, en lugar de ello se analizar la capacidad de la Instar para
reconocimiento de patrones a travs de asociaciones y aprendizaje no
supervisado.
La ecuacin para determinar la entrada/salida de la Instar es:
a= hardlims (w
T
p+b) (2.4.16)
La red Instar se activar si el producto punto entre el vector de pesos (fila de la
matriz 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 punto
se presentar cuando los dos vectores apunten en la misma direccin; dicho de
otra forma cuando el ngulo entre w y p sea , esto permite observar que la
red instar de la figura 2.4.4 se activar cuando p y w estn muy cercanos,
escogiendo un apropiado valor para la ganancia b se puede determinar qu tan
cerca 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 misma
direccin 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 anlisis asume que todos los vectores
tienen la misma longitud.
Uno de los inconvenientes de la regla de Hebb con rata de olvido, es que requiere
que los estmulos se presenten de forma repetitiva o de lo contrario se perder la
asociacin, se desea encontrar una regla alternativa que habilite el trmino con
olvido solo cuando la Instar es activa , de esta forma los valores de los pesos
seguirn siendo limitados, pero el porcentaje de olvido ser minimizado. Para
obtener los beneficios del trmino de peso con rata de olvido, se adiciona un
nuevo trmino proporcional a ai(q).
(2.4.19)
El nuevo trmino de peso se hace proporcional a la salida escalar ai(q), ya que se
desea controlar esta salida para que reproduzca el estmulo no condicionado; si se
considera que la rata a la cual la red aprende nuevos pesos es igual a la rata de
olvido , la ecuacin (2.4.18) puede simplificarse a:
(2.4.20)
Esta ecuacin es la llamada regla de Instar, que en forma vectorial teniendo en
cuenta el caso en que la instar esta activa (ai=1), se convierte en:
w(q)= w(q-1) + (p(q) - w(q-1))
= (1- ) w(q-1)+ p(q) (2.4.21)
Esta operacin se muestra en la figura 2.4.5
Figura 2.4.5 Representacin grfica de la regla de Instar
Cuando la instar es activa, el vector de pesos se mueve hacia el vector de entrada
a lo largo de una lnea entre el vector de pesos anterior y el vector de entrada. La
distancia 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 el
nuevo vector de pesos ser la mitad entre el vector de pesos anterior y el vector
de entrada.
Una caracterstica til de la regla Instar es que si los vectores de entrada son
normalizados, entonces w ser tambin normalizado una vez la red haya
aprendido un vector particular p, esta regla no solamente minimiza la rata de
olvido, tambin normaliza los vectores de peso si el vector de entrada es
normalizado.
Se aplicar la regla de Instar para solucionar el problema de la figura 2.4.6, similar
al problema del asociador para una fruta; este nuevo caso cuenta con dos
entradas, una indicando si la fruta ha sido visualizada o no (estmulo no
condicionado) y otra consistente en un vector de tres medidas pertenecientes a la
fruta (estmulo condicionado).
Figura 2.4.6 Reconocimiento de una fruta por medio de una Instar
La salida de la red, est determinada por
a = hardlim(w
0
p
0
+Wp+b)
Los elementos de entrada a la red sern valores de 1 o 1, las tres propiedades
que se medirn de la fruta son: forma, textura y peso, de esta manera la salida del
sensor de forma ser 1 si la fruta es aproximadamente redonda o 1 si la fruta es
elptica, la salida del sensor de textura ser 1 si la superficie de la fruta es suave y
ser 1 si es rugosa y la salida del sensor de peso ser 1 si la fruta pesa ms de
una libra o 1 si el peso de la fruta es menor de esta medida.
En este caso la eleccin del estmulo condicionado y el no condicionado ya no es
aleatoria, pues como se dijo en anlisis anteriores, el estmulo no condicionado se
convierte la mayora de las veces en la salida deseada de la red que es tipo de
escalar para una red Instar, por lo tanto el sensor que representa la visualizacin
de la red ser el estmulo no condicionado y el vector de medidas de la fruta ser
el estmulo condicionado.
Con las dimensiones consideradas p es un vector normalizado con = . La
definicin de p
0
y p es:
El valor de la ganancia se asumir como b = -2, un valor ligeramente ms positivo
que -
2
= -3. Lo ideal es que la red tenga una asociacin constante, entre la
visualizacin de la fruta y su respuesta, para que w
0
sea mayor que b.
Inicialmente la red no responder a ninguna combinacin de medidas de la fruta,
puesto que la fruta no ha sido detectada visualmente, as que los pesos iniciales
sern cero
w
0
=3, W(0) = 1w
T
(0) = [0 0 0] (2.4.22)
Usando la regla Instar con una rata de aprendizaje , los pesos actualizados
se encontrarn 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 estarn actuando todo el tiempo sin embargo, en orden a observar la
operacin de la regla Instar se asumir que el sensor que visualiza la fruta actuar
intermitentemente, simulando as una falla en su construccin
(2.4.24)
Como la matriz W inicialmente contiene ceros, la Instar no responder a los
sensores de la fruta en la primera iteracin
a(1)=hardlim(w
0
p
0
(1) + Wp (1) - 2)
(2.4.25)
Como la neurona no respondi, sus pesos no sern actualizados por la regla
Instar
w(0) = w(0)+ a (1)(p(1)-w (0))
(2.4.26)
En la segunda iteracin, cuando la fruta haya sido detectada visualmente, la
neurona responder
a(2) = hardlim (w
0
p
0
(2)+Wp (2)-2)
(2.4.27)
El resultado es que la red aprendi a asociar el vector de medidas de la fruta con
su respuesta. El vector de pesos de la red, se convierte en una copia del vector de
medidas 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 la
tercera iteracin, aun cuando el sistema de deteccin visual fall, por lo tanto la
red realizar una asociacin entre la presencia de la fruta y el vector de estmulos
condicionados, sin importar si el sensor de visualizacin (estmulo no
condicionado) opera adecuadamente.
a(3) = hardlim (w
0
p
0
(3)+Wp (3) - 2)
(2.4.29)
Cuando las medidas de la fruta han sido detectadas completamente, los pesos
dejan de cambiar y se estabilizan.
w(3) = w(2)+ a (3)(p(3)-w (2))
(2.4.30)
2.4 APRENDIZAJE ASOCIATIVO
2.4.5 Red Outstar: Ya se ha visto como la red Instar (con una entrada tipo vector
y una salida tipo escalar) puede resolver problemas de reconocimiento de
patrones por asociacin de un vector particular de estmulo, con su respuesta. La
red Outstar, mostrada en la figura 2.4.7 tiene una entrada tipo escalar y una salida
tipo vectorial y puede recordar patrones por asociacin de un estmulo con un
vector de respuesta.
Figura 2.4.7 Red Outstar
La expresin 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 la
funcin de saturacin simtrica satlins, aunque pueden usarse otras funciones
como por ejemplo hardlims.
Para derivar la regla Instar, el problema del olvido presentado por la regla de
aprendizaje de Hebb fue limitado por el nuevo trmino de peso, el cual era
proporcional a la salida de la red ai. De manera similar, para obtener la regla de
aprendizaje Outstar el trmino con olvido se har proporcional a la entrada de la
red pj ya que la salida de esta red es un vector, con el cual se espera simular el
estmulo no condicionado
(2.4.31)
Si se hace la rata de olvido igual a la rata de aprendizaje se obtiene
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; el
aprendizaje ocurre cuando una entrada pj tiene un valor diferente a cero (en lugar
de 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 del
algoritmo
Figura 2.4.8 Reconocimiento de una fruta mediante una Outstar
La salida de la red ser calculada como:
a=satlins(W
0
p
0
+Wp) (2.4.33)
Donde
(2.4.34)
Continuando con el reconocimiento de frutas, los estmulos condicionado y no
condicionado son:
Como puede verse el estmulo no condicionado para una red Outstar tiene forma
vectorial y el estmulo no condicionado forma escalar, en forma opuesta a la red
de Instar; la salida esperada de la red, es el vector de medidas de la fruta para
cualquier entrada disponible.
La matriz de pesos para el estmulo no condicionado W
0
es la matriz identidad, as
cualquier conjunto de medidas p
0
(con valores entre 1 y-1) ser reproducido a la
salida de la red. La matriz de pesos para el estmulo condicionado W, es
inicializada en ceros para que un 1 en p no genere respuesta. Wser actualizada
con la regla Outstar, usando una rata de aprendizaje de 1.
La secuencia de entrenamiento consiste en repetidas presentaciones de la
visualizacin de la fruta y de sus medidas, las cuales se escogieron de la siguiente
forma:
(2.4.35)
Para probar la red, el sistema de medidas de la red ser presentado
intermitentemente
(2.4.36)
En la primera iteracin la fruta es vista pero sus medidas no estn disponibles, y
como el vector de medidas es en este caso el estmulo no condicionado la red no
estregar una respuesta.
a=satlins(W
0
p
0
(1)+Wp(1)) (2.4.37)
La red ve la fruta, pero no puede determinar sus medidas porque an no las ha
aprendido; por lo tanto los pesos no son alterados
w1(1) = w1(0)+(a (1) w1 (2)) p(1) (2.4.38)
En la segunda iteracin, 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 primera
asociacin 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 una
asociacin entre ellas, la matriz de pesos es ahora una copia de las medidas de la
fruta y de esa forma podr recordarlas ms adelante.
En la tercera iteracin, las medidas no son presentadas a la red, y an as la red
las reproduce porque las recuerda por medio de la asociacin que realiz
(2.4.41)
Desde este momento, los pesos no sufrirn grandes cambios, a menos que la
fruta sea vista con medidas diferentes
w1(3) = w1(2)+(a (3) w1 (2)) p(3) (2.4.42)
Las redes de Instar y Outstar son empleadas conjuntamente en la red ART [], y
cada una en forma independiente son utilizadas en gran cantidad de aplicaciones
debido a su fcil implementacin y al funcionamiento casi intuitivo de su regla de
aprendizaje; las redes asociativas se utilizan principalmente para filtrado de
informacin en la reconstruccin de datos, eliminando distorsiones o ruido,
tambin se emplean para explorar relaciones entre informaciones similares, para
facilitar la bsqueda por contenido en bases de datos y para resolver problemas
de optimizacin.
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 de
llevar a cabo una tarea dada. Con este tipo de aprendizaje se pretende que
cuando se presente a la red cierta informacin de entrada, slo una de las
neuronas de salida de la red, o una por cierto grupo de neuronas, se active
(alcance su valor de respuesta mximo). Por tanto las neuronas compiten para
activarse quedando finalmente una, o una por grupo, como neurona vencedora y
el resto quedan anuladas y siendo forzadas a sus valores de respuesta mnimos.
La competicin entre neuronas se realiza en todas las capas de la red, existiendo
en estas redes neuronas con conexiones de autoexcitacin (signo positivo) y
conexiones de inhibicin (signo negativo) por parte de neuronas vecinas.
El objetivo de este aprendizaje es categorizar (clisterizar) los datos que se
introducen en la red, de esta forma las informaciones similares son clasificadas
formando parte de la misma categora y por tanto deben activar la misma neurona
de salida. Las clases o categoras deben ser creadas por la propia red, puesto que
se trata de un aprendizaje no supervisado a travs de las correlaciones entre los
datos de entrada.
A principios de 1959, Frank Rosenblatt cre su simple clasificador espontneo,
una red de aprendizaje no supervisado basado en el Perceptrn, el cual aprenda
a clasificar vectores de entrada en dos clases con igual nmero de trminos.
A finales de los aos 60s y principios de los 70s, Stephen Grossberg introdujo
muchas redes competitivas que usaban inhibicin lateral obteniendo buenos
resultados. Algunos de los comportamientos tiles obtenidos por l, fueron la
supresin del ruido, aumento del contraste y normalizacin de vectores.
En 1973, Christoph Von Der Malsburg introduce la regla del mapa de organizacin
propia, que permita a la red clasificar entradas en las cuales las neuronas que
estuviesen en un vecindario cercano a la neurona ganadora, respondieran a
entradas similares. La topologa de esta red imitaba de alguna forma las
estructuras encontradas en la corteza visual de los gatos, estudiada por David
Hubel y Torten Wiesel. Su regla de aprendizaje gener gran inters, pero esta
utilizaba un clculo no local para garantizar que los pesos fueran normalizados,
este hecho haca este modelo biolgicamente poco posible.
Grossberg extendi el trabajo de Von Der Malsburg, redescubriendo la regla
Instar. Grossberg mostr que la regla Instar removi la necesidad de renormalizar
los pesos, porque los vectores de pesos que aprendan a reconocer vectores de
entrada normalizados, automticamente se normalizarn ellos mismos.
El trabajo de Grossberg y Von Der Malsburg enfatiz la posibilidad biolgica de
sus redes. Otro exitoso investigador, Tuevo Kohonen ha sido tambin un fuerte
proponente de las redes competitivas; sin embargo, su nfasis ha sido en
aplicaciones para ingeniera y en descripciones de eficiencia matemtica de las
redes. Durante la dcada de los 70 Kohonen desarroll una versin simplificada
de la regla Instar, inspirada tambin en la red de Von Der Malsburg y Grossberg,
de esta forma encontr una manera muy eficiente de incorporar topologa a una
red competitiva.
Otra forma de aplicar este tipo de aprendizaje fue propuesta por Rumelhart y
Zisper [32] en 1985, quienes utilizaban redes multicapa dividiendo cada capa en
grupos de neuronas, de tal forma que stas disponan de conexiones inhibitorias
con otras neuronas de su mismo grupo y conexiones excitadoras con las neuronas
de la siguiente capa; en una red de este tipo, despus de recibir diferentes
informaciones de entrada, cada neurona en cada grupo se especializa en la
respuesta a determinadas caractersticas de los datos de entrada.
En este tipo de redes cada neurona tiene asignado un peso total (suma de todos
los pesos de las conexiones que tiene a su entrada), el aprendizaje afecta slo a
las neuronas ganadoras (activas), en las que se redistribuye el peso total entre sus
conexiones y se sustrae una porcin de los pesos de todas las conexiones que
llegan a la neurona vencedora, repartiendo esta cantidad por igual entre todas las
conexiones procedentes de unidades activas, por tanto la variacin del peso de
una conexin entre una unidad i y otra j ser nula si la neurona j no recibe
excitacin por parte de la neurona i (no vence en presencia de un estmulo por
parte de i) y se modificar (se reforzar) si es excitada por dicha neurona.
Una variacin del aprendizaje supervisado aplicado a redes multicapa consiste en
imponer una inhibicin mutua entre neuronas nicamente cuando estn a cierta
distancia unas de otras (suponiendo que las neuronas se han dispuesto
geomtricamente, por ejemplo formando capas bidimensionales), existe entonces
un rea o regin de vecindad alrededor de las neuronas que constituye un grupo
local.
Fukushima [11] emple esta idea en 1975 para una red multicapa llamada
Cognitron, fuertemente inspirada en la anatoma y fisiologa del sistema visual
humano y en 1980 el mismo Fukushima [12] en una versin mejorada de la
anterior a la que llam Necognitron, present una variacin de esta red utilizando
aprendizaje supervisado. El Necognitrron dispona de un gran nmero de capas
con arquitectura muy especfica de interconexiones entre ellas y era capaz de
aprender a diferenciar caracteres, aunque estos se presentasen a diferente
escala, en diferente posicin o distorsionados.
El aspecto geomtrico de la disposicin de neuronas de una red, es la base de un
caso particular de aprendizaje competitivo introducido por Kohonen en 1982
conocido como feature mapping (mapas de caractersticas), aplicado en redes con
una disposicin bidimensional de las neuronas de salida, que permiten obtener
mapas topolgicos o topogrficos (topology preserving maps, topographics maps,
self organization maps) en los que de algn modo estaran representadas las
caractersticas principales de las informaciones presentadas a la red. De esta
forma, si la red recibe informaciones con caractersticas similares, se generaran
mapas parecidos, puesto que seran afectadas neuronas de salidas prximas
entre s.
2.5 REDES COMPETITIVAS
2.5.2 Red de Kohonen: Existen evidencias que demuestran que en el cerebro hay
neuronas que se organizan en muchas zonas, de forma que las informaciones
captadas del entorno a travs de los rganos sensoriales se representan
internamente en forma de mapas bidimensionales. Por ejemplo, en el sistema
visual se han detectado mapas del espacio visual en zonas del crtex (capa
externa del cerebro), tambin en el sistema auditivo se detecta una organizacin
segn la frecuencia a la que cada neurona alcanza mayor repuesta (organizacin
tonotpica).
Aunque en gran medida esta organizacin neuronal est predeterminada
genticamente, es probable que parte de ella se origine mediante el aprendizaje,
esto sugiere que el cerebro podra poseer la capacidad inherente de formar mapas
topolgicos de las informaciones recibidas del exterior, de hecho esta teora podra
explicar su poder de operar con elementos semnticos: algunas reas del cerebro
simplemente podran crear y ordenar neuronas especializadas o grupos con
caractersticas de alto nivel y sus combinaciones, en definitiva se construiran
mapas especiales para atributos y caractersticas.
A partir de estas ideas Tuevo Kohonen [24] present en 1982 un sistema con un
comportamiento semejante, se trataba de un modelo de red neuronal con
capacidad para formar mapas de caractersticas de manera similar a como ocurre
en el cerebro; el objetivo de Kohonen era demostrar que un estmulo externo
(informacin de entrada) por s solo, suponiendo una estructura propia y una
descripcin funcional del comportamiento de la red, era suficiente para forzar la
formacin 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 basan
en el principio de formacin de mapas topolgicos para establecer caractersticas
comunes entre las informaciones (vectores) de entrada a la red, aunque difieren
en las dimensiones de stos, siendo de una sola dimensin en el caso de LVQ y
bidimensional o tridimensional en la red SOM. Estas redes se tratarn con mayor
profundidad en secciones posteriores.
El aprendizaje en el modelo de Kohonen es de tipo Off-line, por lo que se distingue
una etapa de aprendizaje y otra de funcionamiento. En la etapa de aprendizaje se
fijan los valores de las conexiones (feedforward) entre la capa de entrada y la
salida. Esta red utiliza un aprendizaje no supervisado de tipo competitivo, las
neuronas de la capa de salida compiten por activarse y slo una de ellas
permanece activa ante una determinada informacin de entrada a la red, los pesos
de las conexiones se ajustan en funcin de la neurona que haya resultado
vencedora.
Durante la etapa de entrenamiento, se presenta a la red un conjunto de
informaciones de entrada (vectores de entrenamiento) para que sta establezca
en funcin de la semejanza entre los datos las diferentes categoras (una por
neurona de salida), que serviran durante la fase de funcionamiento para realizar
clasificaciones de nuevos datos que se presenten a la red. Los valores finales de
los pesos de las conexiones entre cada neurona de la capa de salida con las de
entrada se correspondern con los valores de los componentes del vector de
aprendizaje que consigue activar la neurona correspondiente. En el caso de existir
ms patrones de entrenamiento que neuronas de salida, ms de uno deber
asociarse con la misma neurona, es decir pertenecern a la misma clase.
En este modelo el aprendizaje no concluye despus de presentarle una vez todos
los patrones de entrada, sino que habr que repetir el proceso varas veces para
refinar el mapa topolgico de salida, de tal forma que cuantas ms veces se
presenten los datos, tanto ms se reducirn las zonas de neuronas que se deben
activar ante entradas parecidas, consiguiendo que la red pueda realizar una
clasificacin ms selectiva.
Un concepto muy importante en la red de Kohonen es la zona de vecindad, o
vecindario alrededor de la neurona vencedora i*, los pesos de las neuronas que se
encuentren en esta zona a la que se le dar el nombre de X(q), sern actualizados
junto con el peso de la neurona ganadora, en un ejemplo de aprendizaje
cooperativo.
El algoritmo de aprendizaje utilizado para establecer los valores de los pesos de
las 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 aleatorios
pequeos y se fija la zona inicial de vecindad entre las neuronas de salida.
2. A continuacin se presenta a la red una informacin de entrada (la que
debe aprender) en forma de vector p = (p1, p2, ..., pn), cuyas componentes
pi sern valores continuos.
3. Puesto que se trata de un aprendizaje competitivo, se determina la neurona
vencedora de la capa de salida, esta ser aquella i cuyo vector de pesos wi
(vector cuyas componentes son los valores de los pesos de las conexiones
entre esa neurona y cada una de las neuronas de la capa de entrada) sea
el ms parecido a la informacin de entrada p (patrn 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 la
distancia eucldea o la siguiente expresin que es similar a aquella, pero
eliminando la raz cuadrada:
(2.5.1)
pj: Componente i-simo del vector de entrada
wij: Peso de la conexin entre la neurona j de la capa de entrada y la
neurona 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 las
conexiones entre las neuronas de entrada y dicha neurona, as como los de
las conexiones entre las de entrada y las neuronas vecinas de la
vencedora, en realidad lo que se consigue con esto es asociar la
informacin de entrada con una cierta zona de la capa de salida. Esto se
realiza mediante la siguiente ecuacin
w(q)= w(q-1)+a(q)(p(q)-w(q-1)) para i X(q) (2.5.2)
El tamao de X(q) se puede reducir en cada iteracin del proceso de ajuste
de los pesos, con lo que el conjunto de neuronas que pueden considerarse
vecinas cada vez es menor como se observa en la figura 2.5.2, sin embargo
en la prctica es habitual considerar una zona fija en todo el proceso de
entrenamiento de la red.
Figura 2.5.2 Posible evolucin de la vecindad en una red de Kohonen
El trmino es el coeficiente de aprendizaje o parmetro de ganancia,
con un valor entre 0 y 1 el cual decrece con el nmero de iteraciones (q) del
proceso de entrenamiento, de tal forma que cuando se ha presentado un
gran nmero de veces todo el juego de patrones de aprendizaje su valor es
prcticamente nulo, con lo que la modificacin de los pesos es
insignificante.
Para hallar suele utilizarse una de las siguientes expresiones [20]:
(2.5.3)
Siendo un valor de 0.1 0.2 y un valor prximo al nmero total de
iteraciones del aprendizaje, que por lo general se toma como 10000 para
esta red.
5. El proceso debe repetirse, volviendo a presentar todo el juego de patrones
de aprendizaje p1, p2..,pn hasta obtener la salida deseada.
Como la regla Instar, la regla de Kohonen habilita a los pesos de una neurona a
aprender un vector de entrada y de esta forma resolver aplicaciones de
reconocimiento de patrones. A diferencia de la regla Instar, el aprendizaje no es
proporcional a la salida de la neurona ai(q), en lugar de ello el aprendizaje ocurre
cuando la neurona i sea miembro del conjunto X(q), si la regla Instar es aplicada a
una capa de neuronas cuya funcin de transferencia solamente retorna valores de
0 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 de
clasificacin, puesto que la neurona de salida activada ante una entrada
representa la clase a la que pertenece dicha informacin de entrada, adems ante
otra entrada parecida se activa la misma neurona de salida, u otra cercana a la
anterior debido a la semejanza entre las clases, as se garantiza que las neuronas
topolgicamente prximas sean sensibles a entradas fsicamente similares; por
esta causa la red es especialmente til para establecer relaciones desconocidas
previamente 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 de
los ejemplo ms simples de aprendizaje competitivo, a pesar de ello su estructura
es un poco compleja ya que emplea el concepto de capas recurrentes en su
segunda capa y aunque hoy en da en redes de aprendizaje competitivo se ha
simplificado este concepto con el uso de funciones de activacin ms sencillas, la
red de Hamming representa uno de los primeros avances en este tipo de
aprendizaje, convirtindola en un modelo obligado de referencia dentro de las
redes de aprendizaje competitivo. Las neuronas en la capa de salida de esta red
compiten unas con otras para determinar la ganadora, la cual ndica el patrn
prototipo ms representativo en la entrada de la red, la competicin es
implementada por inhibicin lateral (un conjunto de conexiones negativas entre las
neuronas en la capa de salida).
Esta red consiste en dos capas; la primera capa, la cual es una red Instar, realiza
la correlacin entre el vector de entrada y los vectores prototipo, la segunda capa
realiza la competicin para determinar cul de los vectores prototipo est ms
cercano al vector de entrada.
Figura 2.5.3 Red de Hamming
Capa 1:
La red Instar es capaz de clasificar solo un patrn; para que mltiples patrones
sean reconocidos se necesitan mltiples Instar y es precisamente de esa forma
como est compuesta la primera capa de la red de Hamming. Para una mejor
comprensin de su funcionamiento se partir de unos vectores prototipo que la red
debe clasificar
{ p1, p2 ,..., pQ} (2.5.4)
La matriz de pesos W
1
y el vector de ganancias b
1
para la capa uno sern:
(2.5.5)
Donde cada fila de W
1
representa un vector prototipo, el cual deseamos reconocer
y cada elemento b
1
es igual al nmero de elementos en cada vector de entrada (R)
(el nmero de neuronas S es igual al nmero de vectores prototipo Q). As la
salida de la primera capa ser:
(2.5.6)
La salida de la capa 1 es igual al producto punto de los vectores prototipo con la
entrada ms el vector R; este producto indica cuan cercano est cada vector de
entrada a los patrones prototipo.
Capa 2:
La red Instar emplea una funcin de transferencia poslin para decidir si el vector
de entrada estaba lo suficientemente cerca al vector prototipo. En la capa 2 de la
red de Hamming se utilizan mltiples Instar, as se determinara por medio de una
capa competitiva el patrn prototipo ms cercano. Las neuronas en esta capa son
inicializadas con la salida de la capa en realimentacin, la cual ndica la
correlacin entre los patrones prototipo y el vector de entrada. Las neuronas
compiten unas con otras para determinar una ganadora; despus de la
competicin solo una neurona tendr una salida no cero. La neurona ganadora
ndica cual categora de entrada fue presentada a la red (cada vector prototipo
representa una categora).
La salida de la primera capa a
1
es usada para inicializar la segunda capa:
a
2
(0) = a
1
(2.5.7)
La salida de la segunda capa est determinada de acuerdo a la siguiente relacin
recurrente:
a
2
(t +1) = poslin (W
2
a
2
(t)) (2.5.8)
Los pesos de la segunda capa W
2
son fijados de tal forma que los elementos de la
diagonal sean 1, y los elementos por fuera de la diagonal tengan pequeos
valores negativos.
(2.5.9)
Esta matriz produce un efecto inhibitorio, en el cual la salida de cada neurona
tiene 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 ecuacin de salida de la red para una sola neurona se tiene:
a
2
i (t+1) = poslin (2.5.10)
En cada iteracin, cada salida de la neurona se decrementar en proporcin a la
suma de las salidas de las otras neuronas. La salida de la neurona con la
condicin inicial ms grande se decrementar ms despacio que las salidas de
otras neuronas; eventualmente cada neurona tendr una salida positiva y en ese
punto la red habr alcanzado el estado estable.
2.5 REDES COMPETITIVAS
2.5.4 Estructura general de una red competitiva: En las redes asociativas, se
vio como la regla instar puede aprender a responder a un cierto grupo de vectores
de entrada que estn concentrados en una regin del espacio. Supngase que se
tienen varias instar agrupadas en una capa, tal como se muestra en la figura 2.5.4,
cada una de las cuales responde en forma mxima a un cierto grupo de vectores
de entrada de una regin distinta del espacio.
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 que
identifica a la regin del espacio en la cual yace el vector de entrada. En lugar de
examinar la respuesta de cada instar para determinar cul es la mayor, la labor de
clasificacin sera ms fcil si la Instar de mayor respuesta fuera la nica unidad
que tuviese una salida no nula; esto se puede conseguir si las instar compiten
unas con otras por el privilegio de la activacin, este es el principio de las redes
competitivas.
Las neuronas de la segunda capa de la red de Hamming, estn en competicin
porque cada neurona se excita a s misma e inhibe a todas las otras neuronas,
para simplificar la discusin se definir una nueva funcin de transferencia que
hace 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 funcin de
transferencia, compet es una funcin de transferencia que encuentra el ndice i
*
de
la neurona con la entrada neta ms grande y fija su salida en uno, todas las otras
neuronas tienen salida 0.
(2.5.12)
Reemplazando la capa recurrente de la red de Hamming, con una funcin de
transferencia competitiva, la presentacin de una capa competitiva se simplifica de
la siguiente manera.
Figura 2.5.5 Capa Competitiva
Como con la red de Hamming, los vectores prototipo son almacenados en las filas
de W. La entrada neta n calcula la distancia entre el vector de entrada p y cada
prototipo wi (asumiendo que los vectores tienen longitudes normalizadas L). La
entrada neta ni de cada neurona es proporcional al ngulo entre p y el vector
prototipo wi:
(2.5.13)
La funcin de transferencia competitiva asigna una salida de 1 a la neurona cuyo
vector de pesos apunte en la direccin ms 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 disear una red competitiva
que realice clasificaciones correctas fijando el valor de las filas de Wen los valores
del vector prototipo esperado, sin embargo es deseable tener una regla de
aprendizaje que pueda entrenar los pesos en una red competitiva sin conocer los
vectores 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 la
neurona ganadora (i=i
*
), de esta forma los mismos resultados sern obtenidos
utilizando la regla de Kohonen
iw(q) = iw(q-1)+ (p(q) iw(q-1))= (1- ) iw (q-1) + p(q) (2.5.16)
y
w(q)=w(q-1) i i* (2.5.17)
As, la fila de la matriz de pesos que est ms cerca al vector de entrada (o tenga
el producto punto ms grande con el vector de entrada) se mover haca el vector
de entrada. Este se mueve a lo largo de la lnea entre la fila anterior del vector de
pesos y el vector de entrada, como puede verse en la figura 2.5.6
Figura 2.5.6 Representacin grfica de la regla de Kohonen
Para demostrar cmo trabaja una red competitiva, se crear una red que clasifique
los siguientes vectores:
Figura 2.5.7 Vectores de entrada
La red tendr tres neuronas, por lo tanto los vectores sern clasificados en tres
clases o grupos, esta es una de las principales caractersticas de las redes
competitivas, ellas pueden agrupar los patrones de entrada en clases que no se
conocen. Los pesos normalizados escogidos aleatoriamente son:
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 ms cercano a p2, por lo tanto
gan la competicin (i
*
=2) y su salida es 1. Ahora se aplicar la regla de Kohonen
a 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 figura
2.5.9, si continuamos escogiendo vectores de entrada aleatoriamente y
presentndoselos a la red, en cada iteracin el vector de pesos se acercar ms al
vector de entrada.
Figura 2.5.9 Proceso de entrenamiento
Cada vector de pesos apuntar hacia una clase diferente del vector de entrada,
convirtindose en un prototipo para esa clase. Cuando termine el proceso de
entrenamiento, los pesos finales se vern 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, son
bastante eficientes para resolver problemas de clasificacin, sin embargo
presentan algunos problemas. El primero es la eleccin de una rata de aprendizaje
que permita hallar un punto de equilibrio entre velocidad de convergencia y la
estabilidad final de los vectores de peso. Una rata de aprendizaje cercana a cero,
torna el aprendizaje muy lento pero garantiza que cuando un vector haya
alcanzado el centro de la clase objetivo, se mantendr all indefinidamente. En
contraste, una rata de aprendizaje cercana a uno genera un aprendizaje muy
rpido, pero los vectores de peso continuarn oscilando an despus de que se
haya alcanzado convergencia. La indecisin que se presenta al escoger la rata de
aprendizaje puede ser empleada como una ventaja si se inicia el entrenamiento
con una rata de aprendizaje alta y se decrementa en el transcurso del proceso de
entrenamiento cuando sea necesario, desafortunadamente esta tcnica no
funciona si la red necesita continuamente ser adaptada a nuevos argumentos de
los vectores de entrada (caso en que la red se trabaje 0n-line). Un ejemplo de este
problema se visualiza en la figura 2.5.11
Figura 2.5.11 Variacin de la rata de aprendizaje
Un problema de estabilidad ms serio, ocurre cuando las clases estn muy juntas;
en ciertos casos, un vector de pesos tratando de apuntar hacia una clase
determinada, puede entrar al territorio de otro vector de pesos. En la figura 2.5.12,
pueden observarse con crculos azules, como dos vectores de entrada son
presentados repetidas veces a la red; el resultado, es que los vectores de pesos
que representan las clases de la mitad y de la derecha se encuentran a la
derecha. Con seguridad, se presentar el caso en que una de las clases de la
derecha 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 de
pesos inicial de una neurona se encuentre muy lejos de cualquiera de los vectores
de entrada y por lo tanto nunca gane la competicin. 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 competicin, sin importar
cul sea el orden en que se le presenten los vectores de entrada. Una solucin a
este problema, consiste en adicionar una ganancia negativa a la entrada neta de
cada neurona y decrementar as la ganancia total cada vez que la neurona gane la
competicin; esto har que difcilmente una neurona gane varias veces la
competicin, a este mecanismo se le llama "conciencia".
Una capa competitiva tiene tantas clases como neuronas, lo que podra complicar
algunas aplicaciones, especialmente cuando el nmero de clases no se conoce de
antemano. En capas competitivas, cada clase consiste de una regin convexa del
espacio de entrada, las capas competitivas no pueden formar clases con regiones
no convexas o clases que sean la unin de regiones no conectadas.
2.5 REDES COMPETITIVAS
2.5.7 Mapas de auto organizacin (SOM): Se cree que algunos sistemas
biolgicos realizan sus operaciones siguiendo un mtodo de trabajo que algunos
investigadores han llamado, on-center/off-surround; este trmino describe un
patrn de conexin entre neuronas, cada neurona se refuerza a ella misma
(center) mientras inhibe a todas las neuronas a su alrededor (surround). En las
redes competitivas biolgicas, lo que sucede realmente es que cuando una
neurona se refuerza a ella misma, refuerza tambin las neuronas que estn cerca;
la transicin entre reforzar las neuronas "vecinas" o inhibirlas, se realiza
suavemente a medida que la distancia entre las neuronas aumenta. De esta forma
el proceso on-center/off-surround; para redes biolgicas sigue el comportamiento
sealado en la figura 2.5.14, funcin que habitualmente es referida como
sombrero mejicano debido a su forma.
Figura 2.5.14 on-center/off-surround; para capas biolgicas
Tratando de emular la actividad biolgica, sin tener que implementar conexiones
on-center/off-surround; de realimentacin no lineal, Kohonen dise la red
conocida como mapa de auto organizacin (SOM). Esta red determina primero la
neurona ganadora i
*
usando el mismo procedimiento que las redes competitivas,
luego los vectores de pesos de todas las neuronas que se encuentren en una
regin cercana "vecindario", sern actualizados mediante la regla de Kohonen
iw(q) = iw(q-1)+ (p(q) iw(q-1)) para i Ni*(d) (2.5.18)
Donde el vecindario Ni
*
contiene el ndice para todas las neuronas que se
encuentren 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 sus
vecinas tendern hacia p, el resultado es que despus de muchas presentaciones
las neuronas vecinas habrn aprendido vectores similares que cada una de las
otras.
El concepto de vecindario es ilustrado en la figura 2.5.15; para la primera figura se
ha tomado un vecindario de radio d =1 alrededor de la neurona 13; para la
segunda 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 ha
sugerido vecindarios rectangulares o hexagonales para lograr alta eficiencia; es
importante destacar que el rendimiento de la red no es realmente sensitivo a la
forma exacta del vecindario.
La figura 2.5.16 ilustra un mapa de auto organizacin de dos dimensiones
Figura 2.5.16 Mapa de auto organizacin
2.5 REDES COMPETITIVAS
2.5.8 Learning Vector Quantization (LVQ): Esta red es un hbrido que emplea
tanto aprendizaje no supervisado, como aprendizaje supervisado para clasificacin
de patrones
Figura 2.5.17 Red LVQ
En la red LVQ, cada neurona de la primera capa es asignada a una clase,
despus cada clase es asignada a una neurona en la segunda capa. El nmero de
neuronas en la primera capa, S
1
debe ser mayor o al menos igual que el nmero
de neuronas en la segunda capa, S
2
.
Al igual que con redes competitivas, cada neurona en la primera capa de la red
LVQ aprende un vector prototipo, el cual permite a la neurona clasificar una regin
del espacio de entrada, sin embargo en lugar de calcular la distancia entre la
entrada y el vector de pesos por medio del producto punto, la red LVQ calcula la
distancia directamente. Una ventaja de hacer el clculo de la distancia
directamente, es que los vectores no necesitan ser normalizados, cuando los
vectores son normalizados la respuesta de la red ser la misma sin importar la
tcnica 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,
a
1
=compet (n
1
) (2.5.22)
As, la neurona cuyo vector de pesos este cercano al vector de entrada tendr
salida 1 y las otras neuronas, tendrn salida 0; en este aspecto la red LVQ se
comporta igual a las redes competitivas, la nica diferencia consiste en la
interpretacin, mientras que en las redes competitivas la salida no cero representa
una clase del vector de entrada, para el algoritmo LVQ, ndica ms 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 una
sola clase, esto es realizado por la matriz de pesos W
2
Las columnas de W
2
representan las subclases y las filas representan las clases, W
2
tiene un solo 1 en
cada columna, todos los dems elementos son cero, la fila en la cual se presenta
el 1 ndica cual es la clase a la que la subclase pertenece.
W
2
ki = 1 la subclase i pertenece a la clase k (2.5.23)
Una propiedad importante de esta red, es que el proceso de combinar subclases
para formar clases, permite a la red LVQ crear clases ms complejas. Una capa
competitiva estndar tiene la limitacin de que puede crear solo regiones de
decisin convexas; la red LVQ soluciona esta limitacin.
La red LVQ combina aprendizaje competitivo con aprendizaje supervisado, razn
por lo cual necesita un set de entrenamiento que describa el comportamiento
propio de la red
{p1, t1}, {p2, t2}, ... , {pQ, tQ} (2.5.24)
Para ilustrar el desempeo de la red LVQ, se considerar la clasificacin de un
vector 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 es
asignada a una neurona de salida, as se genera la matriz W
2
; por lo general, igual
nmero de neuronas ocultas son conectadas a cada neurona de salida, para que
cada clase pueda ser conformada por el mismo nmero de regiones convexas.
Todos los elementos de W
2
son cero excepto los que cumplan la siguiente
condicin:
Si la neurona i es asignada a la clase k w
2
ki=1 (2.5.26)
Una vez W
2
ha sido definida, nunca ser alterada. Los pesos ocultos W
1
son
actualizados por medio de la regla de Kohonen.
La regla de aprendizaje del algoritmo LVQ, trabaja de la siguiente manera:
1. En cada iteracin, un vector de entrada p es presentado a la red y se
calcula la distancia a cada vector prototipo.
2. Las neuronas ocultas compiten, la neurona i* gana la competicin y el i*-
simo elemento de a
1
se fija en 1.
3.
a
1
es multiplicada por W
2
para obtener la salida final a
2
, la cual tiene
solamente un elemento no cero, k
*
, indicando que el patrn p est siendo
asignado a la clase k
*
La regla de Kohonen es empleada para mejorar la capa oculta de la red LVQ, en
dos formas:
Primero, si p es clasificado correctamente los pesos de la neurona ganadora
se hacen tender hacia p.
i*w(q) = i*w(q -1) - a(q) (p (q) i*w(q-1)) si a
2
k = tk* = 1 (2.5.27)
Segundo, si p es clasificado incorrectamente una neurona equivocada gan la
competicin y por lo tanto sus pesos i*w
1
se alejan de p.
i*w(q) = i*w(q -1) - a(q) (p (q) i*w(q-1)) si a
2
k* = 1 tk* = 0 (2.5.28)
El resultado ser que cada neurona se mover hacia los vectores que cayeron
dentro de la clase, para la cual ellos forman una subclase y lejos de los vectores
que cayeron en otras clases.
Se ilustrar el funcionamiento de la red LVQ, buscando que clasifique
correctamente los siguientes patrones, cuyas clases se han definido
arbitrariamente:
Los vectores esperados asociados a cada una de las entradas son:
La posicin inicial de los patrones de entrada es la siguiente:
Figura 2.5.19 Posicin de los patrones de entrada
Si se escogen dos subclases para cada una de las dos clases existentes,
tendremos entonces cuatro subclases, lo que determina que debe haber cuatro
neuronas en la capa oculta. La matriz de pesos para la capa de salida es:
W
2
conecta las neuronas ocultas 1 y 2 a la neurona de salida 1 y las neuronas
ocultas 3 y 4 a la neurona de salida 2. Cada clase ser formada por dos regiones
convexas.
Figura 2.5.20 Esquema de la red LVQ que solucionar el ejemplo
W
1
ser inicializada con valores aleatorios, de la siguiente forma:
La posicin 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 iteracin, se encontrar
su respuesta y luego se actualizaran los pesos correspondientes. Se presentar
inicialmente p3 a la red:
La tercera neurona oculta ha estado ms cerca del vector p3 y de esta forma ya se
determin la subclase, ahora determinamos la clase a la cual pertenece
multiplicando a
1
por W
2
La salida de la red ndica que p3 es un miembro de la clase 2, lo cual es correcto
por lo tanto 3w
1
es desplazado en la direccin de p3.
3w
1
(1) = 3w
1
(0) + (p3 3w
1
(0))
Figura 2.5.22 Resultado despus de la primera y despus de muchas iteraciones
El diagrama al lado izquierdo de la figura 2.5.22, muestra como el vector peso 3w
1
es actualizado despus de la primera iteracin; el diagrama de la derecha,
muestra la localizacin de los pesos despus de que el algoritmo ha alcanzado
convergencia, adems en esta parte de la grfica puede verse como las regiones
del espacio de entrada son clasificadas. Los vectores de entrada p1 y p2
perteneciente a la clase uno son visualizadas en azul y los vectores p3 y p4
pertenecientes a la clase dos pueden verse en blanco.
2.6 REDES RECURRENTES
En el contexto de las redes recurrentes existen redes dinmicas por naturaleza
como lo son la red de Hopfield, la red de Jordan y la red de Elman y redes
dinmicas que siendo de naturaleza esttica como lo son las redes multicapa
logran el comportamiento dinmico realimentando sus entradas con muestras
anteriores de las salidas, el comportamiento dinmico de las redes recurrentes
hace que sean una poderosa herramienta para simular e identificar sistemas
dinmicos no lineales.
2.6.1 Red de Hopfield:
2.6.1.1 Antecedentes: En la dcada de los 80s con el fin de estudiar procesos que
involucran sistemas gobernados por ecuaciones diferenciales no lineales surge la
teora clsica de control geomtrico basada en la geometra diferencial;
simultneamente renace el estudio de las Redes Neuronales debido al
redescubrimiento del algoritmo Backpropagation, este hecho sumado al fracaso de
las metodologas tradicionales aplicadas a la inteligencia artificial y a la
disponibilidad de herramientas computacionales de bajo costo permitieron el
desarrollo las redes neuronales recurrentes cuya principal aplicacin es el control
e identificacin de sistemas no lineales. Este desarrollo es posible debido a que
las propiedades matemticas de las redes recurrentes estn enmarcadas en las
mismas propiedades que fundamentan el control geomtrico, la primera red
neuronal recurrente de naturaleza dinmica fue propuesta por Hopfield en 1984
bajo el contexto de las memorias asociativas.
2.6.1 Red de Hopfield:
2.6.1.2 Estructura de la red: En bsqueda de una implementacin prctica,
Hopfield present su modelo bsico como un circuito elctrico, el cual se muestra
en la figura 2.6.1, donde cada neurona se representa por un amplificador
operacional y una red asociada formada por una capacitancia y una resistencia, la
entrada a cada amplificador es la suma de las corrientes Ii mas las
realimentaciones provenientes de otros amplificadores, por ejemplo el segundo
amplificador realimenta al amplificador S a travs de la resistencia RS2, en caso de
necesitarse realimentaciones con signo negativo, estas se hacen por medio de la
salida inversora de cada amplificador; la ecuacin para el modelo de Hopfield
basado en las leyes de Kirchhoff se muestra en la ecuacin (2.6.1).
Figura 2.6.1 Circuito Elctrico red Hopfield
(2.6.1)
Donde ni es el voltaje de entrada a cada amplificador y ai =f(ni) su salida, con
caracterstica de amplificacin f la cual es generalmente de tipo sigmoidal,
.
Multiplicando a ambos lados de la ecuacin (2.6.1) por Ri y definiendo =RiC,
ij=RiTij y bi=RiIi, esta puede reescribirse en la ecuacin (2.6.2) la cual describe el
comportamiento de cada una de las neuronas dinmicas que componen el circuito
elctrico de la red de Hopfield.
(2.6.2)
Utilizando la ecuacin (2.6.2) y escribindola en su forma matricial con a(t)=f(n(t)),
se obtiene (2.6.3), en esta ecuacin se describe el comportamiento de la red de
Hopfield
(2.6.3)
La red de Hopfield en notacin compacta se muestra en la figura 2.6.2, en donde
el vector de p no se considera como la entrada a la red sino como la condicin
inicial de la red
Figura 2.6.2 Notacin compacta red de Hopfield
Como se observa, la red de Hopfield esta compuesta de neuronas dinmicas
altamente interconectadas gobernadas por ecuaciones diferenciales no lineales,
esta red funciona como una memoria asociativa no lineal que puede procesar
patrones presentados de forma incompleta o con ruido, siendo til como una
poderosa herramienta de optimizacin
En el libro "Neural Network Design" [23], se muestra que una de las principales
contribuciones de Hopfield fue la aplicacin de la teora de estabilidad de
Lyapunov al anlisis de las redes recurrentes, la teora de estabilidad de Lyapunov
se aplica a travs del teorema de LaSalle y para su utilizacin el primer paso es
escoger una funcin de Lyapunov, para lo cual Hopfield sugiri la siguiente
funcin:
(2.6.4)
Donde a es la salida de la red, W es la matriz de pesos y b es el vector de
ganancias.
La escogencia de esta particular funcin, fue clave en el desarrollo de Hopfield,
pues el primer y el trcer termino de esta ecuacin conforman una funcin
cuadrtica, las cuales pueden aproximar gran cantidad de funciones en un
pequeo intervalo, especialmente cerca de puntos donde se encuentre un mnimo
local.
Para usar el teorema de LaSalle se necesita evaluar la derivada de la ecuacin
2.6.4, por claridad se evaluar cada uno de los tres trminos de forma
independiente, tomando la derivada del primer trmino de la ecuacin 2.6.4 se
obtiene:
(2.6.5)
Derivando el segundo trmino de la ecuacin 2.6.4, el cual consiste de una
sumatoria de integrales y considerando una de estas integrales se obtiene:
(2.6.6)
Tomando en consideracin todas las integrales, en forma matricial la derivada del
segundo trmino es:
(2.6.7)
Derivando el tercer trmino de la ecuacin 2.6.4 y apoyndose en las propiedades
de las funciones cuadrticas se obtiene la ecuacin 2.6.8
(2.6.8)
La derivada total de la ecuacin 2.6.8 se obtiene al unir los resultados de las
ecuaciones 2.6.5, 2.6.7 y 2.6.8
(2.6.9)
comparando con la ecuacin (2.6.3) del modelo elctrico de Hopfield, se tiene que:
(2.6.10)
Esto permite reescribir la ecuacin 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:
(2.6.12)
Con esto la ecuacin (2.6.11) puede ser reescrita como:
(2.6.13)
si se asume que f
- 1
(ai) es una funcin incremental, como sucede en los
amplificadores operacionales, entonces:
(2.6.14)
Este resultado implica en la ecuacin 2.6.12 que:
(2.6.15)
De esta manera, si f
- 1
(ai) es una funcin incremental, todos los valores propios de
la funcin dV(a)/dt son no positivos lo cual implica que la red sea estable,
entonces V(a) es una funcin de Lyapunov valida
Los atractores de Hopfield son puntos estacionarios de la funcin de Lyapunov
que satisfacen la ecuacin (2.6.16)
(2.6.16)
Estos puntos estacionarios son puntos donde se encuentra un mnimo de la
funcin V(a) descrita en la ecuacin (2.6.4), en estos puntos el gradiente de la
funcin V(a) igual a cero [21].
(2.6.17)
La funcin de Lyapunov descrita por la ecuacin (2.6.4) puede simplificarse si se
considera que la ganancia es grande, como sucede en los amplificadores con
los que se implementa la red, una funcin de transferencia tpica para estos
amplificadores no lineales se muestra a continuacin:
(2.6.18)
Para evaluar el segundo trmino de la funcin de Lyapunov se requiere el clculo
de f
- 1
(u).
(2.6.19)
Si la ganancia es muy grande y la salida de la red se mantiene en el rango
1>a>1, el segundo trmino de la funcin de Lyapunov tiende a cero y puede
definirse la funcin 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 la
red no es entrenada ni realiza un proceso de aprendizaje, sin embargo es posible
determinar la matriz de pesos por medio de un procedimiento basado en la funcin
de alta ganancia de Lyapunov descrita por la ecuacin 2.6.20.
(2.6.21)
El procedimiento consiste en escoger la matriz de pesos W y el vector de
ganancias b tal que V toma la forma de la funcin que se quiere minimizar,
convirtiendo el problema que se quiere resolver, en un problema de minimizacin
cuadrtica, puesto que la red de Hopfield minimizar a V
Una red de Hopfield puede disearse como una memoria asociativa, en este caso
es llamada memoria de contenido direccionable, porque la memoria recupera la
informacin almacenada con base en parte de su contenido, en contraste con las
memorias estndar de computo, donde la informacin se recupera con base en
sus direcciones, por ejemplo si se tiene una base de datos de contenido
direccionable que contiene nombres y direcciones de los empleados de una
empresa, la informacin completa se recupera por ejemplo suministrando el
nombre (o parte de l), este tipo de memoria es la misma memoria autoasociativa
excepto que en este caso se utilizar la red recurrente de Hopfield en vez del
asociador lineal estudiado en la seccin 2.4.
Cuando se le presenta un patrn de entrada a la red de Hopfield, el estado inicial
de la salida ser el mismo patrn de entrada y luego la red converger al patrn
prototipo almacenado que se encuentre ms cercano (o que ms se parezca) al
patrn de entrada, para que la red memorice un patrn prototipo, este debe ser un
mnimo de la funcin de Lyapunov
Asumiremos que los patrones prototipo son y que cada uno de
estos vectores se compone de S elementos, al asumir que Q<<S, el espacio de
estado es amplio y los patrones prototipo se encuentran bien distribuidos y por lo
tanto no estn cercanos uno de otro.
Para garantizar que los patrones prototipo a almacenar son mnimos de la funcin
de Lyapunov, se propone la siguiente funcin para evaluar el error en la
aproximacin.
(2.6.22)
Si los elementos de a son restringidos a valores de 1, la funcin es minimizada en
los patrones prototipo como se mostrara a continuacin:
Asumiendo que los patrones prototipo son ortogonales, y evaluando el error en
uno de ellos, se tendr que.
(2.6.23)
La segunda igualdad de la ecuacin 2.6.23 se debe a la ortogonalidad de los
patrones prototipo y la ltima igualdad a que todos los elementos de pj son 1,
evaluando el error del patrn aleatorio de entrada, el cual presumiblemente no
est cercano a ningn patrn prototipo, cada elemento de la sumatoria en la
ecuacin (2.6.22) es el producto punto entre un patrn prototipo y la entrada, el
producto punto se incrementara cuando la entrada se mueva cerca del patrn
prototipo, sin embargo, si la entrada no se encuentra cerca de algn patrn
prototipo, todos los trminos de la sumatoria sern pequeos y por lo tanto J(a)
ser la mayor (menos negativa) y cuando a sea igual a alguno de los patrones
prototipo J(a) ser ms pequea (ms negativa).
La ecuacin (2.6.22) es una funcin cuadrtica que indica con precisin el
desempeo del contenido de la memoria direccionable, el prximo paso es
escoger la matriz de pesos W y ganancias b, tal que la funcin de Lyapunov de
Hopfield V sea equivalente al desempeo de la funcin cuadrtica J.
Si se utiliza la regla de aprendizaje supervisado de Hebb para calcular la matriz de
pesos (con patrones objetivo iguales a los patrones de entrada)
y b=0 (2.6.24)
Entonces la funcin de Lyapunov ser:
(2.6.25)
Y puede ser reescrita como:
(2.6.26)
Podemos observar que la funcin de Lyapunov es igual al desempeo del error del
contenido de la memoria direccionable, la salida de la red de Hopfield tendera a
converger a los patrones prototipo almacenados, en el caso que todos los
patrones prototipo sean ortogonales, cada uno ser un punto de equilibrio de la
red; la red puede tener muchos otros puntos de equilibrio indeseables, una regla
prctica para evitarlos consiste en que cuando se utilice la regla de Hebb, el
nmero de patrones almacenados no debe superar el 15% del nmero de
neuronas de la red.
6.1 Red de Hopfield:
2.6.1.4 Identificacin de Sistemas No Lineales: El comportamiento dinmico de las
redes recurrentes hace que sean una poderosa herramienta en la identificacin de
sistemas dinmicos no lineales.
En la forma estndar una neurona dinmica est regida por la siguiente ecuacin y
se muestra en la figura 2.6.3
(2.6.27)
Figura 2.6.3 Neurona dinmica
O en forma matricial:
(2.6.28)
Donde , , , y
En la figura 2.6.4 se observa una red neuronal dinmica recurrente, donde cada
unidad de procesamiento es una neurona dinmica y cada punto es un peso.
Figura 2.6.4 Red neuronal dinmica recurrente
Para garantizar la estabilidad de las redes dinmicas recurrentes en el proceso de
identificacin de sistemas no lineales, Delgado[9] formul condiciones estrictas
para los pesos la red y su desarrollo se basa en la funcin de Lyapunov.
Para el entrenamiento de la red de Hopfield en identificacin de sistemas, se
utiliza el algoritmo de Chemotaxis, el cual permite entrenar redes neuronales de
cualquier tipo sin calcular el gradiente del error, este algoritmo fue formulado
considerando el movimiento de una bacteria en un medio donde hay un gradiente
de solucin alimenticia; la bacteria se mueve inicialmente al azar hasta detectar un
aumento en la concentracin de la solucin y luego continua en esa direccin.
El algoritmo de Chemotaxis toma los pesos iniciales al azar con distribucin
Gaussinana, cuando una iteracin es exitosa (disminuye el valor de la funcin de
error) el algoritmo continua en esta direccin hasta que la funcin de error J no
muestra cambios
Figura 2.6.5 Algoritmo de Chemostaxis
it_max: Numero mximo de iteraciones
it: Contador de iteraciones
i_s: Contador de iteraciones exitosas
i_f: Contador de iteraciones no exitosas
Rata de aprendizaje
1: Antigua matriz de pesos
2: Antigua matriz de pesos
Perturbacion en la matriz de pesos
gauss( ): Generador de nmeros aleatorios con distribucin Gaussiana
Ji: Indice de la funcin de error correspondiente a la matriz de pesos i.
La funcin de error Ji relaciona la salida del sistema a aproximar con la salida de
la red dinmica entrenada con NP patrones de entrenamiento.
(2.6.29)
dk: Salida deseada para el patrn de entrenamiento k.
yk: Salida actual de la red ante el patrn de entrenamiento k.
2.6.2 Redes Multicapa
2.6.2.1 Estructura de la red: Las redes multicapa son de naturaleza esttica, o sea
su salida no evoluciona con el tiempo (para un patrn de entrada existe una salida
asociada), pero pueden adquirir un comportamiento dinmico (para un patrn
entrada la salida posee un estado transitorio y converge a un valor en el estado
estacionario) realimentando sus entradas con estados anteriores de sus salidas.
La red est compuesta de una capa esttica la cual generalmente posee un
nmero de neuronas superior al nmero de variables de estado del sistema a
identificar, la salida de la capa esttica va a un sumador donde se le resta el valor
anterior de la variable de estado Zi identificada por el sistema, de esta operacin
se genera la derivada de cada una de las i variables de estado identificadas por el
sistema.
Figura 2.6.6 Red Dinmica Multicapa
La red recurrente dinmica multicapa cuyo comportamiento lo describe la ecuacin
(2.6.30) puede identificar el comportamiento de un sistema autnomo (u=0)
descrito por la ecuacin (2.6.31)
(2.6.30)
(2.6.31)
donde , , , , ,
, y funcin de transferencia (
)=tansig( ), n es el nmero de variables de estado del sistema y N el nmero de
neuronas en la capa oculta.
Segn Delgado[9], sin prdida de generalidad si el origen se asume como punto
de equilibrio, el sistema (2.6.31) ser identificado con la red (2.6.30) alrededor de
su regin de atraccin y se garantiza que el error en la aproximacin e(t) es
limitado.
2.6.2 Redes Multicapa
2.6.2.2 Regla de Aprendizaje: La etapa esttica que hace parte de la red multicapa
dinmica recurrente generalmente es entrenada con el algoritmo de Chemotaxis o
cualquier algoritmo de propagacin inversa (Backpropagation), estos algoritmos
fueron descritos en la seccin 2.3, el algoritmo de Chemotaxis fue explicado en el
contexto de la identificacin de sistemas dinmicos por medio de la red de
Hopfield donde es realmente indispensable, pues para redes dinmicas multicapa
los algoritmos de propagacin inversa son ms eficientes y rpidos.
Los patrones de entrenamiento de la capa esttica de la figura (2.6.6) son
diferentes combinaciones de valores de las variables de estado y los patrones
objetivo estn dados por la suma de cada variable de estado con su
correspondiente derivada como se muestra en la figura 2.6.7
Figura 2.6.7 Patrones de entrenamiento de la red multicapa
La red despus de entrenada tiene la estructura de la ecuacin (2.6.32)
(2.6.32)
Para garantizar que la red a identificado la dinmica del sistema, el Jacobiano de
la red en el origen (2.6.33) debe tener valores propios muy cercanos a los del
sistema que ha sido aproximado.
(2.6.33)
Transformado una red dinmica multicapa en una red dinmica recurrente
tipo Hopfield
La red dinmica multicapa de la figura (2.6.6), puede transformarse en una red
dinmica tipo Hopfield por medio de la siguiente transformacin lineal descrita en
la ecuacin (2.6.34)
(2.6.34)
Generalmente la matriz T es cuadrada, pero en caso no ser cuadrada la
transformacin se realiza por medio de la inversa generalizada; la red
transformada tendr la estructura (2.6.35)
(2.6.35)
Donde el nuevo vector de estado , , es la matriz identidad
de dimensin N, la transformacin (2.6.34) extiende la red dinmica multicapa
(2.6.32) en la red dinmica recurrente de Hopfield (2.6.35), aunque en la red de
Hopfield no existen neuronas en la capa oculta el nmero de estados es mayor o
igual al nmero de estados de la red multicapa N n
Despus de realizar la transformacin, la red tiene la estructura (2.6.36)
(2.6.36)
El Jacobiano de la red descrito en la ecuacin 2.6.37 debe tener valores propios
muy cercanos a los del sistema que ha sido aproximado e iguales a los de la red
multicapa.
(2.6.37)
2.6.3 Red de Elman
2.6.3.1 Estructura de la Red: La red de Elman tpicamente posee dos capas, cada
una compuesta de una red tipo Backpropagation, con la adicin de una conexin
de realimentacin desde la salida de la capa oculta hacia la entrada de la misma
capa oculta, esta realimentacin permite a la red de Elman aprender a reconocer y
generar patrones temporales o variantes con el tiempo.
Figura 2.6.8 Red de Elman
La red de Elman generalmente posee neuronas con funcin transferencia
sigmoidal en su capa oculta, en este caso tansig y neuronas con funcin de
transferencia tipo lineal en la capa de salida, en esta caso purelin, la ventaja de la
configuracin de esta red de dos capas con este tipo de funciones de trasferencia,
es que segn lo demostrado por Funahashi [16], puede aproximar cualquier
funcin con la precisin deseada mientras que esta posea un numero finito de
discontinuidades, para lo cual la precisin de la aproximacin depende de la
seleccin del nmero adecuado de neuronas en la capa oculta.
Para la red de Elman la capa oculta es la capa recurrente y el retardo en la
conexin de realimentacin almacena los valores de la iteracin previa, los cuales
sern usados en la siguiente iteracin; dos redes de Elman con los mismos
parmetros y entradas idnticas en las mismas iteraciones podran producir
salidas diferentes debido a que pueden presentar diferentes estados de
realimentacin.
2.6.3 Red de Elman
2.6.3.2 Entrenamiento de la red: Debido a la estructura similar de la red de Elman
con una red tipo Backpropagation, esta red puede entrenarse con cualquier
algoritmo de propagacin inversa como los explicados en la seccin 2.3 de este
captulo, entre los cuales se destacan los algoritmos basados en tcnicas de
optimizacin como el del gradiente conjugado o el algoritmo de Levemberg
Marquard.
El entrenamiento de la red puede resumirse en los siguientes pasos:
Presentar a la red, los patrones de entrenamiento y calcular la salida de la
red con los pesos iniciales, comparar la salida de la red con los patrones
objetivo y generar la secuencia de error.
Propagar inversamente el error para encontrar el gradiente del error para
cada conjunto de pesos y ganancias,
Actualizar todos los pesos y ganancias con el gradiente encontrado con
base en el algoritmo de propagacin inversa.
La red de Elman no es tan confiable como otros tipos de redes porque el gradiente
se calcula con base en una aproximacin del error, para solucionar un problema
con este tipo de red se necesitan ms neuronas en la capa oculta que si se
solucionara el mismo problema con otro tipo de red.
CAPITULO 3
3.1.1 Descripcin del problema:
Un robot es un dispositivo automtico que realiza acciones especficas, que
dependen de las necesidades del proceso en que se encuentre involucrado, en
este caso se tiene un robot que cuenta con cuatro sensores de proximidad en
distintas ubicaciones que permanentemente detectan si hay objetos que se
encuentren a una distancia superior o inferior a la preestablecida, con base en
esto se decide si dar marcha adelante o atrs a cada uno de los dos motores que
posee; en las lecturas de los sensores podran darse 16 posibles combinaciones
(16=2
4
) y para cada combinacin cada uno de los dos motores podra dar marcha
adelante o marcha atrs.
Figura 3.1.1 Robot
El comportamiento del robot lo describe la tabla 3.1.2, cuando los sensores
detecten un objeto que se encuentra a una distancia inferior a la predeterminada
se dir que el objeto se encuentra cerca y esto se representa por medio de un 1 y
cuando se detecte un objeto que se encuentra a una distancia mayor que la
predeterminada se dir que el objeto est lejos lo cual se indica con un 1;
dependiendo de estas lecturas los motores podrn dar marcha adelante, lo que se
representara por un 1 o dar marcha atrs con un 1.
S1 S2 S3 S4 M1 M2
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 1 1 1 -1
1 1 -1 1 -1 1
1 1 1 -1 1 -1
Tabla 3.1.1 Comportamiento del robot
3.1 DETECCIN DE OBSTCULOS POR MEDIO DE UN ROBOT
3.1.2 Justificacin del tipo de red
Este tipo de problema generalmente es resuelto suministrndole al robot una base
de datos que contiene todas las posibles situaciones que se podran presentarse y
sus respectivas soluciones, en este caso se necesitara almacenar las respuestas
para ambos motores ante las 16 posibles combinaciones en las lecturas de los
sensores, cuando el nmero de variables de entrada y el nmero de salidas es
mucho mayor, la cantidad de datos necesarios para especificar cada posible
situacin crece indefinidamente, debido a esto se requeriran dispositivos con gran
capacidad de almacenamiento; en contraste una red neuronal puede entrenarse
con un nmero representativo de patrones y aprender el comportamiento del
sistema utilizando dispositivos de menos capacidad de almacenamiento y costo.
Una red tipo Perceptrn puede ser entrenada con patrones de cualquier dimensin
en la entrada y en la salida con datos binarios, por la simplicidad del problema
este tipo de red es la ms adecuada.
Para garantizar que el problema puede ser resuelto por una red neuronal tipo
Perceptrn se debe comprobar que los patrones de entrenamiento son linealmente
separables, para esto se deben plantear las desigualdades generadas por cada
patrn de entrenamiento, en este caso cada patrn de cuatro dimensiones
generara dos desigualdades (una por cada salida), estas desigualdades no deben
contradecirse, si esto ocurriera el problema no podra ser resuelto por una red tipo
Perceptrn de una sola capa y deber buscarse otro tipo de solucin.
Debido a la naturaleza bipolar de la salida, la funcin de transferencia a utilizar es
hardlims (ver seccin 1.3.2), la cual se rige por las siguientes condiciones.
(3.1.1)
La salida de la red est dada por la ecuacin 3.1.2, (ver seccin 2.1)
(3.1.2)
Aplicando esta ecuacin a cada patrn de entrenamiento se tienen las
desigualdades de la tabla 3.1.2, las cuales se satisfacen plenamente, lo que
implica que el problema es linealmente separable y puede ser resuelto por una red
tipo Perceptron
Tabla 3.1.2 Desigualdades que garantizan que el problema sea linealmente
separable
3.1 DETECCIN DE OBSTCULOS 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 cuales
dependiendo de las lecturas de los sensores se le dir al robot que hacer
especficamente y luego se probar la red con los casos restantes para comprobar
la capacidad de generalizacin de la red neuronal ante un patrn nunca antes
visto.
Los estados de lecturas de los sensores y de operacin de los motores fueron
designados con 1 y 1, puesto que para la convergencia del proceso de
entrenamiento resulta ms 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 funcin de
transferencia apropiada es hardlims, la cual trabaja con valores bipolares.
Figura 3.1.2 Red tipo Perceptrn
Se crear una red de 4 entradas con una neurona tipo Perceptrn para cada
salida, teniendo as una salida bidimensional, los pesos iniciales aleatorios de la
red se muestran en la tabla 3.1.3
Wi=net.IW{1,1} bi=net.b{1}
S1 S2 S3 S4
M1 0.8636 -0.1627 0.0503 0.3443 M1 1
M2 -0.0680 0.6924 -0.5947 0.6762 M2 1
Tabla 3.1.3 Pesos Iniciales
El siguiente cdigo crea una red tipo Perceptrn con funcin de transferencia
hardlims, dos neuronas en la salida, utiliza como patrones de entrenamiento las
lecturas de los cuatro sensores almacenados en p y como patrones objetivo o
salidas 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 y
salida son:
Wf=net.IW{1,1} bf=net.b{1}
S1 S2 S3 S4
M1 0.8636 -4.1627 0.0503 -3.6557 M1 1
M2 -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 para
comprobar que no exista error en el aprendizaje de los patrones de entrenamiento
y para observar su capacidad de generalizacin 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, como
puede observarse en la tabla 3.1.5
S1 S2 S3 S4 M1 M2
P1 1 1 1 1 -1 -1
P2 -1 1 1 1 -1 1
P3 1 1 -1 -1 1 -1
P4 -1 -1 -1 -1 1 1
P5 1 -1 1 1 1 -1
P6 1 1 -1 1 -1 1
P7 1 1 1 -1 1 -1
Tabla 3.1.5 Simulacin de la red para los Patrones de Entrenamiento
La red fue simulada para las posibles combinaciones restantes obtenindose los
siguientes resultados:
S1 S2 S3 S4 M1 M2
C1 -1 -1 1 1 1 1
C2 -1 1 -1 1 -1 1
C3 1 -1 -1 1 1 1
C4 -1 -1 -1 1 1 1
C5 -1 1 1 -1 -1 -1
C6 1 -1 1 -1 1 -1
C7 -1 -1 1 -1 1 -1
C8 -1 1 -1 -1 -1 1
C9 1 -1 -1 -1 1 -1
Tabla 3.1.6 Simulacin de la red para las nuevas combinaciones
Las combinaciones que no hacan parte del set de entrenamiento, al ser
presentadas a la red fueron aproximadas al patrn del set de entrenamiento
aprendido con menor distancia euclidiana.
Para las combinaciones C1, C2 y C4 la red decidi dar marcha adelante a ambos
motores; para la combinacin C5 la red decidi dar marcha atrs a ambos
motores, para las combinaciones C6, C7 y C9 la red decidi dar marcha adelante
a M1 y marcha atrs a M2 y para las combinaciones C2 y C8 la red decidi dar
marcha atrs a M1 y marcha adelante a M2
Una red tipo Perceptrn de una sola capa es una buena solucin a un problema
que involucre patrones linealmente separables, en el caso de contar con patrones
que no son linealmente separables se tiene la alternativa de utilizar una red
Perceptrn multicapa o cambiar definitivamente de red, ntese que una red
Perceptrn multicapa puede solucionar el problema de separabilidad lineal a
medida que aumenta el nmero de capas de la red.
La capacidad de generalizacin de las redes neuronales juega un papel
importante cuando las posibles combinaciones de patrones de entrada son tantas
que resultara imposible especificarle a un dispositivo que hacer en cada caso,
puesto que la red se entrena con un nmero de patrones representativo y no con
la totalidad de ellos, ahorrando tiempo de computo en la solucin del problema.
En las aplicaciones desarrolladas con redes neuronales juega un papel importante
la tolerancia a fallas que las caracteriza, pues en caso de fallar uno o varios
sensores (como en este caso) la red siempre producir una salida que en la
mayora de los casos es la ms acertada, debido a que la red despus de un
proceso de aprendizaje exitoso est en capacidad de generalizar el
comportamiento del sistema.
3.2 CONTROL DE GIRO DE UN MOTOR DE INDUCCIN DE JAULA DE
ARDILLA
3.2.1 Descripcin del problema:
Un motor de induccin tiene fsicamente el mismo estator de una mquina
sincrnica con diferente construccin de rotor, existen dos tipos diferentes de
rotores de motor de induccin que se pueden colocar dentro del estator, rotor jaula
de ardilla y rotor devanado; para esta aplicacin se estudiar el rotor de jaula de
ardilla, el cual consiste en una serie de barras conductoras colocadas en ranuras
talladas en la cara del rotor y con sus extremos puestos en corto circuito. Este
diseo hace referencia a un rotor de jaula de ardilla, porque los conductores
parecen las ruedas de ejercicio en donde suelen jugar las ardillas o los ratones de
laboratorio, ejemplos de este tipo de motor pueden verse en las figuras 3.2.1.a y
3.2.1.b
Figura 3.2.1.a Corte tpico de un motor jaula de ardilla pequeo
Figura 3.2.1.b Corte tpico de un motor jaula de ardilla grande
En la figura 3.2.2 se muestra un motor de induccin jaula de ardilla, en el un
sistema de voltajes trifsicos ha sido aplicado al estator y un conjunto de
corrientes trifsicas del estator circula en sus embobinados. Estas corrientes
producen un campo magntico Bs, el cual est girando en sentido contrario al de
las manecillas del reloj. La velocidad de rotacin del campo magntico est dada
por
(3.2.1)
Donde es la frecuencia del sistema en Hz y P es el nmero de polos de la
mquina. Este campo magntico rotatorio Bs, pasa sobre las barras del rotor y les
induce un voltaje. El voltaje inducido en una barra de rotor dada se obtiene
mediante la ecuacin
(3.2.2)
Donde v: Velocidad de las barras del rotor con relacin al campo magntico
B: Densidad de flujo magntico del estator
L: Longitud de la barra del rotor
Figura 3.2.2 Desarrollo del momento de torsin en un motor de induccin
El movimiento relativo del rotor con relacin al campo magntico del estator es lo
que produce el voltaje inducido en una barra del rotor. La velocidad de las barras
superiores del rotor, con relacin al campo magntico es hacia la derecha, de tal
forma que el voltaje inducido en las barras superiores estar hacia fuera de la
figura y el voltaje inducido en las varillas inferiores estar hacia adentro de la
figura. Esto determina un flujo de corriente hacia fuera de las barras superiores y
hacia adentro de las barras inferiores, sin embargo como el conjunto del rotor es
inductivo y su corriente pico se atrasa con relacin a su voltaje pico (parte central
de la figura 3.2.2), el flujo de corriente del rotor produce un campo magntico BR.
Por ltimo, como el momento de torsin inducido en la mquina se expresa por:
(3.2.3) el momento resultante es contrario al sentido de las
manecillas del reloj, por lo cual el rotor se acelera en esta direccin.
No obstante, la velocidad del motor tiene un lmite superior finito. Si el rotor del
motor de induccin girar a velocidad sincrnica, entonces sus barras
permaneceran estacionarias con relacin al campo magntico y no habra
induccin de voltaje; si fuera igual a cero, entonces no habra corriente ni campo
magntico en el rotor; sin campo magntico en ste, el momento de torsin
inducido sera cero porque el rotor se frenara como consecuencia de las prdidas
por friccin.
Un motor puede, en esta forma, acelerarse hasta cerca de la velocidad sincrnica,
pero jams podr alcanzar exactamente la velocidad sincrnica.
En esta aplicacin sugerida en Delgado [8], se requiere entrenar una red neuronal
que sintetice el accionamiento correspondiente a la inversin del sentido de giro
de un motor de las condiciones descritas anteriormente. En la figura 3.2.3 se hace
una representacin grfica de la secuencia de contactos que deben accionarse
para dar paso a una inversin en el giro del motor.
Figura 3.2.3 Diagrama Elctrico y de Contactos
Cada elemento en la figura anterior representa:
F1: Fusible circuito principal
F2: Rel trmico (I1)
K1: Contactor derecha (Q1)
K2: Contactor izquierda (Q2)
S1: Pulsador de paro (I2)
S2: Pulsador izquierda (I3)
S3: Pulsador derecha (I4)
Las ecuaciones lgicas del circuito son:
(3.2.4)
(3.2.5)
Los valores de entrada a la red fueron determinados por Delgado [8] los cuales
cubren las posibles combinaciones de contactores de la figura 3.2.3, de tal modo
que su interconexin determinar el sentido de giro para el motor trifsico. Los
estados de cada uno de los contactores se agrupan en la tabla 3.2.1, en donde 1
representa el contactor se encuentra activo y 1 representa que el contactor est
inactivo.
P P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 P11 P12
I1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
I2 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1 1
I3 -1 -1 -1 -1 1 1 1 1 -1 -1 -1 -1
I4 -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 P25
I1 -1 1 -1 -1 1 1 1 1 1 1 1 1 1
I2 1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 1
I3 1 1 1 1 -1 -1 -1 -1 1 1 1 1 -1
I4 -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 para
determinar el estado de giro en que se encuentra el motor al momento de
accionamiento para cambio. Este sensor es necesario para determinar si el
cambio debe realizarse o no, es decir, si dada una configuracin cualquiera el
motor se encuentra girando hacia la derecha y el contactor Q1, que da la orden de
cambiar a derecha y que para la red neuronal es representada por un 1, es
accionado, la red no tendr que dar al motor ninguna orden de cambio; si por el
contrario para esta misma configuracin es accionado el contartor Q2, que da la
orden de cambiar a izquierda y que para la red es representado por 1, la red
inmediatamente debe dar la orden de cambio de giro, y el motor debe pasar de
girar hacia la derecha a girar hacia la izquierda.
Siendo 1 el valor que representa el giro del motor por derecha y 1 el valor que
representa el giro por izquierda, los valores esperados de salida se visualizan en
la 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
-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 INDUCCIN DE JAULA DE
ARDILLA
3.2.2 Justificacin del tipo de red:
En Ingeniera Elctrica hay muchos tipos de problemas cuya solucin depende
solo de dos estados: on - off, si - no, 1-0, alto - bajo, o como en el caso que se
estudia izquierda - derecha, este tipo de problemas divide el espacio solucin en
dos regiones, cada una de ellas limitada por un hiperplano que determina el lmite
donde empieza una y termina la otra.
La regla de aprendizaje del Perceptrn, es hbil para dividir el espacio de entrada
en dos regiones, ms que una lnea existe un hiperplano que separa fsicamente
el espacio en cada una de las categoras de entrada, matemticamente este
hiperplano se expresa as:
(3.2.6)
Los problemas que permiten que un hiperplano de estas caractersticas separe
sus categoras de entrada en dos regiones diferentes son llamados problemas
linealmente separables y pueden ser solucionados por una red tipo Perceptrn.
Expresar los datos de la tabla 3.2.1 grficamente para saber si los valores de
entrada a la red son linealmente separables, es imposible debido al orden de estos
datos los cuales generan una grfica en R
5
, as que es necesario emplear la
tcnica alternativa del captulo 2, en la cual por medio de desigualdades se
determina la separabilidad lineal de un conjunto de vectores dados y se
comprueba la factibilidad de emplear una red Perceptrn en su solucin.
3.2 CONTROL DE GIRO DE UN MOTOR DE INDUCCIN DE JAULA DE
ARDILLA
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 de
entrada a la red se emplearon los datos de la tabla 3.2.1, y sus salidas asociadas
corresponden a la tabla 3.2.2.
La red fue generada por medio de la funcin newp, de acuerdo a la sintaxis
referida en el anexo 1 y escogiendo la funcin de transferencia hardlims de
acuerdo 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 el
valor inicial para la ganancia b, se escogi arbitrariamente como 1
net.IW{1,1}=rands(1,5);
net.b{1}=[1];
Los comandos bsicos para entrenar una red Perceptrn se presentan a
continuacin; mediante los valores fijados se logr un buen desempeo 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 parmetros de la red finalizada el proceso de
entrenamiento
El error entregado por esta red fue cero, demostrando no slo la efectividad de la
red tipo Perceptrn para clasificar patrones linealmente separables, sino su
facilidad de implementacin, ya que slo requiere tener clarificados la naturaleza
de los datos de entrada a la red y la respuesta asociada a cada uno de ellos.
3.3 FILTRO ADAPTIVO
3.3.1 Descripcin del problema:
Sin duda la principal aplicacin de la red Adaline est en el campo del
procesamiento de seales, en concreto para el diseo y realizacin de filtros que
eliminen el ruido de seales portadoras de informacin. Como filtro adaptivo se ha
utilizado sta red en numerosas aplicaciones, destacndose su uso en filtros de
ecualizacin adaptivos en modems de alta velocidad y canceladores adaptivos del
eco para filtrado de seales en comunicaciones telefnicas de larga distancia y
comunicaciones va satlite. Una de las primeras aplicaciones de redes
neuronales que tuvo xito en la industria fue el Adaline para la eliminacin de ecos
en circuitos telefnicos.
Por otro lado, los filtros adaptivos se pueden usar para predecir el valor futuro de
una seal a partir de su valor actual basndose en un aprendizaje en el que se
emplea como entrada el valor retardado de la seal actual y como salida
esperada, el valor actual de la seal, el filtro intentar minimizar el error entre su
salida y la seal anterior. Una vez el filtro predice correctamente la seal actual,
basndose en la seal anterior, se puede utilizar directamente la actual como
entrada sin el retardo, el filtro realizar una prediccin del valor futuro de la seal.
Otro ejemplo es el filtro adaptivo utilizado para modelar las respuestas de un
sistema basndose en las seales de entrada, en este caso las entradas al filtro
son las mismas que las del sistema, ajustando los pesos durante el aprendizaje en
funcin de la diferencia entre su salida y la del sistema, ste ser el modelo de
filtro adaptivo utilizado en esta aplicacin.
Existen sistemas en los cuales es posible determinar la fuente de ruido, por
ejemplo cuando son los mismos elementos de medicin los que introducen
seales de ruido a la seal original; este ruido es ocasionado por los niveles de
voltaje y de frecuencia del sistema alimentador de los aparatos, el cual es
imprescindible en el proceso.
En la presente aplicacin, una seal de ruido ha sido introducida por los cables de
conexin de los aparatos y se ha mezclado con la seal que se desea medir, lo
que en este caso es crtico, ya que no se conoce la forma exacta de la seal de
inters y por tanto no es posible determinar cul debe ser la seal correcta de
salida.
Aprovechando que la fuente de ruido ha sido completamente determinada, se
utilizar este conocimiento para implementar un procedimiento de filtrado que por
medio de un filtro adaptivo permita recuperar la seal original.
La figura 3.3.1, es un esquema de la disposicin que se dar al filtro dentro del
contexto general que se ha dispuesto para solucionar el problema. Las variables
son:
Figura 3.3.1 Diagrama de Bloques de un filtro adaptivo
s: Seal de inters, es decir es la seal que se desea medir, aunque se conoce su
naturaleza, su forma es indeterminada.
v: Fuente de poder de los instrumentos de medida, por sus caractersticas de
potencia y frecuencia es una fuente de ruido.
m: La seal v, es indispensable en el proceso de medicin ya que sin ella los
aparatos de medida no funcionaran; v es la fuente detectada de ruido, pero su
contribucin se limita a la parte inducida en los cables de conexin, que se
convierten en el camino de contaminacin; de esta forma la seal m es la fuente
de ruido que afecta realmente la seal original s.
t: Seal resultante de la suma de la seal de inters s y de m que es el porcentaje
efectivo de ruido que afecta la medicin.
a: Salida del filtro.
e: Diferencia entre la seal contaminada t y la seal que entrega el filtro adaptivo,
si el filtro realiza un buen trabajo, esta seal debe ser la seal restaurada sin ruido.
Durante el proceso de aprendizaje la seal e servir como referencia para
determinar el desempeo del filtro.
La seal v es una seal por lo general de 60Hz, que en este caso alimenta el filtro
adaptivo, los parmetros del filtro deben ajustarse para minimizar la seal de error
e, de esta forma y de acuerdo con el esquema de la figura 3.3.1 podra pensarse
que la salida esperada del filtro a es la seal contaminada t, pero debe recordarse
que la nica fuente efectiva de ruido es la seal mpor lo tanto, lo que realmente
se espera del filtro es que reproduzca slo la parte de t que afecta la medicin (t=
s+m), o sea m. Por consiguiente la salida del filtro a debe ser cada vez ms
cercana a mpara que la seal de error e, se aproxime a la seal no contaminada
s.
La entrada al filtro es el valor de la fuente de ruido, que en este caso se asumir
como una seal senoidal uniformemente distribuida entre -0.2 y 0.2 para
conservarla dentro de lmites observables; la frecuencia de la onda es de 60 Hz, y
la frecuencia de muestreo es de 180 Hz.
(3.3.1)
El estudio de los procesos de filtrado se ha basado en un anlisis en el dominio de
la frecuencia, determinado por las series de Fourier, as para un sistema de filtrado
dado, una seal de entrada que produce una salida caracterstica del
sistema en el dominio del tiempo, se obtendr un anlogo en el dominio de la
frecuencia tal que, F(w) producir una seal de salida F(w)H(w).
En la figura 3.3.2, se observa como el sistema acta como un filtro de las
diferentes componentes de frecuencia. Para garantizar que el filtrado sea exitoso,
el filtro debe atenuar igualmente todas las componentes de frecuencia, la
respuesta debe ser una rplica de la seal de entrada no en magnitud, pero si en
forma; en general puede haber un retraso de tiempo asociado con esta rplica, por
lo tanto, se habr filtrado exitosamente una seal , si la respuesta es
; la respuesta es una rplica de la entrada con magnitud k veces la
seal original y un retraso de t0 segundos.
Figura 3.3.2 Representacin de un sistema de filtrado en el dominio del tiempo y
en el dominio frecuencial
Para el filtro adaptivo v(t) es la seal de entrada al filtro y la respuesta debe ser
que en el dominio de la frecuencia, equivale a desfasar la funcin
original 90
0
y multiplicarla por un factor k, el cual se escogi como 1/10 para
simplificar el proceso de visualizacin.
Como se indic anteriormente, la salida del filtro debe ser la seal m para que al
final del proceso pueda obtenerse la seal restaurada, por lo tanto la forma de la
seal m ser:
(3.3.2)
Para tener una idea clara de la relacin entre m y v, la figura 3.3.3 ilustra la
proporcin de la seal original de ruido y de la seal efectiva de ruido que afecta la
medicin.
En la grfica de la parte superior de la figura 3.3.3, se ve como v es una seal
senoidal de magnitud 1.2, mientras que la grfica inferior muestra la seal m que
alcanza solo la dcima parte de v con una magnitud de 0.12 y desfasada 90
0
con
respecto a la seal v, stas dos ondas representan los patrones de entrenamiento
de la red, siendo v la entrada y m la salida deseada.
Figura 3.3.3 Seal original de ruido y seal que afecta el proceso de medicin
3.3 FILTRO ADAPTIVO
3.3.2 Justificacin del tipo de red
Como puede notarse, la red Adaline tiene la estructura bsica del Perceptrn, la
diferencia es que su funcin de transferencia es del tipo lineal, pero por poseer
una estructura similar presenta la misma limitacin de la red tipo Perceptrn de
poder resolver solo problemas linealmente separables.
A pesar de sus limitaciones innatas, la red Adaline es ampliamente usada en los
procesos de filtrado combinndola con retardos en lnea a su entrada, que
mejoran 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 seal original, ya que
este es precisamente el propsito de la medicin, un filtro adaptivo se hace
bastante til, pues como su nombre lo dice se adapta a cualquier forma de seal
que se le presente, sobrepasando as las limitaciones de los filtros tradicionales.
FILTRO ADAPTIVO
3.3.3 Entrenamiento de la red:
El objetivo del algoritmo diseado en Matlab es lograr obtener la seal m a la
salida del filtro, minimizando el error medio cuadrtico hasta reproducir una buena
copia de la seal original s.
La red es creada con la funcin de las herramientas de redes neuronales newlin,
que genera una nueva red tipo Adaline, a la cual se le han introducido cuatro
retardos, para conformar el filtro adaptivo que filtrar la seal de entrada. El valor
de los retardos fue escogido por prueba y error, escogiendo aquel nmero que
presentar un mejor rendimiento para la red.
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 inicializados
aleatoriamente, con ayuda de la funcin 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 obtuvieron
evaluando la ecuacin (3.3.1) para valores desde hasta . La red se
entren para 5000 iteraciones, mediante las cuales el filtro logr una excelente
aproximacin de la funcin 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 verse
en la siguiente tabla:
1 2 23 51 52 78 101
Entrada a la
red (v)
0.6967 1.1345 .... 1.1926 .... 0.2119 0.8583 .... -1.1165 .... -0.3137
Valor
esperado
(m)
0.0561 -0.0159 .... -0.0653 .... 0.0961 0.0365 .... 0.0107 .... 0.1176
Valor
entregado
(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 seal
original y la seal restaurada, que permiten comprobar las bondades del filtro
adaptivo.
En la figura 3.3.5 se observa como la seal e (verde) reproduce la seal original s
(naranja) logrando una excelente aproximacin, a partir de la cual puede
retomarse el proceso de medicin, pues en este punto cualquier tratamiento que
se le haga a la seal de inters es altamente confiable, ya que sta se encuentra
libre de ruido.
Figura 3.3.5 Seal recuperada por el filtro
Al final del proceso iterativo el mximo error entregado por la red equivale a 1.41e-
07, este es un valor bastante aceptable teniendo en cuenta que el error
difcilmente ser cero, puesto que el algoritmo LMS emplea un valor aproximado
para el gradiente, que como se dijo en el captulo 2 recibe el nombre de gradiente
instantneo, en lugar del valor real para realizar la actualizacin de los pesos; este
valor del gradiente es una versin distorsionada del verdadero gradiente que
ocasionar que los pesos sigan variando suavemente, a pesar de que el error
medio cuadrtico haya alcanzado el mnimo valor posible.
Es importante diferenciar entre el valor del error del filtro adaptivo, el cual mide su
desempeo y corresponde al error medio cuadrtico descrito anteriormente, y e la
seal de error del sistema en general, con la cual se espera reproducir la seal
original sin contaminacin s, trabajo que depende a su vez del desempeo del
filtro.
En esta red todos los parmetros estn muy ligados, por ejemplo en el esquema
general de la figura 3.3.1 se observa como la salida e (correspondiente a la
diferencia entre a la salida del filtro y m la seal que se esperaba que este
entregar para poder reproducir la seal original s a la salida del sistema),
realimenta el filtro adaptivo convirtindose en un factor decisivo en el proceso de
actualizacin de los pesos de la red, por otro lado la dimensin del vector de
pesos tiene una influencia directa en el tiempo necesario de entrenamiento, por lo
que generalmente se debe tomar un compromiso entre este aspecto y la
aceptabilidad de la solucin (normalmente se mejora el error aumentando el
nmero de pesos).
El valor del parmetro tiene una gran influencia sobre el entrenamiento. Si es
demasiado grande, es posible que la convergencia no se produzca debido a que
se darn altos en torno al mnimo sin alcanzarlo. Si es demasiado pequeo, se
alcanzara convergencia pero a costa de una etapa
3.4 PREDICCIN DE CONSUMO DE CARGA
3.4.1 Descripcin del problema
Un sistema de energa elctrica debe abastecer de energa a todos los puntos de
carga con una buena calidad del servicio. Por lo tanto un sistema elctrico
confiable, el cual asegura buena calidad, debe contar con las siguientes
caractersticas:
Entregar energa en forma continua a todos los puntos de carga.
Los lmites de la frecuencia y la tensin deben estar dentro de valores
tolerables.
El sistema debe operar en la medida de lo posible, con costos mnimos y
con un mnimo de alteraciones ambientales o ecolgicas.
Estas caractersticas pueden adquirirse por medio de una planeacin exhaustiva
del sistema, que permita conocer no solo su estado actual, sino tambin las
medidas que deben adoptarse para condiciones futuras.
Una de las herramientas tiles en el planeamiento de un sistema elctrico es la
prediccin del consumo de carga, la cual permite conocer de antemano la
necesidad de expansin del sistema; la finalidad de la prediccin siempre ser el
mejoramiento del servicio, convirtindose en uno de los primeros pasos en
cualquier proceso de planeamiento de un sistema elctrico.
Al hablar de prediccin de carga, resulta til aclarar que como carga se asume
todo equipo que demanda energa del sistema de energa elctrica, tales como
lmparas, electrodomsticos, motores elctricos, hornos elctricos, etc. De esta
manera se tienen varios tipos de carga:
Motores en general
Equipos de calentamiento
Equipos electrnicos
Equipo de iluminacin
Desde el punto de vista del sistema de energa elctrica, las cargas pueden ser
separadas en tres (3) grupos funcionales:
Cargas domiciliarias
Cargas industriales
Cargas comerciales
Estas cargas presentan caractersticas muy diferentes con relacin al tamao,
simetra (1 o 3 ), constancia de la carga y el perodo de funcionamiento.
La prediccin de consumo de carga refleja las necesidades futuras de una
poblacin; esta previsin debe ser lo ms ajustada a la realidad, ya que unos
valores inferiores a los reales causaran deficiencias en la prestacin del servicio
en el futuro y un pronstico de necesidades superior al real, motiva la inversin
prematura en instalaciones que no tendrn un aprovechamiento inmediato.
La proyeccin del suministro de energa se hace con base en el consumo,
aplicando porcentajes de prdidas que pueden obtenerse de un anlisis de los
registros histricos (que normalmente se presentan en forma estadstica), o por
similitud con otros sistemas. En general las prdidas tienden a disminuir a causa
de las mejoras progresivas, que se introducen en los sistemas de transmisin,
subtransmisin y distribucin. En forma similar al consumo de energa, la
proyeccin de la demanda pico se obtiene sumando las demandas mximas
coincidentes en hora pico [37].
En la tabla 3.4.1 se observa el comportamiento tpico de consumo de carga de una
poblacin, a la cual se realiz un seguimiento hora a hora durante una semana. Se
ha tomado el da lunes como 1 y en su orden el da domingo como 7, se asumi la
una de la maana como la hora 0 y las doce de la noche como la hora 23. Los
datos correspondientes al consumo de la poblacin 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
Mircoles 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
Sbado 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
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
Mircoles 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
Sbado 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 poblacin durante una semana
Estos datos son una recopilacin de un promedio histrico de diferentes aos, del
consumo de la poblacin escogida como muestra, con ellos podemos determinar
la tendencia del consumo de los usuarios de esta poblacin. El objetivo es
entrenar una red neuronal que aprenda los datos anteriores y a partir de ellos est
en capacidad de predecir lo que suceder en cualquier da de la semana a una
hora determinada en aos futuros.
El comportamiento de estos usuarios se visualiza en la figura 3.4.1, en donde
puede notarse las tendencias que pueden llegar a causar congestin en la central
en caso de no preverse con anticipacin:
Figura 3.4.1 Curvas de Carga
3.4 PREDICCIN DE CONSUMO DE CARGA
3.4.2 Justificacin del tipo de red:
El algoritmo Backpropagation es un algoritmo de aprendizaje supervisado, el cual
necesita conocer cual es la salida esperada (columnas interiores de la tabla 3.4.1)
asociada a cada una de las entradas (columnas referentes al da y a la hora en la
tabla 3.4.1), que actualiza pesos y ganancias siguiendo la regla de pasos
descendientes descrita en la seccin 2.3.3
(3.4.1)
(3.4.2)
Una de las mayores ventajas de las redes multicapa, y en especial de la red
Backpropagation, es que pueden aproximar cualquier funcin si se escoge una
adecuada configuracin para la red [16] y un adecuado nmero de neuronas en la
capa oculta, escogencia que depende de la experiencia del desarrollador de la
red. La red Bakcpropagation es un excelente aproximador de funciones, aunque
es imposible determinar una configuracin exacta de la red para cada aplicacin.
El proceso de aprendizaje no es fijo para ninguna red neuronal, el xito consiste
en probar con diferentes configuraciones hasta obtener la respuesta deseada;
para esta aplicacin se escogi una red 2:12:8:1, es decir que para un vector de
entrada de dos dimensiones y esperando una sola salida de red, se tienen 12
neuronas 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 las
caractersticas de los datos de entrada y salida de la red. All puede verse que es
necesario ingresar a la red el da y la hora para los cuales se desea conocer el
valor de demanda pico de acuerdo a la convencin de la tabla 3.4.1, las
condiciones de entrada a la red pueden ser tan complejas como se quiera, es
decir, la entrada puede convertirse fcilmente en un vector de cuatro componentes
que incluya adems del da y la hora, el mes y el ao para los cuales se requiere
predecir el valor de demanda; existen tambin otras opciones como convertir la
entrada en un vector de tres componentes donde se incluya hora, da y tipo de
carga para el cual se desea prever el consumo.
La eleccin de los patrones de entrada debe realizarse dependiendo de las
necesidades explcitas que se tengan en el momento de hacer la prediccin de
carga, de la forma en que vaya a procesarse la informacin de salida de la red y
de la cantidad y calidad de la informacin disponible.
Figura 3.4.2 Red Backpropagation 2:12:8:1 para prediccin del consumo de carga
Cualquier cambio que se realice en los patrones de entrenamiento exige una
codificacin diferente del vector de entrada y a su vez cambia las condiciones
generales de la red, pero el proceso de entrenamiento sigue siendo igual. En esta
aplicacin se utiliz la configuracin de la figura 3.4.2 porque el objetivo es mostrar
el funcionamiento general de una red Backpropagation, mostrando las bondades
de este tipo de red para aproximar funciones (en este caso las curvas de carga de
la poblacin en estudio) y su gran capacidad para predecir comportamientos
futuros de patrones nunca antes presentados en la etapa de aprendizaje.
3.4 PREDICCIN DE CONSUMO DE CARGA
3.4.3 Entrenamiento de la red
El cdigo de entrenamiento para esta red, es desarrollado con base en la
herramienta de redes neuronales del Matlab. La red es creada mediante el
comando newff para creacin de redes Backpropagation, con las siguientes
caractersticas:
net=newff([0 1;0 1],[12,10,1], {tansig,tansig,purelin},trainlm);
Los valores de iniciacin de la matriz de pesos se generaron aleatoriamente;
despus de varias pruebas, los parmetros que determinan el entrenamiento se
fijaron 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 explicacin del significado de los comandos anteriores, puede encontrarse en
el anexo A.
Los valores de entrada a la red se agruparon en el vector de dos entradas p, (tabla
3.4.1), las cuales describen el da y la hora en que desea saberse el valor de
consumo. La red se entren solo con 180 valores de entrada de los 206 que
conforman todo el set de entrenamiento, estos valores fueron normalizados
porque de esa forma se obtuvo una mejor generalizacin de la red en el proceso
de aprendizaje; el proceso de normalizacin consiste en dividir cada uno de los
valores de demanda de la tabla 3.4.1 por el valor de demanda mximo, de tal
forma que el mayor valor de entrada a la red ser uno:
El valor esperado, el valor de la potencia pico en un instante determinado, es
representado por el escalar t
t=t;
[net,tr]=train(net,p,t);
Los restantes 26 valores de los patrones de entrenamiento se tomaron como
valores de prueba del rendimiento de la red y se agruparon en el vector p1, siendo
t1 el vector de salidas esperadas.
p1=p1;
a = sim(net,p1);
Luego de varias iteraciones el error cay por debajo de 2x10
-5
, el desempeo del
error medio cuadrtico puede observarse en la figura 3.4.3.
Figura 3.4.3 Iteraciones Vs Error en una prediccin de consumo de carga
Los parmetros de la red entrenada se presentan en la tabla 3.4.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
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 simulacin de la red; los
valores de a1 corresponden a los valores entregados por al red y los valores de t1
corresponden 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
emx= emin =
0,0035 1,19E-04
Tabla 3.4.3 Valores de la simulacin
Los comandos, que evaluaron el desempeo de la red son los siguientes, con
ellos se calcul el error en la simulacin
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 de
aproximacin que realiza. Ilustrar el resultado para todos los patrones de prueba
resulta un poco extenso, por lo tanto se escogieron los patrones ms
representativos, donde puede verse que sin ningn problema la red ha
aproximado patrones que no se le haban 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 ms significativo equivale a
0.0035, es decir 3.5kW, valor muy aceptable teniendo en cuenta la disparidad de
los datos de entrada, ya que como se observa de la figura 3.4.1 la poblacin tiene
un comportamiento bastante aleatorio, pues aunque se conserva la forma de
onda, indicando que el comportamiento es similar todos los das de la semana, los
valores de la demanda pico son muy diferentes cada da
Despus de probar los algoritmos traingd, traingda, (ver anexo A) se comprob
que el algoritmo trainlm, correspondiente al mtodo de Levenberg Marquardt
garantizaba una alta velocidad de aprendizaje y una excelente generalizacin de
los patrones de entrenamiento que no se le haban presentado inicialmente, y por
eso se escogi para completar el proceso de entrenamiento.
El proceso de entrenamiento, involucr experimentar con muchos tipos de redes
tratando de encontrar no solo una configuracin ptima, si no tambin un algoritmo
que adems de rapidez garantizara estabilidad en el resultado final. La red
escogida en la figura 3.4.2 es bastante robusta e involucra un gran nmero de
parmetros (149 en total), sin embargo alcanz convergencia en menos tiempo
que otras redes escogidas en las cuales se trabaj con una sola capa oculta
compuesta por un gran nmero de neuronas, de esta forma se confirma que no
existe un procedimiento establecido para determinar el modelo de red que debe
emplearse en cada aplicacin y que slo con la prctica puede determinarse cul
es la configuracin de red que garantiza mejores resultados, esta aparente
dificultad de las redes neuronales puede aprovecharse para resaltar una de sus
grandes ventajas: La adaptabilidad de esta teora a diferentes lenguajes de
programacin, de tal forma que con unos pocos comandos los parmetros de la
red pueden ser transformados sin mayor problema, adoptando una configuracin
totalmente diferente.
Redes con el tipo de estructura, como la utilizada en esta aplicacin pueden
emplearse para predecir la necesidad de una reconfiguracin del sistema en un
da y una hora especfica. Es posible tambin que los resultados de una red como
sta, se utilicen para adoptar estrategias de restauracin del servicio en diferentes
horas y diferentes das, pues al conocer los valores de demanda es fcil
determinar comportamientos crticos 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 una
prediccin de consumo de carga, pueden derivarse fcilmente de sta adaptando
el cdigo fuente a los patrones con los que se desea realizar la prediccin, as
como se mencion anteriormente, lo nico necesario es variar la estructura del
vector de entrada p adecundolo a la cantidad de entradas que se vayan a
ingresar (hora, da, mes, ao, tipo de carga) a la red y tambin establecer con
claridad que tipo de informacin de salida se espera dependiendo del propsito de
la prediccin.
3.5 CONTROL DE VOLTAJE POR INYECCIN DE REACTIVOS EN UNA BARRA
REMOTA
3.5.1 Descripcin del problema: El objetivo de un sistema de potencia es
suministrar a las barras de carga, potencia activa y reactiva para su consumo
conservando los niveles de voltaje dentro de los lmites establecidos. Sin embargo
los niveles de tensin en las barras estn determinados por las condiciones del
sistema, no obstante es posible realizar un control en el nivel de tensin
inyectando reactivos en una barra remota, para de este modo controlar los niveles
de tensin. Cuando se desea especificar el nivel de voltaje en una barra de carga
PQ, sta barra se declara como tipo PQV, la barra donde se inyecta potencia
reactiva que generalmente es de tipo PV se declara como tipo P.
Las ecuaciones bsicas que describen el flujo de carga en un sistema de potencia
son las siguientes:
(3.5.1)
(3.5.2)
Para Nmero de barras del sistema
La solucin de las ecuaciones de flujo de potencia generalmente se realizan por el
mtodo de Newton-Raphson, donde se calculan las derivadas de P y Q de las
ecuaciones (3.5.1) y (3.5.2) respecto a las variables V y . El sistema de
ecuaciones no lineales en forma matricial se describe en la ecuacin 3.5.3, donde
el Jacobiano del sistema es la matriz despus de la igualdad.
(3.5.3)
Para la solucin de flujo de potencia cada barra aporta distintas ecuaciones e
incgnitas segn su tipo, como se puede ver en las tablas 3.5.1 y 3.5.2
Barra tipo PV
Ecuacin:
Incgnita:
Barra tipo PQ
Ecuaciones:
Incgnitas: ,
Tabla 3.5.1 Ecuaciones e incgnitas barras, tipo PV y PQ
Cuando se desea realizar control de voltaje por inyeccin de reactivos en una
barra remota, las barras tipo P y PQV proporcionan las siguientes ecuaciones:
Barra tipo P o de Control
Ecuacin:
Incgnitas: ,
Barra tipo PQV o Controlada
Ecuaciones:
Incgnita:
Tabla 3.5.2 Ecuaciones e incgnitas barras tipo P y PQV
En resumen las ecuaciones e incgnitas que aporta cada tipo de barra se sintetiza
en el grupo de ecuaciones (3.5.4).
(3.5.4)
Dnde: Nmero de barras con control remoto de voltaje. ,
Nmero de barras tipo PQ y PV respectivamente
Esta aplicacin se llevar a cabo en un sistema de tres barras donde la barra 1 es
una barra slack o de compensacin V, la barra 2 es una barra tipo P, desde donde
se pretende controlar por inyeccin de reactivos el voltaje de la barra 3, la cual es
una barra tipo PQV.
Figura 3.5.1 Sistema de 3 barras
El sistema tiene como potencia base Sb=100MVA y voltaje base Vb=230kV, el
voltaje en el nodo slack se mantendr en V1=1.015p.u.
Las ecuaciones no lineales que describen el comportamiento del flujo de potencia
en el sistema de tres barras en forma matricial son las siguientes:
(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 clculo se realiza de forma iterativa, cuando el sistema de
ecuaciones ha convergido por debajo del error deseado se obtiene V2, de las
condiciones iniciales del flujo de carga se tienen V1 y V3 y con estos datos se
calcula la potencia reactiva inyectada en la barra 2 (Q2), que satisface las
condiciones impuestas en la barra 3.
(3.5.16)
Los datos de las lneas en p.u. son:
Z serie Y/2 paralelo
1-2 0.0229+j0.0400 j0.036
2-3 0.0118+j0.0333 j0.027
3-1 0.0046+j0.0267 j0.040
Tabla 3.5.3 Datos de las lneas del sistema de tres barras
Y bus en p.u.
1 2 3
1 17.04606-j55.12630 -10.77946+j18.82875 -6.26660+j36.37354
2 -10.77946+j18.82875 22.37953-j41.94710 -12.60006+j23.18134
3 -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 INYECCIN DE REACTIVOS EN UNA
BARRA REMOTA
3.5.2 Justificacin del tipo de red: El problema de flujos de potencia est regido
por ecuaciones no lineales, las cuales segn lo demostrado por Funahashi[16]
pueden ser aprendidas por una red multicapa, en esta publicacin el autor
demuestra que siempre existe la red neuronal apropiada; este teorema es solo de
existencia pues prueba que la red existe pero no indica cmo construirla ni
tampoco garantiza que la red aprender la funcin.
La red neuronal de propagacin inversa o Backpropagation es una generalizacin
para redes multicapa del algoritmo LMS. Ambas utilizan la tcnica del error medio
cuadrtico, pero la red Backpropagation es ms ampliamente utilizada para
aproximacin de funciones en especial no lineales.
3.5 CONTROL DE VOLTAJE POR INYECCIN DE REACTIVOS EN UNA BARRA
REMOTA
3.5.3 Entrenamiento de la Red utilizando como entradas P3, Q3 y V3; para
obtener Q2 utilizando 10 neuronas en la capa oculta
Figura 3.5.2 Red neuronal en configuracin 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, P3
y 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 lineales
que describen el comportamiento del sistema por el mtodo de Newton-Raphson
considerando variaciones de V3, P3, Q3; cada variable se increment segn lo
mostrado en la tabla 3.5.3; se mantuvieron constantes el voltaje en el nodo slack
V1=1.015p.u. y la potencia activa demandada en la barra dos, P2=0.7p.u.
Valor
Inicial
Valor
Final
Incremento
V3 0.997 1.015 0.003
P3 0.700 0.850 0.030
Q3 0.250 0.400 0.030
Tabla 3.5.5 Patrones de entrenamiento
De estas variaciones se obtuvieron 252 combinaciones que conforman el vector
de patrones de entrenamiento p, que generan a su vez igual nmero de patrones
objetivos 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
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 funcin initlay que calcula los
pesos 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 y
luego 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.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 RNs
Los valores de prueba que se encuentran en negrilla se encuentran por fuera del
rango de entrenamiento y buscan probar la capacidad de extrapolacin de la red,
la mayora de los datos de prueba que se encuentran dentro del rango de
entrenamiento no coinciden exactamente con el valor utilizado en el entrenamiento
para probar la capacidad de interpolacin de la red.
3.5.3 Entrenamiento de la Red utilizando como entradas P3, Q3 y V3; para
obtener Q2 utilizando 10 neuronas en la capa oculta
Entrenamiento utilizando el algoritmo trainrp
El siguiente cdigo entrena una red neuronal con 3 entradas, 10 neuronas en la
capa oculta y 1 en la capa salida, utilizando la funcin de aprendizaje trainrp (Ver
Anexo 1) y como objetivo un error medio cuadrtico 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 cuadrtico objetivo fue fijado en 6x10
-6
, puesto que con la variacin
de los distintos parmetros no fue posible alcanzar un valor inferior; los mejores
resultados se obtuvieron para una rata de aprendizaje de 0.03, para esta red un
valor superior causa serias inestabilidades lo que a su vez ocasiona un proceso de
aprendizaje bastante pobre (la red generaliza de manera incorrecta) y un valor
inferior produce un aprendizaje bastante lento.
La figura 3.5.3 muestra la evolucin del error medio cuadrtico a travs de 50000
iteraciones hasta alcanzar el error deseado.
Figura 3.5.3 Error medio cuadrtico utilizando trainrp
Luego de 50000 iteraciones el error medio cuadrtico 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
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 respuesta
producida 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 Simulacin de la RN con los patrones de prueba
Los errores ms altos se presentaron en los patrones de prueba 4 (2), 12 (1), 14
(3) y 15 (3), donde los valores entre parntesis son el nmero de datos
extrapolados del set de entrenamiento; algunos resultados son muy prximos a los
valores que produciran las ecuaciones de flujo de carga que describen el
comportamiento del sistema, pero en general el aprendizaje fue muy lento (50000
iteraciones) y la aproximacin es muy deficiente.
3.5.3 Entrenamiento de la Red utilizando como entradas P3, Q3 y V3; para
obtener Q2 utilizando 10 neuronas en la capa oculta
Entrenamiento utilizando el algoritmo trainbfg
El siguiente cdigo entrena una red neuronal con 3 entradas, 10 neuronas en la
capa oculta y 1 en la salida, utilizando la funcin de aprendizaje trainbfg (Ver
Anexo 1) y como objetivo un error medio cuadrtico de 1.35x10
-8
.
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 cuadrtico fue fijado en 1.35x10
-8
, por debajo de este valor la matriz
Jacobiana de esta red se vuelve singular o sin inversa y por este motivo se
presenta un estancamiento en el proceso de aprendizaje, pero antes de que esto
suceda los resultados obtenidos presentan un error medio cuadrtico bastante
pequeo, produciendo una muy buena aproximacin y generalizacin de las
funciones deseadas
La figura 3.5.4 muestra la evolucin del error medio cuadrtico a travs de 1523
iteraciones hasta alcanzar el error deseado.
Figura 3.5.4 Error medio cuadrtico utilizando trainbfg
Luego de 1523 iteraciones el error medio cuadrtico 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 respuesta
producida 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
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 Simulacin de la RN con los patrones de prueba
Como se observa esta red tiene una amplia capacidad de generalizacin tanto
para interpolar como para extrapolar, el error ms grande se produjo en el patrn
de prueba 15 el cual tiene 3 valores extrapolados con respecto al set de
entrenamiento.
3.5.3 Entrenamiento de la Red utilizando como entradas P3, Q3 y V3; para
obtener Q2 utilizando 10 neuronas en la capa oculta
Entrenamiento utilizando el algoritmo trainlm
El siguiente cdigo entrena una red neuronal con 3 entradas, 10 neuronas en la
capa oculta y 1 en la salida, utilizando la funcin de aprendizaje trainlm y como
objetivo un error medio cuadrtico 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 los
mejores resultados de error medio cuadrtico en el menor nmero de iteraciones,
para valores diferentes a esta rata de aprendizaje se obtuvieron valores superiores
en el error medio cuadrtico para el mismo nmero de iteraciones.
No fue necesario fraccionar por submatrices el clculo de la matriz Jacobiana del
algoritmo de entrenamiento, lo cual en algunos casos se hace indispensable por
razones computacionales cuando el conjunto de patrones de entrenamiento es
muy extenso, pues el Jacobiano de este algoritmo tiene dimensiones QxN donde
Q es el nmero de patrones de entrenamiento y N es el nmero de pesos y
ganancias de la red.
La figura 3.5.5 muestra la evolucin del error medio cuadrtico a travs de 601
iteraciones hasta alcanzar el error deseado.
Figura 3.5.5 Error medio cuadrtico utilizando trainlm
Luego de 601 iteraciones el error medio cuadrtico 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
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 respuesta
producida 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 Simulacin de la RN con los patrones de prueba
Como se observa, esta red tiene una amplia capacidad de generalizacin para
interpolar como para extrapolar, los errores ms grandes se produjeron en los
patrones de prueba 4 y 15 los cuales tienen 2 y 3 valores extrapolados
respectivamente con relacin al set de entrenamiento; este algoritmo produjo
resultados tan buenos como los obtenidos con el algoritmo trainbfg pero en menor
nmero de iteraciones y sin problemas de singularidad de la matriz Jacobiana en
el proceso de aprendizaje.
3.5 CONTROL DE VOLTAJE POR INYECCIN DE REACTIVOS EN UNA BARRA
REMOTA
3.5.4 Entrenamiento de la Red utilizando como entradas P3, Q3, V3 y P2; para
obtener Q2 utilizando 12 neuronas en la capa oculta
Figura 3.5.6 Red Neuronal en configuracin 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, P3
Q3 y P2, que son el voltaje, la potencia activa y reactiva deseados en la barra 3 y la
potencia activa demandada en la barra 2. Para generar el set de entrenamiento se
resolvieron las ecuaciones no lineales que describen el comportamiento del
sistema por el mtodo 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, que
generaron a su vez igual nmero de respuestas esperadas t
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 funcin initlay que calcula los
pesos 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
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 y
luego 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.2020
P2 0.5300 0.5500 0.6200 0.6100 0.7580 0.7420 0.6320 0.5840
Q2 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 RNs
Los valores de la tabla 3.5.18 que se encuentran en negrilla se encuentran por
fuera del rango de entrenamiento y con ellos se busca probar la capacidad de
extrapolacin de la red, la mayora de los datos de prueba que se encuentran
dentro del rango de entrenamiento no coinciden exactamente con el valor utilizado
en el entrenamiento para probar la capacidad de interpolacin de la red.
3.5.4 Entrenamiento de la Red utilizando como entradas P3, Q3, V3 y P2; para
obtener Q2 utilizando 12 neuronas en la capa oculta
Entrenamiento utilizando el algoritmo trainbfg
El siguiente cdigo entrena una red neuronal con 4 entradas, 12 neuronas en la
capa oculta y 1 en la salida, utilizando la funcin de aprendizaje trainbfg (Ver
Anexo 1) y como objetivo un error medio cuadrtico 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;
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 nuevo
inconvenientes en la invertibilidad de la matriz Jacobiana del algoritmo en el
proceso iterativo, por lo cual el error medio cuadrtico objetivo fue fijado en 5x10
-8
,
por debajo de este valor la matriz Jacobiana del algoritmo se vuelve singular y
presenta los inconvenientes antes descritos, pero antes de que esto suceda los
resultados obtenidos proveen una muy buena aproximacin.
La figura 3.5.7 muestra la evolucin del error medio cuadrtico a travs de 1066
iteraciones hasta alcanzar el error deseado.
Figura 3.5.7 Error medio cuadrtico utilizando trainbfg
Luego de 1066 iteraciones el error medio cuadrtico cayo por debajo de 5x10
-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 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 respuesta
producida 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
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 Simulacin de la RN con los patrones de prueba.
Como se observa, esta red tiene una amplia capacidad de generalizacin para
interpolar como para extrapolar, los errores ms grandes se produjeron en los
patrones de prueba 4 y 14 los cuales tienen 2 y 3 valores extrapolados
respectivamente en relacin al set de entrenamiento.
3.5.4 Entrenamiento de la Red utilizando como entradas P3, Q3, V3 y P2; para
obtener Q2 utilizando 12 neuronas en la capa oculta
Entrenamiento utilizando el algoritmo trainlm
El siguiente cdigo entrena una red neuronal con 4 entradas, 12 neuronas en la
capa oculta y 1 en la salida, utilizando la funcin de aprendizaje trainlm y como
objetivo un error medio cuadrtico 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);
Despus de realizar varias pruebas, se decidi utilizar una rata de aprendizaje de
0.03, para este valor se obtuvieron los mejores resultados en el entrenamiento de
la red, llegando a un valor muy pequeo en el error medio cuadrtico a travs de
pocas iteraciones.
Como en el caso anterior de entrenamiento con este algoritmo, no fue necesario
fraccionar por submatrices el calculo de la matriz Jacobiana, pues los patrones de
entrenamiento y el nmero de parmetros de la red son estrictamente los
necesarios
La figura 3.5.8 muestra la evolucin del error medio cuadrtico a travs de 362
iteraciones hasta alcanzar el error deseado.
Figura 3.5.8 Error medio cuadrtico utilizando trainlm
Luego de 362 iteraciones el error medio cuadrtico 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
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 respuesta
producida 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 Simulacin de la RN con los patrones de prueba
De la tabla 3.5.22 se observa que esta red tiene una amplia capacidad de
generalizacin para interpolar como para extrapolar, los errores ms grandes se
produjeron en los patrones de prueba 4 (2), 14 (3) y 15 (3) donde los valores entre
parntesis son el nmero de datos extrapolados en relacin con el set de
entrenamiento; este algoritmo produjo resultados tan buenos como los obtenidos
con el algoritmo trainbfg pero en menor nmero de iteraciones y sin problemas de
singularidad de la matriz Jacobiana en el proceso de aprendizaje.
Para entrenar una red neuronal se bebe invertir cierta cantidad de tiempo en la
eleccin del tipo de red, conjunto de patrones de entrenamiento, topologa de la
red, proceso de entrenamiento; la inversin de esta cantidad de tiempo se ve
recompensada cuando la red ha sido entrenada, pues la velocidad de la respuesta
de la red es muy grande y la confiabilidad en las respuestas es muy alta
Los sistemas de potencia poseen diferentes tpicos en los cuales se dificulta la
solucin de las complejas ecuaciones que los describen, una red neuronal
entrenada correctamente con abundante y representativa informacin puede
controlar las condiciones de operacin de un sistema de potencia, con la precisin
y acierto de un operador experto
Utilizando redes neuronales se podran entrenar dispositivos inteligentes para
lograr despacho econmico en mercado abierto y obtener flujos ptimos en el
sistema de potencia sin necesidad de recurrir a resolver el sistema de ecuaciones
no lineales que describen este de difcil solucin.
3.6 RECONFIGURACIN DE UN ALIMENTADOR PRIMARIO DE CATORCE
NODOS
3.6.1 Descripcin del problema:
En la figura 3.6.1 vemos el sistema de distribucin que ser analizado en este
ejemplo, el sistema cuenta con tres alimentadores, 14 barras, 13 ramas del rbol y
3 ramas de enlace.
Figura 3.6.1 Sistema de 14 nodos
Cada uno de los nodos representa la carga concentrada como una inyeccin de
potencia, o la divisin de diferentes ramas y/o ubicacin de un seccionador.
Las ramas o lneas continuas interconectan los nodos, transportando la energa
demandada y conformando as el rbol; para completar el sistema las lneas
punteadas representan lneas desenergizadas formando el corbol.
Cuando una rama del rbol se intercambia con una rama del corbol, conservando
la estructura radial, la topologa del sistema cambia, y a esta maniobra se le llama
reconfiguracin de la red de distribucin.
Bajo condiciones de operacin normal la reconfiguracin es til para balancear
cargas, evitando sobre corrientes en las lneas o sobrecargas en los
transformadores, mejora los niveles de tensin y reduciendo las prdidas de
potencia activa del sistema; ante aumentos de demanda, la reconfiguracin es una
herramienta til en la planeacin y diseo de nuevas configuraciones ptimas.
En este ejemplo el objetivo principal es utilizar la reconfiguracin como una
herramienta para reduccin de prdidas, para ello es necesario correr un flujo de
carga antes y despus de la maniobra, lo que nos permitir conocer los valores de
las prdidas de potencia y comprobar as la eficiencia de la operacin.
Las prdidas de potencia activa totales del sistema pueden calcularse como sigue:
(3.6.1)
Donde:
Pa: Prdidas activas totales del sistema
Pi: Flujo de potencia activa por la rama i
Qi: Flujo de potencia reactiva por la rama i
Vi: Magnitud del voltaje de recibo por la rama i
n : Nmero de ramas del sistema
El objetivo es encontrar una configuracin ptima del sistema de distribucin, es
decir encontrar todas aquellas posibles configuraciones que con base en la figura
3.6.1 minimicen las prdidas; nuestra funcin objetivo (F.O) es entonces:
(3.6.2)
La reconfiguracin ptima debe cumplir con las siguientes restricciones:
Conservar la topologa radial de la red sin que se presenten aislamientos
del 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 -1
Si : Flujo de potencia que sale del nodo i
SLi : Potencia de carga en el nodo i-simo
n : Nmero de nodos del sistema
No sobrepasar las restricciones de voltaje mnimo en la carga
Vi Vi
min
(i=1,2,3...,n) (3.6.4)
Donde:
Vi : Voltaje en el nodo i
Vi
min
: Voltaje mnimo permitido par el nodo i
n : Nmero de nodos del sistema
Cumplir con las especificaciones de carga mxima en los transformadores y
de corriente mxima 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 i
Si
max
: Capacidad mxima de la rama i, o capacidad mxima del transformador i
n : Nmero de ramas del alimentador o nmero de transformadores
En el proceso de encontrar la configuracin ptima, pueden diferenciarse dos
tcnicas, aquellas exhaustivas que estudian todas las combinaciones de estados
del sistema, y otras que proporcionen una ruta heurstica que se acerque de
manera rpida al estado objetivo.
Una heurstica es una tcnica que aumenta la eficiencia de un proceso de
bsqueda, en ocasiones pueden causar que una ruta sea pasada por alto, pero en
promedio, mejoran la calidad de las rutas que exploran. Al usar buenas heursticas
se esperan soluciones a problemas difciles, que aunque no siempre son las
ptimas, podra decirse que son subptimas.
Un gran nmero de las metodologas que se han utilizado para resolver el
problema de la reconfiguracin de alimentadores primarios, se ha basado en
tcnicas heursticas; de estos trabajos se destacan: Cinvalar [7], Baran M.E y Wu
F.F [4], Goswami K.S y Basu S.K [20], Chen C.S y Cho M [6] y Gallego R.[18],
metodologa que se emplear en esta aplicacin.
En la figura 3.6.1, las lneas punteadas representan los enlaces del sistema para
la configuracin inicial. Los datos de la estructura del sistema pueden verse en la
tabla 3.6.1, cuyos valores base son: Vb=23Kv y Sb=100MVA,
Nodo
de
Nodo de Resistencia Reactancia Demanda nodo de recibo
Envo 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 segn perfiles de demanda de igual tendencia, de
acuerdo con el procedimiento empleado por Baran M.E [4]
Grupo Nodos que conforman el
grupo
Grupo #1 6-10-11-13
Grupo #2 4-8-9-12
Grupo #3 1-2-3-5-7
Tabla 3.6.2 Clasificacin de las cargas segn su tipo
Cada grupo representa un perfil de demanda tpico, 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 discretizacin por niveles
representativos que son un porcentaje de la demanda pico, este criterio es
utilizado principalmente por N.I SANTOSO y O.T TAN [39] quienes consideraron
que los niveles de carga que deben tenerse en cuenta ocurren para el 50%, 70%,
85% y 100% de la demanda pico. Segn lo anterior para el nodo #1, las
variaciones 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 de
carga, el nmero total de combinaciones de carga es 4
3
= 64, que sern los datos
con los cuales se entrenar la red, este criterio de discretizacin puede verse
ampliamente en FLOREZ O. y SALAZAR H [11], de donde se extrajo la siguiente
tabla que ilustra las 64 combinaciones posibles:
Combinacin Nivel
grupo 1
Nivel
grupo 2
Nivel
grupo 3
Combinacin Nivel
grupo 1
Nivel
grupo 2
Nivel
grupo 3
1 1,00 1,00 1,00 33 0,70 1,00 1,00
2 1,00 1,00 0,85 34 0,70 1,00 0,85
3 1,00 1,00 0,70 35 0,70 1,00 0,70
4 1,00 1,00 0,50 36 0,70 1,00 0,50
5 1,00 0,85 1,00 37 0,70 0,85 1,00
6 1,00 0,85 0,85 38 0,70 0,85 0,85
7 1,00 0,85 0,70 39 0,70 0,85 0,70
8 1,00 0,85 0,50 40 0,70 0,85 0,50
9 1,00 0,70 1,00 41 0,70 0,70 1,00
10 1,00 0,70 0,85 42 0,70 0,70 0,85
11 1,00 0,70 0,70 43 0,70 0,70 0,70
12 1,00 0,70 0,50 44 0,70 0,70 0,50
13 1,00 0,50 1,00 45 0,70 0,50 1,00
14 1,00 0,50 0,85 46 0,70 0,50 0,85
15 1,00 0,50 0,70 47 0,70 0,50 0,70
16 1,00 0,50 0,50 48 0,70 0,50 0,50
17 0,85 1,00 1,00 49 0,50 1,00 1,00
18 0,85 1,00 0,85 50 0,50 1,00 0,85
19 0,85 1,00 0,70 51 0,50 1,00 0,70
20 0,85 1,00 0,50 52 0,50 1,00 0,50
21 0,85 0,85 1,00 53 0,50 0,85 1,00
22 0,85 0,85 0,85 54 0,50 0,85 0,85
23 0,85 0,85 0,70 55 0,50 0,85 0,70
24 0,85 0,85 0,50 56 0,50 0,85 0,50
25 0,85 0,70 1,00 57 0,50 0,70 1,00
26 0,85 0,70 0,85 58 0,50 0,70 0,85
27 0,85 0,70 0,70 59 0,50 0,70 0,70
28 0,85 0,70 0,50 60 0,50 0,70 0,50
29 0,85 0,50 1,00 61 0,50 0,50 1,00
30 0,85 0,50 0,85 62 0,50 0,50 0,85
31 0,85 0,50 0,70 63 0,50 0,50 0,70
32 0,85 0,50 0,50 64 0,50 0,50 0,50
Tabla 3.6.4 Nmero total de combinaciones
El procedimiento para determinar la topologa que disminuye las prdidas para los
64 datos de entrada es [11]:
1. Leer los datos del sistema original
2. Leer una fila de los niveles de carga, es decir una fila de la tabla 3.6.4
3. Multiplicar la demanda pico de cada barra, por el nivel correspondiente
ledo 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 configuracin 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 topologas que garantizaban
una disminucin en las prdidas de potencia activa son las ilustradas en la tabla
3.6.5:
Nmero de
Configuracin
Ramas del Corbol
1 9 - 7 8 - 6 10 - 1
2 11 - 10 9 - 7 8 6
Tabla 3.6.5 Configuraciones ptimas despus de evaluar las 64 combinaciones
Para formar el set de entrenamiento los niveles de carga para cada nodo se
representan por un vector de cuatro elementos el cual tendr un uno en la posicin
que 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 de
carga en forma binaria y los dos ltimos a la configuracin que disminuye las
prdidas; cada columna es un patrn de entrenamiento. De esta forma las
entradas a la red sern siempre 0 o 1, los patrones de entrenamiento de la red se
presentan en la tabla 3.6.6
Tabla 3.6.6 Matriz de entrenamiento
3.6 RECONFIGURACIN DE UN ALIMENTADOR PRIMARIO DE CATORCE
NODOS
3.6.2 Justificacin del tipo de red
El objetivo es entrenar una red neuronal competitiva y ms explcitamente una red
LVQ que para cada una de las 64 combinaciones generadas encuentre la mejor
configuracin, esta configuracin consistir en una de las dos especificadas en la
tabla 3.6.5.
El entrenamiento de la primera capa de la red LVQ, la cual es una capa
competitiva y por lo tanto de aprendizaje no supervisado, determinar las
subclases dentro de las cuales se ubicar cada una de las combinaciones, estas
subclases son cuatro (determinadas arbitrariamente).
El entrenamiento de la segunda capa de la red LVQ, la cual es una capa lineal de
aprendizaje supervisado, requiere conocer las clases en las cuales se ubicar
cada una de las salidas de la primera capa, estas clases son las dos topologas
encontradas en el set de entrenamiento.
Un esquema general de la red que solucionar la aplicacin es:
Figura 3.6.2 Esquema general de la red LVQ para reconfiguracin
La funcin de transferencia compet retorna un vector de salida formado por ceros
a excepcin de la neurona ganadora, aquella cuyos pesos estn ms cercanos al
vector de entrada y que ocasiona una salida de uno, esto es, las neuronas de esta
capa compiten por ser la subclase ganadora. El vector de salida de la segunda
capa, el cual depende de la subclase ganadora de la primera capa, determina la
configuracin ptima para cada patrn de entrada, de tal manera que si se obtiene
un uno en la primera fila, la configuracin ptima ser la configuracin nmero uno
correspondiente a las ramas de corbol 9-7, 8-6, 10 -1 y si el uno es obtenido en la
segunda fila, la configuracin ptima corresponde al corbol 11-10, 9 -7, 8 6.
La disposicin de las dos capas del algoritmo LVQ en notacin compacta es la que
se muestra en la figura 3.6.2.
Figura 3.6.3 Red LVQ
La salida de la capa competitiva a1 determina una posible configuracin, la que red
sospecha que es la configuracin indicada a travs del aprendizaje no
supervisado, sin embargo la decisin de la mejor configuracin es determinada en
la capa dos, mediante un aprendizaje supervisado.
De esta forma la red LVQ ofrece una gran ventaja, puesto que en su primera capa
la red tiene la libertad de determinar la "mejor" configuracin, la cual es
corroborada por la segunda capa, esto presenta dos mejoras, primero, un menor
tiempo computacional en su entrenamiento y segundo, ofrece la flexibilidad para
que la red pueda generar sus propias representaciones (configuraciones) en la
capa competitiva, la cual en el mejor de los casos puede ser una configuracin
completamente desconocida.
3.6 RECONFIGURACIN DE UN ALIMENTADOR PRIMARIO DE CATORCE
NODOS
3.6.3 Entrenamiento de la red
El cdigo del algoritmo para esta aplicacin fue desarrollado en Matlab 5.3, por
medio 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; es
necesario aclarar que para el entrenamiento de la red se emplearon las funciones
de transferencia adecuadas para una red tipo competitiva.
Como datos de entrenamiento se tomaron 36 columnas de las 64 disponibles en la
tabla 3.6.5, los valores restantes fueron escogidos como patrones de prueba para
comprobar la capacidad de generalizacin de la red.
Los datos iniciales de los pesos fueron generados aleatoriamente con valores
entre 1 y 1, por medio de la funcin 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 las
que corresponden los vectores de entrada en el algoritmo LVQ; en este caso, cada
una de ellas muestra la configuracin apropiada que debe adoptarse dependiendo
de 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 validacin y actualizacin de los
pesos son los siguientes:
for i=1:cw
for j=1:cw
n(j,1)=-norm(W1(:,j)-p(:,i));
end
a1=compet(n);
a2=W2*a1;
e(:,i)=a2-W2(:,i);
if e(:,i)==0
W1(:,i)=W1(:,i)+alfa*(p(:,i)-W1(:,i));
else
l=find(a1);
W1(:,l)=W1(:,l)-alfa*(p(:,i)-W1(:,l));
end
end
Despus de ejecutar este algoritmo para seis iteraciones la red alcanz
convergencia, obteniendo los siguientes valores para la matriz de pesos de la
capa 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
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 como
se 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 18
N1 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 36
N1 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 eficiente
desempeo clasificando correctamente todos los patrones, es decir encontrando la
configuracin ms adecuada para cada una de las condiciones del sistema, esta
evaluacin del desempeo de la red se hace con base en los flujos de carga
ejecutados para las diferentes combinaciones y comparndolo con la
configuracin ptima determinada por la red, ya que al ser ste tipo de red un
hbrido entre aprendizaje supervisado y competitivo no es posible determinar un
error 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 podran tambin realizar
esta aplicacin, una de ellas es el tiempo de computo, el cual es ms corto para
una red LVQ, comparado con el tiempo que invierte por ejemplo una
Backpropagation en alcanzar convergencia para el mismo nmero de patrones de
entrenamiento [11].
Otra importante caracterstica es la configuracin de la red, pues el nmero de
neuronas de cada una de las dos capas queda determinado por las mismas
condiciones del problema. Adems su capacidad de generalizacin no se ve
afectada por la cantidad de patrones de entrada a la red.
3.7 IDENTIFICACION DE UN SISTEMA NO LINEAL
3.7.1 Descripcin del Problema: La identificacin de un sistema consiste en
determinar una funcin que relacione las variables de entrada con las variables de
salida, esta identificacin tradicionalmente se hace a travs de tcnicas de
regresin y con un conocimiento previo de la naturaleza del sistema.
Clsicamente el comportamiento de un sistema se describe a travs de sus
ecuaciones de estado, las cuales son un conjunto de ecuaciones diferenciales no
lineales de primer orden, donde el objetivo es encontrar las funciones f y g
mostradas en las siguientes ecuaciones:
(3.7.1)
(3.7.2)
En la identificacin de un sistema pueden conocerse previamente el orden del
sistema y desconocer de forma precisa sus parmetros o desconocer totalmente
el orden del sistema y sus parmetros; la identificacin de un sistema mediante
redes neuronales no pretende encontrar las funciones f y g, sino un mapa de la
relacin entrada - salida con base a los patrones con que fue entrenada.
El sistema que se quiere identificar es el pndulo invertido propuesto por
Kuschewski et al. (1993), mostrado en la figura 3.7.1
Figura 3.7.1 Pndulo Invertido
Las ecuaciones diferenciales no lineales que describen el comportamiento del
sistema 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: Relacin de Transformacin entre los piones = 10
g = 9.8 m/s
2
l = 1m m = 1 kg Ra = 1 La = 1 mH
Con estos parmetros, las ecuaciones de estado que representan el
comportamiento del Pndulo Invertido estn 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 Justificacin del tipo de red:
Segn lo demostrado en la seccin 2.6.1 del captulo 2, una red neuronal dinmica
recurrente puede identificar el comportamiento de un sistema dinmico descrito
por ecuaciones diferenciales no lineales si se tiene abundante y representativa
informacin de sus datos de entrada y salida.
Segn lo demostrado en la seccin 2.6.2 un sistema dinmico autnomo (u=0)
puede ser identificado una red dinmica multicapa, utilizando en la capa esttica
un algoritmo tipo backpropagation.
3.7.3 Entrenamiento de la red
3.7.3.1 Identificacin del Sistema Autnomo (u=0) utilizando una red dinmica
multicapa: Se identificara la dinmica del pndulo invertido autnomo
considerando nulo el voltaje aplicado.
Figura 3.7.2 Red multicapa
Para encontrar los pesos tij y wij de la red recurrente multicapa, se entrenara la
capa esttica con un algoritmo de propagacin inversa y luego se implementara la
red de la figura 3.7.2 para identificar plenamente la dinmica del sistema
autnomo.
El set de entrenamiento se gener con variaciones en el ngulo, la velocidad, la
corriente y todas sus posibles combinaciones en los siguientes rangos:
Valor Inicial Valor Final Incremento Conversin
Ang -30 30 12 pi/180
Vel -115 46 115 pi/180
u 0 8 1.6 -
Tabla 3.7.1 Rangos del set de entrenamiento
Los patrones de entrenamiento esperados se calculan como el valor actual del
patrn de entrada ms el valor de cada una de sus derivadas como se explic en
la seccin 2.6.2, el valor de las derivadas de las variables de estado se obtiene al
evaluar su valor actual en el conjunto de ecuaciones que describe el
comportamiento 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 esttica 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 Parmetros de la Capa Esttica
El siguiente cdigo crea una red de 3 entradas, 5 neuronas en la capa oculta y 3
salidas y la entrena con el algoritmo trainlm (Ver Anexo A):
net=newff(minmax(P),[5 3],{tansig purelin},trainlm);
net.trainParam.epochs=1000;
net.trainParam.goal=1e-06;
net.trainParam.lr=0.03
net.trainParam.mem_reduc=1
[net,tr]=train(net,P,t);
Luego de 500 iteraciones el error medio cuadrtico cae por debajo de 1x10
-6
, los
valores de los parmetros de la red luego del proceso de entrenamiento se
muestran 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 Parmetros de la Capa Esttica
Segn lo demostrado en la seccin 2.6.2, el Jacobiano de la red multicapa en el
origen se calcula como:
(3.7.10)
Reemplazando en la ecuacin 3.7.10, los valores de la tabla 3.7.4 el Jacobiano de
la 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
Tabla 3.7.5 Jacobiano de la Red Multicapa
Para una identificacin exitosa los valores propios del Jacobiano de la red
multicapa mostrado en la tabla 3.7.5 deben ser muy prximos a los valores propios
del sistema descritos en la ecuacin 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 encuentran
prximos a los del sistema, por lo tanto la red a identificado el sistema
correctamente, ntese adems que todos los valores propios tanto de la red como
del sistema se encuentran en el semiplano complejo izquierdo haciendo que el
sistema y la red neuronal sean estables.
Segn lo demostrado en la seccin 2.6.2, una red dinmica multicapa puede ser
transformada en una red dinmica tipo Hopfield por medio de la siguiente
transformacin:
(3.7.13)
Tomando los valores de los parmetros de la red multicapa y reemplazndolos en
la ecuacin 3.7.13 se obtiene la matriz de pesos de la red dinmica de Hopfield
equivalente a la red dinmica recurrente, la matriz de pesos de la red de Hopfield
se 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
Tabla 3.7.6 Matriz de pesos Red de Hopfield equivalente
El Jacobiano de la red de Hopfield segn lo demostrado en la seccin 2.6.2 se
calculan como:
(3.7.14)
y tiene los siguientes valores propios:
(3.7.15)
Ntese que los tres primeros valores propios de la ecuacin 3.7.15 coinciden con
los valores propios de la ecuacin 3.7.12, y estos a su vez se encuentran muy
prximos a los valores propios del sistema, los valores propios adicionales de la
ecuacin 3.7.15 corresponden a los estados adicionales que se agregaron para
una adecuada identificacin del sistema.
Para comprobar la efectividad de la aproximacin, en la figura 3.7.3 se muestra la
comparacin de la respuesta de las variables de estado del sistema con la
respuesta de la red neuronal multicapa; como la identificacin que se realizo fue
del sistema autnomo (u=0), para la simulacin se requieren condiciones iniciales
en las variables de estado del sistema y en las variables de estado estimadas de
la res multicapa, los valores iniciales para la simulacin fueron: X1
0
=0.2, X2
0
=-0.3,
X3
0
=0.
Figura 3.7.3 Respuesta del sistema Vs Red Multicapa
La lnea azul representa la respuesta del sistema y la lnea roja muestra la
respuesta de la red dinmica multicapa, en la grfica de la izquierda se grfica
cada variable de estado en funcin del tiempo y en la grfica de la derecha se
tienen los planos de fase descritos por las tres variables de estado, de la grfica
3.7.3 se observa, que se obtuvo una muy buena aproximacin del sistema
autnomo y de la ecuacin 3.7.11 se tiene una buena aproximacin de los valores
propios del sistema.
3.7.3 Entrenamiento de la red
3.7.3.2 Identificacin de la dinmica del Sistema: Se entrenara una red recurrente
segn el procedimiento descrito en el tutorial del Matlab versin 5.3 [34], esta red
tiene como entradas el ngulo, la velocidad, la corriente de armadura y el voltaje
aplicado, para identificar
Figura 3.7.4 Capa Esttica Red Recurrente
De la figura 3.7.4, se puede observar que la red recurrente posee una capa
backpropagation, para la cual el set de entrenamiento fue generado con
variaciones en el ngulo, la velocidad, la corriente y todas sus posibles
combinaciones
Valor Inicial Valor Final Incremento Conversin
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 posiciones
iniciales con velocidad y corriente igual a cero
Valor Inicial Valor Final Incremento Conversin
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 ecuaciones
que describen el comportamiento del sistema, las ecuaciones diferenciales no
lineales fueron resueltas en cada caso para un tiempo tstep=0.05s, la salida
esperada para cada patrn de entrada es el vector solucin X menos el valor de
Xo utilizado como condicin 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
X1
0
-0.5236 -0.2618 .... -0.2618 .... 0.2618 0.5236 .... 0.5236 .... 0.5236
X2
0
-2.0071 -2.0071 .... 1.8326 .... 0.8727 0.8727 .... -0.0873 .... 0.0000
X3
0
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-X1
0
-0.0946 -0.0975 ... 0.0972 ... 0.0396 0.0367 ... -0.0041 ... -0.0061
X2-X2
0
0.2217 0.1069 ... 0.1770 ... -0.1772 -0.2935 ... -0.0072 ... -0.2432
X3-X3
0
-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 siguientes
pesos 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
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 cdigo entrena la red backpropagation de 4 entradas, 8 neuronas en
la 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);
Figura 3.7.5 Error medio cuadrtico utilizando trainlm
Despus de 435 iteraciones de entrenamiento, el error medio cuadrtico cay por
debajo 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
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 dinmica
de la planta, esta fue simulada con los pesos finales anteriormente encontrados
utilizando el siguiente algoritmo, con condiciones iniciales mostradas de las
variables de estado X1 (ngulo) = -8, X2 (velocidad) = 0 /s, X3 (corriente de
armadura) = 0 A, y u (voltaje)= 1 V, estos valores estn 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 simulada
en intervalos de tiempo iguales al tiempo para el cual fueron resueltas las
ecuaciones del set de entrenamiento, en este caso las ecuaciones fueron
resueltas para un tiempo tstep=0.05s, por lo tanto para obtener la respuesta de la
red en un tiempo total de 10s, debe simularse 201 veces en intervalos de 0.05s.
Figura 3.7.6 Comparacin de la respuesta del sistema y la RN
La lnea continua azul representa la respuesta del sistema simulado y las cruces
rojas representan las simulaciones de la red neuronal entrenada, como se observa
la red neuronal ha identificado la dinmica de la red perfectamente, en la siguiente
grfica puede observarse que los planos de fase descritos por la planta y por la
red neuronal coinciden exactamente.
Figura 3.7.7 Comparacin de los planos de fase
Como se observa en la figura 3.7.7, cuando la misma red neuronal es simulada en
intervalos de tiempo distintos al tiempo para el cual fueron solucionadas las
ecuaciones que generaron el set de entrenamiento, la red produce las mismas
respuestas que la planta en estado estacionario, pero en el estado transitorio la
forma de la respuesta es similar pero en el caso de un intervalo de simulacin
menor tstep=0.3 la red neuronal responde mas rpido que la planta y en el caso
de un intervalo de simulacin mayor tstep=0.10 la red neuronal responde mas
lento que la planta, para una identificacin optima de la planta tanto en estado
estacionario como en estado el intervalo de simulacin debe ser igual a tiempo de
solucin de las ecuaciones que generaron los patrones de entrenamiento.
Figura 3.7.8 Red neuronal con diferentes tiempos de simulacin
DESCRIPCIN DE LAS FUNCIONES UTILIZADAS EN MATLAB
1. Red tipo Perceptrn: Las siguientes son las herramientas de redes neuronales
del Matlab 5.3: utilizadas en el entrenamiento de las redes neuronales
correspondientes a las aplicaciones del proceso de deteccin de obstculos de un
robot y Control de cambio de giro de un motor trifsico.
newp: Crea una red tipo Perceptrn, que requiere las siguientes entradas:
NET = NEWP(PR,S,TF,LF)
PR : Rx2 matriz de valores mximos y mnimos para los R elementos de entrada.
S : Nmero de neuronas.
TF : Funcin de Transferencia, en este caso hardlims.
LF : Funcin de aprendizaje, para este caso learnp.
rands: Funcin simtrica que inicializa aleatoriamente los valores de pesos
y 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 funcin tiene la siguiente sintaxis:
[net,Y,E,Pf,Af] = adapt(NET,P,T,Pi,Ai)
net : Red que va a crearse
P : 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: Nmero de iteraciones que utiliza el programa.
2. Red tipo Adaline: Las siguientes son las funciones de las herramientas de
Redes Neuronales del Matlab utilizadas en el entrenamiento del filtro adaptivo
diseado con base en una red Adaline.
newlin: Funcin para crea una red tipo Adaline, que requiere las siguientes
entradas:
NEWLIN(PR,S,ID,LR)
R: Matriz de Rx2 que contiene los valores mximos y mnimos de cada uno de los
R elementos de entrada.
S : Nmero de neuronas
ID : Arreglo que contiene los valores de los retardos, por defecto todos sus valores
son cero.
LR : Rata de aprendizaje, por defecto = 0.01
net.inputWeights{1,1}.delays: Especifica los retardos iniciales
net.adaptParam.passes: Nmero mximo 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 de
entrada, las salidas esperadas y los retardos iniciales, retorna el estado
final de la red, los valores obtenidos para cada patrn de entrada con sus
correspondientes errores as como los valores finales de los retardos.
3. Red tipo Backpropagation: La red neuronal Backpropagation presenta una
gran variedad de opciones de configuracin, dependiendo de la necesidad de
aprendizaje y de la aplicacin que se este desarrollando.
newff: Crea una red tipo Backpropagation, requiere que le sean
especificados los siguientes parmetros
newff: (PR,[S1 S2...SNl],{TF1 TF2...TFNl},BTF,BLF,PF)
PR : Rx2 Matriz de valores mximos y mnimos de cada uno de las R
neuronas de entrada.
Si : Nmero de neuronas para cada una de las capas.
TFi : Funcin de transferencia a utilizar en cada una de las capas, por
defecto utiliza tansig
BTF : Algoritmo de entrenamiento a utilizar, por defecto utiliza trainlm
BLF : Funcin de actualizacin de los pesos, por defecto utiliza learngdm.
PF : Funcin para evaluar el desempeo de la red, por defecto utiliza mse.
Los siguientes fueron los algoritmos de entrenamiento que se utilizaron en el
ejemplo de control de voltaje por inyeccin de reactivos en una barra remota y en
la aplicacin de prediccin de consumo de carga durante sus respectivos procesos
de 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 ganancias
varindolos en la direccin negativa del gradiente de la funcin del error. Es un
algoritmo de aprendizaje muy lento, que requiere de la siguiente sintaxis:
net.trainParam.epochs: Mximo nmero de iteraciones para obtener
convergencia
net.trainParam.goal: Error mximo permitido
net.trainParam.lr: Rata de aprendizaje
net.trainParam.max_fail: Mximo nmero de fallas
net.trainParam.min_grad: Mnimo rendimiento del gradiente
net.trainParam.show: Intervalo de visualizacin de los resultados
net.trainParam.time: Mximo tiempo de entrenamiento en segundos
Con este algoritmo el aprendizaje de la red se detendr si el nmero de
iteraciones excede el comando net.trainParam.epochs, si se alcanz el valor del
error propuesto como meta, si la magnitud del gradiente es menor que
net.trainParam.min_grad, o si el tiempo d entrenamiento supera el valor de
net.trainParam.time.
3.2 Traingdm: Equivale al algoritmo tradicional, ms un nuevo coeficiente de
momentum, que interviene en el proceso de actualizacin de los pesos. Si el error
de la red en una iteracin dada, excede el valor del error en la iteracin anterior,
en un valor mayor al definido por un radio de cobertura dado el que puede
determinarse por medio de la funcin max_perf_inc y que est tpicamente
alrededor de 1.04, los nuevos pesos y ganancias son descartados y el coeficiente
de momentum mc es fijado en cero.
La sintaxis de este algoritmo es igual a la utilizada para el algoritmo traingd, ms
un nuevo comando que permite modificar el coeficiente de momentum
net.trainParam.mc: Valor fijado para el coeficiente de momentum
3.2 Traingda: Algoritmo de Gradiente Descendiente, que emplea una rata de
aprendizaje adaptiva durante el proceso de entrenamiento. La rata de aprendizaje
vara entre 0.01 y 1, una rata de aprendizaje muy pequea torna lento el
aprendizaje, pero si se incrementa demasiado el aprendizaje puede tornarse
inestable y crear divergencia, por esto la funcin traingda vara la rata de
aprendizaje tratando de sacar provecho de la inclinacin del gradiente en cada
momento; su gran desventaja es que los pesos iniciales varan muy poco as se
encuentren distantes de los valores de convergencia. La sintaxis de este el
algoritmo es la siguiente:
net.trainParam.epochs: Mximo nmero de iteraciones para obtener
convergencia
net.trainParam.goal: Error mximo 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: Mximo nmero de fallas
net.trainParam.max_perf_inc: Mximo incremento del rendimiento
net.trainParam.min_grad: Mnimo rendimiento del gradiente
net.trainParam.show: Los resultados son visualizados siempre que
transcurre este nmero de iteraciones.
net.trainParam.time: Mximo tiempo de entrenamiento en segundos
3.3 Trainrp: Las redes multicapa, utilizan tpicamente una funcin de transferencia
sigmoidal (ver captulo 1) en las capas ocultas, estas funciones comprimen un
infinito rango de entradas, dentro de un finito rango de salidas, adems se
caracterizan porque su pendiente tendera cada vez ms a cero, mientras ms
grande sea la entrada que se le presenta a la red, esto ocasiona problemas
cuando se usa un algoritmo de entrenamiento de pasos descendientes, porque el
gradiente empieza a tomar valores muy pequeos y por lo tanto no habrn
cambios representativos en los pesos y las ganancias, as se encuentren bastante
lejos de sus valores ptimos. El propsito del algoritmo Backpropagation Resileint
(RPROP) es eliminar este efecto en la magnitud de las derivadas parciales. En
este algoritmo solamente el signo de la derivada es utilizado para determinar la
direccin de actualizacin de los parmetros, la magnitud de las derivadas no
tiene efecto en la actualizacin. La magnitud en el cambio de cada peso es
determinada por separado; el valor del incremento de pesos y ganancias es
determinado por el factor delt_inc, as la derivada parcial del error con respecto a
los pesos tenga el mismo signo durante dos iteraciones sucesivas; el valor de
decremento est determinado por el factor delt_dec as la derivada del error con
respecto a los pesos haya cambiado de signo con respecto a la anterior iteracin;
si la derivada es cero, entonces el valor actualizado se conserva; si los pesos
continan cambiando en la misma direccin durante varias iteraciones, la
magnitud de cambios de los pesos se decrementa.
La sintaxis de este algoritmo se resume a continuacin:
net.trainParam.epochs: Mximo nmero de iteraciones del entrenamiento
net.trainParam.show: Intervalo de visualizacin de los resultados
net.trainParam.goal: Error deseado
net.trainParam.time=inf: Mximo tiempo de entrenamiento en segundos
net.trainParam.min_grad: Mnimo rendimiento del gradiente
net.trainParam.max_fail: Mximo nmero de fallas
net.trainParam.lr: Rata de aprendizaje
net.trainParam.delt_inc: Incremento en la actualizacin de pesos
net.trainParam.delt_dec: Decremento en la actualizacin de pesos
net.trainParam.delta0: Incremento inicial en la actualizacin de pesos
net.trainParam.deltamax: Mximo cambio en los pesos
3.4 Trainbfg: Algoritmo alternativo que emplea la tcnica del gradiente conjugado,
su expresin matemtica se deriva del mtodo de Newton, con la ventaja de que
no es necesario computar las segundas derivadas; este algoritmo requiere mas
capacidad de almacenamiento que el algoritmo tradional, pero generalmente
converge en menos iteraciones. Requiere de un clculo aproximado de la matriz
Hessiana, la cual es de dimensiones n
2
x n
2
, donde n la cantidad de pesos y
ganancias de la red; para redes que involucren una gran cantidad de parmetros
es preferible emplear el algoritmo trainrp.
net.trainParam.epochs: Mximo nmero de iteraciones del entrenamiento
net.trainParam.show: Nmero de iteraciones entre las cuales se muestran
resultados
net.trainParam.goal: Error deseado
net.trainParam.time=inf: Mximo tiempo de entrenamiento en segundos
net.trainParam.min_grad: Mnimo rendimiento del gradiente
net.trainParam.max_fail=5: Mximo nmero de fallas
net.trainParam.searchFcn srchcha Nombre de la rutina de bsqueda lineal
a utilizar.
net.trainParam.scal_tol: Se divide entre el valor de Delta para determinar la
tolerancia para la bsqueda lineal.
net.trainParam.alpha: Factor de escala que determina una reduccin
suficiente en el desempeo.
net.trainParam.beta: Factor de escala que determina un tamao de paso
suficientemente grande.
net.trainParam.delta: Tamao de paso inicial en el intervalo de localizacin
de paso.
net.trainParam.gama: Parmetro para evitar pequeas reducciones en el
desempeo.
net.trainParam.low_lim: Lmite inferior en el cambio del tamao del paso.
net.trainParam.up_lim: Lmite superior en el cambio del tamao del paso.
net.trainParam.maxstep: Mximo longitud de paso.
net.trainParam.minstep: Mnima longitud de paso; por defecto es 1.0e-6
net.trainParam.bmax: Mximo tamao de paso.
3.5 Trainlm: Algoritmo que actualiza los pesos y las ganancias de acuerdo a la
optimizacin de Levenberg-Marquardt. Es el algoritmo ms rpido para redes
Backpropagation; tiene la desventaja de requerir de un set de entrenamiento lo
ms estndar posible, pues de otra forma solo aproximar correctamente valores
que se encuentren dentro de los patrones de aprendizaje. Si el set de
entrenamiento es muy extenso, se recomienda reducir el Jacobiano.
La sintaxis de este algoritmo es la siguiente:
net.trainParam.epochs: Mximo nmero de iteraciones del entrenamiento
net.trainParam.goal: Error deseado
net.trainParam.lr: Rata de aprendizaje
net.trainParam.max_fail: Mximo nmero de veces que falla el valor de Mu
net.trainParam.mem_reducFactor de fraccionamiento de Jacobiano para
ahorrar memoria
net.trainParam.min_grad: Mnimo rendimiento del gradiente
net.trainParam.show:Intervalo de visualizacin de los resultados.
net.trainParam.time: Mximo 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 de
las redes neuronaeles
Tutorial de Redes Neuronales desarrollado en la Universidad Politcnica de
Madrid UPM (Espaa), bajo la direccin del Dr. Diego Andina de la Fuente
Contiene una explicacin de los distintos tipos de redes segun su forma de
aprendizaje y permite descargar un simulador para entrenar una red tipo
backpropagation
http://www.gc.ssr.upm.es/inves/neural/ann2/anntutor.htm
Applets en Java que permiten de forma interactiva entrenar una Red
Neuronal Artificial, una Red tipo Perceptron de una sola y bvarias capas; el
codigo fuente es abierto con fines academicos
Proyecto de grado de Fred Corbett de la universidad de Manitoba, Canada
http://home.cc.umanitoba.ca/~umcorbe9/mlp.html
Aplicacin en Java de una Red Neuronal para aproximar distintas funciones
http://neuron.eng.wayne.edu/bpFunctionApprox/bpFunctionApprox.html
Visin Artificial y Visin Humana, aplicacin a la percepcin Visual en
Robotica
Grupo de investigacion dirigido por el profesor Luis Jaez Esacaladas
http://sirio.psi.ucm.es/PROYECTOS/VISIONROBOT/vavh.html
Redes Neuronales aplicadas al reconocimiento de voz.
Proyecto desarrollado por Jos Mara Garcia Jimnez en Madrid, Espaa
http://electronica.com.mx/neural/aplicaciones/index.html
Pagina de la Universidad de Chile contiene manual sobre el Snns
http://cipres.cec.uchile.cl/~em753/
Tutorial con teoria detallada
http://www.paisvirtual.com/informatica/navegadores/toniomos/rn/temas-
rn.htm
Redes de Resonancia Adaptiva (ART), arquitectura, entrenamiento y
aplicaciones de esta redProyectos finales curso Redes Neuronales,
Universidad del Valle, Colombia
http://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 del Valle, Colombia
http://maxwell.univalle.edu.co/proyectos/rna/neurofuzzy1/
http://maxwell.univalle.edu.co/proyectos/rna/neurofuzzy2/
Introduccin 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 Concepcin paraoptar al ttulo de
Ingeniero Civil Qumicohttp://www.diq.udec.cl/~cgarrido/
http://melquiades.diq.udec.cl/~cgarrido/
Tutorial Redes Neuronales contiene Teoria General l
http://www.gc.ssr.upm.es/inves/neural/ann2/anntutorial.html
BIBLIOGRAFA
1. BARAN M.E, WU F.F. "Network reconfiguration in distribution sistems for
loss reduction and load balancing". IEEE. Transaction on power delivery,
Vol 4, # 2, April 1989.
2. CHAPMAN Stephen J. "Mquinas Elctricas". McGraw Hill. Santaf de
Bogot Colombia. 1997
3. DELGADO Alberto. "Inteligencia Artificial y Minirobots". Bogota D.C.
Colombia. Ecoe Ediciones. Julio 1998.
4. DELGADO Alberto. "Propiedades Matemticas y Aplicaciones de las Redes
Neuronales Dinmicas Recurrentes". Santaf de Bogot Colombia.
5. FISCHBACH Gerald D.. "Mente y cerebro". Investigacin y Ciencia # 194,
Noviembre de 1992
6. FLOREZ Oscar y SALAZAR Harold. Proyecto de grado "Utilizacin de
Redes Neuronales Artificiales en la Reconfiguracin de Alimentadores
Primarios". Pereira Colombia. Universidad Tecnolgica. 1998.
7. FREEMAN James y SKAPURA David. "Redes Neuronales: Algoritmos,
aplicaciones y tcnicas de programacin". Delaware E.U.A. Addison Wesley
Iberoamericana S.A. 1993
8. GALLEGO Ramn y Ruben. "Flujo de Carga". Pereira Colombia.
Universidad Tecnolgica de Pereira. 1999
9. GIRALDO Didier, TABARES Ivan. "Programa que entrena neuronas para
implementar funciones lgicas". Scientia et technica. Ao II, #5, Junio de
1997.
10. HAGAN Martin, DEMUTH Howard y BEALE Mark. "Neural Network Design".
PWS Publishing Company. Boston U.S.A. 1996.
11. HILERA Jos R., MARTINEZ Vctor J. "Redes Neuronales Artificiales.
Fundamentos, modelos y aplicaciones. Ra-ma Editorial. Madrid. 1995
12. HINTON Geoffrey E. "Redes neuronales que aprenden de la experiencia".
Investigacin y ciencia. #194, Noviembre de 1992.
13. KANDEL Eric R., ROBERT Hawkins. "Bases biolgicas del aprendizaje y de
la individualidad". Investigacin 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 feature
maps". 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 first
annual INNS Meeting, #308, 1988.
17. KONONEN Tuevo. "Self-organization and associative memory (3 ed.)".
Springer-Verlag, 1989.
18. KOSKO. "Bidirectional Associative Memories". IEEE Transactions on
system, Man & Cybernetics, #18, pags 42-60,1988
19. LATHI B.P. "Introduccin a la teora y sistemas de comunicacin". Limusa
editores. Mjico. 1995
20. M. Minsky y S. Papert. "Perceptrons". ED. MIT Press,1969

Potrebbero piacerti anche