Você está na página 1de 5

SOLUCIONAR PROBLEMAS REALES CON

REDES NEURONALES ARTIFICIALES

UTILIZANDO FUNCIONES DE ACTIVACION


SATLIN Y SATLINS EN MATLAB
SOLVING REAL PROBLEMS WITH
ARTIFICIAL NEURAL NETWORKS USING
ACTIVATION FUNCTIONS SATLIN AND
SATLINS IN MATLAB.
Ramirez, Yandry and Lopez, Israel. Tutor: Paz-Arias, Henry-Patricio
Resumen: Las redes neuronales artificiales usando
funciones de activacion son de mucha ayuda en la
resolucion de problemas reales, tomando en cuenta
esta afirmacion en el presente artculo se pretendera
solucionar dos problemas reales utilizando las funciones
de activacion satlin y satlins que permiten clasificar un
conjunto de datos lineales.
Palabras Claves: RNA(Redes Neuronales Artificiales),
logsig, tansig
AbstractArtificial neural networks using activation functions
are helpful in solving real problems, considering this statement
in this article will aim to solve problems using two real functions
Satlin satlins activation and for classifying a set of linear data.

keywords: ANN (Artificial Neural Networks), satlin,


satlins, feed forward
.

I. I NTRODUCCI ON
Las actividades de investigacion desarrolladas en torno al
estudio de redes neuronales artificiales, simplemente redes
neuronales o neuroredes, estan motivadas en modelar la forma
de procesamiento de la informacion en sistemas nerviosos
biologicos. Especialmente, por la forma de funcionamiento
del cerebro humano, que es completamente distinta al funcionamiento de un computador digital convencional. El cerebro humano corresponde al de un sistema altamente complejo, no-lineal y paralelo. En terminos sencillos lo anterior
equivale a decir que puede realizar muchas operaciones simultaneamente a diferencia de los computadores comunes que
son de tipo secuencial, o sea, realizan solo una operacion a

la vez. En este sentido, una neurored es un procesador de


informacion, de distribucion altamente paralela, constituido
por muchas unidades sencillas de procesamiento llamadas
neuronas.
Entre las motivaciones principales para el estudio del
funcionamiento de las redes neuronales se encuentran los
fenomenos neurologicos. Nuestro cerebro es un procesador
de informacion muchsimo mas eficiente que un computador.
La clave de esto se encuentra en la inmensa plasticidad del
cerebro, existen tareas cotidianas para el cerebro que sera
impensable realizar mediante computacion tradicional. Un
ejemplo de esto es la capacidad reconocer a una persona en
un tiempo de 100 a 200 ms. En ese breve lapso, el cerebro es
capaz de procesar un patron de informacion tridimensional,
por ejemplo, de una persona que quizas ha cambiado de
aspecto (luce distinto o simplemente envejecio) en un paisaje
cambiante (que puede contener muchos otros rostros). En
la actualidad, tareas mucho mas simples consumen das de
trabajo de los computadores mas veloces. La plasticidad
se percibe tambien en la capacidad de responder de forma
correcta frente a un estmulo nunca antes recibido. Esa
capacidad hace que cuando nos presentan por primera vez a
alguien, sepamos automaticamente que es una persona y no
un objeto u otro ser biologico. Debido a estas caractersticas
y muchas otras, las neuroredes se han convertido en una
gran ayuda en el procesamiento de datos experimentales
de comportamiento complejo. Ademas, su comportamiento
iterativo no lineal las une de modo natural al caos y teoras de
la complejidad. De hecho, las posibilidades son tan amplias
queseempiezaahablardeunnuevocampo,apartedela
Biologa,
la Matematica y la Fsica: las Neurociencias. Como ya lo
dijimos, lo que se desea inicialmente es imitar, al menos
parcialmente, el funcionamiento del cerebro. Para hacerlo

revisaremos, superficialmente, algunos conceptos basicos de


neurobiologa.[1]

II. DESARROLLO

A. REDES NEURONALES DE TIPO BIOLOGICO


Se estima que el cerebro humano contiene mas de cien mil
millones de neuronas y un mayor numero de sinapsis en el
sistema nervioso.
Los estudios realizados sobre la anatoma del cerebro humano concluyen que hay, en general, mas de 1000 sinapsis
por termino medio a la entrada y a la salida de cada neurona.
Aunque el tiempo de conmutacion de las neuronas biologicas
(unos pocos milisegundos) es casi un millon de veces mayor
que en las actuales componentes de las computadoras, las
neuronas naturales tienen una conectividad miles de veces
superior a la de las artificiales. El objetivo principal de las
redes neuronales de tipo biologico es desarrollar operaciones
de sntesis y procesamiento de informacion, relacionadas con
los sistemas biologicos. Se muestra la Figura 1.

Fig 2 : Modelo de comunicacon de neuronas

Este proceso es a menudo modelizado como una regla de


propagacion representada por una funcion u(.). La neurona
recoge las senales por su sinapsis sumando todas las influencias excitadoras e inhibidoras. Si las influencias excitadoras
positivas dominan, entonces la neurona produce una senal
positiva y manda este mensaje a otras neuronas por sus sinapsis
de salida. En este sentido, la neurona actua como una simple
funcion escalon f(.).

Fig 1: Modelo de una Neurona Biologico


Fig 3: Regla de Propagacion
Las neuronas y las conexiones entre ellas (sinapsis) constituyen la clave para el procesado de la informacion. La mayor
parte de las neuronas poseen una estructura de a rbol , llamada
dendritas,que reciben las senales de entrada procedentes de
otras neuronas a traves de las sinapsis.Una neurona consta de
tres partes:[2]

El cuerpo de la neurona.[2]
Las dendritas, que reciben las entradas.[2]
El axon, que lleva la salida de la neurona a las dendritas
de otras neuronas.[2]

La forma completa en la que dos neuronas se relacionan no


es totalmente conocida, y depende ademas del tipo particular
de cada neurona. En general, una neurona enva su salida a
otras por su axon, y e ste lleva la informacion por medio de
diferencias de potencial electrico.[2]

B. RED NEURONAL ARTIFICIAL


Aqu se desea introducir un modelo sencillo de la
neurona, para construir redes, nuestro fin u ltimo es modelar
correctamente el comportamiento global de toda la red. No se
pretende modelar exactamente el comportamiento fisiologico
de la neurona, sino mas bien solo sus caractersticas mas
relevantes, que entran en juego en su interaccion con toda
la red.[3] Tenemos un esquema de neurona en la figura 1.
En e l nuestra neurona de interes es la yj.Las n neuronas
xi estan enviando senales de entradas, que son los valores
numericos de algo. Los valores wji representan los pesos
sinapticos en las dendritas de yj . Observese la notacion:
el primer ndice denota a la neurona hacia donde se dirige

la informacion, el segundo ndice denota de que neurona


procede la informacion.[3]

Fig 4: Esquema de neurona


Fig 6: Funciones de activacion
Lo que hace cada peso sinaptico es simplemente multiplicar
a su entrada correspondiente y define la importancia relativa
de cada entrada. Recordemos que en el soma de la neurona
biologica se sumaban las entradas provenientes de todas las
dendritas. Entonces tenemos que la entrada total a la neurona
yj es:[3]

Funciones Satlin y Satlins


Satlins(Saturacion simetrica de la funcion de transferencia
lineal) y Satlin (Saturacion de la funcion de transferencia
lineal). Sintaxs de la funcion[4]
A = satlins (N)
info = satlins (codigo).
A = satlin (N).
info = Satlin (codigo)
1) Funcion de activacion Satlin:

Fig 5: Senal de salida

Satlin (N) Toma una entrada. N es una matriz de entrada


S x Q netos (columna) vectores y devuelve los valores de
N truncados en el intervalo [-1, 1]. Satlin (code) devuelve
informacion u til para cada cadena de codigo:[4]
La funcion satlin se define de la siguiente manera:

C. FUNCIONES DE ACTIVACION

Una neurona biologica puede estar activa (excitada) o inactiva (no excitada); es decir, que tiene un estado de activacion.
Las neuronas artificiales tambien tienen diferentes estados de
activacion; algunas de ellas solamente dos, al igual que las
biologicas, pero otras pueden tomar cualquier valor dentro de
un conjunto determinado.[4]
La funcion activacion calcula el estado de actividad de una
neurona; transformando la entrada global (menos el umbral, i)
en un valor (estado) de activacion, cuyo rango normalmente va
de (0 a 1) o de (1 a 1). Esto es as, porque una neurona puede
estar totalmente inactiva (0 o 1) o activa (1). En el siguiente
grafico se muestran algunas funciones de activacion[4].

Fig 7: Funcion satlin

2) Funcion de activacion Satlins:


Satlins es una funcion de transferencia de los nervios. Las
funciones de transferencia calcula la salida de una capa a partir
de su entrada de red. Codigos empleados en Satlins A = satlins
(N, FP) se lleva a N y un argumento opcional. N (S por Q)
de la matriz de entrada netos (columna) vectores. FP Struct
de parametros de la funcion (opcional, ignorado) y devuelve
A , el S -por- Q matriz de N elementos recorta a [-1, 1] .[4]
La funcion satlin se define de la siguiente manera:

lineal. La funcion de entrenamiento es traingd. net=newff([-1


2; 0 5],[2,1],satlins,traingd);[4]
(sim)
SIMULACION
La funcion sim simula una red. sim toma la entrada de la
red p, y la red como tal, y esta retorna las salidas de la red.
As se puede simular la red que se creo anteriormente para un
solo vector de la entrada:
p = [1;2];
a = sim(net,p).
a = -0.1011.
(Si prueba estos datos, su resultado puede ser diferente, dependiendo del estado del generador de n`umeros aleatorios.).[4]
III. CASO DE ESTUDIO
Desarrollo de un circuito para encender un foco
aplicando redes neuronales con las Funciones SATLIN Y
SATLINS.
Observamos la pantalla principal que nos muestra los datos
de salida deseada, como se muestra en la Figura 9.

Fig 8: Funcion satlins

D. Creacion de una red newff


El primer paso de entrenamiento de una red feedforward
es crear la red. La funcion newff crea una red feedforward.
Esta funcion requiere cuatro parametros de entrada. La primera
es un R que consta de una matriz del mnimo y maximo
valor para cada uno de los elementos de R en el vector de
entrada. La segunda entrada es un arreglo que contiene los
tamanos de cada capa (la cantidad de neuronas por capa). La
tercera entrada es un arreglo que contiene los nombres de las
funciones de entrenamiento que seran usadas en cada capa. La
u ltima contiene el nombre de la funcion de entrenamiento que
se usara.
Por ejemplo, lo siguiente crea una red de la dos capas. Hay
un vector de la entrada con dos elementos. Los valores para el
primer elemento del vector de entrada son -1 y 2, los valores
del segundo elemento del vector de entrada son 0 y -1. Hay dos
neuronas en la primera capa y una neurona en la segunda capa
(capa de salida). La funcion de transferencia en la primera capa
es satlins, y en la capa de salida la funcion de transferencia es

Fig 9: Grafica del ejemplo

Codigo del boton crear


Ingresamos los datos de entrada y salida y entrenamos la
red.

Codigo boton Encender Luz

En este boton creamos un randon realizando valores aleatorio y los comparamos con los valores deseados, si los valores
del randon coinciden con los valores deseados, se procede a
encender el foco, caso contrario saldra foco apagado.

ei=1SFYVNH3NsKegwS8-IOoBA&sqi=2&ved=0CEkQ6AEwBQ#
v=onepage&q=redes%20neuronales%20artificiales%20fundamentos%

20modelos%20y%20aplicaciones&f=false. [Ultimo
acceso: 2 noviembre
2014].

Israel Lopez

Estudiante de la Carrera de Ingeniera en Sistemas.


Universidad Nacional de Loja.
Conocedor de redes y telecomunicaciones
Provincia de Loja, Ciudad Loja, Ecuador, 2014.

Yandry Ramirez

NOTA: Aqui dejamos el link del codigo del


proyecto y todo lo que se necesita para ejecutarlo
https://github.com/yandry0007/Redes-Neuronales-Matlab
IV. CONCLUSIONES

Para entender de una mejor manera el funcionamiento


de las redes neuronales artificiales, se lo deberia hacer
primeramente de una forma manual resuelta a mano y
de ahi si abordar a la programacion..

Las funciones de activacion satlin y satlins solo resuelven


problemas de clasificacion linealmente separables.

El control en el momento de ingresar salidas es muy


importante pues no forzamos a la aplicacion a producir
resultados no deseados.
REFERENCIAS

[1] REDES NEURONALES ARTIFICALES.Redes Neuronales. [Online].

Available:
http://nuyoo.utm.mx/jjf/rna/Ch-csaavedra.pdf.
[Ultimo
acceso: 2 noviembre 2014].
[2] R. Salas. INTRODUCCION A LAS REDES NEURONALES
APLICADAS.
Red Neuronal . [Online] Available: http:
//halweb.uc3m.es/esp/Personal/personas/jmmarin/esp/DM/tema3dm.pdf.

[Ultimo
acceso: 2 noviembre 2014].
[3] XABIER BASOGAIN OLABE. Redes Neuronales.[Dpot. Ingenieria
de sistemas y Automatica Escuela Superior de Ingenieria de Bilbao
UPV-EHU ]. Available: http://cvb.ehu.es/open course ware/castellano/

tecnicas/redes neuro/contenidos/pdf/libro-del-curso.pdf. [Ultimo


acceso:
2 noviembre 2014].
[4] RAQUEL FLORES LOPEZ, JOSE MIGUEL FERNANDEZ. LAS
REDES NEURONALES ARTIFICIALES.
Fundamentos teoricos y
aplicaciones practicas.[Online]. Available: http://books.google.com.ec/
books?id=X0uLwi1Ap4QC&pg=PA7&lpg=PA7&dq=redes+neuronales+
artificiales+fundamentos+modelos+y+aplicaciones&source=bl&ots=
gMIBerkv1h&sig=QfZ4jyx58uifhTGpwry QQZIEwk&hl=es&sa=X&

Estudiante de la Carrera de Ingeniera en Sistemas.


Universidad Nacional de Loja.
Desarrollador senior.
Provincia de Loja, Ciudad Loja, Ecuador, 2014.

Henry Paz

Docente de la Carrera de Ingehieria en Sistemas.


Universidad Nacional de Loja.
Ing. Mgs. Especialista en Inteligencia Artificial
Provincia de Loja, Ciudad Loja, Ecuador, 2014.

Você também pode gostar