Sei sulla pagina 1di 40

Ce

entro Adscrito
o a la
Univerrsidad Politécnica
d Valenccia
de

GRADO ENE INGENIE


ERÍA
ELECTR DUSTRIAL Y AUTOMATICA
RÓNICA IND

TR
RABAJO DE LA ASIGNA
ATURA: TÉC
CNICAS DE C
CONTROL

INTROD
DUCCION A LAS REDES
S NEURONA
ALES
APLICADAS AL CONTROL INDUSTRIAL
I L

Autores:
PABLO O GUINOT MARTINEZ
O ANTONIO
MAN
NUEL HECTTOR ORTI DEL TORO
Vale
encia, JUNIO
O de 2013
Autores: Manuel Hector Ortí del Toro
Pablo Antonio Guinot Martínez

INDICE:
1  Introducción ....................................................................................................... 4 
2  Antecedentes Históricos .................................................................................... 4 
3  Las redes Neuronales: Aspectos generales ...................................................... 6 
3.1  Definiciones de una red neuronal. ........................................................................... 6 
3.2  Modos de operación de las redes neuronales. ....................................................... 6 
3.2.1  Aprendizaje adaptativo. .................................................................................... 6 
3.2.2  Auto-organización............................................................................................. 6 
3.2.3  Tolerancia a fallos. ........................................................................................... 7 
3.2.4  Operación en tiempo real. ................................................................................ 7 
3.2.5  Fácil inserción dentro de la tecnología existente. ............................................ 7 
3.3  Redes neuronales y computadoras digitales. ......................................................... 8 
4  Elementos Básicos ............................................................................................ 8 
4.1  Elementos básicos que componen una red neuronal. ............................................ 8 
4.2  Función de entrada (input function)......................................................................... 9 
4.3  Función de activación (activation function). .......................................................... 10 
4.4  Función de salida (output function). ...................................................................... 11 
5  Aprendizaje, Validación y Codificación ............................................................ 12 
5.1  Niveles o capas de una red neuronal. ................................................................... 12 
5.2  Tipos de neuronas artificiales. ............................................................................... 12 
5.3  Técnicas de decisión. ............................................................................................ 12 
5.4  Mecanismos de aprendizaje. ................................................................................. 13 
5.4.1  Aprendizaje supervisado. ............................................................................... 14 
5.4.2  Aprendizaje no supervisado. .......................................................................... 15 
5.5  Elección del conjunto inicial de pesos. .................................................................. 16 
5.6  Detención del proceso de aprendizaje. ................................................................. 17 
5.7  Codificación de los datos de entrada. ................................................................... 17 
5.7.1  Codificación de los atributos numéricos. ....................................................... 18 
5.7.2  Codificación de los atributos simbólicos. ....................................................... 18 
5.7.3  Resumen de los procedimientos de codificación. ......................................... 19 
5.8  Validación de la red neuronal. ............................................................................... 19 
5.9  Cuestiones a resolver al trabajar con una red neuronal. ...................................... 20 
6  Principales Topologías .................................................................................... 20 
6.1  Topología de las redes neuronales. ...................................................................... 20 
6.2  Redes monocapa. .................................................................................................. 20 
6.3  Redes multicapa. ................................................................................................... 21 
6.4  Conexión entre neuronas. ..................................................................................... 21 
2
INTRODUCCION A LAS REDES NEURONALES APLICADAS AL CONTROL INDUSTRIAL
Autores: Manuel Hector Ortí del Toro
Pablo Antonio Guinot Martínez

6.5  Redes de propagación hacia atrás (backpropagation). ........................................ 21 


6.6  Estructura de la Red Hopfield................................................................................ 22 
6.7  Simulated Annealing aplicada a una Red Hopfield. .............................................. 23 
6.8  Asociaciones entre la información de entrada y salida. ........................................ 24 
6.8.1  Redes heteroasociativas. ............................................................................... 24 
6.8.2  Redes autoasociativas. .................................................................................. 25 
7  APLICACIONES DE LAS REDES NEURONALES EN INGENIERIA
ELÉCTRICA .......................................................................................................... 25 
7.1  PREDICCIÓN DE CONSUMO DE CARGA .......................................................... 25 
7.1.1  Descripción del problema ............................................................................... 25 
7.1.2  Justificación del tipo de red: ........................................................................... 27 
7.1.3  Entrenamiento de la red ................................................................................. 28 
8  Conclusiones: .................................................................................................. 33 
9  Bibliografía ...................................................................................................... 35 
10  ANEXO A: FUNCIONES UTILIZADAS EN MATLAB ...................................... 36 
10.1  Red tipo Perceptrón: .............................................................................................. 36 
10.2  Red tipo Adaline:.................................................................................................... 36 
10.3  Red tipo Backpropagation: .................................................................................... 37 
10.3.1  Traingd: ........................................................................................................... 37 
10.3.2  Traingdm: ........................................................................................................ 38 
10.3.3  Trainrp:............................................................................................................ 38 
10.3.4  Trainbfg: .......................................................................................................... 39 
10.3.5  Trainlm: ........................................................................................................... 39 

3
INTRODUCCION A LAS REDES NEURONALES APLICADAS AL CONTROL INDUSTRIAL
Autores: Manuel Hector Ortí del Toro
Pablo Antonio Guinot Martínez

1 INTRODUCCIÓN

A finales del siglo 19 se logró una mayor claridad sobre el trabajo del cerebro debido a los trabajos
de Ramón y Cajal en España y Sherrington en Inglaterra. El primero trabajó en la anatomía de las
neuronas y el segundo en los puntos de conexión de las mismas o sinapsis.

El tejido nervioso es el más diferenciado del organismo y está constituido por células nerviosas,
fibras nerviosas y la neuroglia, que está formada por varias clases de células. La célula nerviosa se
denomina neurona, que es la unidad funcional del sistema nervioso. Hay neuronas bipolares, con
dos prolongaciones de fibras y multipolares, con numerosas prolongaciones. Pueden ser neuronas
sensoriales, motoras y de asociación.

Se estima que en cada milímetro del cerebro hay cerca de 50.000 neuronas. La estructura de una
neurona se muestra en la figura 1.

El tamaño y la forma de las neuronas es variable, pero


con las mismas subdivisiones que muestra la figura. El
cuerpo de la neurona o Soma contiene el núcleo. Se
encarga de todas las actividades metabólicas de la
neurona y recibe la información de otras neuronas
vecinas a través de las conexiones sinápticas.
Fig. 1 Estructura de una neurona

Las dendritas son las conexiones de entrada de la neurona. Por su parte el axón es la "salida" de la
neurona y se utiliza para enviar impulsos o señales a otras células nerviosas. Cuando el axón esta
cerca de sus células destino se divide en muchas ramificaciones que forman sinapsis con el soma
o axones de otras células. Esta unión puede ser "inhibidora" o "excitadora" según el transmisor que
las libere. Cada neurona recibe de 10.000 a 100.000 sinapsis y el axón realiza una cantidad de
conexiones similar.

La transmisión de una señal de una célula a otra por medio de la sinapsis es un proceso químico.
En él se liberan substancias transmisoras en el lado del emisor de la unión. El efecto es elevar o
disminuir el potencial eléctrico dentro del cuerpo de la célula receptora. Si su potencial alcanza el
umbral se envía un pulso o potencial de acción por el axón. Se dice, entonces, que la célula se
disparó. Este pulso alcanza otras neuronas a través de la distribución de los axones.

La Red Neuronal

El sistema de neuronas biológico está compuesto por neuronas de entrada (censores) conectados
a una compleja red de neuronas "calculadoras" (neuronas ocultas), las cuales, a su vez, están
conectadas a las neuronas de salidas que controlan, por ejemplo, los músculos. Los censores
pueden ser señales de los oídos, ojos, etc. las respuestas de las neuronas de salida activan los
músculos correspondientes. En el cerebro hay una gigantesca red de neuronas "calculadoras" u
ocultas que realizan la computación necesaria. De esta manera similar, una red neuronal artificial
debe ser compuesta por censores del tipo mecánico o eléctrico.

2 ANTECEDENTES HISTÓRICOS

Los intentos por imitar el funcionamiento del cerebro han seguido la evolución del estado de la
tecnología. Por ejemplo, al finalizar el siglo 19 se le comparó con la operación de la bomba
hidráulica; durante la década de 1920 a 1930 se intento utilizar la teoría de la conmutación
telefónica como punto de partida de un sistema de conocimiento similar al del cerebro. Entre 1940
y 1950 los científicos comenzaron a pensar seriamente en las redes neuronales utilizando como
concepto la noción de que las neuronas del cerebro funcionan como interruptores digitales (on -
off) de manera también similar al recién desarrollado computador digital. Así nace la idea de
"revolución cibernética" que maneja la analogía entre el cerebro y el computador digital.
4
INTRODUCCION A LAS REDES NEURONALES APLICADAS AL CONTROL INDUSTRIAL
Autores: Manuel Hector Ortí del Toro
Pablo Antonio Guinot Martínez

1943 Teoría de las Redes Neuronales Artificiales

Walter Pitts junto a Bertran Russell y Warren McCulloch intentaron explicar el funcionamiento del
cerebro humano, por medio de una red de células conectadas entre sí, para experimentar
ejecutando operaciones lógicas. Partiendo del menor suceso psíquico (estimado por ellos): el
impulso todo/nada, generado por una célula nerviosa.

El bucle "sentidos - cerebro - músculos", mediante la retroalimentación producirían una reacción


positiva si los músculos reducen la diferencia entre una condición percibida por los sentidos y un
estado físico impuesto por el cerebro.

También definieron la memoria como un conjunto de ondas que reverberan en un circuito cerrado
de neuronas.

1949 Conductividad de la sinapsis en las Redes Neuronales.

Seis años después de que McCulloch y Pitts mostraran sus Redes Neuronales, el fisiólogo Donald
O. Hebb (de la McGill University) expuso que estas (las redes neuronales) podían aprender. Su
propuesta tenía que ver con la conductividad de la sinapsis, es decir, con las conexiones entre
neuronas. Hebb expuso que la repetida activación de una neurona por otra a través de una
sinapsis determinada, aumenta su conductividad, y la hacía más propensa a ser activada
sucesivamente, induciendo a la formación de un circuito de neuronas estrechamente conectadas
entre sí.

1951 Primera Red Neuronal

El extraordinario estudiante de Harvard, Marvin Minsky conoció al científico Burrhus Frederic


Skinner, con el que trabajó algún tiempo ayudándole en el diseño y creación de máquinas para sus
experimentos. Minsky se inspiró en Skinner para gestar su primera idea "oficial" sobre inteligencia
artificial, su Red Neuronal. Por aquel entonces entabló amistad con otro brillante estudiante, Dean
Edmonds, el cual estaba interesado en el estudio de una nueva ciencia llamada Electrónica.

Durante el verano de 1951, Minsky y Edmonds montaron la primera máquina de redes neuronales,
compuesta básicamente de 300 tubos de vacío y un piloto automático de un bombardero B-24.
Llamaron a su creación "Sharc", se trataba nada menos que de una red de 40 neuronas artificiales
que imitaban el cerebro de una rata. Cada neurona hacia el papel de una posición del laberinto y
cuando se activaba daba a entender que la "rata" sabia en qué punto del laberinto estaba. Las
neuronas que estaban conectadas alrededor de la activada, hacían la función de alternativas que
seguir por el cerebro, la activación de la siguiente neurona, es decir, la elección entre "derecha" o
"izquierda" en este caso estaría dada por la fuerza de sus conexiones con la neurona activada. Por
ejemplo, la "rata" completaba bien el recorrido eligiendo a partir de la quinta neurona la opción
"izquierda" (que correspondería a la sexta), es entonces cuando las conexiones entre la quinta y
sexta se hacen más fuertes (dicha conexión era realizada por el piloto automático), haciendo desde
este momento más propensa esta decisión en un futuro. Pero las técnicas Skinnerianas (que eran
las que se habían puesto en funcionamiento en esta red neuronal) no podrían llevar muy lejos a
este nuevo engendro, la razón pasa porque esto, en sí, no es inteligencia, pues la red neuronal
nunca llegaría a trazar un plan.

Después de su Red Neuronal, Minsky escribió su tesis doctoral acerca de esta, en ella describía
"cerebros mucho mayores", exponiendo que si se realizaba este proyecto a gran escala, con miles
o millones de neuronas más y con diferentes censores y tipos de retroalimentación… la máquina
podría ser capaz de razonar, mas el sabia que la realización de esta Red Neuronal era imposible y
decidió buscar otra forma de crear inteligencia.

5
INTRODUCCION A LAS REDES NEURONALES APLICADAS AL CONTROL INDUSTRIAL
Autores: Manuel Hector Ortí del Toro
Pablo Antonio Guinot Martínez

3 LAS REDES NEURONALES: ASPECTOS GENERALES

3.1 Definiciones de una red neuronal.

Existen numerosas formas de definir a las redes neuronales. Estas son algunas de ellas:
1) Una nueva forma de computación, inspirada en modelos biológicos.
2) Un modelo matemático compuesto por un gran número de elementos procesales organizados
en niveles.
3) Un sistema de computación compuesto por un gran número de elementos simples, elementos
de procesos muy interconectados, los cuales procesan información por medio de su estado
dinámico como respuesta a entradas externas.
4) Redes neuronales artificiales son redes interconectadas masivamente en paralelo de elementos
simples (usualmente adaptativos) y con organización jerárquica, las cuales intentan interactuar con
los objetos del mundo real del mismo modo que lo hace el sistema nervioso biológico.

3.2 Modos de operación de las redes neuronales.

3.2.1 Aprendizaje adaptativo.


Capacidad de aprender a realizar tareas basadas en un entrenamiento o en una experiencia inicial.
Aprenden a llevar a cabo ciertas tareas mediante un entrenamiento con ejemplos ilustrativos.
Como las redes neuronales pueden aprender a diferenciar patrones mediante ejemplos y
entrenamientos, no es necesario elaborar modelos a priori ni necesidad de especificar funciones de
distribución de probabilidad. Las redes neuronales son sistemas dinámicos autoadaptativos. Son
adaptables debido a la capacidad de autoajuste de los elementos procesales (neuronas) que
componen el sistema. Son dinámicos, pues son capaces de estar constantemente cambiando para
adaptarse a las nuevas condiciones.
En el proceso de aprendizaje, los enlaces ponderados de las neuronas se ajustan de manera que
se obtengan ciertos resultados específicos. Una red neuronal no necesita un algoritmo para
resolver un problema, ya que ella puede generar su propia distribución de pesos en los enlaces
mediante el aprendizaje. También existen redes que continúan aprendiendo a lo largo de su vida,
después de completado su período de entrenamiento.
La función del diseñador es únicamente la obtención de la arquitectura apropiada. No es problema
del diseñador el cómo la red aprenderá a discriminar. Sin embargo, sí es necesario que desarrolle
un buen algoritmo de aprendizaje que le proporcione a la red la capacidad de discriminar, mediante
un entrenamiento con patrones.

3.2.2 Auto-organización.
Una red neuronal puede crear su propia organización o representación de la información que
recibe mediante una etapa de aprendizaje. Emplean su capacidad de aprendizaje adaptativo para
auto-organizar la información que reciben durante el aprendizaje y/o la operación.
Mientras que el aprendizaje es la modificación de cada elemento procesal, la auto-organización
consiste en la modificación de la red neuronal completa para llevar a cabo un objetivo específico.
Cuando las redes neuronales se usan para reconocer ciertas clases de patrones, ellas auto-
organizan la información usada. Por ejemplo, la red llamada backpropagation, creará su propia
representación característica, mediante la cual puede reconocer ciertos patrones.
6
INTRODUCCION A LAS REDES NEURONALES APLICADAS AL CONTROL INDUSTRIAL
Autores: Manuel Hector Ortí del Toro
Pablo Antonio Guinot Martínez

Esta auto-organización provoca la generalización: facultad de las redes neuronales de responder


apropiadamente cuando se les presentan datos o situaciones a las que no había sido expuesta
anteriormente. El sistema puede generalizar la entrada para obtener una respuesta. Esta
característica es muy importante cuando se tiene que solucionar problemas en los cuales la
información de entrada no es muy clara; además permite que el sistema dé una solución, incluso
cuando la información de entrada está especificada de forma incompleta.

3.2.3 Tolerancia a fallos.


La destrucción parcial de una red conduce a una degradación de su estructura; sin embargo,
algunas capacidades de la red se pueden retener, incluso sufriendo un gran daño. Las redes
neuronales fueron los primeros métodos computacionales con la capacidad inherente de tolerancia
a fallos. Comparados con los sistemas computacionales tradicionales, los cuales pierden su
funcionalidad cuando sufren un pequeño error de memoria, en las redes neuronales, si se produce
un fallo en un número no muy grande de neuronas y aunque el comportamiento del sistema se ve
influenciado, no sufre una caída repentina.
Hay dos aspectos distintos respecto a la tolerancia a fallos:
a) Las redes pueden aprender a reconocer patrones con ruido, distorsionados o incompletos. Esta
es una tolerancia a fallos respecto a los datos.
b) Las redes pueden seguir realizando su función (con cierta degradación) aunque se destruya
parte de la red.
La razón por la que las redes neuronales son tolerantes a los fallos es que tienen su información
distribuida en las conexiones entre neuronas, existiendo cierto grado de redundancia en este tipo
de almacenamiento. La mayoría de los ordenadores algorítmicos y sistemas de recuperación de
datos almacenan cada pieza de información en un espacio único, localizado y direccionable. En
cambio, las redes neuronales almacenan información no localizada. Por lo tanto, la mayoría de las
interconexiones entre los nodos de la red tendrán sus valores en función de los estímulos
recibidos, y se generará un patrón de salida que represente la información almacenada.

3.2.4 Operación en tiempo real.


Los cómputos neuronales pueden ser realizados en paralelo; para esto se diseñan y fabrican
máquinas con hardware especial para obtener esta capacidad. Una de las mayores prioridades,
casi en la totalidad de las áreas de aplicación, es la necesidad de realizar procesos con datos de
forma muy rápida. Las redes neuronales se adaptan bien a esto debido a su implementación
paralela. Para que la mayoría de las redes puedan operar en un entorno de tiempo real, la
necesidad de cambio en los pesos de las conexiones o entrenamiento es mínimo.

3.2.5 Fácil inserción dentro de la tecnología existente.


Se pueden obtener chips especializados para redes neuronales que mejoran su capacidad en
ciertas tareas. Ello facilitará la integración modular en los sistemas existentes Una red individual
puede ser entrenada para desarrollar una única y bien definida tarea (tareas complejas, que hagan
múltiples selecciones de patrones, requerirán sistemas de redes interconectadas). Con las
herramientas computacionales existentes (no del tipo PC), una red puede ser rápidamente
entrenada, comprobada, verificada y trasladada a una implementación hardware de bajo coste. Por
lo tanto, no se presentan dificultades para la inserción de redes neuronales en aplicaciones
7
INTRODUCCION A LAS REDES NEURONALES APLICADAS AL CONTROL INDUSTRIAL
Autores: Manuel Hector Ortí del Toro
Pablo Antonio Guinot Martínez

específicas, por ejemplo de control, dentro de los sistemas existentes. De esta manera, las redes
neuronales se pueden utilizar para mejorar sistemas en forma incremental y cada paso puede ser
evaluado antes de acometer un desarrollo más amplio.

3.3 Redes neuronales y computadoras digitales.

Las neuronas no pueden ser circuitos de umbral lógico, porque hay miles de entradas variables en
la mayoría de las neuronas y el umbral es variable con el tiempo, siendo afectado por la
estimulación, atenuación, etc.
La precisión y estabilidad de tales circuitos no es suficiente para definir ninguna función booleana.
Los procesos colectivos que son importantes en computación neuronal no pueden implementarse
por computación digital. Por todo ello, el cerebro debe ser un computador analógico.
Ni las neuronas ni las sinapsis son elementos de memoria biestable. Todos los hechos fisiológicos
hablan a favor de las acciones de las neuronas como integradores analógicos, y la eficiencia de la
sinapsis cambia de forma gradual, lo cual no es característico de sistemas biestables.
Los circuitos del cerebro no implementan computación recursiva y por lo tanto no son algorítmicos.
Debido a los problemas de estabilidad, los circuitos neuronales no son suficientemente estables
para definiciones recursivas de funciones como en computación digital. Un algoritmo, por
definición, define una función recursiva.

4 ELEMENTOS BÁSICOS

4.1 Elementos básicos que componen una red neuronal.

A continuación se puede ver, en la Figura 2, un esquema de una red neuronal:

Fig.2.-Ejemplo de una red neuronal totalmente conectada

La misma está constituida por neuronas interconectadas y arregladas en tres capas (esto último
puede variar). Los datos ingresan por medio de la “capa de entrada”, pasan a través de la “capa
oculta” y salen por la “capa de salida”. Cabe mencionar que la capa oculta puede estar constituida
por varias capas.
Antes de comenzar el estudio sobre las redes neuronales, se debe aprender algo sobre las
neuronas y de cómo ellas son utilizadas por una red neuronal. En la Figura 3 se compara una

8
INTRODUCCION A LAS REDES NEURONALES APLICADAS AL CONTROL INDUSTRIAL
Autores: Manuel Hector Ortí del Toro
Pablo Antonio Guinot Martínez

neurona biológica con una neurona artificial. En la misma se pueden observar las similitudes entre
ambas (tienen entradas, utilizan pesos y generan salidas).

Fig.3.- Comparación entre una neurona biológica (izquierda) y una artificial (derecha).
Mientras una neurona es muy pequeña en sí misma, cuando se combinan cientos, miles o millones
de ellas pueden resolver problemas muy complejos. Por ejemplo el cerebro humano se compone
de billones de tales neuronas.

4.2 Función de entrada (input function).

La neurona trata a muchos valores de entrada como si fueran uno solo; esto recibe el nombre de
entrada global. Por lo tanto, ahora nos enfrentamos al problema de cómo se pueden combinar
estas simples entradas (ini1, ini2, ...) dentro de la entrada global, gini. Esto se logra a través de la
función de entrada, la cual se calcula a partir del vector entrada. La función de entrada puede
describirse como sigue:
inputi = (ini1•wi1)* (ini2•wi2)*... (inin•win)
donde: * representa al operador apropiado (por ejemplo: máximo, sumatorio, multiplicatorio, etc.), n
al número de entradas a la neurona Ni y wi al peso.
Los valores de entrada se multiplican por los pesos anteriormente ingresados a la neurona. Por
consiguiente, los pesos que generalmente no están restringidos cambian la medida de influencia
que tienen los valores de entrada. Es decir, que permiten que un gran valor de entrada tenga
solamente una pequeña influencia, si estos son lo suficientemente pequeños.

Fig 4.- Ejemplo de una neurona con 2 entradas y 1 salida.


9
INTRODUCCION A LAS REDES NEURONALES APLICADAS AL CONTROL INDUSTRIAL
Autores: Manuel Hector Ortí del Toro
Pablo Antonio Guinot Martínez

La nomenclatura utilizada en la Figura 4 es la siguiente: ini1 = entrada número 1 a la neurona Ni; wi1
= peso correspondiente a ini1; ini2 = entrada número 2 a la neurona Ni; wi2 = peso correspondiente a
ini2; y outi = salida de la neurona Ni. El conjunto de todas las n entradas ini = (ini1, ini2, ..., inin) es
comúnmente llamado “vector entrada”.
Algunas de las funciones de entrada más comúnmente utilizadas y conocidas son:
1) Sumatorio de las entradas pesadas: es la suma de todos los valores de entrada a la
neurona, multiplicados por sus correspondientes pesos.
∑j (nij wij), con j = 1,2,…,n
2) Multiplicatorio de las entradas pesadas: es el producto de todos los valores de entrada a la
neurona, multiplicados por sus correspondientes pesos.
∏j (nij wij), con j=1,2,….,n
3) Máximo de las entradas pesadas: solamente toma en consideración el valor de entrada
más fuerte, previamente multiplicado por su peso correspondiente.

MAXj (nij wij), con j=1,2,….,n

4.3 Función de activación (activation function).

Una neurona biológica puede estar activa (excitada) o inactiva (no excitada); es decir, que tiene un
“estado de activación”. Las neuronas artificiales también tienen diferentes estados de activación;
algunas de ellas solamente dos, al igual que las biológicas, pero otras pueden tomar cualquier
valor dentro de un conjunto determinado.
La función activación calcula el estado de actividad de una neurona; transformando la entrada
global (menos el umbral, Θi) en un valor (estado) de activación, cuyo rango normalmente va de (0 a
1) o de (–1 a 1). Esto es así, porque una neurona puede estar totalmente inactiva (0 o –1) o activa
(1).
La función activación, es una función de la entrada global (gini) menos el umbral (Θi). Las funciones
de activación más comúnmente utilizadas se detallan a continuación:
1) Función lineal:

Fig. 5.- función de activación lineal

Los valores de salida obtenidos por medio de esta función de activación serán:
a·(gini - Θi), cuando el argumento de (gini - Θi) esté comprendido dentro del rango (-1/a, 1/a).
Por encima o por debajo de esta zona se fija la salida en 1 o –1, respectivamente.
Cuando a = 1 (siendo que la misma afecta la pendiente de la gráfica), la salida es igual a la entrada
10
INTRODUCCION A LAS REDES NEURONALES APLICADAS AL CONTROL INDUSTRIAL
Autores: Manuel Hector Ortí del Toro
Pablo Antonio Guinot Martínez

2) Función sigmoidea:

Los valores de salida que proporciona esta función


están comprendidos dentro de un rango que va de 0 a
1. Al modificar el valor de g se ve afectada la pendiente
de la función de activación.

Fig. 6.- función de activación sigmoidea

3) Función tangente hiperbólica:

Los valores de salida de la función tangente hiperbólica están


comprendidos dentro de un rango que va de -1 a 1.
Al modificar el valor de g se ve afectada la pendiente de la función
de activación.

Fig. 7.- función de activación tangente hiperbólica.

4.4 Función de salida (output function).

El último componente que una neurona necesita es la función de salida. El valor resultante de esta
función es la salida de la neurona i (outi); por ende, la función de salida determina que valor se
transfiere a las neuronas vinculadas. Si la función de activación está por debajo de un umbral
determinado, ninguna salida se pasa a la neurona subsiguiente. Normalmente, no cualquier valor
es permitido como una entrada para una neurona, por lo tanto, los valores de salida están
comprendidos en el rango [0, 1] o [-1, 1]. También pueden ser binarios {0, 1} o {-1, 1}.
Dos de las funciones de salida más comunes son:
Ninguna: este es el tipo de función más sencillo, tal que la salida es la misma que la entrada. Es
también llamada función identidad.

11
INTRODUCCION A LAS REDES NEURONALES APLICADAS AL CONTROL INDUSTRIAL
Autores: Manuel Hector Ortí del Toro
Pablo Antonio Guinot Martínez

5 APRENDIZAJE, VALIDACIÓN Y CODIFICACIÓN

5.1 Niveles o capas de una red neuronal.

La distribución de neuronas dentro de la red se realiza formando niveles o capas, con un número
determinado de dichas neuronas en cada una de ellas. A partir de su situación dentro de la red, se
pueden distinguir tres tipos de capas:
- De entrada: es la capa que recibe directamente la información proveniente de las fuentes
externas de la red.
- Ocultas: son internas a la red y no tienen contacto directo con el entorno exterior. El número de
niveles ocultos puede estar entre cero y un número elevado. Las neuronas de las capas ocultas
pueden estar interconectadas de distintas maneras, lo que determina, junto con su número, las
distintas topologías de redes neuronales.
- De salidas: transfieren información de la red hacia el exterior.
En la Figura 2 se puede ver el ejemplo de la estructura de una posible red multicapa, en la que
cada nodo o neurona únicamente está conectada con neuronas de un nivel superior. Notar que hay
más conexiones que neuronas en sí; en este sentido, se dice que una red es totalmente conectada
si todas las salidas desde un nivel llegan a todos y cada uno de los nodos del nivel siguiente.

5.2 Tipos de neuronas artificiales.

Las neuronas artificiales se pueden clasificar de acuerdo a los valores que pueden tomar. Por
ahora es suficiente distinguir entre dos tipos principales:
a- Neuronas binarias.
b- Neuronas reales.
Las neuronas binarias solamente pueden tomar valores dentro del intervalo {0, 1} o {-1, 1},
mientras que las neuronas reales pueden hacerlo dentro del rango [0, 1] o [-1, 1]. Los pesos
normalmente no están restringidos a un cierto intervalo, aunque para aplicaciones específicas
puede ser esto necesario.

5.3 Técnicas de decisión.

En general, el proceso de decisión puede ser caracterizado como se muestra en el diagrama de la


Figura 8

12
INTRODUCCION A LAS REDES NEURONALES APLICADAS AL CONTROL INDUSTRIAL
Autores: Manuel Hector Ortí del Toro
Pablo Antonio Guinot Martínez

Fig. 8.- Esquema del proceso de decisión

Lo mismo ocurre cuando se utiliza una red neuronal como un sistema de sostén de decisiones. La
salida de la red neuronal es directa o indirectamente la solución al problema o la decisión a tomar.

5.4 Mecanismos de aprendizaje.

Se ha visto que los datos de entrada se procesan a través de la red neuronal con el propósito de
lograr una salida. También se dijo que las redes neuronales extraen generalizaciones desde un
conjunto determinado de ejemplos anteriores de tales problemas de decisión. Una red neuronal
debe aprender a calcular la salida correcta para cada constelación (arreglo o vector) de entrada en
el conjunto de ejemplos. Este proceso de aprendizaje se denomina: proceso de entrenamiento o
acondicionamiento. El conjunto de datos (o conjunto de ejemplos) sobre el cual este proceso se
basa es, por ende, llamado: conjunto de datos de entrenamiento.
Si la topología de la red y las diferentes funciones de cada neurona (entrada, activación y salida)
no pueden cambiar durante el aprendizaje, mientras que los pesos sobre cada una de las
conexiones si pueden hacerlo; el aprendizaje de una red neuronal significa: adaptación de los
pesos.
En otras palabras el aprendizaje es el proceso por el cual una red neuronal modifica sus pesos en
respuesta a una información de entrada. Los cambios que se producen durante el mismo se
reducen a la destrucción, modificación y creación de conexiones entre las neuronas. En los
sistemas biológicos existe una continua destrucción y creación de conexiones entre las neuronas.
En los modelos de redes neuronales artificiales, la creación de una nueva conexión implica que el
peso de la misma pasa a tener un valor distinto de cero. De la misma manera, una conexión se
destruye cuando su peso pasa a ser cero.
Durante el proceso de aprendizaje, los pesos de las conexiones de la red sufren modificaciones,
por lo tanto, se puede afirmar que este proceso ha terminado (la red ha aprendido) cuando los
valores de los pesos permanecen estables (dwij/dt = 0).
Un aspecto importante respecto al aprendizaje de las redes neuronales es el conocer cómo se
modifican los valores de los pesos, es decir, cuáles son los criterios que se siguen para cambiar el
valor asignado a las conexiones cuando se pretende que la red aprenda una nueva información.
Hay dos métodos de aprendizaje importantes que pueden distinguirse:
a- Aprendizaje supervisado.
b- Aprendizaje no supervisado.
Otro criterio que se puede utilizar para diferenciar las reglas de aprendizaje se basa en considerar
si la red puede aprender durante su funcionamiento habitual o si el aprendizaje supone la
desconexión de la red, es decir, su inhabilitación hasta que el proceso termine. En el primer caso,
se trataría de un aprendizaje on line, mientras que el segundo es lo que se conoce como off line.
Cuando el aprendizaje es off line, se distingue entre una fase de aprendizaje o entrenamiento y
una fase de operación o funcionamiento, existiendo un conjunto de datos de entrenamiento y un
conjunto de datos de test o prueba, que serán utilizados en la correspondiente fase. Además, los
pesos de las conexiones permanecen fijos después que termina la etapa de entrenamiento de la

13
INTRODUCCION A LAS REDES NEURONALES APLICADAS AL CONTROL INDUSTRIAL
Autores: Manuel Hector Ortí del Toro
Pablo Antonio Guinot Martínez

red. Debido precisamente a su carácter estático, estos sistemas no presentan problemas de


estabilidad en su funcionamiento.
Una generalización de la fórmula o regla para decir los cambios en los pesos es la siguiente:
Peso Nuevo = Peso Viejo + Cambio de Peso
Matemáticamente esto es:

wij(t+1) = wij(t) + Δwij(t)

donde t hace referencia a la etapa de aprendizaje, wij(t+1) al peso nuevo y wij(t) al peso viejo.

5.4.1 Aprendizaje supervisado.


El aprendizaje supervisado se caracteriza porque el proceso de aprendizaje se realiza mediante un
entrenamiento controlado por un agente externo (supervisor, maestro) que determina la respuesta
que debería generar la red a partir de una entrada determinada. El supervisor controla la salida de
la red y en caso de que ésta no coincida con la deseada, se procederá a modificar los pesos de las
conexiones, con el fin de conseguir que la salida obtenida se aproxime a la deseada.
En este tipo de aprendizaje se suelen considerar, a su vez, tres formas de llevarlo a cabo, que dan
lugar a los siguientes aprendizajes supervisados:
1) Aprendizaje por corrección de error.
2) Aprendizaje por refuerzo.
3) Aprendizaje estocástico.

5.4.1.1 Aprendizaje por corrección de error.


Consiste en ajustar los pesos de las conexiones de la red en función de la diferencia entre los
valores deseados y los obtenidos a la salida de la red, es decir, en función del error cometido en la
salida.
Un ejemplo de este tipo de algoritmos lo constituye la regla de aprendizaje del Perceptron, utilizada
en el entrenamiento de la red del mismo nombre que desarrolló Rosenblatt en 1958 [Rosenblatt
58]. Esta es una regla muy simple, para cada neurona en la capa de salida se le calcula la
desviación a la salida objetivo como el error, δ. El cual luego se utiliza para cambiar los pesos
sobre la conexión de la neurona precedente. El cambio de los pesos por medio de la regla de
aprendizaje del Perceptron se realiza según la siguiente regla:
∆ ∗ ∗ ;
donde: aqi es la salida deseada/objetivo de la neurona de salida Ni, δi = (aqi – outi) la desviación
objetivo de la neurona Ni y σ el aprendizaje.
La salida de la neurona Nj (outj) se utiliza, porque este valor influye en la entrada global y, por
ende, en la activación y luego en la salida de la neurona Ni. Esto es semejante a un “efecto en
cadena”. Ver Figura .9

Fig. 9.- influencia de la salida de la neurona Nj en la entrada de la neurona Ni

14
INTRODUCCION A LAS REDES NEURONALES APLICADAS AL CONTROL INDUSTRIAL
Autores: Manuel Hector Ortí del Toro
Pablo Antonio Guinot Martínez

Otro algoritmo muy conocido y que pertenece a esta clasificación es la regla de aprendizaje Delta o
regla del mínimo error cuadrado (LMS Error: Least Mean Squared Error), que también utiliza la
desviación a la salida objetivo, pero toma en consideración a todas las neuronas predecesoras que
tiene la neurona de salida. Esto permite cuantificar el error global cometido en cualquier momento
durante el proceso de entrenamiento de la red, lo cual es importante, ya que cuanta más
información se tenga sobre el error cometido, más rápido se puede aprender. Luego el error
calculado (δ) es igualmente repartido entre las conexiones de las neuronas predecesoras.
Por último se debe mencionar la regla de aprendizaje de propagación hacia atrás o de
backpropagation, también conocido como regla LMS multicapa, la cual es una generalización de la
regla de aprendizaje Delta. Esta es la primera regla de aprendizaje que permitió realizar cambios
sobre los pesos en las conexiones de la capa oculta.

5.4.1.2 Aprendizaje por refuerzo.


Se trata de un aprendizaje supervisado, más lento que el anterior, que se basa en la idea de no
disponer de un ejemplo completo del comportamiento deseado, es decir, de no indicar durante el
entrenamiento exactamente la salida que se desea que proporcione la red ante una determinada
entrada.
En el aprendizaje por refuerzo la función del supervisor se reduce a indicar mediante una señal de
refuerzo si la salida obtenida en la red se ajusta a la deseada (éxito = +1 o fracaso = -1), y en
función de ello se ajustan los pesos basándose en un mecanismo de probabilidades. Se podría
decir que en este tipo de aprendizaje la función del supervisor se asemeja más a la de un crítico
(que opina sobre la respuesta de la red) que a la de un maestro (que indica a la red la respuesta
concreta que debe generar), como ocurría en el caso de supervisión por corrección del error.

5.4.1.3 Aprendizaje estocástico.


Consiste básicamente en realizar cambios aleatorios en los valores de los pesos de las conexiones
de la red y evaluar su efecto a partir del objetivo deseado y de distribuciones de probabilidad.
En el aprendizaje estocástico se suele hacer una analogía en términos termodinámicos, asociando
a la red neuronal con un sólido físico que tiene cierto estado energético. En el caso de la red, la
energía de la misma representaría el grado de estabilidad de la red, de tal forma que el estado de
mínima energía correspondería a una situación en la que los pesos de las conexiones consiguen
que su funcionamiento sea el que más se ajusta al objetivo deseado.
Según lo anterior, el aprendizaje consistiría en realizar un cambio aleatorio de los valores de los
pesos y determinar la energía de la red (habitualmente la función energía es una función de
Liapunov). Si la energía es menor después del cambio, es decir, si el comportamiento de la red se
acerca al deseado, se acepta el cambio; si, por el contrario, la energía no es menor, se aceptaría el
cambio en función de una determinada y preestablecida distribución de probabilidades.

5.4.2 Aprendizaje no supervisado.


Las redes con aprendizaje no supervisado (también conocido como autosupervisado) no requieren
influencia externa para ajustar los pesos de las conexiones entre sus neuronas. La red no recibe
ninguna información por parte del entorno que le indique si la salida generada en respuesta a una
determinada entrada es o no correcta.
15
INTRODUCCION A LAS REDES NEURONALES APLICADAS AL CONTROL INDUSTRIAL
Autores: Manuel Hector Ortí del Toro
Pablo Antonio Guinot Martínez

Estas redes deben encontrar las características, regularidades, correlaciones o categorías que se
puedan establecer entre los datos que se presenten en su entrada.
Existen varias posibilidades en cuanto a la interpretación 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 información que
se le está presentando en la entrada y las informaciones que se le han mostrado hasta entonces
(en el pasado). En otro caso, podría realizar una clusterización (clustering) o establecimiento de
categorías, indicando la red a la salida a qué categoría pertenece la información presentada a la
entrada, siendo la propia red quien debe encontrar las categorías apropiadas a partir de las
correlaciones entre las informaciones presentadas.
En cuanto a los algoritmos de aprendizaje no supervisado, en general se suelen considerar dos
tipos, que dan lugar a los siguientes aprendizajes:
1) Aprendizaje hebbiano.
2) Aprendizaje competitivo y comparativo.

5.4.2.1 Aprendizaje hebbiano.


Esta regla de aprendizaje es la base de muchas otras, la cual pretende medir la familiaridad o
extraer características de los datos de entrada. El fundamento es una suposición bastante simple:
si dos neuronas Ni y Nj toman el mismo estado simultáneamente (ambas activas o ambas
inactivas), el peso de la conexión entre ambas se incrementa.
Las entradas y salidas permitidas a la neurona son: {-1, 1} o {0, 1} (neuronas binarias). Esto puede
explicarse porque la regla de aprendizaje de Hebb se originó a partir de la neurona biológica
clásica, que solamente puede tener dos estados: activa o inactiva.

5.4.2.2 Aprendizaje competitivo y comparativo.


Se orienta a la clusterización o clasificación de los datos de entrada. Como característica principal
del aprendizaje competitivo se puede decir que, si un patrón nuevo se determina que pertenece a
una clase reconocida previamente, entonces la inclusión de este nuevo patrón a esta clase
matizará la representación de la misma. Si el patrón de entrada se determinó que no pertenece a
ninguna de las clases reconocidas anteriormente, entonces la estructura y los pesos de la red
neuronal serán ajustados para reconocer la nueva clase.

5.5 Elección del conjunto inicial de pesos.

Antes de comenzar el proceso de entrenamiento se debe determinar un estado inicial, lo que


significa: escoger un conjunto inicial de pesos para las diversas conexiones entre las neuronas de
la red neuronal. Esto puede realizarse por varios criterios; por ejemplo uno de ellos es otorgar un
peso aleatorio a cada conexión, encontrándose los mismos dentro de un cierto intervalo.
Generalmente un intervalo del tipo [-n, n], donde n es un número natural positivo.
Cabe mencionar que durante el transcurso del entrenamiento los pesos no se encuentran
restringidos a dicho intervalo.

16
INTRODUCCION A LAS REDES NEURONALES APLICADAS AL CONTROL INDUSTRIAL
Autores: Manuel Hector Ortí del Toro
Pablo Antonio Guinot Martínez

5.6 Detención del proceso de aprendizaje.

Para determinar cuándo se detendrá el proceso de aprendizaje, es necesario establecer una


condición de detención.
Normalmente el entrenamiento se detiene cuando el cálculo del error cuadrado sobre todos los
ejemplos de entrenamiento ha alcanzado un mínimo o cuando para cada uno de los ejemplos
dados, el error observado está por debajo de un determinado umbral. Ya que para controlar este
proceso, la mayor parte de las herramientas de las redes neuronales muestran estos errores
utilizando gráficos especiales; los cuales no son utilizados para el aprendizaje, si no que solamente
para dar un indicio del proceso en sí mismo.
Otra condición de detención del aprendizaje puede ser cuando un cierto número de ciclos y/o
pasos de entrenamiento hayan sido completamente corridos.
Luego de alcanzarse la condición de detención, los pesos no se volverán a cambiar. Entonces
podemos decir que la transformación de los datos de entrada a los de salida está resuelta. Esto se
puede interpretar como una función f oculta en el conjunto de la red neuronal. Esta función es
exactamente la “instrucción” de cómo la salida será calculada a partir de una constelación (vector)
de entrada.
El orden en que los ejemplos de entrenamiento se presentan a la red neuronal es otro tema
importante. En general se ha observado que en la mayoría de los casos es beneficioso realizarlo
en forma aleatoria.

5.7 Codificación de los datos de entrada.

Si se observa nuevamente el ejemplo del problema: puntaje para un crédito , se ve que no hay
ningún valor numérico en la base de datos. Por lo tanto la pregunta es ¿cómo puede entonces una
red neuronal calcular una salida? La respuesta es sencilla; los datos tienen que ser codificados, o
sea, deben hallarse valores apropiados para representar las características simbólicas (alto, bajo,
adecuado, etc.).
Se distinguen dos tipos de variables a ser codificadas:
1) Variables o atributos numéricos (frecuentemente llamadas continuas).
2) Variables o atributos simbólicos (frecuentemente llamados discretos).
Un atributo numérico es aquel que puede tomar cualquier valor dentro de un cierto intervalo [a, b];
donde a puede ser -∞ (menos infinito) y b, ∞ (infinito). Por ejemplo el peso puede medirse en libras;
entonces cualquier valor entre [0, ∞) está permitido. Ahora si los pesos son dados por un cierto
número de términos, semejantes a: alto o bajo; entonces el atributo se denomina simbólico. Por lo
tanto, dividiendo el intervalo [a, b] de una variable numérica dentro de subintervalos, podemos
confeccionar un atributo continuo pseudodiscreto.
A continuación, en los apartados 5.7.1 y 5.7.2, serán descriptos en detalle dos procesos de
codificación; asumiendo que todas las entradas se transforman dentro del intervalo [0, 1] o {0, 1} (la
extensión a [-1, 1] o {-1, 1} es fácil).

17
INTRODUCCION A LAS REDES NEURONALES APLICADAS AL CONTROL INDUSTRIAL
Autores: Manuel Hector Ortí del Toro
Pablo Antonio Guinot Martínez

5.7.1 Codificación de los atributos numéricos.


Los datos son codificados dentro de un intervalo, [0.0 + buffer de baja, 1.0 – buffer de alta], por
medio de una función lineal. Los buffer (amortiguadores) son necesarios, especialmente cuando se
trabaja con series de tiempo, porque a menudo puede observarse que una variable numérica cae
por debajo del valor mínimo presenciado hasta el momento, o por encima del máximo. Por medio
de esta manera de codificación se conduce a un conjunto de valores por encima de 0.0 y por
debajo de 1.0, cuando se utiliza un salto de 0.0 a 1.0

Fig. 10- Esquema del proceso de decisión

Por ejemplo, para la Figura 10, se debe encontrar la ecuación que describa la función de
transformación; a la cual llamaremos “t” y se escribe como sigue:
t: datos originales (x) → datos codificados (xnuevos);
t(x) = xnuevos = a * x + b;
donde: a = pendiente y, b = ordenada al origen. De esta manera, para el ejemplo de la Figura 10 se
tiene que

. .
y 0.1 ∗ 19
De forma genérica:

a= máx. en el intervalo de codificación - mín. en el intervalo de codificación


máx. de los datos originales - mín de los datos originales
b = (mín. en los datos codificados) - a * (mín en los datos originales)

5.7.2 Codificación de los atributos simbólicos.


Cada atributo simbólico que se codifica, se adjunta a una neurona en la capa de entrada. Si hay n
valores simbólicos, n neuronas serán necesarias, cada una de ellas con un conjunto de entradas
permitido: {0, 1} (o {-1, 1}). Por este motivo, se utilizan neuronas binarias.

18
INTRODUCCION A LAS REDES NEURONALES APLICADAS AL CONTROL INDUSTRIAL
Autores: Manuel Hector Ortí del Toro
Pablo Antonio Guinot Martínez

Fig. 11- transformación de la edad en tres atributos simbólicos.


Observando la Figura 11; la edad sólo puede tomar un valor en el ejemplo dado. En consecuencia,
si se tiene el valor de entrada viejo, solamente la neurona estática para viejo recibe una entrada de
1 (en el ejemplo: N1), mientras que todas las demás tendrán una entrada igual a 0.
Por supuesto, también es posible codificar atributos simbólicos utilizando sólo una neurona “real”
(recordar que los valores permitidos para este tipo de neuronas están comprendidos en el rango [0,
1] o [1, 1]). Para el ejemplo de la edad, viejo puede codificarse como 0.333, edad media como
0.666 y joven como 1; siendo el intervalo permitido de [0, 1]. Tal procedimiento solamente tiene
sentido si hay un orden en los valores que las variables de entrada (o atributos) pueden tomar.
La mayor desventaja de una codificación binaria es que puede conducir a una gran capa de
entrada.

5.7.3 Resumen de los procedimientos de codificación.

5.8 Validación de la red neuronal.

Después del proceso de entrenamiento los pesos de las conexiones en la red neuronal quedan
fijos. Como paso siguiente se debe comprobar si la red neuronal puede resolver nuevos
problemas, del tipo general, para los que ha sido entrenada. Por lo tanto, con el propósito de
validar la red neuronal se requiere de otro conjunto de datos, denominado conjunto de validación o
testeo.
Cada ejemplo del conjunto de evaluación contiene los valores de las variables de entrada, con su
correspondiente solución tomada; pero ahora esta solución no se le es otorgada a la red neuronal.
Luego se compara la solución calculada para cada ejemplo de validación con la solución conocida.
19
INTRODUCCION A LAS REDES NEURONALES APLICADAS AL CONTROL INDUSTRIAL
Autores: Manuel Hector Ortí del Toro
Pablo Antonio Guinot Martínez

El nuevo ejemplo utilizado para la validación se identifica como Eu y su correspondiente salida


correcta como Au (u indica incógnita, en inglés). Ahora el problema es que hay que decidir cuando
la salida de la red neuronal ha de considerarse como correcta.

5.9 Cuestiones a resolver al trabajar con una red neuronal.

Muchos problemas aparecen cuando se trabaja con redes neuronales.


Primeramente se debe analizar el dominio del problema y decidir a qué clase pertenece.
Luego debe decidirse si una red neuronal es adecuada para resolver dicho problema.
Esto es lo que se llama: etapa preliminar. Concluida esta etapa, las siguientes preguntas han de
responderse:
a- Origen de los datos.
¿Qué datos son de importancia para la situación del problema definido?
¿Qué variables son relevantes?
¿De dónde pueden obtenerse los datos?
b- Preparación y codificación de los datos.
¿Cómo preparar y codificar los datos?
c- Topología de la red (dependiendo parcialmente del ítem b-).
¿Qué tipo de red debe escogerse?
¿Cuántas capas ocultas y con cuántas neuronas son necesarias?
¿Cuántas neuronas en la capa de salida (según la codificación escogida)?
¿Qué tipos de neuronas deben escogerse?
¿Qué regla de aprendizaje escoger?
d- Decisiones concernientes al proceso de aprendizaje.
¿Cuántos ciclos de aprendizaje?
¿Qué inicialización para los pesos?

6 PRINCIPALES TOPOLOGÍAS

6.1 Topología de las redes neuronales.

La topología o arquitectura de una red neuronal consiste en la organización y disposición de las


neuronas en la misma, formando capas o agrupaciones de neuronas más o menos alejadas de la
entrada y salida de dicha red. En este sentido, los parámetros fundamentales de la red son: el
número de capas, el número de neuronas por capa, el grado de conectividad y el tipo de
conexiones entre neuronas.

6.2 Redes monocapa.

En las redes monocapa, se establecen conexiones entre las neuronas que pertenecen a la única
capa que constituye la red. Las redes monocapa se utilizan generalmente en tareas relacionadas
con lo que se conoce como autoasociación (regenerar información de entrada que se presenta a la
red de forma incompleta o distorsionada).

20
INTRODUCCION A LAS REDES NEURONALES APLICADAS AL CONTROL INDUSTRIAL
Autores: Manuel Hector Ortí del Toro
Pablo Antonio Guinot Martínez

6.3 Redes multicapa.

Las redes multicapas son aquellas que disponen de un conjunto de neuronas agrupadas en varios
(2, 3, etc.) niveles o capas. En estos casos, una forma para distinguir la capa a la que pertenece
una neurona, consistiría en fijarse en el origen de las señales que recibe a la entrada y el destino
de la señal de salida. Normalmente, todas las neuronas de una capa reciben señales de entrada
desde otra capa anterior (la cual está más cerca a la entrada de la red), y envían señales de salida
a una capa posterior (que está más cerca a la salida de la red). A estas conexiones se las
denomina conexiones hacia adelante o feedforward.
Sin embargo, en un gran número de estas redes también existe la posibilidad de conectar la salida
de las neuronas de capas posteriores a la entrada de capas anteriores; a estas conexiones se las
denomina conexiones hacia atrás o feedback.
Estas dos posibilidades permiten distinguir entre dos tipos de redes con múltiples capas: las redes
con conexiones hacia adelante o redes feedforward, y las redes que disponen de conexiones tanto
hacia adelante como hacia atrás o redes feedforward/feedback.

6.4 Conexión entre neuronas.

La conectividad entre los nodos de una red neuronal está relacionada con la forma en que las
salidas de las neuronas están canalizadas para convertirse en entradas de otras neuronas. La
señal de salida de un nodo puede ser una entrada de otro elemento de proceso, o incluso ser una
entrada de sí mismo (conexión autorrecurrente).
Cuando ninguna salida de las neuronas es entrada de neuronas del mismo nivel o de niveles
precedentes, la red se describe como de conexión hacia delante (ver Figura 2) previos o del mismo
nivel, incluyéndose ellas mismas, la red es de conexión hacia atrás.
Las redes de propagación hacia atrás que tienen lazos cerrados son llamadas: sistemas
recurrentes.

6.5 Redes de propagación hacia atrás (backpropagation).

El nombre de backpropagation resulta de la forma en que el error es propagado hacia atrás a


través de la red neuronal, en otras palabras el error se propaga hacia atrás desde la capa de
salida. Esto permite que los pesos sobre las conexiones de las neuronas ubicadas en las capas
ocultas cambien durante el entrenamiento.
El cambio de los pesos en las conexiones de las neuronas además de influir sobre la entrada
global, influye en la activación y por consiguiente en la salida de una neurona. Por lo tanto, es de
gran utilidad considerar las variaciones de la función activación al modificarse el valor de los pesos.
Esto se llama sensibilidad de la función activación, de acuerdo al cambio en los pesos.
6.5.1 Ejemplo.
Una temperatura de 20ºC provoca que el tiempo de operación de una máquina sea de 90
segundos y un incremento de dicha temperatura hasta los 30ºC causa un tiempo de operación de
100 segundos. ¿Cómo influyó el incremento de la temperatura en el tiempo de trabajo de la
máquina? Por supuesto, hizo más lenta la operación. Pero, ¿por cuánto?
El cociente, variación de temperatura/variación de tiempo, muestra la reacción o sensibilidad del
tiempo de trabajo conforme a los cambios suscitados en la temperatura. En consecuencia, para
nuestro ejemplo tenemos que:

100 90 ∆ 10
/ / 1 /
30 20 ∆ 10

Esto significa que se produce un incremento de tiempo de aproximadamente 1 segundo, cuando la


temperatura se eleva 1ºC.
Ahora si se supone que en lugar del tiempo se tiene la activación de una neurona y en lugar de la
temperatura, la entrada global. Dado que la mayoría de las funciones de activación son no lineales
(por ejemplo la función sigmoidea o la tangente hiperbólica), se tiene que calcular la derivada de la

21
INTRODUCCION A LAS REDES NEURONALES APLICADAS AL CONTROL INDUSTRIAL
Autores: Manuel Hector Ortí del Toro
Pablo Antonio Guinot Martínez

función con respecto al peso; por consiguiente, la entrada global cambia. Esta derivada se utiliza
para cambiar los pesos durante el proceso de aprendizaje.
Para cada una de las neuronas en la capa de salida, la desviación objetivo (la cual es: la salida
objetivo menos la salida real) es multiplicada por la derivada de la función activación. Utilizando la
derivada se logra una “sintonización fina” de los pesos cuando la salida real está cerca de la salida
deseada. Al mirar la Figura 12, la misma muestra una constelación donde la salida real para una
neurona es 0.95 y la deseada es de 1.0

Fig. 12- Desviación a la salida objetivo.

Dado que la derivada de la función activación es relativamente baja en esta región (cuando la
función activación está próxima a 1), el producto “derivada por desviación objetivo”, igual al error,
no se torna muy grande. Esto es lo que se llama sintonía fina de los pesos. De esta manera, la
diferencia en el cómputo del error para las neuronas de salida al utilizar el algoritmo de
backpropagation, en lugar de las reglas simples de aprendizaje del Perceptron, es justamente el
factor derivada de la función activación.

6.6 Estructura de la Red Hopfield.

La Red Hopfield es recurrente y completamente interconectada. Funciona como una memoria


asociativa no lineal, que puede almacenar internamente patrones presentados de forma incompleta
o con ruido. De esta forma puede ser usada como una herramienta de optimización; también se
han utilizado en aplicaciones de segmentación y restauración de imágenes y optimización
combinatoria.
La Red Hopfield consta de un número de neuronas simétrica e íntegramente conectadas, como ya
se mencionó anteriormente. Esto significa que si existe una conexión desde la neurona Ni a la
neurona Nj, también existe la conexión desde Nj a Ni; ambas exhibiendo el mismo peso (wij = wji).
Vale aclarar que la conexión de una neurona con sí misma no está permitida.
El conjunto permitido de valores de entrada y salida es {0, 1} (o en alguna oportunidad {-1, 1}); o
sea, es un conjunto binario. De esta manera todas las neuronas en una Red Hopfield son binarias,
tomando solamente uno de los dos estados posibles: activo (1) o inactivo (-1 o 0).
Las Redes Hopfield se emplean para reconocer patrones. Después que el aprendizaje haya
llegado a su fin, la red neuronal debe ser capaz de dar una salida correcta para cada patrón de
entrada dado, aun cuando este sea ruidoso.
La clave del aprendizaje Hopfield es que si un patrón que tiene que ser aprendido se conoce, los
pesos sobre cada conexión de la red neuronal pueden ser calculados. En esta circunstancia,
solamente el estado de las neuronas cambia durante el proceso de aprendizaje. Este cálculo
garantiza que cada patrón aprendido corresponda a un mínimo de la función energía.
Es importante entender que para este tipo de redes la definición de aprendizaje es diferente al
dado anteriormente, donde aprendizaje significaba simplemente la adaptación de los pesos. En
22
INTRODUCCION A LAS REDES NEURONALES APLICADAS AL CONTROL INDUSTRIAL
Autores: Manuel Hector Ortí del Toro
Pablo Antonio Guinot Martínez

una Red Hopfield los pesos se pueden calcular y se mantienen fijos durante el aprendizaje de los
patrones. Solamente cambia el estado de las neuronas.
Para calcular el peso de una conexión cualquiera, wij (y por simetría para la conexión wji), en una
Red Hopfield se utiliza la siguiente ecuación:

2∗ 1 ∗ 2∗ 1 ,

siendo Q el número de patrones y eqi la entrada a la neurona Ni.

Generalmente es aconsejable trabajar con esta ecuación cuando los patrones que se han de
aprender no son muy semejantes unos a otros, y si el número de ceros y unos son similares para
todos los patrones. Con respecto al número de ceros y unos, el umbral de cada neurona puede
utilizarse para regular esto, distinguiéndose así dos casos posibles:
a- Si hay más ceros que unos el umbral tiene que disminuirse, porque que las neuronas tienen una
probabilidad más alta para hacerse inactivas que para hacerse activas.
b- Si hay más unos que ceros el umbral tiene que incrementarse, porque las neuronas tienen una
probabilidad más alta para hacerse activas que para hacerse inactivas.

6.7 Simulated Annealing aplicada a una Red Hopfield.

En muchos problemas, la tarea no es justamente encontrar cualquier mínimo local, sino la de


encontrar el óptimo global. Lo que significa que para una entrada determinada se debe encontrar
una salida que resulte en un mínimo de la función energía. Utilizando una Red Hopfield, se
encuentra que un mínimo está cerca del vector de entrada dado, porque la energía decrece paso a
paso. El cual puede ser un mínimo local.
En una Red Hopfield todos los mínimos locales son un estado estable. Un problema similar se
origina en termodinámica durante el proceso de cristalización.
Durante un enfriamiento lento, el cristal crece con una estructura casi perfecta, ya que cada átomo
tiene bastante tiempo para saltar a otra posición dentro de la cuadrícula, de tal forma que la
energía total del cristal decrezca. Para realizar dicho salto se necesita energía, es decir, que si el
cristal tiene la energía suficiente (si su temperatura es aun bastante alta), todos los átomos
disponen de una chance para cambiar su posición. Pero para permitir que esto ocurra la energía
de un átomo tiene que incrementarse por un corto tiempo, de lo contrario el átomo descansaría en
su vieja posición.
Tener una chance se puede interpretar como “hay una probabilidad”. Esta probabilidad depende de
la activación que un átomo muestra a una determinada temperatura y tiempo del sistema.
Utilizando esta técnica donde el cristal comienza a una temperatura elevada y que luego decrece
paso a paso, se les da a los átomos una posibilidad de cambiar sus estados independientemente
de la activación, por medio de un incremento en la energía de los mismos de un paso a otro.
Cuando la temperatura se reduce, la cuadrícula vibra menos, y el sistema (la cuadrícula) alcanza
un estado estable; haciéndose gradualmente más dificultoso para un átomo encontrar la energía
para saltar a otra posición. Esta es la idea de Simulated Annealing, que luego se aplica a la Red
Hopfield cuando se intenta encontrar un óptimo global.
A grandes rasgos se describe que una Simulated Annealing trabaja de esta manera:
a- Escoger cualquier neurona.
b- Calcular d = gini - Θi.
c- Calcular
1
1 /

d- Generar un número aleatorio r, con 1 ≥ r ≥ 0


e- Si (Pi ≥ r)
 el conjunto outi a 1
 de otra manera
23
INTRODUCCION A LAS REDES NEURONALES APLICADAS AL CONTROL INDUSTRIAL
Autores: Manuel Hector Ortí del Toro
Pablo Antonio Guinot Martínez

 el conjunto outi a 0
f- Disminuye T. Volver al paso a-
El algoritmo se detiene cuando se alcanza algún criterio de detención; por ejemplo si la
temperatura llega a su límite inferior o si el número de ciclos alcanza su límite superior.
La premisa fundamental de este método es que el problema de optimización puede formularse
como una función energética. Por lo tanto hallar el óptimo global implica encontrar el mínimo de
dicha función energética. La misma tiene un aspecto genérico de esta forma:

0.5 ∗ ∗ ∗ ∗

Se han logrado exitosas aplicaciones de Simulated Annealing, principalmente concernientes a los


problemas de optimización combinatoria, semejantes al problema del viajante. El cual no puede
resolverse fácilmente por métodos estadísticos o analíticos. Por ejemplo, imagine que un viajante
tiene que visitar 19 ciudades. ¿Qué ruta suministra el camino más corto entre todas las ciudades, o
sea, en qué orden deberán visitarse todas las ciudades?
Por último una diferenciación muy importante es que en una Simulated Annealing la energía puede
disminuir en un paso y crecer en el otro, pero en una Red Hopfield la energía solamente puede
disminuir paso a paso.

6.8 Asociaciones entre la información de entrada y salida.

Ya se sabe que las redes neuronales son sistemas que almacenan cierta información aprendida.
Esta información se registra de forma distribuida en los pesos asociados a las conexiones entre
neuronas. Por tanto, puede imaginarse una red como cierto tipo de memoria que almacena datos
de forma estable, datos que se grabarán en dicha memoria como consecuencia del aprendizaje de
la red y que podrán ser leídos a la salida como respuesta a cierta información de entrada,
comportándose entonces la red como lo que habitualmente se conoce por memoria asociativa:
cuando se aplica un estímulo (dato de entrada) la red responde con una salida asociada a dicha
información de entrada.
Existen dos formas primarias de realizar esta asociación entre entradas/salidas que se
corresponden con la naturaleza de la información almacenada en la red. Una primera sería la
denominada heteroasociación, que se refiere al caso en el que la red aprende parejas de datos
[(A1,B1), (A2, B2),... (AN,BN)], de tal forma que cuando se presente cierta información de entrada
Ai, deberá responder generando la correspondiente salida asociada Bi. La segunda se conoce
como autoasociación, donde la red aprende ciertas informaciones A1, A2, ..., AN; de tal forma que
cuando se le presenta una información de entrada realizará una autocorrelación, respondiendo con
uno de los datos almacenados, el más parecido al de entrada.
Estos dos mecanismos de asociación dan lugar a dos tipos de redes neuronales: las redes
heteroasociativas y las autoasociativas. Una red heteroasociativa podría considerarse como
aquella que computa cierta función, que en la mayoría de los casos no podría expresarse
analíticamente, entre un conjunto de entradas y un conjunto de salidas, correspondiendo a cada
posible entrada una determinada salida. Por otra parte, una red autoasociativa es una red cuya
principal misión es reconstruir una determinada información de entrada que se presente incompleta
o distorsionada (le asocia el dato almacenado más parecido).
En realidad estos dos tipos de modelos de redes no son diferentes en principio, porque una red
heteroasiciativa puede siempre ser reducida a una asociativa mediante la concatenación de una
información de entrada y su salida (respuesta) asociada, para obtener la información de entrada de
la red autoasociativa equivalente. También puede conseguirse que una red autoasociativa se
comporte como heteroasociativa, simplemente presentando, como entrada parcial de la
autoasociativa, la información de entrada para la heteroasociativa y haciendo que la red complete
la información para producir lo que sería la salida de la red heteroasociativa equivalente.

6.8.1 Redes heteroasociativas.


Las redes heteroasociativas, al asociar informaciones de entrada con diferentes informaciones de
salida, precisan al menos de dos capas, una para captar y retener la información de entrada y otra
24
INTRODUCCION A LAS REDES NEURONALES APLICADAS AL CONTROL INDUSTRIAL
Autores: Manuel Hector Ortí del Toro
Pablo Antonio Guinot Martínez

para mantener la salida con la información asociada. Si esto no fuese así, se perdería la
información inicial al obtenerse el dato asociado {3}, lo cual no debe ocurrir, ya que en el proceso
de obtención de la salida se puede necesitar acceder varias veces a esta información que, por
tanto, deberá permanecer en la capa de entrada.
En cuanto a su conectividad, pueden ser del tipo con conexión hacia adelante (o feedforward) o
con conexión hacia atrás (feddforward/feedback), o bien con conexiones laterales.

6.8.2 Redes autoasociativas.


Una red autoasociativa asocia una información de entrada con el ejemplar más parecido de los
almacenados conocidos por la red. Estos tipos de redes pueden implementarse con una sola capa
de neuronas. Esta capa comenzará reteniendo la información inicial a la entrada, y terminará
representando la información autoasociada.
Si se quiere mantener la información de entrada y salida, se deberían añadir capas adicionales, sin
embargo, la funcionalidad de la red puede conseguirse en una sola capa.
En cuanto a su conectividad, existen de conexiones laterales y, en algunos casos, conexiones
autorrecurrentes.

7 APLICACIONES DE LAS REDES NEURONALES EN INGENIERIA ELÉCTRICA

Las aplicaciones que se estudian en este capítulo, representan una serie de problemas típicos en
Ingeniería Eléctrica, muchos de los cuales ya han sido resueltos por métodos tradicionales.
El objetivo de emplear Redes neuronales en su solución es ofrecer una nueva alternativa, que más
que novedosa simplifica y permite, por medio de conocimientos matemáticos de un nivel aceptable
comprender el fundamento y desarrollo del problema a resolver.
PREDICCIÓN DE CONSUMO DE CARGA
DETECCIÓN DE OBSTÁCULOS POR MEDIO DE UN ROBOT
CONTROL DE GIRO DE UN MOTOR DE INDUCCIÓN JAULA DE ARDILLA
FILTRO ADAPTIVO
CONTROL DE VOLTAJE POR INYECCIÓN DE REACTIVOS EN UNA BARRA REMOTA
RECONFIGURACIÓN DE UN ALIMENTADOR PRIMARIO DE CATORCE NODOS
IDENTIFICACIÓN DE UN SISTEMA NO LINEAL
Nosotros vamos a desarrollar la primera, Predicción de consumo de carga, ya que son temas tan
extensos y complejos que necesitaríamos más espacio y tiempo para desarrolar las demás,

7.1 PREDICCIÓN DE CONSUMO DE CARGA

7.1.1 Descripción del problema


Un sistema de energía eléctrica debe abastecer de energía a todos los puntos de carga con una
buena calidad del servicio. Por lo tanto un sistema eléctrico confiable, el cual asegura buena
calidad, debe contar con las siguientes características:
 Entregar energía en forma continua a todos los puntos de carga.
 Los límites de la frecuencia y la tensión deben estar dentro de valores tolerables.
 El sistema debe operar en la medida de lo posible, con costos mínimos y con un mínimo de
alteraciones ambientales o ecológicas.
Estas características pueden adquirirse por medio de una planeación exhaustiva del sistema, que
permita conocer no solo su estado actual, sino también las medidas que deben adoptarse para
condiciones futuras.
Una de las herramientas útiles en el planeamiento de un sistema eléctrico es la predicción del
consumo de carga, la cual permite conocer de antemano la necesidad de expansión del sistema; la
finalidad de la predicción siempre será el mejoramiento del servicio, convirtiéndose en uno de los
primeros pasos en cualquier proceso de planeamiento de un sistema eléctrico.
Al hablar de predicción de carga, resulta útil aclarar que como carga se asume todo equipo que
demanda energía del sistema de energía eléctrica, tales como lámparas, electrodomésticos,
motores eléctricos, hornos eléctricos, etc. De esta manera se tienen varios tipos de carga:
 Equipos de calentamiento
25
INTRODUCCION A LAS REDES NEURONALES APLICADAS AL CONTROL INDUSTRIAL
Autores: Manuel Hector Ortí del Toro
Pablo Antonio Guinot Martínez

 Equipos electrónicos
 Equipo de iluminación
Desde el punto de vista del sistema de energía eléctrica, las cargas pueden ser separadas en tres
(3) grupos funcionales:
 Cargas domiciliarias
 Cargas industriales
 Cargas comerciales
Estas cargas presentan características muy diferentes con relación al tamaño, simetría (1Φ o 3 Φ),
constancia de la carga y el período de funcionamiento.
La predicción de consumo de carga refleja las necesidades futuras de una población; esta
previsión debe ser lo más ajustada a la realidad, ya que unos valores inferiores a los reales
causaran deficiencias en la prestación del servicio en el futuro y un pronóstico de necesidades
superior al real, motiva la inversión prematura en instalaciones que no tendrán un aprovechamiento
inmediato.
La proyección del suministro de energía se hace con base en el consumo, aplicando porcentajes
de pérdidas que pueden obtenerse de un análisis de los registros históricos (que normalmente se
presentan en forma estadística), o por similitud con otros sistemas. En general las pérdidas tienden
a disminuir a causa de las mejoras progresivas, que se introducen en los sistemas de transmisión,
subtransmisión y distribución. En forma similar al consumo de energía, la proyección de la
demanda pico se obtiene sumando las demandas máximas coincidentes en hora pico.
En la tabla 1 se observa el comportamiento típico de consumo de carga de una población, a la cual
se realizó un seguimiento hora a hora durante una semana. Se ha tomado el día lunes como 1 y en
su orden el día domingo como 7, se asumió la una de la mañana como la hora 0 y las doce de la
noche como la hora 23. Los datos correspondientes al consumo de la población se encuentran en
(kW).

HORA 0 1 2 3 4 5 6 7 8 9 10 11
Lunes 1,2300 1,0889 1,0289 0,9879 0,9879 1,1050 1,3729 1,6649 1,6649 2,1569 2,3230 2,3659
Martes 1,6049 1,4389 1,3631 1,3559 1,3439 1,3890 1,5699 1,7750 2,0180 2,1900 2,3359 2,3630
Miércoles 1,6630 1,4689 1,3890 1,3751 1,3611 1,4140 1,6040 1,8009 2,0739 2,2301 2,3649 2,3990
Jueves 1,7299 1,5159 1,4320 1,3931 1,3909 1,4310 1,6140 1,8170 2,0989 2,2260 2,3810 2,3741
Viernes 1,7129 1,4569 1,3461 1,2880 1,2331 1,1911 1,1570 1,1700 1,2139 1,3370 1,4799 1,5740
Sábado 1,7130 1,2821 1,1820 1,1220 1,0961 1,1059 1,1710 1,2751 1,4121 1,5450 1,7110 1,7410
Domingo 1,4140 1,3250 1,2249 1,2239 1,1240 1,0191 0,9989 0,9989 0,9790 1,0150 1,1271 1,2271

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 2,1279 2,2551 2,3671 2,4770 2,4310 2,3540 2,2100 1,7085 1,7000
Miércoles 2,3580 2,2000 2,1231 2,1749 2,2049 2,3349 2,4640 2,3780 2,4140 2,0040 1,8582 1,7071
Jueves 2,3021 2,1459 2,0581 2,0809 2,1651 2,2380 2,2820 2,1540 2,1020 1,9950 1,9040 1,8590
Viernes 1,5951 1,5771 1,5629 1,5320 1,5440 1,6380 1,7310 1,7480 1,7921 1,8321 1,8620 1,7930
Sábado 1,7129 1,6200 1,1570 1,5831 1,6251 1,6251 1,8950 1,9040 1,9310 1,9360 1,9580 1,7480
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 1 Datos de consumo de carga de una población durante una semana

Estos datos son una recopilación de un promedio histórico de diferentes años, del consumo de la
población escogida como muestra, con ellos podemos determinar la tendencia del consumo de los
usuarios de esta población. El objetivo es entrenar una red neuronal que aprenda los datos

26
INTRODUCCION A LAS REDES NEURONALES APLICADAS AL CONTROL INDUSTRIAL
Autores: Manuel Hector Ortí del Toro
Pablo Antonio Guinot Martínez

anteriores y a partir de ellos esté en capacidad de predecir lo que sucederá en cualquier día de la
semana a una hora determinada en años futuros.
El comportamiento de estos usuarios se visualiza en la figura 13, en donde puede notarse las
tendencias que pueden llegar a causar congestión en la central en caso de no preverse con
anticipación:

Figura 13 Curvas de Carga

7.1.2 Justificación 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 1) asociada a cada una de las entradas
(columnas referentes al día y a la hora en la tabla 1), que actualiza pesos y ganancias siguiendo la
regla de pasos descendientes descrita en el Anexo A paratado 8.3.1.
Una de las mayores ventajas de las redes multicapa, y en especial de la red Backpropagation, es

Wm k 1 W m k ‐asm am‐1 T [1]


1 [2]
que pueden aproximar cualquier función si se escoge una adecuada configuración para la red y un
adecuado número de neuronas en la capa oculta, que depende de la experiencia del desarrollador
de la red. La red Bakcpropagation es un excelente aproximador de funciones, aunque es imposible
determinar una configuración exacta de la red para cada aplicación.
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 aplicación 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 14, la cual muestra las características de los
datos de entrada y salida de la red. Allí puede verse que es necesario ingresar a la red el día y la
hora para los cuales se desea conocer el valor de demanda pico de acuerdo a la convención de la
tabla 1, las condiciones de entrada a la red pueden ser tan complejas como se quiera, es decir, la
entrada puede convertirse fácilmente en un vector de cuatro componentes que incluya además del
día y la hora, el mes y el año para los cuales se requiere predecir el valor de demanda; existen
también otras opciones como convertir la entrada en un vector de tres componentes donde se
incluya hora, día y tipo de carga para el cual se desea prever el consumo.
La elección de los patrones de entrada debe realizarse dependiendo de las necesidades explícitas
que se tengan en el momento de hacer la predicción de carga, de la forma en que vaya a
procesarse la información de salida de la red y de la cantidad y calidad de la información
disponible.

27
INTRODUCCION A LAS REDES NEURONALES APLICADAS AL CONTROL INDUSTRIAL
Autores: Manuel Hector Ortí del Toro
Pablo Antonio Guinot Martínez

Figura 14 Red Backpropagation 2:12:8:1 para predicción del consumo de carga

Cualquier cambio que se realice en los patrones de entrenamiento exige una codificación 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 aplicación se utilizó la configuración de la figura 14
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
población en estudio) y su gran capacidad para predecir comportamientos futuros de patrones
nunca antes presentados en la etapa de aprendizaje.

7.1.3 Entrenamiento de la red


El código 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 creación de redes
Backpropagation, con las siguientes características:

net=newff([0 1;0 1],[12,10,1], {'tansig','tansig','purelin'},'trainlm');

Los valores de iniciación de la matriz de pesos se generaron aleatoriamente; después de varias


pruebas, los parámetros que determinan el entrenamiento 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;

28
INTRODUCCION A LAS REDES NEURONALES APLICADAS AL CONTROL INDUSTRIAL
Autores: Manuel Hector Ortí del Toro
Pablo Antonio Guinot Martínez

Una explicación 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 1), las cuales
describen el día 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 generalización de la red en el
proceso de aprendizaje; el proceso de normalización consiste en dividir cada uno de los valores de
demanda de la tabla 1 por el valor de demanda máximo, 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 desempeño del error medio
cuadrático puede observarse en la figura 15.

Figura 15 Iteraciones Vs Error en una predicción de consumo de carga

29
INTRODUCCION A LAS REDES NEURONALES APLICADAS AL CONTROL INDUSTRIAL
Autores: Manuel Hector Ortí del Toro
Pablo Antonio Guinot Martínez

Los parámetros de la red entrenada se presentan en la tabla 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
N2 -1,7789 -34,377 132,102 56,1894 -36,79 5,4474
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

30
INTRODUCCION A LAS REDES NEURONALES APLICADAS AL CONTROL INDUSTRIAL
Autores: Manuel Hector Ortí del Toro
Pablo Antonio Guinot Martínez

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 2 Resultados obtenidos con la red entrenada

En la tabla 3, se muestran seis de los valores de la simulación 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

emáx= Emin=

0,0035 1,19E-04

Tabla 3 Valores de la simulación

Los comandos, que evaluaron el desempeño de la red son los siguientes, con ellos se calculó el
error en la simulación
e=abs(t1-a1)
emax=max(e)
emin=min(e)

En la tabla 3 puede observarse el trabajo final de la red y la excelente labor de aproximación que
realiza. Ilustrar el resultado para todos los patrones de prueba resulta un poco extenso, por lo tanto
se escogieron los patrones más representativos, donde puede verse que sin ningún problema la
red ha aproximado patrones que no se le habían presentado durante el entrenamiento,
garantizando el éxito de la red para realizar predicciones de consumo de carga.

31
INTRODUCCION A LAS REDES NEURONALES APLICADAS AL CONTROL INDUSTRIAL
Autores: Manuel Hector Ortí del Toro
Pablo Antonio Guinot Martínez

De los datos entregados en el entrenamiento, el error más 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 13 la población tiene un comportamiento bastante aleatorio, pues aunque
se conserva la forma de onda, indicando que el comportamiento es similar todos los días de la
semana, los valores de la demanda pico son muy diferentes cada día
Después de probar los algoritmos traingd, traingda, (ver anexo A) se comprobó que el algoritmo
trainlm, correspondiente al método de Levenberg Marquardt garantizaba una alta velocidad de
aprendizaje y una excelente generalización de los patrones de entrenamiento que no se le habían
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 configuración óptima, sino también un algoritmo que además de rapidez
garantizara estabilidad en el resultado final. La red escogida en la figura 14 es bastante robusta e
involucra un gran número de parámetros (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 número de neuronas, de esta forma se confirma que no existe un
procedimiento establecido para determinar el modelo de red que debe emplearse en cada
aplicación y que sólo con la práctica puede determinarse cual es la configuración 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 teoría a diferentes lenguajes
de programación, de tal forma que con unos pocos comandos los parámetros de la red pueden ser
transformados sin mayor problema, adoptando una configuración totalmente diferente.

Redes con el tipo de estructura, como la utilizada en esta aplicación pueden emplearse para
predecir la necesidad de una reconfiguración del sistema en un día y una hora especifica. Es
posible también que los resultados de una red como ésta, se utilicen para adoptar estrategias de
restauración del servicio en diferentes horas y diferentes días, pues al conocer los valores de
demanda es fácil determinar comportamientos críticos y dar prioridad en el restablecimiento,
dejando por fuera a la menor cantidad de usuarios posible.

Las diferentes aplicaciones para las que sea necesario implementar una predicción de consumo
de carga, pueden derivarse fácilmente de ésta adaptando el código fuente a los patrones con los
que se desea realizar la predicción, así como se mencionó anteriormente, lo único necesario es
variar la estructura del vector de entrada p adecuándolo a la cantidad de entradas que se vayan a
ingresar (hora, día, mes, año, tipo de carga) a la red y también establecer con claridad, que tipo de
información de salida se espera dependiendo del propósito de la predicción.

32
INTRODUCCION A LAS REDES NEURONALES APLICADAS AL CONTROL INDUSTRIAL
Autores: Manuel Hector Ortí del Toro
Pablo Antonio Guinot Martínez

8 CONCLUSIONES:

Las Redes Neuronales Artificiales tienen muchas ventajas respecto a otras soluciones a problemas
de Ingeniería. Su inspiración en modelos biológicos del funcionamiento cerebral facilita el estudio
debido a las analogías que pueden añadirse para su análisis.

Las estructuras de las redes se han definido por medio de descripción sencilla y comprensible,
cada nuevo desarrollo permite cierta flexibilidad en cuanto a la forma final de la red y esto garantiza
su fácil adaptación a aplicaciones particulares.

Por otra parte, los modelos matemáticos en que se han desarrollado los algoritmos para todos los
tipos de redes son modelos sencillos que aunque exigen cierto grado de conocimientos de cálculo
diferencial, pueden ser asimilados y desarrollados en cualquier lenguaje de programación.

Las redes neuronales son una teoría relativamente nueva que junto a otras técnicas de inteligencia
artificial ha generado soluciones muy fiables a problemas de Ingeniería, los cuales a pesar de
poder ser solucionados por métodos tradicionales, encuentran en las redes neuronales una
alternativa fácil de implementar y altamente segura. En el rpoceso de entrenamiento de las
aplicaciones desarrolladas en este proyecto se observó:

 Al escoger las redes neuronales como método de solución de un problema en particular, es


necesario tener un buen entendimiento profundo y completo del problema, pues ello facilita
la elección de los patrones de entrenamiento y da una idea general de la arquitectura que
debe tener la red y de lo que se espera de ella.

 Después de haber escogido el tipo de red con que se solucionará un problema, no hay
ningún criterio establecido para decidir la arquitectura final de la red, la elección del
número de capas que lo componen y el número de neuronas que cada una de ellas es
fijado por la experiencia del diseñador y muchas veces es realizado por un método de
ensayo y error.

 Un manera fácil para escoger el tipo de red que debe implementarse, es analizar si el
problema que se está analizando tiene un conjunto de salida conocido, esta condición
restringe opciones a dos categorías, las redes de aprendizaje supervisado dentro de las
cuales destacan: El Perceptón, Adaline, Backpropagation, CPN (Counterpropagation),
Boltzman Machine y Cauchy Machine y la siguiente categoría formada por las redes de
aprendizaje no supervisado como: Las memorias asociativas, red de Hopfield, redes de
aprendizaje competitivo como el LVQ(Learning Vector Quantization) y las SOM (Self-
Organizating Maps), red de Grossberg, ART(Adaptative Resonance Theory) y la FAM
(Fuzzy Associative Memory) que es una combinación del aprendizaje asociativo y lógica
difusa.

 La red tipo Perceptrón es una red que puede implementarse exitosamente para resolver
problemas de clasificación de patrones que sean linealmente separables, la red
responderá mejor entre cuanto más sencillos sean los patrones que debe clasificar. A
pesar de que cuenta con serias limitaciones, esta red conserva su importancia ya que
sirvió como inspiración para otros tipos de redes, como por ejemplo las multicapa.

 Investigaciones prácticas han demostrado que al solucionarse un problema de clasificación


de patrones por medio de una red Perceptrón multicapa, no se necesita incorporar más de
tres capas (dos capas ocultas y la capa de salida) a la red para que solucione
correctamente el problema, pues una red de estas características ésta en capacidad de
generar regiones de decisión arbitrariamente complejas; aunque en ciertos problemas se

33
INTRODUCCION A LAS REDES NEURONALES APLICADAS AL CONTROL INDUSTRIAL
Autores: Manuel Hector Ortí del Toro
Pablo Antonio Guinot Martínez

puede simplificar el aprendizaje aumentando capas ocultas, la tendencia es aumentar la


extensión de la función de activación, en lugar de la complejidad de la red.

 Con el nacimiento del algoritmo LMS se logró un gran avance en la minimización del error
medio cuadrático de los algoritmos de paso descendiente; con base en este método se
desarrolló la red Adaline cuya aplicación más común es el filtro adaptativo, caso especial
en que la red tiene solo una señal de entrada, muestreada en varios instantes de tiempo de
forma que cada muestra representa un grado de libertad que se utiliza para ajustar la señal
de entrada a la salida deseada.

 Con base al LMS se desarrolló el Backpropagation. Adecuado para resolver problemas


complejos de aproximación de funciones obteniendo la mayoría de la veces excelentes
resultados. Esta característica le da una gran versatilidad permitiendo ser implementada en
multitud de aplicaciones.

 En las aplicaciones de Detección de obstáculos por medio de un robot y Contrl de giro de


un motor de inducción jaula de ardilla, pudo verse como el tiempo computacional invertido
por una red Perceptrón, para alcanzar convergencia es bastante corto, adeás estas
aplicaciones presentan una alta tolerancia a fallas, pues la red sigue respondiendo
correctamente incluso para daños intermitentes en los sensores.

 La predicción de consumo de carga permitió ver toda la versatilidad de una red


Backpropagation multicapa y de su algoritmo de aprendizaje; una aplicación de este estilo
brinda las herramientas necesarias para determinar la necesidad de una reconfiguración
en el sistema y los criterios que deben tenerse en cuenta para llevar a cabo un
restablecimiento del servicio.

 La principal ventaja de las redes neuronales es su capacidad para aprender de la


experiencia, de generalizar de casos anteriores a nuevos casos, de abstraer características
esenciales a partir de entradas que representan información irrelevante; en términos
generales las redes neuronales son una teoría relativamente nueva y como tal presentan
aún algunas limitaciones, pero su facilidad de implementación y la calidad en la
información que entregan como respuesta, son la motivación suficiente para que su estudio
y desarrollo continúe.

34
INTRODUCCION A LAS REDES NEURONALES APLICADAS AL CONTROL INDUSTRIAL
Autores: Manuel Hector Ortí del Toro
Pablo Antonio Guinot Martínez

9 BIBLIOGRAFÍA

Las Redes Neuronales Artificiales, por Raquel Flórez López,José Miguel Fernández Fernández
Tutorial de Redes Neuronales. Universidad Politécnica de Madrid, España
Introducción a las redes neuronales artificiales, por Alfredo Catalina Gallego
Control de procesos mediante redes neuronales, por Cristian F. Garrido Cisterna
Redes neuronales y sistemas borrosos. Martín-del-Brío, B.; A. Sanz-Molina. 2001.
Entrenamiento Backpropagation usando versión 3.0.1 del neural network toolbox de Matlab., por
Alfonso Alzate, Heliodoro Castaño y Julio Vasquez

35
INTRODUCCION A LAS REDES NEURONALES APLICADAS AL CONTROL INDUSTRIAL
Autores: Manuel Hector Ortí del Toro
Pablo Antonio Guinot Martínez

10 ANEXO A: FUNCIONES UTILIZADAS EN MATLAB

10.1 Red tipo Perceptrón:

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
detección de obstáculos de un robot y Control de cambio de giro de un motor trifásico.

 newp: Crea una red tipo Perceptrón, que requiere las siguientes entradas:

NET = NEWP(PR,S,TF,LF)
PR: Rx2 matriz de valores máximos y mínimos para los R elementos de entrada. S : Número
de neuronas.
TF : Función de Transferencia, en este caso 'hardlims'.
LF : Función de aprendizaje, para este caso 'learnp'.

 rands: Función simétrica que inicializa aleatoriamente los valores de 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 función 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: Número de iteraciones que utiliza el programa.

10.2 Red tipo Adaline:

Las siguientes son las funciones de las herramientas de Redes Neuronales del Matlab utilizadas en
el entrenamiento del filtro adaptivo diseñado con base en una red Adaline.

 newlin: Función para crea una red tipo Adaline, que requiere las siguientes entradas:

NEWLIN(PR,S,ID,LR)
R: Matriz de Rx2 que contiene los valores máximos y mínimos de cada uno de los R
elementos de entrada.
S : Número 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

36
INTRODUCCION A LAS REDES NEURONALES APLICADAS AL CONTROL INDUSTRIAL
Autores: Manuel Hector Ortí del Toro
Pablo Antonio Guinot Martínez

 net.inputWeights{1,1}.delays: Especifica los retardos iniciales

 net.adaptParam.passes: Número máximo de iteraciones

 [net,y,E,pf,af]=adapt(net,p,T,pi): Comando de entrenamiento de la red; requiere como entradas


la red creada anteriormente, los patrones de entrada, las salidas esperadas y los retardos
iniciales, retorna el estado final de la red, los valores obtenidos para cada patrón de entrada con
sus correspondientes errores así como los valores finales de los retardos.

10.3 Red tipo Backpropagation:

La red neuronal Backpropagation presenta una gran variedad de opciones de configuración,


dependiendo de la necesidad de aprendizaje y de la aplicación que se este desarrollando.

 newff: Crea una red tipo Backpropagation, requiere que le sean especificados los siguientes
parámetros

newff: (PR,[S1 S2...SNl],{TF1 TF2...TFNl},BTF,BLF,PF)


PR : Rx2 Matriz de valores máximos y mínimos de cada uno de las R neuronas de entrada.
Si : Número de neuronas para cada una de las capas.
TFi : Función de transferencia a utilizar en cada una de las capas, por defecto utiliza tansig
BTF : Algoritmo de entrenamiento a utilizar, por defecto utiliza trainlm
BLF : Función de actualización de los pesos, por defecto utiliza learngdm.
PF : Función para evaluar el desempeño de la red, por defecto utiliza mse.

Los siguientes fueron los algoritmos de entrenamiento que se utilizaron en el ejemplo de la


aplicación de predicción 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:

10.3.1 Traingd:
Algoritmo de pasos descendientes, que actualiza pesos y ganancias variándolos en la dirección
negativa del gradiente de la función del error. Es un algoritmo de aprendizaje muy lento, que
requiere de la siguiente sintaxis:

 net.trainParam.epochs: Máximo número de iteraciones para obtener convergencia


 net.trainParam.goal: Error máximo permitido
 net.trainParam.lr: Rata de aprendizaje
 net.trainParam.max_fail: Máximo número de fallas
 net.trainParam.min_grad: Mínimo rendimiento del gradiente
 net.trainParam.show: Intervalo de visualización de los resultados
 net.trainParam.time: Máximo tiempo de entrenamiento en segundos

Con este algoritmo el aprendizaje de la red se detendrá si el número de iteraciones excede el


comandonet.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 denet.trainParam.time.

37
INTRODUCCION A LAS REDES NEURONALES APLICADAS AL CONTROL INDUSTRIAL
Autores: Manuel Hector Ortí del Toro
Pablo Antonio Guinot Martínez

10.3.2 Traingdm:
Equivale al algoritmo tradicional, más un nuevo coeficiente de momentum, que interviene en el
proceso de actualización de los pesos. Si el error de la red en una iteración dada, excede el valor
del error en la iteración anterior, en un valor mayor al definido por un radio de cobertura dado el
que puede determinarse por medio de la función max_perf_incy que está típicamente 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, más un nuevo
comando que permite modificar el coeficiente de momentum

 net.trainParam.mc: Valor fijado para el coeficiente de momentum

Traingda:

Algoritmo de Gradiente Descendiente, que emplea una rata de aprendizaje adaptiva durante el
proceso de entrenamiento. La rata de aprendizaje varía entre 0.01 y 1, una rata de aprendizaje
muy pequeña torna lento el aprendizaje, pero si se incrementa demasiado el aprendizaje puede
tornarse inestable y crear divergencia, por esto la funcióntraingda varía la rata de aprendizaje
tratando de sacar provecho de la inclinación del gradiente en cada momento; su gran desventaja
es que los pesos iniciales varían muy poco así se encuentren distantes de los valores de
convergencia. La sintaxis de este el algoritmo es la siguiente:
net.trainParam.epochs: Máximo número de iteraciones para obtener convergencia

 net.trainParam.goal: Error máximo permitido


 net.trainParam.lr: Rata de aprendizaje inicial
 net.trainParam.lr_inc: Porcentaje que incrementa la rata de aprendizaje cuando el error
disminuye
 net.trainParam.lr_dec: Porcentaje en que es decrementada la rata de aprendizaje cuando
el error aumenta
 net.trainParam.max_fail: Máximo número de fallas
 net.trainParam.max_perf_inc: Máximo incremento del rendimiento
 net.trainParam.min_grad: Mínimo rendimiento del gradiente
 net.trainParam.show: Los resultados son visualizados siempre que transcurre este número
de iteraciones.
 net.trainParam.time: Máximo tiempo de entrenamiento en segundos

10.3.3 Trainrp:
Las redes multicapa, utilizan típicamente una función de transferencia sigmoidal (ver capítulo 4.3)
en las capas ocultas, estas funciones comprimen un infinito rango de entradas, dentro de un finito
rango de salidas, además se caracterizan porque su pendiente tendera cada vez más a cero,
mientras más 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 pequeños y por lo tanto no habrán cambios representativos en los pesos y las
ganancias, así se encuentren bastante lejos de sus valores óptimos. El propósito 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
dirección de actualización de los parámetros, la magnitud de las derivadas no tiene efecto en la
actualización. 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 factordelt_dec así la derivada del error con respecto a los
pesos haya cambiado de signo con respecto a la anterior iteración; si la derivada es cero, entonces

38
INTRODUCCION A LAS REDES NEURONALES APLICADAS AL CONTROL INDUSTRIAL
Autores: Manuel Hector Ortí del Toro
Pablo Antonio Guinot Martínez

el valor actualizado se conserva; si los pesos continúan cambiando en la misma dirección durante
varias iteraciones, la magnitud de cambios de los pesos se decrementa.

La sintaxis de este algoritmo se resume a continuación:

 net.trainParam.epochs: Máximo número de iteraciones del entrenamiento


 net.trainParam.show: Intervalo de visualización de los resultados
 net.trainParam.goal: Error deseado
 net.trainParam.time=inf: Máximo tiempo de entrenamiento en segundos
 net.trainParam.min_grad: Mínimo rendimiento del gradiente
 net.trainParam.max_fail: Máximo número de fallas
 net.trainParam.lr: Rata de aprendizaje
 net.trainParam.delt_inc: Incremento en la actualización de pesos
 net.trainParam.delt_dec: Decremento en la actualización de pesos
 net.trainParam.delta0: Incremento inicial en la actualización de pesos
 net.trainParam.deltamax: Máximo cambio en los pesos

10.3.4 Trainbfg:
Algoritmo alternativo que emplea la técnica del gradiente conjugado, su expresión matemática se
deriva del método de Newton, con la ventaja de 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 cálculo aproximado de la
matriz Hessiana, la cual es de dimensiones n2 x n2, donde n la cantidad de pesos y ganancias de la
red; para redes que involucren una gran cantidad de parámetros es preferible emplear el algoritmo
trainrp.

 net.trainParam.epochs: Máximo número de iteraciones del entrenamiento


 net.trainParam.show: Número de iteraciones entre las cuales se muestran resultados
 net.trainParam.goal: Error deseado
 net.trainParam.time=inf: Máximo tiempo de entrenamiento en segundos
 net.trainParam.min_grad: Mínimo rendimiento del gradiente
 net.trainParam.max_fail=5: Máximo número de fallas
 net.trainParam.searchFcn 'srchcha' Nombre de la rutina de búsqueda lineal a utilizar.
 net.trainParam.scal_tol: Se divide entre el valor de Delta para determinar la tolerancia para
la búsqueda lineal.
 net.trainParam.alpha: Factor de escala que determina una reducción suficiente en el
desempeño.
 net.trainParam.beta: Factor de escala que determina un tamaño de paso suficientemente
grande.
 net.trainParam.delta: Tamaño de paso inicial en el intervalo de localización de paso.
 net.trainParam.gama: Parámetro para evitar pequeñas reducciones en el desempeño.
 net.trainParam.low_lim: Límite inferior en el cambio del tamaño del paso.
 net.trainParam.up_lim: Límite superior en el cambio del tamaño del paso.
 net.trainParam.maxstep: Máximo longitud de paso.
 net.trainParam.minstep: Mínima longitud de paso; por defecto es 1.0e-6
 net.trainParam.bmax: Máximo tamaño de paso.

10.3.5 Trainlm:
Algoritmo que actualiza los pesos y las ganancias de acuerdo a la optimización de Levenberg-
Marquardt. Es el algoritmo más rápido para redes Backpropagation; tiene la desventaja de requerir
de un set de entrenamiento lo más estándar posible, pues de otra forma solo aproximará

39
INTRODUCCION A LAS REDES NEURONALES APLICADAS AL CONTROL INDUSTRIAL
Autores: Manuel Hector Ortí del Toro
Pablo Antonio Guinot Martínez

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: Máximo número de iteraciones del entrenamiento


 net.trainParam.goal: Error deseado
 net.trainParam.lr: Rata de aprendizaje
 net.trainParam.max_fail: Máximo número de veces que falla el valor de Mu
 net.trainParam.mem_reducFactor de fraccionamiento de Jacobiano para ahorrar memoria
 net.trainParam.min_grad: Mínimo rendimiento del gradiente
 net.trainParam.show:Intervalo de visualización de los resultados.
 net.trainParam.time: Máximo tiempo de entrenamiento en segundos
 tr.mu: Valor del Mu adaptivo

40
INTRODUCCION A LAS REDES NEURONALES APLICADAS AL CONTROL INDUSTRIAL

Potrebbero piacerti anche