Anda di halaman 1dari 7

Redes Neuronales Articiales

Ronal Rojas (1)


Universidad Nacional de Loja
Jenny Saraguro (2)
Universidad Nacional de Loja
En este artculo se describe las funciones de activacin Hardlim y Hardlims de las neuronas
articiales con la itulizacin de una pequea aplicacin que nos permite simular una red neu-
ronal
Redes Neuronales Articiales
El contino avance de la tecnologa as como tambin
la necesidad de agilizar los procesos de negocios hace que
el hombre desarroll tcnicas que permitan alcanzar este
objetivo como es el caso de la redes neuronales articales,
que se caracterizan por tener un procesamiento automtico
que se ha venido perfeccionando con la nalidad de obtener
mejores resultados que satisfagan las exigencias de los
usuarios.
La teora de las redes neuronales articiales ha brindado
una alternativa a la computacin clsica, para aquellos
problemas, en los cuales los mtodos tradicionales no han
entregado resultados muy convincentes, o poco convenien-
tes. (Tanco, 2010) Las aplicaciones ms exitosas de las RNA
son:
Procesamiento de imgenes y de voz
Reconocimiento de patrones
Interfaces adaptivas para sistemas hombre/mquina
Prediccin
Control y optimizacin
Filtrado de seales
Las RNA no ejecutan instrucciones, responden en
paralelo a las entradas que se les presenta. El resultado no se
almacena en una posicin de memoria, este es el estado de la
red para el cual se logra equilibrio. El conocimiento de una
red neuronal no se almacena en instrucciones, el poder de la
red est en su topologa y en los valores de las conexiones
(pesos) entre neuronas. (Tanco, 2010)
Las redes neuronales articiales tratan de emular el
comportamiento del cerebro humano, caracterizado por
el aprendizaje a travs de la experiencia y la extraccin
de conocimiento genrico a partir de un conjunto de
datos.(Raquel Flrez Lpez, 2008).
Las redes neuronales articiales se disearon con el
objetivo de poder simular el sistema nervioso central el cual
ayudase a la extraccin de informacin a partir de grandes
cantidades de datos complejos e inciertos (Ral Pino Dez,
s.f.) y de esta manera poder realizar una clasicacin de los
datos.
La arquitectura de una red neuronal articial depende de
cuatro parmetros principales:
El nmero de capas del sistema.
El nmero de neuronas por cada capa.
El grado de conectividad entre las neuronas.
El tipo de conexiones neuronales.
La conectividad de los nodos de una red est relacionada
con la forma de transmisin de las salidas de las distintas
unidades y su transformacin en entradas de otros procesa-
dores. (Raquel Flrez Lpez, 2008).
Se va a considerar una neurona como un elemento formal
o mdulo o unidad bsica de la red que recibe informacin
de otros mdulos o del entorno; la integra, la computa y
emite una nica salida que se va a transmitir idntica a
mltiples neuronas posteriores. (Wasserman., s.f.).
Figura 1. Esquema de la Neurona Articial
La salida de esta neurona esta denida por la siguiente
ecuacion:
a = F
k
((W
i
j P
i
) + b
k
)
Donde:
a: es la salida de la neurona.
F
k
: es la funcin de transferencia de la neurona.
W
i
j: es la matriz de pesos.
Ronal Rojas-Jenny Saraguro Tutor: Ing Henry Paz
P
i
:es el patrn de entrenamiento.
b
k
:es el umbral de activacin de la neurona.
En la gura 2 se puede observar el esquema de una red
neuronal
Figura 2. Esquema de una Red Neuronal Articial
La misma est constituida por neuronas interconectadas y
arregladas en capas. Los datos ingresan por medio de la apa
de entrada", pasan a travs de la apa oculta
2
salen por la
apa de salida". Cabe mencionar que la capa oculta puede
estar constituida por varias capas.(Matich, 2001)
Funciones de Activacin
Las funciones de activacin nos permiten dar mayor
exibilidad al sistema, y por tanto mayor capacidad.
Entre la unidades o neuronas que forman una red neuronal
articial existe un conjunto de conexiones que las unen. Cada
unidad transmite seales a aquellas que estn conectadas
a su salida. Asociada con cada unidad Uj hay una funcin
de activacin (Fact), que transforma la entrada neta que la
unidad presenta como resultado de estar conectada con otras
unidades que le suministran informacin, en el valor de
salida Yj.
La funcin de activacin calcula la activacin de la unidad
en funcin de la entrada total y la activacin previa, aunque
en la mayor parte de los casos es simplemente una funcin
no decreciente de la entrada total. Los tipos de funcin
ms empleados son: la funcin escaln, funcin lineal y la
funcin sigmoidal.
FUNCIN DE TRASFERENCIA LIMITADOR
FUERTE (HARDLIM). Esta funcin de transferencia
acerca la salida de la red a cero, si el argumento de la funcin
es menor que cero; y la lleva a uno si este argumento es
mayor que uno. Esta funcin crea neuronas que clasican
las entradas en dos categoras diferentes, caracterstica que
le permite ser empleada en la red tipo Perceptrn.(Neural
Network Toolbox, 2010)
a =

1 si n >= 0
0 si n <0
(1)
La grca que se presentar al utilizar esta funcin de ac-
tivacin es la gura 3:
Figura 3. Grca de la Funcin Hardlim
La sintaxis de esta funcin es:
A = hardlim(N, FP)
donde:
N es una matriz de entrada S por Q.
FP Struct parmetros de la funcin (ignorado)
Existe una modicacin para esta funcin de activacin y
es FUNCIN DE TRASFERENCIA LIMITADOR FUERTE
SIMTRICO (HARDLIMS esta restringe el espacio de salida
a valores entre 1 y 1 (Neural Network Toolbox, 2010)
a =

1 si n >= 0
-1 si n <0
(2)
Figura 4. Grca de la Funcin Hardlims
La sintaxis de esta funcin es:
UNIVERSIDAD NACIONAL DE LOJA
rfrojasl@unl.edu.ec, jlsaragurop@unl.edu.ec
2
Ronal Rojas-Jenny Saraguro Tutor: Ing Henry Paz
A = hardlims(N, FP)
donde:
N es una matriz de entrada S por Q.
FP Struct parmetros de la funcin (ignorado)
Funciones de Aprendizaje
Una vez se han inicializado los pesos de la red y los
el bias, la red est lista para ser entrenada. La red puede
entrenarse para: la aproximacin de una funcin (regresin
no lineal), la asociacin del modelo, o la clasicacin
del modelo. El proceso de entrenamiento requiere de los
patrones de conducta apropiados para la red, las entradas de
la red p y las salidas en blanco t. (mathworks, 2014)
Entre las funciones de aprendizaje empleadas en el caso
prctico tenemos:
Retropropagacin gradiente conjugado con reini-
cios Powell-Beale (traincgb): funcin de entrenamineto que
actualiza los pesos y las bias de aacuerdo con el algoritmo
de retropropagacin de gradiente conjungado segun Powell-
Beale. (Carlos Alfonzo Prez Rivera, 2005)
Para todos los algoritmos de gradiente conjugado, la
direccin de bsqueda se restablece peridicamente para el
negativo de la pendiente. El punto de reinicio estndar se
produce cuando el nmero de iteraciones es igual al nmero
de parmetros de la red (pesos y bias), pero hay otros
mtodos de restauracin que pueden mejorar la eciencia de
la formacin.(mathworks, 2014)
Uno de estos mtodos de reposicin fue propuesta por
Powell, basado en una versin anterior propuesto por Beale.
Esta tcnica se reinicia si hay muy poco ortogonalidad entre
el gradiente actual y el gradiente anterior.
La sintaxis de esta funcin se describe de la
forma:(mathworks, 2014)
net.trainFcn =

traincgb

[net, tr] = train(net, ...)


Con traincgb se puede entrenar a cualquier red, siempre y
cuando sus funciones de peso, entrada neta y de transferen-
cia tengan funciones derivables. (Neural Network Toolbox,
2010)
La retropropagacin se utiliza para calcular el rendimiento de
los derivados de perforacin con respecto a las variables de
peso y de polarizacin X . Cada variable se ajusta de acuerdo
a la siguiente:
X = X + a dX ;
donde dX es la direccin de la bsqueda. El parmetro de
a se selecciona para reducir al mnimo el rendimiento a lo
largo de la direccin de bsqueda.
La funcin de bsqueda de lnea searchFcn se utiliza para
localizar el punto mnimo. La primera direccin de bsqueda
es el negativo de la pendiente de rendimiento. En sucesivas
iteraciones la direccin de bsqueda se calcula a partir de
la nueva gradiente y la direccin de bsqueda anterior de
acuerdo con la frmula:
dX = gX + dXanterior Z;
donde gX es el gradiente. El parmetro Z puede calcularse de
varias maneras diferentes. La variacin de Powell-Beale del
gradiente conjugado se distingue por dos caractersticas:
el algoritmo utiliza una prueba para determinar cundo
restablecer la direccin de bsqueda para el negativo de la
pendiente.
la direccin de bsqueda se calcula a partir del gradiente
negativo, la direccin de la bsqueda anterior, y la ltima
direccin de bsqueda antes de la ltima puesta a cero.
La formacin detiene cuando se produce alguna de estas con-
diciones:
1. Se ha alcanzado el nmero mximo de pocas (repeticio-
nes).
2. La cantidad mxima de tiempo que se ha superado.
3. El rendimiento ha sido minimizado a la meta.
4. El gradiente de rendimiento cae por debajo de mingrad.
5. Rendimiento de validacin se ha incrementado ms de ve-
ces max_fail desde la ltima vez que se redujo (cuando se
utiliza la validacin) (Neural Network Toolbox, 2010) .
Retropropagacin BFGS quasi-Newton (trainbfg):
funcin de entrenamiento de la red que actualiza los valores
de peso y bias de acuerdo con el mtodo quasi-Newton
BFGS.(Carlos Alfonzo Prez Rivera, 2005)
El algoritmo BFGS requiere ms clculo en cada iteracin
y ms capacidad de almacenamiento de los mtodos de gra-
diente conjugado, aunque generalmente converge en menos
iteraciones. El Hesse aproximada debe ser almacenado, y su
dimensin es NxN , donde N es igual al nmero de pesos
y bias en la red. Para redes muy grandes puede ser que sea
mejor utilizar Rprop o uno de los algoritmos de gradiente
conjugado. Para redes ms pequeas, sin embargo, trainbfg
puede ser una funcin de capacitacin eciente. (Neural
Network Toolbox, 2010)
La sintaxis de esta funcin es:(mathworks, 2014)
net.trainFcn =

trainbf g

UNIVERSIDAD NACIONAL DE LOJA


rfrojasl@unl.edu.ec, jlsaragurop@unl.edu.ec
3
Ronal Rojas-Jenny Saraguro Tutor: Ing Henry Paz
[net, tr] = train(net, ...)
Con trainbfg se puede entrenar a cualquier red, siempre y
cuando sus funciones de peso, entrada neta y de transferencia
tengan funciones derivables.
Retropropagacin se utiliza para calcular las derivadas de
rendimiento perf con respecto a las variables de peso y bias
X . Cada variable se ajusta de acuerdo a la siguiente:
X = X + a dX;
donde dX es la direccin de la bsqueda. El parmetro de
a se selecciona para reducir al mnimo el rendimiento a lo
largo de la direccin de bsqueda.
La funcin de bsqueda de lnea searchFcn se utiliza para
localizar el punto mnimo. La primera direccin de bsqueda
es el negativo de la pendiente de rendimiento. En sucesivas
iteraciones la direccin de bsqueda se calcula segn la
siguiente frmula:
dX = H gX;
donde gX es el gradiente y H es una matriz de Hesse
aproximada.
El aprendizaje se detiene cuando se produce alguna de estas
condiciones:
1. Se ha alcanzado el nmero mximo de pocas (repeticio-
nes).
2. La cantidad mxima de tiempo que se ha superado.
3. El rendimiento ha sido minimizado a la meta.
4. El gradiente de rendimiento cae por debajo de mingrad.
5. la validacin del rendimineto se ha incrementado mas que
max_fail veces desde la ltima vez que se redujo (Neural
Network Toolbox, 2010).
Retropropagacin Regulacin Bayesiana trainbr):
Funcin de entrenamiento que actualiza los pesos
y los bias de acuerdo con el algoritmo de resilient
backpropagation"(RPROP).(Carlos Alfonzo Prez Rivera,
2005)
Es una funcin de la red de formacin que actualiza los
valores de los pesos y bias de acuerdo con la optimizacin
de Levenberg-Marquardt. Se minimiza una combinacin de
errores y pesos al cuadrado y, a continuacin, determina la
combinacin correcta a n de producir una red que gene-
raliza bien. El proceso se llama regularizacin bayesiana.
(mathworks, 2014)
Esta funcin utiliza el Jacobian para los clculos, lo que
supone que el rendimiento es una media o la suma de errores
al cuadrado. Por lo tanto redes entrenadas con esta funcin
deben utilizar el mse o sse funcin del rendimiento.
La sintaxis de est funcin se describe de la
forma:(mathworks, 2014)
net.trainFcn =

trainbr

[net, tr] = train(net, ...)


La funcin trainbr puede entrenar a cualquier red, siempre y
cuando sus funciones de peso, entrada neta y de transferencia
tienen funciones derivables.(Neural Network Toolbox, 2010)
Regularizacin bayesiana minimiza una combinacin lineal
de los errores y los pesos al cuadrado. Tambin modica la
combinacin lineal de modo que al nal de la formacin de
la red resultante tiene buenas cualidades de generalizacin.
Esta regularizacin bayesiana se lleva a cabo dentro del
algoritmo de Levenberg-Marquardt. La retropropagacin se
utiliza para calcular la jacobiana jX de rendimiento perf con
respecto a las variables de peso y bias X . Cada variable se
ajusta en funcin de Levenberg-Marquardt:
j j = jX jX
je = jX E
dX =
( j j+Imu)
je
donde E son todos los errores y I es la matriz de identidad.
El parmetro mem_reduc indica cmo usar la memoria y la
velocidad para calcular el jacobiano jX. Si mem_reduc es 1,
entonces trainlm corre ms rpido, pero puede requerir una
gran cantidad de memoria.
Aumentar mem_reduc a 2, corta parte de la memoria
requerida por un factor de dos, pero ralentiza trainlm.
Los valores ms altos continan para disminuir la cantidad
de memoria necesaria y aumentar los tiempos de aprendizaje.
El aprendizaje se detiene cuando se produce alguna de estas
condiciones:
1. Se ha alcanzado el nmero mximo de pocas (repeticio-
nes).
2. La cantidad mxima de tiempo que se ha superado.
3. El rendimiento ha sido minimizado a la meta.
4. El gradiente de rendimiento cae por debajo de mingrad.
5. mu excede mu_max.
6. Rendimiento de validacin se ha incrementado ms de ve-
ces max_fail desde la ltima vez que se redujo (cuando se
utiliza la validacin)(Neural Network Toolbox, 2010).
Caso Prctico
Para poner en prctica lo aprendido en clase se realizo un
caso prctico en la herramienta Matlab, es una aplicacin la
UNIVERSIDAD NACIONAL DE LOJA
rfrojasl@unl.edu.ec, jlsaragurop@unl.edu.ec
4
Ronal Rojas-Jenny Saraguro Tutor: Ing Henry Paz
cual nos permite simular un red neuronal con las funciones de
Activacin Hardlim y Harlims y admas permite especicar
que tipo de entrenamiento se le dar a la red neuronal.
Figura 5. Pantalla Principal
En la gura 5. de la pantalla principal tenemos varias
secciones las cuales nos servirn de ayuda para poder
realizar la simulacin de la red neuronal.
Se detalla cada una de la secciones de la pantalla principal:
1. En esta primera seccin se dene que funcin de
activacin (hardlim o hardlims) va ha utilizar cada una de las
neuronas que forman la red, y el tipo de aprendizaje (trainbr,
trainbfg o traincgb) que van ha emplear.
El botn Establecer sirven para para jar las funciones de ac-
tivacin y aprendizaje seleccionadas con las cuales se simu-
lar la red neuronal, a diferencia del botn Restablecer que
nos habilita nuevamente los select de funcin y aprenizaje en
caso de que se requiera de otras funciones.
Figura 6. Funcin de Activacin y Aprendizaje
2. Una vez establecidas las funciones de activacin y
entrenamiento procedemos a la seccin dos en la cual
podemos determinar el nmero de capas y neuroans que
formarn la red.
En el campo de texto Nmero de Capas se ingresar el
numero de capas que se desea para la red dentro del rango
de 1 a 10.
Una vez ingresado el nmero de capas se procede a
seleccionar el botn Crear Capas el cual nos habilita la
seccin de capas en donde ingresaremos el nmero de
neuronas para cada una de las capas creadas anteriormente y
seleccionamos el botn Grabar Neuronas.
El botn Deshacer nos habilita nuevamente los campos y asi
podemos cambiar los datos para ingresar nuevos en caso de
alguna equivocacin.
Figura 7. Datos de la Red Neuronal
3. En la seccin tres tenemos a la matriz de entrada y pesos
con las cuales trabajar la red neuronal.
Figura 8. Matriz de Entrada y Vector
4. En la seccin cuatro tenemos los botones:
Calcular el cual no realiza la simulacin de la res neuronal
Limpiar borra todos los datos ingresados para la simual-
cin de la red.
Ver Red Neuronal nos muestra la grca de las capas con
el nmero de neuronas que posee.
UNIVERSIDAD NACIONAL DE LOJA
rfrojasl@unl.edu.ec, jlsaragurop@unl.edu.ec
5
Ronal Rojas-Jenny Saraguro Tutor: Ing Henry Paz
Figura 9. Botones de Ejecucin
Codicacin MATLAB
Para la ejecucin de aplicacin se realiz la siguiente co-
dicacin:
En esta gura 10 se presenta el cdigo que se emplea
para obtener los valores de la matriz de entrada los cuales se
van a guardar en una matriz M
Figura 10. Matriz de Entrada
En la gura 11 se almacena los valores del vector de
salida V
Figura 11. Vector de Salida
En la gura 12 se observa la codicacin para crear y
simular la red, utilizmos el comando new el cual recibe co-
mo parametros: la matriz de entrada, la funcion de activaci,
el tipo de entrenamiento y el nmero de neuronas.
Figura 12. Creacin y simulacin de la Red Neuronal
Ejecutando la aplicacin se presentar la pantalla de la -
gura 13.
Figura 13. Ejecucin Aplicacin
Si seleccionamos el botn de Ver Red Neuronal se pre-
sentar la pantalla e la gura 14, la misma que contiene la
informacin acerca de el nmero de capas que forman la red,
el nmero de neuronas que contiene cada capa, el nmero de
entradas y el nmero de salidas.
UNIVERSIDAD NACIONAL DE LOJA
rfrojasl@unl.edu.ec, jlsaragurop@unl.edu.ec
6
Ronal Rojas-Jenny Saraguro Tutor: Ing Henry Paz
Figura 14. Capas de la Red Neuronal
References
Carlos Alfonzo Prez Rivera, G. A. I. E., Jaime Andres Britto Mon-
toya. (2005). Aplicacin de redes neuronales para la deteccin
de intrusos en redes y sistemas de informacin.
mathworks. (2014). Documentation center. Descargado de
http://www.mathworks.com/help/
Matich, D. J. (2001). Redes neuronales: Con-
ceptos bsicos y aplicaciones. Descargado de
http://www.frro.utn.edu.ar/repositorio/
catedras/quimica/5_anio/orientadora1
/monograias/matich-redesneuronales.pdf
Neural network toolbox. (2010). Descargado de
http://dali.feld.cvut.cz/ucebna/
matlab/toolbox/nnet/trainbr.html?cmdname=trainbr
Ral Pino Dez, N. d. A. M., Alberto Gmez Gmez. (s.f.). In-
troduccin a la inteligencia articial: Sistemas expertos, redes
neuronales articiales y computacin evolutiva. Servicio de
Publicaciones-Universidad de Oviedo, =.
Raquel Flrez Lpez, J. M. F. F. (2008). Las redes neuronales
articiales. Gesbiblo.
Tanco, F. (2010). Introduccion a las re-
des neuronales articiales. Descargado de
http://www.secyt.frba.utn.edu.ar/gia/RNA.pdf
Wasserman., P. (s.f.). Neural computing: la teora y la prctica.
Van Nostrand Reinhold Co.
UNIVERSIDAD NACIONAL DE LOJA
rfrojasl@unl.edu.ec, jlsaragurop@unl.edu.ec
7