Sie sind auf Seite 1von 5

1

Reconocimiento de imagen con redes neuronales


con la funcion sigmoid
Image recognition with nets neuronales with the
function
Diego A. Cale, Graciela K. Lopez, coauthor: Henry P. Paz
Universidad Nacional de Loja, Carrera de Ingeniera en Sistemas

ResumenEl presente artculo tiene como objetivo describir el


uso de las Redes Neuronales artificiales y conocer su importancia
a traves de la conceptualizacion y aplicacion de funciones para
la resolucion de problemas de la vida real. Las redes Neuronales
artificiales son aplicadas en diversos a mbitos de la actividad
humana, se hara referencia especficamente a la herramienta
Neuroph que tiene soporte para el reconocimiento de imagenes,
as como la funcion de sigmoid que viene incorporada en esta
herramienta, ademas se utilizara Java 8.0.1 para el desarrollo
de la aplicacion.
Abstract.- This article aims to describe the use of artificial
neural networks and know its importance through the conceptualization and implementation of functions to solve real life
problems . Artificial Neural Networks are applied in various
fields of human activity , will be referred specifically to Neuroph
tool that has support for image recognition and function sigmoid
is built into this tool also Java 8.0 is used. 1 for application
development.

Palabras claves
Redes Neuronales Artificiales, conceptualizacion, sigmoid,
Neuroph
Index TermsArtificial Neural Networks, conceptualization,
sigmoid, Neuroph.

I.

I NTRODUCCI ON

La inteligencia se puede definir como la capacidad de


resolver problemas. Aristoteles fue el primero en describir de
manera estructurada un conjunto de reglas, silogismos que
describen una parte del fundamento de la mente humana,
las mismas que producen conclusiones racionales a partir de
premisas dadas[1]. La Inteligencia Artificial (IA) es una rama
de las ciencias de la computacion que estudia el Software y el
Hardware necesario para simular el comportamiento humano
[2].

al conocimiento humano por procedimientos simbolicos [14].


Las tecnicas computacionales marcaron un paradigma en la
creacion, sus aplicaciones hoy en da van desde las industrias
hasta lo comercial [3].
Con el paso del tiempo la IA avanzado a pasos agigantados
por esa razon la tendencia actual de la IA se muestra en
diferentes a reas como son la Medicina, Educacion, Robotica,
Entretenimiento entre otros [4],[5].
El presente artculo esta estructurado de la siguiente ma
nera: I. INTRODUCCION,
presenta el objetivo de estudio, II
REDES NEURONALES, presenta una introduccion y la importancia de las redes neuronales y su aplicacion en el mundo
real, III. HERRAMIENTA NEUROPH, detalla la herramienta
que se utilizaran para la resolucion del problema planteado,
ademas hablaremos de la funcion sigmoid, CASO PRACTICO, presenta el analisis detalla de las funciones de activacion
y la herramienta utilizada, V. CONCLUSIONES, establece
los logros alcanzados que se genero tras la culminacion del
trabajo. Finalmente el artculo culminara con las REFERENCIAS BIBLIOGRAFICAS, que es la base fundamental para
la investigacion.
II.

REDES NEURONALES

Las redes neuronales fueron originalmente una simulacion


abstracta de los sistemas nerviosos biologicos, constituido
por un conjunto de unidades llamadas neuronas o nodos
conectados entre s [6].

IA desarrolla metodos y algoritmos que permitan a las


computadoras comportarse de modo inteligente, interpretando

D. Cale, Universidad Nacional de Loja, Loja, Ecuador, E-mail: dacalep@unl.edu.ec


G. Lopez, Universidad Nacional de Loja, Loja, Ecuador,
E-mail:
gklopezf@unl.edu.ec
H. Paz, Universidad Nacional de Loja, Loja, Ecuador,
E-mail:
hpaz@unl.edu.ec

Fig.1 Redes Neuronales [7]

El cerebro humano contiene mas de cien mil millones de


neuronas y sinapsis en el sistema nervioso [7].

III.
III-A.

HERRAMIENTA

Neuroph

El objetivo de las redes Neuronales de tipo biologico es


desarrollar operaciones de sntesis y procesamiento de informacion, relacionadas con los sistemas biologicos. Una sinapsis
es una interconexion entre dos neuronas [6].
II-A. Redes Neuronales Artificiales
Las Redes Neuronales Artificiales se basan en las Redes
Neuronales biologicas, aunque su estructura y funcionalidad
de conexion es diferente. Las caractersticas principales de
las neuronas artificiales son [7]
Auto-Organizacion y Adaptabilidad: utiliza algoritmos
de aprendizaje adaptativo y auto-organizacional, por lo
que ofrece mejores posibilidades de proceso robusto y
adaptativo.
Procesado no lineal: aumenta la capacidad de la red
para aproximar funciones, clasificar patrones y aumenta
inmunidad frente al ruido.
Procesado no Lineal: normalmente se usa un gran numero
de nodos de procesado, con alto nivel de interconectividad.
Las caractersticas de las redes neuronales artificiales juegan
un papel muy importante, por ejemplo, en el procesado de
senales e imagenes [6],[7],[8].
II-B. Modelo Neuronal
Un modelo neuronal es aquel que nos permite la
construccion de redes, con el fin de modelar correctamente el
comportamiento global de toda una red [8].

Fig 3. Herramienta Neuroph [12]


Herramienta de peso ligero de Java para desarrollar
arquitecturas comunes de redes neuronales, de codigo
abierto, con editor de red neuronal GUI agradable para crear
rapidamente componentes Java de la red neuronal. Se ha
liberado como codigo abierto bajo la licencia Apache 2.0 , y
es gratis para su uso [12].
La importancia de la utilizacion de Neuroph esta en
la simplificacion del desarrollo de las redes neuronales,
proporcionando una paleta dinamica para la creacion de redes
neuronales, la formacion y el ahorro de las redes neuronales
[13].
Permite visualizar el funcionamiento sin entrar en la teora
y la aplicacion complicada, rapidamente para un proyecto de
investigacion Neuroph es una buena opcion. Es pequeno, bien
documentado, facil de usar y muy flexible marco de la red
neural [12].
III-B.

Funcion sigmoid

Es una funcion matematica que tiene una forma de s. una


funcion sigmoid se refiere al caso especial de la funcion
logstica [12].
Ademas es una funcion acatada que esta definida para
todos los valores de entrada reales y tiene derivada positiva
en todas partes [11].

Fig 2. Red Neuronal Artificial [8]


En donde:
X1 esta enviando senales de entrada.
W1 representan los pesos sinapticos en las dendritas de y.
Lo que hace cada peso sinaptico es simplemente multiplicar a
su entrada correspondiente y define la importancia relativa de
cada entrada [8].
II-C. Fase de las Redes Neuronales Artificiales.
Existen dos fases en la modelizacion con redes neuronales
[7].
Fase de Entrenamiento: es un conjunto de datos o
patrones de entrenamiento para determinar los pesos
(parametros) que definen el modelo de la red neuronal.
Fase de Prueba: para evitar el problema del sobreajuste,
es aconsejable utilizar un segundo grupo de datos diferentes a los de entrenamiento.

Fig 4. Funcion sigmoid [12]


IV.

CASO PR ACTICO

Formacion de redes neuronales para el reconocimiento de


imagenes con Neuroph Estudio y Java; El cual se va a

entrenar la red neuronal con una coleccion de Imagenes de


un (pajaro, gato, perro, pescado, imagen), para su posterior
reconocimiento.

Para entrenar a la red, seleccione el conjunto de entrenamiento (animals-dataset) de a rbol del proyecto y arrastrelo
hasta las entradas, y luego haga clic en el boton. Train [13]

IV-A. Consideraciones importantes


Puede utilizar el reconocimiento de imagen en el modo a
todo color o en modo blanco y negro binario.
El modo de blanco y negro binario representa pxel como
[0, 1] y por lo que utiliza menos cantidad de neuronas de
entrada. Para algunas aplicaciones (como el reconocimiento
de caracteres, por ejemplo) modo blanco y negro binario
puede ser la solucion o ptima.
Determinar las imagenes que no seran reconocidas, lo que
ayudara a evitar falsoreconocimiento. Por lo general, se trata
de bloques de todo rojo, todo verde y todas las imagenes de
color azul, pero tambien puede incluir otros colores, el cual
le permitira a la red Neuronal aprender y a reconocer mucho
mas rapido [13].
Para el desarrollo de la aplicacion se utilizo la configuracion
predeterminada (resolucion de 20x20)[13].
Para la Creacion de la red neuronal se proporciona una
interfaz amigable donde se ingresa el nombre de la red, la
funcion de transferencia (En la mayora de los casos se puede
dejar sigmoide la configuracion por defecto u til para esta
aplicacion), y la cantidad de capas ocultas de la neurona (Este
es el escenario mas importante que determina el numero de
capas ocultas en la red, y el numero de neuronas en cada
capa oculta. Las capas ocultas son capas entre la entrada y
la capa de salida. El truco es a menor numero de neuronas
el aprendizaje es mas rapido, mejor generalizacion. Adecuado
numero de neuronas ocultas tambien depende del numero de
neuronas de entrada y de salida, y el mejor valor puede ser
resuelto mediante la experimentacion. En este caso, trate de
imagenes de 8x8 y una capa oculta con 12 neuronas, que
es el valor predeterminado. Si para aumentar el numero de
neuronas, basta con introducir el numero, por ejemplo, las
neuronas 12. Si desea agregar mas de una capa de neuronas,
introduzca el numero de neuronas en cada capa separada con
espacio. Por ejemplo, si se introduce 12 8 6 creara tres capas
ocultas con 12, 8 y 6 neurona)[13].

Fig 6. Entrenamiento de la Red [13]

Luego se iniciara la formacion y el aprendizaje grafico


de red abierta y la iteracion, el cual puede observar el
proceso de aprendizaje. Si el aprendizaje se queda atascado
(error total de la red no baja), puede intentar con diferentes
numeros de neuronas, capas o parametros de aprendizaje.
Para la tasa de aprendizaje y el impulso utilizar los valores
entre [0, 1], y para el error se recomienda algun pequeno
valor bajo de 0.1 Los parametros de aprendizaje son 0,2
para la tasa de aprendizaje y el 0,7 por impulso [13].

Fig 7. Tasa de aprendizaje

Fig 5. Nueva Imagen [13]

Seguidamente lo guardamos y obtenemos el archivo generado con extension .nnet (Red Neuronal entrenada en
NeurophStudio) y lo ponemos en dentro de nuestro proyecto
java [13].

Este trabajo estara disponible para cualquier tipo de consulta


en el Link a continuacion.
https://github.com/usuario2014/RECONOCIMIENTO-DEIMAGEN-CON-REDES-NEURONALES.git
V.

CONCLUSIONES

La inteligencia artificial es una innovacion a la tecnologa,


ya que por medio de la programacion de las redes neuronales
podemos resolver problemas de identificacion de imagenes.
Para la resolucion de problemas de la vida real aplicando
redes neuronales artificiales se necesita un breve estudio
del funcionamiento de una red neuronal biologica para su
posterior aplicacion.
Fig 8. Guardar el Archivo [13]
Codigo Java
nal
entrenada

para llamar
y
verificar

la red Neuronuestras
imagenes

La Herramienta Neuroph permite visualizar el


funcionamiento sin entrar en la teora y la aplicacion
complicada, es recomendable utilizarlo para un proyecto de
investigacion por su simplificacion.
Neuroph es una buena opcion para la simplificacion de redes
neuronales, es pequeno, bien documentado, facil de usar y muy
flexible marco de la red neural.
REFERENCIAS

Fig 9. Llamada de la red Neuronal [13]


Ejecutando la Aplicacion y mostrando los resultados, en este
caso se verifico una imagen de un perro y de acuerdo a los
datos de la red devuelve que en realidad se trata de un perro
mostrando el mas alto porcentaje dentro de las muestras con
las que se entreno la red [13].

Fig 10. Reconocimiento de Imagenes [13]

[1] Salgado G, Sebastian. La Filosofa de Aristoteles. Disponible en: http://


guindo.pntic.mec.es/ssag0007/filosofica/aristoteles-duererias.pdf. [Fecha
de consulta:31-Octubre-2014]
[2] Malpica. V, Jose A. Inteligencia Artificial y conciencia, Disponible en:
http://www2.uah.es/benito fraile/ponencias/inteligencia-artificial.pdf.
[Fecha de consulta:31-Octubre-2014]
[3] Guzman, Mara Victoria. Aplicacion de las Redes Neuronales. El
caso de Bibliometra. Disponible en:http://www.dynamics.unam.edu/
DinamicaNoLineal/Articulos/MineriaDatos/Articulo03.pdf. [Fecha de
consulta:31-Octubre-2014]
[4] Aaron Sloman. ARTIFICIAL INTELLIGENCE. AN ILLUSTRATIVE
OVERVIEW,
Disponible
en:
http://quegrande.org/apuntes/EI/4/
IA/teoria/0910/areas de aplicacion de la inteligencia artificial
recomendada.pdf. [Fecha de consulta:31-Octubre-2014]
[5] Berzal, Fernando. Inteligencia Artificial. DECSAI Departamento de
Ciencias de la Computacion ,Disponible en:http://elvex.ugr.es/decsai/
iaio/slides/A1%20AI.pdf. [Fecha de consulta:01-Noviembre-2014]
[6] Del Rio, Bonifacio Martin. Sanz, M. Alfredo. Redes Neuronales y
Sistemas Difusos, Disponible en: http://dspace.ucbscz.edu.bo/dspace/
handle/123456789/965. [Fecha de consulta:01-Noviembre-2014]
[7] University of STIRLING. An Introduction to Neural Networks ,Disponible en:http://www.cs.stir.ac.uk/lss/NNIntro/InvSlides.html. [Fecha de
consulta:01-Noviembre-2014]
[8] Izaurieta Fernando. Saavedra Carlos. Redes Neuronales Artificiales, Disponible en: http://www.uta.cl/charlas/volumen16/Indice/Ch-csaavedra.
pdf. [Fecha de consulta:01-Noviembre-2014]
[9] Redes Neuronales Artificiales, Disponible en: https://www.google.
com.ec/url?sa=t&rct=j&q=&esrc=s&source=web&cd=4&cad=
rja&uact=8&ved=0CDAQFjAD&url=http%3A%2F%2Fwww.
ingenieria.upiita.ipn.mx%2Fattachments%2F229 RedesArtificiales%
2520I.doc&ei=v6RRVMyBAvWTsQSAh4LYCQ&usg=
AFQjCNEBxy2Y11GJQRXWKvKwxpO9eJe4Xw&bvm=bv.78597519,
d.eXY. [Fecha de consulta:01-Noviembre-2014]
[10] Cybenko, G. (1989). Approximation by superpositions of a sigmoidal
function. Mathematics of control, signals and systems, 2(4), 303314.[Fecha de consulta:01-Noviembre-2014]
[11] Barron, A. R. (1993). Universal approximation bounds for superpositions
of a sigmoidal function. Information Theory, IEEE Transactions on,
39(3), 930-945. [Fecha de consulta:01-Noviembre-2014]

[12] IMAGE RECOGNITION WITH NEURAL NETWORKS HOWTO,


Disponible en: http://neuroph.sourceforge.net/image recognition.html.
[Fecha de consulta:03-Noviembre-2014]
[13] Neuroph , Disponible en: http://neuroph.sourceforge.net/index.html. [Fecha de consulta:03-Noviembre-2014]
[14] Tanco, F. (2003). Introduccion a las redes neuronales artificiales. Grupo
de Inteligencia Artificial.. [Fecha de consulta:03-Noviembre-2014]

Diego Cale

Estudiante de la Carrera de Ingeniera en Sistemas de


la Universidad Nacional de Loja, Programador Junior en Java,
Provincia de Loja, Ciudad Loja, Ecuador 2014.

Graciela Lopez

Estudiante de la Carrera de Ingeniera en Sistemas de la


Universidad Nacional de Loja, Conocedora en Analisis y Diseno de
Software, Provincia de Loja, Ciudad Loja, Ecuador, 2014.

Henry Paz Arias

Ing. Mgs. Especialista en Inteligencia Artificial, Provincia


de Loja, Ciudad Loja, Ecuador 2014.

Das könnte Ihnen auch gefallen