Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
entro Adscrito
o a la
Univerrsidad Politécnica
d Valenccia
de
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
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.
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
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.
También definieron la memoria como un conjunto de ondas que reverberan en un circuito cerrado
de neuronas.
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í.
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
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.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
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.
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
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.
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.
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.
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:
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:
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
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.
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.
12
INTRODUCCION A LAS REDES NEURONALES APLICADAS AL CONTROL INDUSTRIAL
Autores: Manuel Hector Ortí del Toro
Pablo Antonio Guinot Martínez
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.
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
donde t hace referencia a la etapa de aprendizaje, wij(t+1) al peso nuevo y wij(t) al peso viejo.
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.
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.
16
INTRODUCCION A LAS REDES NEURONALES APLICADAS AL CONTROL INDUSTRIAL
Autores: Manuel Hector Ortí del Toro
Pablo Antonio Guinot Martínez
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
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:
18
INTRODUCCION A LAS REDES NEURONALES APLICADAS AL CONTROL INDUSTRIAL
Autores: Manuel Hector Ortí del Toro
Pablo Antonio Guinot Martínez
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
6 PRINCIPALES TOPOLOGÍAS
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
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.
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.
100 90 ∆ 10
/ / 1 /
30 20 ∆ 10
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
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.
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 ,
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.
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 ∗ ∗ ∗ ∗
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.
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.
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,
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
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:
27
INTRODUCCION A LAS REDES NEURONALES APLICADAS AL CONTROL INDUSTRIAL
Autores: Manuel Hector Ortí del Toro
Pablo Antonio Guinot Martínez
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.
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.
29
INTRODUCCION A LAS REDES NEURONALES APLICADAS AL CONTROL INDUSTRIAL
Autores: Manuel Hector Ortí del Toro
Pablo Antonio Guinot Martínez
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
a1=
t1=
e=
emáx= Emin=
0,0035 1,19E-04
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.
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ó:
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.
33
INTRODUCCION A LAS REDES NEURONALES APLICADAS AL CONTROL INDUSTRIAL
Autores: Manuel Hector Ortí del Toro
Pablo Antonio Guinot Martínez
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.
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
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
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)
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
newff: Crea una red tipo Backpropagation, requiere que le sean especificados los siguientes
parámetros
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:
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
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
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.
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.
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
40
INTRODUCCION A LAS REDES NEURONALES APLICADAS AL CONTROL INDUSTRIAL