REDES NEURONALES Capitulo4
REDES NEURONALES Capitulo4
REDES NEURONALES Capitulo4
4.1
Matlab
38
Una vez que estn definidos todos los aspectos necesarios del Neural Network
Toolbox ya sea en la interfaz grfica o con comandos en la ventana principal de Matlab, al
39
empezar a entrenar una red se nos muestra automticamente la grfica del progreso del
MSE avanzando en cada epoch con la opcin de detener el entrenamiento que es excelente
ms que nada cuando se observa una divergencia o convergencia demasiado lenta.
Para crear una nueva red neuronal multicapa se llama a la funcin newff () de la
siguiente forma:
donde net es el nombre deseado para la red, PR es una matriz de R x 2 con los valores
mnimo y mximo que cada entrada R puede tomar, SN es el nmero de neuronas de la
capa N (N es el nmero de capas incluyendo la de salida), TFN es el nombre de la funcin
de activacin de las neuronas de la capa N, BTF es el nombre del algoritmo de
entrenamiento deseado, BLF es la ecuacin de actualizacin de pesos deseada, y PF es la
funcin de minimizacin del error que se quiere usar [8].
contornos que son las que ms interesan en el desarrollo de este trabajo. Otros
procesamientos de imgenes y todos bien documentados se pueden encontrar en el men
help del escritorio principal.
4.2
Algoritmo
Como es sabido, siempre se debe tener claro el problema a tratar y las partes en las que se
puede dividir para llegar ms rpido a su solucin. A continuacin se enlistan los pasos que
definen el propsito principal de este trabajo:
En Matlab es fcil leer una imagen y pasarla al escritorio principal para que pueda ser
procesada. El comando es el siguiente:
41
donde image es el nombre deseado para guardar la imagen en Matlab, destino donde se
encuentra la imagen es la carpeta donde se tiene guardada la imagen, nombre de la
imagen.extension es el nombre con que se tiene guardada la imagen y su formato. El
destino donde se encuentra la imagen debe estar dentro de las direcciones que reconoce
Matlab. Para agregar una direccin existe una interfaz grfica fcil de usar siguiendo el
men principal File-Set Path. Matlab trae por default la carpeta work para guardar todo lo
que se usa y se crea con este software. Cabe mencionar que Matlab soporta diversos
formatos de imgenes; por comodidad aqu se ha usado el formato .jpg con imgenes
grayscale.
La Figura 4.2 (a) muestra una imagen simple del tipo que se usan en este trabajo, en
la Figura 4.2 (b) se muestra el contorno obtenido mediante el mtodo de canny, y en la
Figura 4.2 (c) se muestra el aspecto que tiene su transformada de distancia calculada. En la
Figura 4.2 (c) se puede observar muy claramente que la transformada de distancia de una
imagen se puede tratar como una funcin continua a pesar de que en su clculo slo se usan
valores discretos que corresponde a las coordenadas que definen cada pxel.
42
(a)
(b)
(c)
Figura 4.2. (a) Imagen original donde el objeto es una letra A. (b) Contorno detectado mediante el mtodo
canny. (c) Visualizacin de la transformada de distancia como una funcin continua.
43
Para la aproximacin de funciones, que es el caso de este trabajo, es comn usar dos
capas ocultas, la primera con menor nmero de neuronas (aproximadamente la mitad) que
la segunda [5, 8], ambas con funcin de activacin sigmoidal ya que se logran relaciones no
lineales entre entradas y salidas, y la capa de salida con funcin de activacin lineal para
poder obtener cualquier valor real como salida. La primera capa oculta es la que se encarga
de extraer las caractersticas ms importantes de los nodos de entrada, y la segunda capa se
encarga de extraer las caractersticas de los nodos de entrada en conjunto [3]. Entre ms
neuronas se tengan en las capas ocultas, mejor ser la aproximacin de la funcin tratada,
pero se debe tomar en cuenta que si se exagera en el nmero de neuronas ocultas, se puede
44
obtener una red inestable o un tiempo de entrenamiento muy lento, especialmente con
algoritmos de entrenamiento cuyos clculos son de alta complejidad como el algoritmo de
Levenberg-Marquardt [3, 8, 13].
Figura 4.3. Perceptrn multicapa de 2x9x25x1 completamente conectado. Las capas ocultas tienen
funcin de activacin hyperbolic tangent sigmoid y la capa de salida linear.
46
Al comparar las Figuras 4.2(c) y 4.4, se ve que el MLP propuesto si calcula una
muy buena aproximacin de la transformada de distancia aunque no la generaliza
perfectamente como se puede apreciar en la Figura 4.5 que muestra una porcin de la
transformada de distancia de una imagen de 64x64 comparada con su aproximacin..
47
(a)
(b)
La Figura 4.5 muestra que existe an error en algunas distancias que por lo general
son las que no se tomaron como patterns para el entrenamiento de la red. No obstante, esta
aproximacin es efectiva para el reconocimiento. El uso de ms decimales retarda el
entrenamiento ya que se busca un menor MSE, y sin embargo, aunque se aproxima mejor la
transformada de distancia, al hacer pruebas se obtienen los mismos resultados en el
reconocimiento.
Ya que se tienen las redes entrenadas, cada una con una imagen distinta, se procede a
probar el desempeo del reconocimiento, el cual se observa al presentar una imagen
desconocida a las redes entrenadas y asociarla con la que ms tenga parecido. La imagen
48
debe ser grayscale de 64x64. La imagen leda debe ser procesada para poder reconocerla ya
que las redes estn entrenadas con imgenes binarias que contienen slo el contorno de
inters.
49