Sei sulla pagina 1di 50

Investigacin

Redes Neuronales

Definicin, fundamentos y aplicaciones.

Alumnos: Ignacio Jofr Valenzuela.


Paula Castillo Jimnez
Fecha entrega: 29/05/2015
Docente: Carlos Pulgar.
Asignatura: Control Automtico II

ndice
Contenido

N de pgina

-ndice

-Introduccin

-Capitulo 1: Sistemas de control basado en redes neuronales.


1.1
Arquitectura bsica redes neuronales.
1.1.1
Analoga con cerebro humano.
1.1.2
Redes neuronales artificiales.
1.2
Funcionamiento de las redes neuronales.
1.2.1
Composicin de las redes neuronales.
1.2.1.1 Neurona artificial.
1.2.1.2 Funcin de activacin.
1.2.1.3 Funcin de salida y pesos sinpticos.
1.2.1.4 Reglas de propagacin.
1.3
Caractersticas de las redes neuronales
1.4
Clasificacin de las redes neuronales.
1.4.1
Clasificacin RNA segn su arquitectura.
1.4.2
Redes neuronales estticas y dinmicas.
1.4.2.1 Redes neuronales estticas.
1.4.2.2 Redes neuronales dinmicas.
1.4.3
Clasificacin de RNA segn su aprendizaje.

4
5
5-6
7-8
9
10-11
11-14
14
15
15
16
16
17
18-19
20
21-22

-Capitulo 2: Aplicaciones de las redes neuronales artificiales.


23
2.1
Aplicacin RNA al reconocimiento de patrones.
23-25
2.2
RNA Perceptrn y el avance.
26
2.2.1
Perceptrn multicapa.
27
2.2.2
Entrenamiento de una red perceptrn.
27-28
2.2.3
Inconvenientes de una red modelo perceptrn.
28
2.3
Algoritmo Backpropagation.
29
2.3.1
Mtodo de entrenamiento del algoritmo.
30-32
2.3.2
Ventajas y desventajas del algoritmo backpropagation. 32
2.4
Metodologa para modelar una RNA.
33
2.4.1
Imagen de muestra para anlisis de patrones.
34
2.4.1.1 Seleccin de muestra.
34-35
2.4.1.2 Tomar imagen digital, a vector matricial.
38
2.4.1.3 Neuronas en capa de entrada y salida.
39
2.4.1.4 Generar datos de salida.
40
2.4.1.5 Entrenamiento de la red neuronal.
40-45
2.4.1.6 Reconocimiento real de una muestra.
45- 47
2.5
Ventajas y limitaciones de las RNA.
48
-Conclusin

49
2

Introduccin
Los sistemas actuales que buscamos controlar se han vuelto muy complejos, la mayora
de ellos presentan algn grado de no linealidad, y pueden ser variantes e invariantes en
el tiempo, presentan incertidumbres en sus entradas y en su estructura.
Uno de los mtodos que ms inters ha despertado en la teora de control de sistemas no
lineales que pueden resolver los problemas mencionados anteriormente es el control a
travs de la inteligencia artificial, el cul incorpora tcnicas como las redes neuronales
artificiales y los sistemas difusos.
Las redes neuronales artificiales son un tipo especial de estructura matemtica las cules
se basan en el modelo biolgico de las neuronas del cerebro. Una red neuronal tiene la
propiedad de ajustar automticamente sus parmetros mediante una regla llamada
algoritmo de aprendizaje, generalmente este algoritmo se basa en la retro propagacin del
error, as la red puede aproximar una funcin no lineal con una gran exactitud.
En esta investigacin analizaremos el funcionamiento integral de las redes neuronales
artificiales en un sistema de control no lineal basado en el reconocimiento integral de
patrones, donde se analizaran mtodos paso a paso de la configuracin de una red
neuronal, como est conformada su arquitectura interna y cules son las diferentes
aplicaciones que podemos obtener basado en estar redes neuronales artificiales.
Al estar basado en el reconocimiento de patrones (o imagen), se generara el proceso de
la conformacin de datos de entrada a valores vectoriales basado en una matriz de datos
binarios, para que posteriormente sean reconocidos por nuestra red neuronal y se aplique
un debido algoritmo de aprendizaje, para lograr comprender como se realiza el
aprendizaje y retencin de la informacin que adquiere nuestra red.
As finalmente lograr comprender la interpretacin de los datos entregados por nuestra
red neuronal artificial (datos de salida), acompaados de un amplio marco terico, y su
aplicacin prctica.

Capitulo 1: Sistemas de Control Basado en redes


neuronales.
Las Redes Neuronales (ANN) son parte de la Inteligencia Artificial (AI) caracterizadas por
su capacidad de aprendizaje, su velocidad mediante el procesamiento masivo en paralelo
de datos y por la facilidad del modelado de sistemas o controladores altamente no
lineales.
Las Redes Neuronales Artificiales, ANN (Artificial Neural Networks) estn inspiradas en
las redes neuronales biolgicas del cerebro humano. Estn constituidas por elementos
que se comportan de forma similar a la neurona biolgica en sus funciones ms comunes.
Estos elementos estn organizados de una forma parecida a la que presenta el cerebro
humano.
Las ANN al margen de presentar similitudes al cerebro humano presentan una serie de
caractersticas propias del cerebro. Por ejemplo las ANN aprenden de la experiencia,
generalizan de ejemplos previos a ejemplos nuevos y abstraen las caractersticas
principales de una serie de datos.
Inteligencia Artificial: Capacidad de un artefacto de simular tipos de funciones que
caracterizan al pensamiento humano.
Aprender: Adquirir el conocimiento de una cosa por medio del estudio, ejercicio o
experiencia. Las ANN pueden cambiar su comportamiento en funcin del entorno. Se les
muestra un conjunto de entradas y ellas mismas se ajustan para producir unas salidas
consistentes.
Generalizar: Extender o ampliar una cosa. Las ANN generalizan automticamente debido
a su propia estructura y naturaleza. Estas redes pueden ofrecer, dentro de un margen,
respuestas correctas a entradas que presentan pequeas variaciones debido a los efectos
de ruido o distorsin.
Abstraer: Aislar mentalmente o considerar por separado las cualidades de un objeto.
Algunas ANN son capaces de abstraer la esencia de un conjunto de entradas que
aparentemente no presentan aspectos comunes o relativos.

1.1 Arquitectura Bsica de las redes neuronales.


1.1.1 Analoga con el cerebro humano.
La neurona es la unidad fundamental del sistema nervioso y en particular del cerebro
humano. Cada neurona es una simple unidad procesadora que recibe y combina seales
desde y hacia otras neuronas. Si la combinacin de entradas es suficientemente fuerte la
salida de la neurona se activa. La siguiente figura muestra las partes que constituyen una
neurona.

Figura (1.1) - Componentes de una Neurona biolgica.


El cerebro consiste en uno o varios billones de neuronas densamente interconectadas.
El axn (salida) de la neurona se ramifica y est conectada a las dendritas (entradas) de
otras neuronas a travs de uniones llamadas sinapsis. La eficacia de la sinapsis es
modificable durante el proceso de aprendizaje de la red.

Axn: Es una prolongacin de las neuronas especializadas en conducir el impulso


nervioso desde el cuerpo celular o soma hacia otra clula. En la neurona adulta se trata
de una prolongacin nica.
Dendritas: Son prolongaciones ramificadas de la neurona dedicadas principalmente a la
recepcin de estmulos y, secundariamente, a la alimentacin celular. Sirven como
receptores de impulsos nerviosos provenientes desde un axn perteneciente a otra
neurona. Su principal funcin es recibir los impulsos de otras neuronas y enviarlas hasta
el soma de la neurona.

Una de las caractersticas principales de las neuronas, y que la distinguen del resto de las
clulas del cuerpo humano, es su capacidad de comunicarse entre las propias neuronas.
Existen dos (2) tipos de seales nerviosas, las que pueden ser elctricas o qumicas. La
transmisin qumica se da principalmente en la comunicacin entre neuronas, mientras
que la elctrica se produce dentro de una neurona.
La forma de comunicacin entre las neuronas se inicia en el soma de las neuronas
transmisoras o pre sinpticas, donde se genera un pulso elctrico llamado potencial de
accin. El pulso elctrico se propaga a travs del axn en direccin a las sinapsis. La
informacin se transmite a las neuronas vecinas utilizando un proceso qumico, mediante
la liberacin de neurotransmisores. Estos mismos neurotransmisores se transmiten a
travs de la sinapsis hacia la neurona receptora, y a su vez, esta misma neurona
receptora o post sinptica toma la seal enviada por cientos de neuronas a travs de las
dendritas y la transmite al cuerpo celular. Estas seales pueden ser excitadoras
(positivas) o inhibidoras (negativas).
Soma: es el encargado de integrar la informacin proveniente de las distintas neuronas, y
si la seal resultante supera un determinado umbral (umbral de disparo) el soma emite un
pulso que se transmite a lo largo del axn dando lugar a la transmisin elctrica a lo largo
de la neurona. Al llegar la seal al extremo del axn se liberan neurotransmisores que
permiten transmitir la seal a las neuronas vecinas.
El nmero estimado de neuronas en el cerebro humano es de 10^11 y las interconexiones
entre ellas son del orden de 10^15.

Figura (1.2) Grafica de la composicin de una Neurona biolgica.

1.1.2 Redes neuronales Artificiales.


En las Redes Neuronales Artificiales (ANN) la unidad anloga a la neurona biolgica es el
elemento procesador, PE (process element). Un elemento procesador tiene varias
entradas y las combina, normalmente con una suma bsica.
La suma de las entradas es modificada por una funcin de transferencia y el valor de la
salida de esta funcin de transferencia se pasa directamente a la salida del elemento
procesador.
La salida del PE se puede conectar a las entradas de otras neuronas artificiales (PE)
mediante conexiones ponderadas correspondientes a la eficacia de la sinapsis de las
conexiones neuronales.
La siguiente figura representa un elemento procesador de una red neuronal artificial
implementada en un ordenador.

Figura (1.3) - Diagrama de una Neurona Artificial (PE).

Las redes neuronales artificiales son un modelo simplificado de las redes neuronales
biolgicas, se pueden clasificar dentro del grupo de sistemas inteligentes, entre los que se
encuentran: sistemas adaptables, difusos, genticos y todos aquellos que tratan de
modelar el conocimiento y el aprendizaje.
La calificacin de inteligentes se debe a que los sistemas mencionados anteriormente
tienen la capacidad de adaptarse a su medio aprender de l de forma autnoma. Las
redes neuronales artificiales pueden definirse como un arreglo de elementos bsicos de
procesamiento con capacidad de entrenamiento.

Este entrenamiento consiste en el ajuste de algunos parmetros con el fin de que la red
asimile, con algn grado de precisin, la relacin causa-efecto deseada entre las variables
de entrada y de salida de la red neuronal.

Figura (1.4) - Arquitectura de una Red Neuronal Simple.

En el campo del control automtico, las redes neuronales artificiales se utilizan


principalmente como modelos para la identificacin y el control de sistemas. La
identificacin de sistemas consiste en ajustar los parmetros de un modelo propuesto, de
tal forma que su comportamiento se aproxime al sistema o planta a ser estudiado.
La tarea de la identificacin de sistemas es obtener modelos matemticos que
reproduzcan la relacin entre las variables que intervienen en el sistema estudiado, las
redes neuronales artificiales tienen una aplicacin directa en el campo de identificacin de
sistemas debido a su capacidad de generalizacin a partir de la relacin entrada-salida
del sistema. La generalizacin de la red neuronal se efecta aplicando un conjunto de
entradas diferentes a las usadas en la etapa de aprendizaje y se observa su respuesta,
esperando que reproduzca con cierto grado de precisin la respuesta del sistema
identificado. Por otro lado, el problema de control busca disear un sistema que genere la
seal de entrada a la planta necesaria para modi.car su comportamiento con el fin de que
se comporte de la forma deseada.

1.2 Funcionamiento de las redes neuronales.


1.2.1 Composicin de las redes neuronales.
Para el uso y correcto funcionamiento de las redes neuronales, es imprescindible contar
con elementos bsicos de funcionamiento de sistemas neuronales, los que se pueden
definir como:

1) Un conjunto de unidades de procesamiento (neuronas).


2) Un estado de activacin (variable de estado).
3) Una funcin de salida para cada unidad.
4) Pesos sinpticos
5) Un conjunto de reglas de propagacin para propagar las seales de salida a travs
de la red neuronal.

Figura (1.5) Composicin interna de una neuronal Simple.

1.2.1.1 Neurona Artificial.


La neurona artificial fue diseada para "emular" las caractersticas del funcionamiento
bsico de la neurona biolgica. En esencia, se aplica un conjunto de entradas a la
neurona, cada una de las cuales representa una salida de otra neurona. Cada entrada se
multiplica por su "peso" o ponderacin correspondiente, que se identifica con el grado de
conexin de la sinapsis. Todas las entradas ponderadas se suman y se determina el nivel
de excitacin o activacin de la neurona.
Una representacin del funcionamiento bsico de una neurona artificial se indica segn la
siguiente ecuacin:
NET= X * W.

Donde NET, representa la funcin de salida de nuestra neurona artificial.


X corresponde a un vector de entrada en la neurona.
Y finalmente W, corresponde al peso sinptico de la neurona.

Normalmente la seal de salida NET suele ser procesada por una funcin de activacin
F, la que sirve para producir la seal de salida de la neurona OUT. La funcin F puede ser
una funcin lineal, una funcin umbral o una funcin no lineal que simula con mayor
exactitud las caractersticas de transferencia no lineales de las neuronas biolgicas.

Figura (1.6) Neurona artificial con funcin de activacin.

10

Existen dos capas con conexiones con el mundo exterior. Una capa de entrada, o buffer
de entrada, donde se presentan ingresos de datos desde el ambiente a la red, y una capa
buffer de salida que mantiene la respuesta de la red a una entrada, enviando datos fuera
de la neurona artificial. El resto de las capas reciben el nombre de capas ocultas, las que
solo reciben seales de unidades que pertenecen a la red.

Figura (1.7) Capas de una red neuronal para comunicacin.

1.2.1.2 Funcin de activacin.


La funcin de activacin determina el estado de activacin actual de la neurona en base al
potencial resultante y al estado de activacin anterior de la neurona.
Los valores de activacin pueden ser discretos o continuos, y limitados o ilimitados.
Existen diferentes tipos de funciones de activacin en las redes neuronales:

a) Funcin escaln de activacin o desactivacin:


Esta funcin es frecuentemente denominada escaln de dos (2) posiciones. La salida de esta
funcin es, o bien una constante positiva, una constante negativa o simplemente esa cero (0).
Esta funcin posee una discontinuidad en un punto que imposibilita la evaluacin de la derivada
en dicho punto.

11

Figura (1.8) Representacin de las curvas de las funciones de familia escaln de dos (2)
posiciones.

12

b) Funcin sigmoidal asimtrica:


Es una funcin binaria, continua, y totalmente diferenciable durante todo su dominio.

Figura (1.9) Representacin de las curvas de la funcin sigmoidal asimtrica.

c) Funcin sigmoidal simtrica:


Esta funcin tambin llamada tangente hiperblica, es completamente diferenciable en todo su
dominio, montonamente creciente y posee una caracterstica bipolar.

Figura (1.10) Representacin de las curvas de la funcin sigmoidal simtrica.

13

d) Funcin Lineal:
Esta funcin posee una caracterstica del tipo lineal, la que no posee lmites en su rango.

Figura (1.11) Representacin de las curvas de la funcin Lineal.

1.2.1.3 Funcin de Salida y pesos sinpticos.


La funcin de salida proporciona el valor de salida de la neurona, en base al estado de
activacin de la neurona.
En general se utiliza una funcin de activacin sin lmites en su rango de operacin.
Representa la salida actual de la neurona.

Los pesos sinpticos definen la fuerza de una conexin sinptica entre dos neuronas, la
neurona pre sinptica y la neurona post sinptica.
Los pesos sinpticos pueden tomar valores positivos, negativos o cero. En caso de una
entrada positiva, un peso positivo acta como excitador, mientras que un peso negativo
acta como inhibidor. En caso de que el peso sea cero, no existe comunicacin entre el
par de neuronas.
Mediante el ajuste de los pesos sinpticos la red es capaz de adaptarse a cualquier
entorno y realizar una determinada tarea.

14

1.2.1.4 Reglas de propagacin.


Las reglas de propagacin Integran la informacin proveniente de las distintas neuronas
artificiales y proporciona el valor del potencial postsinptico de la neurona en la red.
La regla de propagacin determina el potencial resultante de la interaccin de la neurona
con las enes (n) cantidad de neuronas vecinas.
La regla de propagacin ms simple y utilizada consiste en realizar una suma de las
entradas ponderadas con sus pesos sinpticos correspondientes, donde el potencial
resultante como h se puede expresar de la siguiente manera:

Donde hNET, representa la funcin de salida de nuestra neurona artificial en base a la


regla de propagacin con el potencial sinptico h, con la sumatoria total de los vectores de
entradas de las neuronas, y los pesos sinpticos de cada una de ellas.
X corresponde a un vector de entrada en la neurona.
Y finalmente W, corresponde al peso sinptico de la neurona.
Existen otro tipo de reglas menos conocidas como la distancia de Voronoi, de
Mahalanobis, entre otras.

1.3 Caractersticas principales de las redes neuronales.


Como principales caractersticas de las redes neuronales artificiales, que en efecto son
muy semejantes a las de las redes neuronales biolgicas, podemos mencionar las
siguientes:
Aprenden a travs de ejemplos concretos, y el mtodo del entrenamiento.
Inferencia estadstica.
Poseen gran adaptabilidad en sistemas.
Dilema plasticidades y estabilidad.
Capacidades de generalizacin.
Gran tolerancia a fallas.
Rpida implantacin.

15

1.4 Clasificacin de las redes neuronales.


Las redes neuronales artificiales se pueden clasificar segn su diferente arquitectura,
segn el tipo de aprendizaje y segn sus aplicaciones.

Figura (1.12) Diagrama de clasificacin de redes neuronales.

1.4.1 Clasificacin de redes neuronales segn su arquitectura.


Las neuronas de una red neuronal artificial, estn distribuidas en diversos niveles o capas
que estn unidas entre s por conexiones llamadas sinapsis.
La clasificacin segn arquitectura se basa en el sentido de sus conexiones entre
neuronas, las que pueden ser estticas (no recurrentes o con conexin hacia adelante) y
dinmicas (recurrentes o con conexin hacia atrs).

16

1.4.2. Redes neuronales Estticas y dinmicas.


Otra clasificacin que presentan las redes neuronales se base en la manera en que la
informacin se transmite en la red. Se dividen en dos grupos: redes con conexiones hacia
adelante (estticas) y redes con conexiones hacia atrs recurrentes (dinmicas).
La seleccin de una red se realiza en funcin de las caractersticas del problema a
resolver. La mayora de stos casos se pueden clasificar en aplicaciones de Prediccin,
Clasificacin, Asociacin, Conceptualizacin, Filtrado y Optimizacin.
Los tres primeros tipos de aplicaciones requieren un entrenamiento supervisado,
entrenamiento que profundizaremos ms adelante.

Figura (1.13) Clasificacin de redes neuronales dinmicas y estticas.

17

1.4.2.1 Redes neuronales Estticas.


Se dice que una red neuronal es esttica si la respuesta de una red depende nicamente
de sus entradas y no depende de seales en instantes anteriores de tiempo, por lo que la
respuesta de la red neuronal es invariante en el tiempo.
Este tipo de red, que se caracteriza por su organizacin en capas y conexiones
estrictamente hacia delante, utiliza algoritmos de entrenamiento del tipo supervisado.
Las redes neuronales estticas son muy tiles en los problemas de clasificacin e
identificacin de patrones y aproximacin de funciones porque construyen funciones no
lineales entre el espacio de entrada al espacio de salida de las variables involucradas.
Una red neuronal con conexiones hacia adelante con una capa oculta no lineal y una capa
de salida lineal puede aproximar cualquier funcin con el grado de precisin que se
desee.
Dentro de este grupo de redes neuronales encontramos al perceptrn, la red
adaline/madaline, y al perceptrn multicapa.
Son aquellas cuyas conexiones son hacia adelante y unidireccionales, y segn el nmero
de capas que posean pueden ser de 2 tipos: De una capa, y multicapa.

Redes neuronales de una capa y multicapa.


La capacidad de clculo y potencia de la computacin neuronal proviene de la cantidad de
conexiones de las neuronas artificiales que constituyen las redes ANN.
En una red neuronal de una capa, cada una de las entradas de la neurona est
conectada a travs de su peso correspondiente a cada neurona artificial.
En la prctica existen conexiones eliminadas e incluso conexiones entre las salidas y
entradas de las neuronas de una capa. No obstante para el estudio de las redes
neuronales se debe ejemplificar una conectividad total por razones de generalizacin.
Normalmente las redes ms complejas y ms grandes ofrecen mejores prestaciones en el
clculo computacional que las redes simples. Las configuraciones de las redes
construidas presentan aspectos muy diferentes pero tienen un aspecto comn, el
ordenamiento de las neuronas en capas o niveles imitando la estructura de capas que
presenta el cerebro en algunas partes.

18

Figura (1.14) Representacin de una red neuronal de una capa.

Las redes multicapa se forman con un grupo de capas simples en cascada. La salida de
una capa es la entrada de la siguiente capa. Se ha demostrado que las redes multicapa
presentan cualidades y aspectos por encima de las redes de una capa simple.
Estas redes neuronales estn construidas por neuronas organizadas en capas, donde
cada nivel intermedio de la red tiene como entrada a todas a un conjunto de las salidas
de la capa anterior.

La primera capa es la entrada a la red, su funcin es la distribuir las entradas de la red en


la primera capa oculta, la capa dos est localizada entre la primera capa y la ltima capa,
se denomina capa oculta, y finalmente la ltima capa genera las salidas de la red
neuronal. El flujo de la informacin se transmite en un slo sentido, de manera que una
red neuronal multicapa es un mapeo no lineal del espacio de entrada, al espacio de
salida.

Figura (1.15) Representacin de una red neuronal multicapa.

19

1.4.2.2 Redes neuronales Dinmicas.


Hay problemas que necesitan de un sistema que tenga una respuesta dependiente de su
estado anterior, por lo que requieren de una estructura que tenga una dinmica interna
propia.
Si la respuesta de una red neuronal depende de su pasado, se dice que es una red
neuronal dinmica. Algunas de las tareas para este tipo de redes son: La prediccin de
series, la identificacin y el control de sistemas dinmicos.

Figura (1.16) Representacin de una red neuronal dinmica.

La figura 1.16 est mostrando las diferentes arquitecturas de las redes dinmicas.
Las figuras (a) y (b) muestran redes con recurrencia local, la primera una recurrencia en
la misma capa y la segunda muestra una recurrencia entre las capas ocultas.
Las figuras (c) y (d) muestran una recurrencia global, donde la retroalimentacin va de la
salida de la red a la entrada y en el segundo caso la retroalimentacin solo llega a la
segunda capa de la red.

20

1.4.3 Clasificacin de redes neuronales segn su aprendizaje.


Una de las principales caractersticas de las ANN es su capacidad de aprendizaje. El
entrenamiento de las ANN muestra algunos paralelismos con el desarrollo intelectual de
los seres humanos. No obstante aun cuando parece que se ha conseguido entender el
proceso de aprendizaje conviene ser moderado porque el aprendizaje de las ANN est
limitado.
El objetivo del entrenamiento de una ANN es conseguir que una aplicacin determinada,
para un conjunto de entradas produzca el conjunto de salidas deseadas o mnimamente
consistentes.
El proceso de entrenamiento consiste en la aplicacin secuencial de diferentes conjuntos
o vectores de entrada para que se ajusten los pesos de las interconexiones segn un
procedimiento predeterminado. Durante la sesin de entrenamiento los pesos convergen
gradualmente hacia los valores que hacen que cada entrada produzca el vector de salida
deseado.
La mayora de los mtodos de entrenamiento utilizados en las redes neuronales con
conexin hacia delante consisten en proponer una funcin de error que mida el
rendimiento actual de la red en funcin de los pesos sinpticos. El mtodo de optimizacin
proporciona una regla de actualizacin de los pesos que en funcin de los patrones de
entrada modifica iterativamente los pesos hasta alcanzar el punto ptimo de la red
neuronal.
Los algoritmos de entrenamiento o los procedimientos de ajuste de los valores de las
conexiones de las ANN se pueden clasificar en dos grupos: Supervisado y No
Supervisado.

Entrenamiento Supervisado: Estos algoritmos requieren el emparejamiento de cada


vector de entrada con su correspondiente vector de salida. El entrenamiento consiste en
presentar un vector de entrada a la red, calcular la salida de la red, compararla con la
salida deseada, y el error o diferencia resultante se utiliza para realimentar la red y
cambiar los pesos de acuerdo con un algoritmo que tiende a minimizar el error.
Las parejas de vectores del conjunto de entrenamiento se aplican secuencialmente y de
forma cclica. Se calcula el error y el ajuste de los pesos por cada pareja hasta que el
error para el conjunto de entrenamiento entero sea un valor pequeo y aceptable.

21

Entrenamiento No Supervisado: los sistemas neuronales con entrenamiento


supervisado han tenido xito en muchas aplicaciones y sin embargo tienen muchas
crticas debido a que desde el punto de vista biolgico no son muy lgicos. Resulta difcil
creer que existe un mecanismo en el cerebro que compare las salidas deseadas con las
salidas reales. En el caso de que exista, de dnde provienen las salidas deseadas?
Los sistemas no supervisados son modelos de aprendizaje ms lgicos en los sistemas
biolgicos.
Estos sistemas de aprendizaje no supervisado no requieren de un vector de salidas
deseadas y por tanto no se realizan comparaciones entre las salidas reales y salidas
esperadas. El conjunto de vectores de entrenamiento consiste nicamente en vectores de
entrada. El algoritmo de entrenamiento modifica los pesos de la red de forma que
produzca vectores de salida consistentes. El proceso de entrenamiento extrae las
propiedades estadsticas del conjunto de vectores de entrenamiento y agrupa en clases
los vectores similares.

Entrenamiento por Correccin de Error: El entrenamiento consiste en presentar al


sistema un conjunto de pares de datos, representando la entrada y la salida deseada para
dicha entrada. Este conjunto recibe el nombre de conjunto de entrenamiento. El objetivo
es tratar de minimizar el error entre la Salida Deseada y la salida actual.

Figura (1.17) Entrenamiento por correccin del error.

22

Capitulo 2: Aplicaciones de las redes neuronales


artificiales.
Las redes neuronales artificiales son una tecnologa computacional emergente que puede
utilizarse en un gran nmero y variedad de aplicaciones.
Las redes neuronales artificiales estn destinadas o consideradas a ser sistemas que
resuelven eficazmente problemas de emparejamiento, clasificacin y complemento de
vectores patrones, donde sus aplicaciones ms comunes, podemos mencionar las
siguientes: Anlisis Financiero; Procesado de Imgenes en el mbito de la Medicina,
Industria y Defensa; Diagnstico Mdico y Comercial; Robtica y Control; Reconocimiento
y Sntesis de Voz; Compresin y Codificacin de Informacin, y la clasificacin e
identificacin de patrones.

2.1 Aplicacin de redes neuronales al reconocimiento de


patrones.
El reconocimiento de patrones llamado tambin lectura de patrones, identificacin de
figuras y reconocimiento de formas consiste en el reconocimiento de patrones de seales.
Los patrones se obtienen a partir de los procesos de segmentacin, extraccin de
caractersticas y descripcin dnde cada objeto queda representado por una coleccin de
descriptores. El sistema de reconocimiento debe asignar a cada objeto su categora o
clase.
Las Redes neuronales artificiales de Reconocimiento de Patrones, son del tipo no
recurrente y con aprendizaje supervisado donde se hace necesario ejecutar un proceso
estructurado, el cual est definido por 3 pasos lgicos:

Figura (2.1) Estructura general del proceso de reconocimiento de patrones.

23

El objetivo de un sistema completo de reconocimiento de patrones, es asignar un patrn a


la clase a la que pertenece (aplicando un proceso automtico, lo ms eficiente posible).
Un sistema debe incluir un sensor que recoja fielmente los elementos del ambiente a ser
clasificado, un mecanismo de extraccin de caractersticas cuyo propsito es extraer la
informacin til, eliminando la informacin redundante y sin importancia, y finalmente una
etapa de toma de decisiones en la cual se asigna a la categora apropiada los patrones de
clasificacin.

Figura (2.2) Estructura bsica del proceso de reconocimiento de patrones.

En esta estructura bsica de reconocimiento de patrones se pueden identificar 3


elementos fundamentales, los que podemos destacar como:
Elemento sensor.
Extractor de caractersticas.
Clasificador.

El sensor es el dispositivo encargado de la adquisicin de datos y tiene como funcin la


de ser capaz de transformar magnitudes fsicas o qumicas, llamadas variables de
instrumentacin. Las variables de instrumentacin dependen del tipo de sensor y pueden
ser por ejemplo: temperatura, intensidad lumnica, distancia, aceleracin, inclinacin,
desplazamiento, presin, fuerza, torsin, humedad, etc.
Para nuestro caso, este elemento sensor, es el que genera una imagen de referencia, la
cual deber ser ingresada en nuestro algoritmo, y ser clasificada segn el mtodo de
aprendizaje de nuestra red neuronal.

24

La extraccin de caractersticas el proceso de generar caractersticas que puedan ser


usadas en el proceso de clasificacin de los datos. En ocasiones viene precedido por un
preprocesador de la seal, necesario para corregir posibles deficiencias en los datos
debido a errores del sensor, o bien para preparar los datos de cara a posteriores procesos
en las etapas de extraccin de caractersticas o clasificacin.
Las caractersticas elementales estn explcitamente presentes en los datos adquiridos y
pueden ser pasados directamente a la etapa de clasificacin.
Las caractersticas de alto orden son derivadas de las elementales y son generadas por
manipulaciones o transformaciones en los datos.

Y finalmente el elemento clasificador consiste en seleccionar cul es el tipo de


caractersticas o rasgos ms adecuados para describir los objetos. Para ello, se deben
localizar los rasgos que inciden en el problema de manera determinante, la cual tiene
como objetivo decidir qu caractersticas representan mejor a cierto tipo de objetos,
seleccionar caractersticas relevantes, a partir del conjunto total de caractersticas que
describen a los objetos para mejorar la clasificacin o aumentar la velocidad de
procesamiento.

25

2.2 Red Neuronal PERCEPTRON y el avance en reconocimiento


de patrones.
El primer modelo de red neuronal artificial fue desarrollado por Rosenblatt en el ao 1958,
este modelo despert un enorme inters en los aos 60, debido a su capacidad para
aprender a reconocer patrones sencillos: un modelo de red llamado Perceptrn, formado
por varias neuronas lineales para recibir las entradas a la red y solo una neurona de
salida.
La arquitectura del Perceptrn, llamada mapeo de patrones (pattern-mapping), aprende a
clasificar modelos mediante un aprendizaje supervisado. Los modelos que clasifica suelen
ser generalmente vectores con valores binarios (0,1) y las categoras de la clasificacin se
expresan mediante vectores binarios.
El Perceptrn presenta dos capas de unidades procesadoras (PE) y slo una de ellas
presenta la capacidad de adaptar o modificar los pesos de las conexiones. La arquitectura
del Perceptrn admite capas adicionales pero stas no disponen la capacidad de
modificar sus propias conexiones.

Figura (2.3) - Unidad Procesadora Bsica del Perceptrn.

La unidad procesadora del Perceptrn realiza la suma ponderada de todas las entradas
de nuestra red, donde el Perceptrn comprueba si la suma de las entradas ponderadas es
mayor o menor que un cierto valor umbral y genera la salida " NET", que est comandada
por las siguientes condiciones.
Si la sumatoria de entradas es > 0 entonces salida NET = 1
Si la sumatoria de entradas es <= 0 entonces salida NET = 0
La salida NET es transmitida a lo largo de la lnea de salida y constituye uno de los
componentes del vector de salida de la red.

26

2.2.1 Perceptron multicapa.


La arquitectura tpica de una red neuronal artificial con modelo Perceptrn Multicapa est
constituida por varias capas de nodos con interconexin completa entre ellos.
El caso ms sencillo en este tipo de red consiste en slo 2 capas de neuronas, las de
entrada y las de salida.
De esta manera podemos obtener un modelo adecuado para problemas lineales del tipo
de la regresin lineal mltiple

Figura (2.4) Configuracin de arquitectura del Perceptrn multicapa.


En este tipo de red, una neurona recibe distintas entradas y activa una funcin de red (o
regla de propagacin) con unos pesos de entrada asociados.
La computacin de estos pesos se sigue de la aplicacin de la funcin de activacin que
determina el nivel de activacin de salida de la neurona.

2.2.2 Entrenamiento de una red Perceptrn.


El entrenamiento del Perceptrn consiste en presentar a la red todos los elementos del
conjunto de entrenamiento constituido por parejas de vectores (entrada y salida deseada)
de forma secuencial.
El objetivo de este entrenamiento es llegar a un conjunto de valores de los pesos de la red
de forma que responda correctamente a todo el conjunto de entrenamiento. Despus del
entrenamiento los pesos dejan de ser modificables y la red est ya en disposicin de
responder adecuadamente a las entradas que se le presenten.

27

En todo proceso de entrenamiento el comportamiento de la red inicialmente va mejorando


hasta que llega a un punto en el que se estabiliza y se dice que la red ha convergido. Esta
convergencia tiene dos posibilidades, la primera consiste en que la red haya aprendido
correctamente el conjunto de entrenamiento o la segunda se trata de que la red no haya
aprendido todas las respuestas correctas.

2.2.3 Inconvenientes de una red de modelo Perceptrn.


A pesar de ser un modelo de red muy exitoso en gran cantidad de aplicaciones referidas a
la clasificacin de patrones, posee un gran inconveniente que es la imposibilidad de
adaptar los pesos de todas las capas. En los aos en los que se realiz el Perceptron, los
investigadores no fueron capaces de disear un algoritmo que propagara las correcciones
de los pesos a travs de redes multicapa.
De igual forma, posee la gran limitacin funcional de que una unidad de salida slo puede
clasificar patrones linealmente separables, es decir, las clases de patrones que pueden
separarse en dos clases mediante una lnea. Este concepto se puede extender a tres o
ms dimensiones simplemente separando dos clases mediante planos e hiperplanos.
Afortunadamente para las aplicaciones de redes neuronales artificiales surgieron nuevas
reglas de aprendizaje para redes multicapa y nuevas arquitecturas, entre ellas la ms
popular de algoritmo Backpropagation, que resolvieron entre otros inconvenientes, los
problemas de clasificacin de patrones no separables linealmente.

28

2.3 Algoritmo backpropagation o de retropropagacin.


La invencin del algoritmo Backpropagation ha desempeado un papel vital en el
resurgimiento del inters por las redes neuronales artificiales principalmente en el uso de
reconocimiento de patrones.
Backpropagation es un mtodo de entrenamiento de redes multicapa, donde su potencia
reside en la capacidad de entrenar capas ocultas y de este modo superar las
posibilidades restringidas de las redes de una nica capa.
Este mtodo conocido como backpropagation, o propagacin del error hacia atrs, est
basado en la regla de aprendizaje que es posible aplicar solo a modelos de redes
multicapa.
El algoritmo consiste en minimizar un error por medio de gradiente descendiente, por lo
que la parte esencial del algoritmo es el clculo de las derivadas parciales de dicho error
con respecto a los parmetros de la red neuronal artificial.
.

Figura (2.5) Algoritmo Backpropagation completamente interconectado.


Un punto importante en el algoritmo de retropropagacin es su capacidad de auto adaptar
los pesos de las neuronas de las capas intermedias para aprender la relacin que existe
entre un conjunto de patrones dados y sus salidas correspondientes, para as despus
utilizar esa misma relacin a nuevos vectores de entrada, dando una salida activa si la
nueva entrada es parecida a las presentadas durante el aprendizaje

29

2.3.1 Mtodo de entrenamiento de algoritmo backpropagation.


Las redes Backpropagation tienen un mtodo de entrenamiento supervisado. A la red se
le presenta parejas de patrones, un patrn de entrada emparejado con un patrn de salida
deseada. Por cada presentacin los pesos son ajustados de forma que disminuya el error
entre la salida deseada y la respuesta de la red.
El algoritmo de aprendizaje backpropagation conlleva una fase de propagacin hacia
adelante y otra fase de propagacin hacia atrs. Ambas fases se realizan por cada patrn
presentado en la sesin de entrenamiento, que consta de los siguientes pasos:
Inicializacin del algoritmo:
1. Se genera la construccin de la red.
2. Determinacin aleatoria de pesos y umbrales.
3. Se introduce criterio de terminacin (nmero mximo de iteraciones para proceso de
entrenamiento).

Iteracin es el proceso de aplicar una funcin repetidamente usando la salida de una


iteracin o repeticin como la entrada a la siguiente con el objetivo de alcanzar una meta
deseada, objetivo o resultado.
Propagacin Hacia Adelante:
Esta fase de propagacin hacia adelante se inicia cuando se presenta un patrn en la
capa de entrada de la red. Cada unidad de la entrada se corresponde con un elemento
del vector patrn de entrada. Las unidades de entrada toman el valor de su
correspondiente elemento del patrn de entrada y se calcula el valor de activacin o nivel
de salida de la primera capa. A continuacin las dems capas realizarn la fase de
propagacin hacia delante que determina el nivel de activacin de las otras capas
5. Seleccionamos el primer par de entrenamiento.
6. Calcular la salida de la red para cada patrn de entrada.
7. Calcular el error total cometido (SSE).
8. Si la condicin de terminacin se satisface y converge resolucin del error, se detiene y
genera propagacin hacia atrs.

30

Propagacin hacia Atrs.Una vez que se ha completado la fase de propagacin hacia adelante se inicia la fase de
correccin o fase de propagacin hacia atrs.
Los clculos de las modificaciones de todos los pesos de las conexiones empiezan por la
capa de salida y continua hacia atrs a travs de todas las capas de la red hasta la capa
de entrada. Dentro de los tipos de ajuste de pesos se puede clasificar dos grupos, ajuste
de unidades procesadoras de la capa de salida y ajuste de unidades procesadoras de las
capas ocultas. Por este medio se propaga los errores hacia la capa de entrada, ajustando
los pesos de las capas ocultas de forma que se minimice el error.

Para cada neurona de salida calcular:

Para cada unidad oculta calcular:

Actualizar los pesos:

Finalmente repetimos desde el paso 5 para cada par de entrenamiento hasta que el error
para todos los conjuntos de entrenamiento sea aceptable y converja en un valor
adecuado.

Convergencia: Durante el proceso de entrenamiento o aprendizaje de la


Backpropagation es frecuente medir cuantitativamente el aprendizaje mediante el valor
RMS (Root Mean Square) del error de la red. Esta medida refleja el modo en el que la red
est logrando respuestas correctas; a medida que la red aprende, su valor RMS
decrece.
Debido a que los valores de salida de la red y los valores de salidas deseadas son valores
reales, es necesario definir un parmetro de corte o un valor umbral del valor RMS del
error de la red que permita decir que la red se aproxima a la salida deseada y considerar
que la respuesta es correcta.

31

La convergencia es un proceso en el que el valor RMS del error de la red tiende cada vez
ms al valor 0. La convergencia no siempre es fcil de conseguirla porque a veces el
proceso puede requerir un tiempo excesivo o bien porque la red alcanza un mnimo local y
deja de aprender.

2.3.2 Ventajas y desventajas del algoritmo backpropagation.


La principal ventaja de la Backpropagation es su capacidad genrica de mapeo de
patrones. La red es capaz de aprender una gran variedad de relaciones de mapeo de
patrones, sin requerir un conocimiento matemtico de la funcin que relaciona los
patrones de la entrada y los patrones de salida. La Backpropagation slo necesita
ejemplos de mapeo para aprender. La flexibilidad de esta red es aumentada con la
posibilidad de elegir nmero de capas, interconexiones, unidades procesadoras,
constante de aprendizaje y representacin de datos. Como resultado de estas
caractersticas la red Backpropagation es capaz de participar con xito en una amplia
gama de aplicaciones.

El mayor inconveniente es el tiempo de convergencia. Las aplicaciones reales pueden


llegar a tener miles de ejemplos en el conjunto de entrenamiento y ello requiere das de
tiempo de clculo. Adems la backpropagation es susceptible de fallar en el
entrenamiento, es decir, la red puede que nunca llegue a converger.

32

2.4 Metodologa para modelar una red neuronal artificial de


reconocimiento de patrones.
Al margen de la estructura interna de una red neuronal artificial, para comenzar a trabajar
en el reconocimiento de patrones debemos preocuparnos primeramente por establecer el
nmero de neuronas en la capa de entrada y el nmero de neuronas en la capa de salida,
considerando a una red neuronal como una caja donde podemos representar su
interaccin funcional con el entorno mediante un diagrama en bloques.

Figura (2.6) Estructura funcional de una red neuronal de reconocimiento de patrones.

Podemos concluir que los Datos de Entrada sern recibidas (ledas) por las Neuronas de
entrada, las mismas que sern procesadas por la red neuronal artificial y los resultados
sern entregados a los datos de salida, a travs de las Neuronas de Salida.
Por lo tanto, los datos de entrada estarn en relacin con las neuronas de entrada y los
datos de salida con las neuronas de salida, lo que significa que a una red neuronal de n
cantidad de neuronas en la capa de entrada y m cantidad de neuronas en la capa de
salida le corresponder como datos de entrada un vector X de tamao n [X1, X2, .Xn] y
como datos de salida un vector Y de tamao m [Y1, Y2, . Ym], establecindose entre
ellos una dependencia funcional que la podemos llamar RN, y que la podemos expresar
de la siguiente manera:
[Y1, Y2,. Ym] = RN ([X1, X2, . Xn])

Figura (2.7) Dependencia funcional de una red neuronal de reconocimiento de patrones.

33

2.4.1 Tomar una imagen de muestra para el anlisis de patrones y


entrenamiento de una Red neuronal.
Para el entrenamiento de RNA en el reconocimiento de patrones, se debe tener una
muestra especialmente seleccionada, por cada de patrn que se desea reconocer,
considerando que todos los elementos de cada muestra tengan diferencias considerables
entre s y al mismo tiempo representen toda la variedad posible de su poblacin.
Por lo tanto, para resolver problemas mediante el entrenamiento de RNA el tamao de la
muestra depende cuan diferentes son entre s los elementos que conforman la totalidad
de elementos a clasificar.
El objetivo de la presente aplicacin ser reconocer tres tipos de mangos exportables,
entonces, debemos tomar en total tres muestras independientes entre s, una por cada
tipo de mango.
Se analizaran las diferencias morfolgicas existentes entre mangos por cada tipo de
mango exportable.

2.4.1.1 Seleccin de la Muestra.


Por las razones explicadas anteriormente, trabajaremos con una muestra de tamao 10
por cada tipo de mango. Por lo tanto las tres muestras son conformadas de la siguiente
manera:

M1: 10 unidades de mango tipo Kent exportable.


M2: 10 unidades de mango tipo Haden exportable.
M3: 10 unidades de mango tipo Tommy exportable.

Una especificacin matemtica de cada muestra y sus respectivos elementos sera la


siguiente:
M1 = {K1, K2, K3, K4, K10}; Mangos tipo Kent exportable.
M2 = {H1, H2, H3, H4, H10}; Mangos tipo Haden exportable.
M3 = {T1, T2, T3, T4,..T10}; Mangos tipo Tommy exportable.

34

Por lo tanto, en nuestro caso prctico la dependencia funcional entre los datos de entrada
y salida de la red neuronal es de la siguiente forma:

Figura (2.8) - Dependencia Funcional entre la Forma y la Calidad del Mango.

Por otra parte, la dependencia funcional referida entre los elementos de muestra de
nuestras entradas seria la siguiente:

Figura (2.9) - Relacin entre los Elementos de la Muestra y la Calidad de los Mangos.

Como el caso prctico tiene por objetivo demostrar que una red neuronal artificial puede
ser entrenada para reconocer los mangos de calidad, por cuestiones metodolgicas
solamente explicaremos el proceso en detalle para un solo tipo de mangos, ya que el
proceso ser idntico en los otros casos. Para ello seleccionamos los mangos de tipo
Kent exportables.

35

2.4.1.2 Tomar las Imgenes Digitales de los Elementos de la Muestra.


La muestra elegida es M1 = {K1, K2, K3, K4, K10}; que corresponden a los 10 mangos
del tipo Kent exportable.
Luego, mediante una cmara digital capturamos las imgenes de los elementos de la
muestra que a continuacin las mostramos.

Figura 2.10: Imgenes de los 10 Mangos de la Muestra.

36

Luego para cada imagen, definiremos una matriz lo suficientemente fina para convertirla
en datos procesables por la red neuronal. Para el caso prctico se utiliza una matriz de
dimensin 50 x 50, con la que procedemos a obtener el borde de la imagen y
representamos dicho borde, usando las celdas de la matriz de 50 x 50, tal como se
observa en la secuencia de las siguientes imgenes:

Figura (2.11) - Imgenes del Borde de un Mango y su Matriz Asociada.

Ahora generamos los datos reemplazando las celdas vacas con 0s y las sombreadas
con 1s.

Figura (2.12) - Imagen del Borde de un Mango y su Matriz Asociada con valores de 0 y 1.

37

Ahora para generar los datos de entrada a la red neuronal artificial, convertimos la matriz
de datos binarios en un vector lineal X de tamao 2500 (50 x 50).

Figura (2.13) - Conversin de la matriz binaria a vector.

Como a cada mango le corresponden un vector lineal con 2500 valores binarios, por
cuestiones de espacio, mostraremos solamente 10 valores por cada mango, donde
debemos juntar todos los vectores lineales con informacin binaria, generados por cada
mango, en una tabla nica que debe contener los vectores lineales de todos los mangos

Figura (2.14) - Datos binarios que corresponden a imagen de bordes de mangos


convertidos a vector.

38

2.4.1.3 Numero de neuronas en capa de entrada y salida.


Est claro que el vector de entrada X, que almacena la imagen de un mango convertida
en datos consta de 2500 valores binarios (0s y 1s), cada elemento del vector lineal de
entrada debe ser ingresado a la red neuronal artificial a travs de una neurona, por lo
tanto es claro que nuestra red neuronal debe tener 2500 neuronas de entrada.

Cada neurona de salida de una red neuronal sirve para reconocer un patrn diferente,
como el objetivo de nuestra investigacin es reconocer la calidad morfolgica de los tres
tipos de mangos de exportacin (Kent, Haden y Tommy) entonces debemos tener tres
neuronas en la capa de salida.

Figura (2.15) - Arquitectura de la RNA para el Reconocimiento de la Calidad Morfolgica


de los Mangos Exportables.

Las capas ocultas y el nmero de neuronas en ellas se establecen en el mismo proceso


de entrenamiento, las sinapsis y pesos sinpticos tambin se calculan en el
entrenamiento.

39

2.4.1.4 Generar datos de salida de la red neuronal.


De acuerdo a la arquitectura definida y especificada respecto al anlisis de patrones, y
teniendo en cuenta la muestra seleccionada de los 3 tipos de mangos diferentes, los
datos de salida se generan de la siguiente manera:

a. Si los datos de entrada corresponden a un mango tipo Kent exportable, entonces el


vector de salida (Y1, Y2, Y3) ser igual a (1, 0, 0). Como la muestra M1 est conformada
por 10 mangos tipo Kent exportable, los datos de salida para cada elemento de M1 ser
(1, 0, 0).

b. Si los datos de entrada corresponden a un mango tipo Haden exportable, entonces el


vector de salida (Y1, Y2, Y3) ser igual a (0, 1, 0). Como la muestra M2 est conformada
por 10 mangos tipo Haden exportable, los datos de salida para cada elemento de M2 ser
(0, 1, 0).

c. De modo similar para la para cada elemento de M3, la salida ser (0, 0, 1).

d. Si la entrada corresponde a un mango que no es exportable, cualquiera sea el tipo, la


salida correspondiente ser (0, 0, 0).

2.4.1.5 Entrenamiento de la red neuronal.

Para entrenar una red neuronal artificial se debe hacer uso de un software computacional,
para el caso prctico de seleccin de patrones se utilizara el NEUROTRAINPATTERN.M,
que est desarrollado en MATLAB cuya funcionalidad se especifica en la siguiente figura:

40

Figura (2.16) - Funcionalidad del NEUROTRAINPATTERN.M.

A continuacin mostraremos paso a paso el procedimiento de entrenamiento de una red


neuronal artificial utilizando el NEUROTRAINPATTERN.M y como se genera una base de
entrenamiento almacenada en un archivo de texto llamado MUESTRAENT.TXT.

Primer entrenamiento:
Ingreso de Parmetros en software.
En el entorno del MATLAB ejecutamos el programa NEUROTRAINPATTERN.M e
ingresamos los parmetros requeridos.

Figura (2.17) - Ingreso de Parmetros en el NEUROTRAINPATTERN.M.

41

Justificacin de los Parmetros Ingresados:

Archivo con datos de muestra: MUESTRAENT.TXT


Es el nombre del archivo donde se guard la base de entrenamiento.
Sinapsis: Nueva [0] / Se leern desde un archivo [1]: 0
Los pesos sinpticos deben ser generados. El valor 1 se utilizar en la fase de
reconocimiento.

Introducir neuronas en capa intermedia: 100


No habiendo frmulas, elegimos un valor que ha sido usado acertadamente en el
reconocimiento de dgitos.
Introducir ratio de aprendizaje: 0.05
Usado acertadamente en el entrenamiento de RNA para reconocimiento de dgitos.

Introducir el valor mximo del error (%): 20


El algoritmo BACKPROPAGATION en cada iteracin ajusta los pesos sinpticos
minimizando las diferencias entre los valores calculados por la RNA y los valores
esperados, especificados en la base de entrenamiento, este proceso se realiza hasta
alcanzar el porcentaje especificado en el parmetro ingresado, o hasta realizar una
determinada cantidad de iteraciones indicada en el parmetro inmediato siguiente. Es por
esta razn, es recomendable iniciar las pruebas con porcentajes de error no muy bajos.

Introducir el mximo etapas de aprendizaje: 200


Por las mismas razones explicadas en el caso anterior, es recomendable iniciar el
entrenamiento con valores no muy altos de modo que si no hay convergencia, el proceso
termine rpidamente.
Archivo para resultado del entrenamiento: ENTRENAMIENTO.TXT
Es el archivo donde se almacenan los pesos sinpticos generados.

42

Anlisis del resultado:


Despus del proceso de entrenamiento, el NEUROTRAINPATTERN nos muestra
grficamente el proceso de entrenamiento de la RNA.

Figura (2.18): Curva de Aprendizaje de la RNA - Mal Entrenamiento.

En el grfico podemos apreciar que la curva descrita nos muestra un proceso inadecuado
de aprendizaje ya que segn los parmetros ingresados se deseaba alcanzar un margen
de error del 20 % en un total mximo de 200 iteraciones. Segn el grfico se han
realizado las 200 iteraciones, alcanzando al final de la curva un margen de error del 60%.

De manera similar realizamos un total de 33 pruebas de entrenamiento, buscando obtener


el entrenamiento ms ptimo, cambiando los parmetros de entrada del programa, tal es
as que en el entrenamiento nmero 21 pudimos llegar a los resultados que a
continuacin mostraremos paso a paso, los entrenamientos del 22 al 33 fueron ms
deficientes que el 21.

43

Segundo entrenamiento:
Ingreso de Parmetros en software.
En el entorno del MATLAB ejecutamos el programa NEUROTRAINPATTERN.M e
ingresamos los parmetros requeridos.

Figura (2.19) - Ingreso de Parmetros ptimos en el NEUROTRAINPATTERN.M.


Anlisis del Resultado
Con estos nuevos parmetros, al finalizar el proceso de entrenamiento, el software nos
proporcion la siguiente imagen:

Figura (2.20): Curva de Aprendizaje de la RNA - buen Entrenamiento.

44

Como podemos apreciar, la figura esta vez nos muestra que hemos alcanzado
aproximadamente el 5% de margen de error en 790 iteraciones (repeticiones), es decir
hemos logrado nuestro objetivo y ahora podemos afirmar que tenemos una red neuronal
artificial bien entrenada para el reconocimiento de la calidad de los mangos exportables.

2.4.1.6 Reconocimiento real de una muestra.


Con el objetivo de demostrar paso a paso el procedimiento completo del reconocimiento
de patrones tomaremos una muestra de 3 mangos, dos que no cumplen con las
caractersticas de calidad de exportacin y otro que si cumple y verificaremos si la red
neuronal artificial entrenada reconoce dichas caractersticas morfolgicas, por lo tanto,
para cada imagen de los mangos elegidos para ser reconocidos, se genera su
informacin binaria.

Figura (2.21) Datos binarios de imgenes para reconocimiento.


El proceso de reconocimiento es muy similar al entrenamiento, a continuacin lo
describimos paso a paso, donde se debe ingresar en MATLAB ejecutamos el
NEUROTRAINPATTERN e ingresamos los parmetros requeridos:

Figura (2.22) Datos binarios de imgenes para reconocimiento.

45

Al abrir el archivo RECONOCIMIENTO.TXT apreciaremos la siguiente informacin, que


corresponde a los datos de salida (o reconocidos) por nuestra red neuronal artificial
entrenada anteriormente.
Para interpretar fcilmente los valores del archivo de salida del proceso de reconocimiento
primero ponemos los valores del archivo de salida RECONOCIMIENTO.TXT en una tabla,
luego con los valores de dicha tabla reemplazamos los valores respectivos de la tabla de
datos de reconocimiento.

Primer mango reconocido.


Segundo mango reconocido.
Tercer mango reconocido.

Para el primer mango [Y1, Y2, Y3] = [0.341, 0.294, 0.307].


Y1 = 0.341, quiere decir que la calidad morfolgica del primer mango es del 34.1%
respecto a un mango de calidad exportable tipo Kent, por lo tanto podemos afirmar que no
es un mango Kent exportable.
Y2 = 0.294, tambin podemos decir que el primer mango tiene un 29.4% de parecido a
un mango Haden exportable, luego simplemente podemos concluir que no es Haden
exportable.

Y3 = 0.507, el primer mango solamente tiene el 30.7% de similitud a los mangos Tommy
exportables, por lo tanto tambin afirmamos que no es un mango Tommy exportable.
Pasaremos de frente al tercer mango cuyo vector de salida es:
[Y1, Y2, Y3] = [0.813, 0.197, 0.225]
Y1 = 0.813, quiere decir que la calidad morfolgica del tercer mango es del 81.3%
respecto a un mango de calidad exportable tipo Kent, por lo tanto podemos afirmar que es
un mango Kent exportable, si se aprecia la figura del tercer mango podemos comprobar
la eficiencia de la red neuronal artificial.

46

Y2 = 0.197, el tercer mango no es un mango Haden exportable.


Y3 = 0.225, el tercer mango no es un mango Tommy exportable.

En general:
Si Y1 > 0.5, el mango ha sido reconocido como un mango Kent exportable.
Si Y2 > 0.5, el mango ha sido reconocido como un mango Haden exportable.
Si Y3 > 0.5, el mango ha sido reconocido como un mango Tommy exportable.

En otro caso, significa que el mango ha sido reconocido como un mango


No Exportable.

Podemos concluir que nuestra RNA ha reconocido correctamente los tres mangos, los
dos primeros los ha reconocido como No Exportable y el tercer mango como Kent
Exportable, tal como se esperaba.

47

2.5 Ventajas y limitaciones de las redes neuronales artificiales.


Las redes neuronales artificiales no son la solucin universal que permite resolver todos
los problemas, sino que estn orientadas a un determinado tipo de tareas.
Las redes neuronales artificiales presentan una serie de ventajas frente a los modelos
estadsticos. Una ventaja fundamental consiste en que los modelos neuronales
normalmente no parten de restricciones respecto de los datos de partida (tipo de relacin
funcional entre variables), ni suele imponer. Por otra parte, como hemos comentado, la
habilidad de las neuronas de calcular funciones de salida no lineales capacita a la red
para resolver problemas complejos o no lineales. De este modo, en numerosas
aplicaciones se estn consiguiendo con redes neuronales, cotas de error mucho mejores
que las proporcionadas por la estadstica

Por otra parte, los datos procedentes del problema son imprecisos, incoherentes o con
ruido (como el ejemplo visto sobre el reconocimiento de imgenes). Por ltimo, el
problema es de elevada dimensionalidad, es decir, el nmero de variables de entrada es
demasiado grande como para que un modelo convencional aprenda a solucionar el
problema en un tiempo razonable.
Cuando no se dan estas circunstancias puede ser ms aconsejable optar por solucionar el
problema mediante un modelo derivado de la estadstica o la Inteligencia Artificial. Por
tanto, no debemos concebir las redes neuronales como una alternativa, sino ms bien
como un complemento a los modelos convencionales ya establecidos.

Respecto a las limitaciones que presentan las redes neuronales artificiales, una de las
ms importantes consiste en que es difcil comprender la naturaleza de las
representaciones internas generadas por la red para responder ante un problema
determinado. Es decir, no sabemos cmo el sistema interrelaciona las diferentes variables
de entrada con los pesos de las conexiones entre neuronas para elaborar una solucin.
Esta limitacin contrasta con los diferentes modelos estadsticos, los cuales permiten
observar los parmetros o pesos relativos que el modelo otorga a cada una de las
variables que intervienen en el modelo.

48

Conclusin
El uso de las redes neuronales artificiales ha estado presente histricamente para la
aplicacin de diversas problemticas presentadas en diferentes mbitos, y a pesar de no
ser una solucin integral de estas problemticas, presenta diversas ventajas en el uso de
aplicaciones especificas.
De esta manera, para el sistema de control basado en redes neuronales artificiales,
resulta ser efectivo para el reconocimiento de patrones, ya que se logra alcanzar
resultados con mrgenes de error muy pequeos, y por ende gran grado de selectividad
en la clasificacin de elementos.

Para esta clasificacin se hace recomendable el uso de muestras en su forma vectorial,


tomadas desde su matriz de datos binarios, para que as sean desarrollados y procesados
por la red neuronal artificial, aplicando el algoritmo de aprendizaje deseado, y logremos
obtener a su vez, un vector de salida con la informacin de la clasificacin realizada.
As mismo cuando se trata de imgenes slidas, se recomienda trabajar con los bordes
de dichas imgenes, debido que el reconocimiento de patrones se basa en un porcentaje
de equivalencias entre los patrones o imgenes modelo con las formas que se desea
reconocer.

El diseo de la red neuronal artificial que ha sido capaz de aprender a reconocer los 3
tipos de mangos expuestos en nuestra investigacin, tiene la siguiente configuracin:
2500 neuronas en la capa de entrada (para tomar como dato de entrada de la red, el
borde de la imagen de un mango de diversos tipos), 3 neuronas en la capa de salida (para
que la red neuronal pueda identificar tres tipos diferentes de mangos exportables) y 400
neuronas en la capa oculta (para que pueda realizar un entrenamiento adecuado).
Se recomienda tener el mximo cuidado en elegir la muestra de entrenamiento ya que de
ello depende el xito del entrenamiento de la red neuronal artificial.

49

Bibliografa
Libros y publicaciones:
Libro: An Introduction to Neural Networks. J. Anderson, 1995
Libro: Las Redes Neuronales Artificiales: Fundamentos Tericos y Aplicaciones
Prcticas. R. Flrez, J Fernndez.
Libro: Redes de Neuronas Artificiales: Un enfoque Prctico. Pedro Isasi Viuela,
Ins M. Galvn Len
Imgenes tomadas desde libro: Neural Computing Architectures, MIT Press,
Cambridge, MA, 1989.

Tesis y otras publicaciones:


Tesis doctoral: Redes Neuronales Aplicadas al anlisis de datos. J. Montao, 2002.
Tesis: Redes neuronales artificiales y sus aplicaciones, Profesor Xabier Basogain
Olabe.
Tesis de grado: Entrenamiento de redes neuronales artificiales. Luis Federico
Bertona, 2005.
Tesis doctoral: Anlisis y diseo de redes neuronales CMAC para la identificacin y
control de sistemas no lineales. Floriberto Ortiz Rodrguez, 2008.
Tesis doctoral: Aplicacin de las redes neuronales en los sistemas de control
vectorial. Gamal Mahmoud Ali, 2000.
Tesis Doctoral: Redes neuronales para el reconocimiento morfolgico. Hugo Froiln
Vega, 2011.
Documento PPT: Redes neuronales artificiales.
Definiciones: www.wikipedia.com
www.archivos.labcontrol.cl

50

Potrebbero piacerti anche