Está en la página 1de 5

2

Introducción.
Una de las ramas más notorias en el área de la Inteligencia Artificial corresponde a las Redes
Neuronales Artificiales (RNA), propuestas en 1943 por Warren MacCulloh y Walter Pitts. Las RNA
tratan de emular el comportamiento del cerebro humano, caracterizado por el aprendizaje a través
de la experiencia y la extracción de un conocimiento genérico a través de un conjunto de datos. Por
ello las RNA se utilizan para la solución de problemas complejos, que pueden estar mal definidos o
requieren una gran capacidad de procesamiento.
Actualmente las redes neuronales tienen diversas aplicaciones como el control de señal y potencia
irradiadas, aplicaciones militares de radar para detección y reconocimientos de objetivos y en
cómputo de problemas de electromagnetismo. El objetivo de esta práctica es conocer las bases para
el desarrollo e implementación de una red neuronal para reconocer patrones.
Fundamentación Teórica.
Una red neuronal está constituida por un número variable de procesadores interconectados entre
sí que realizan una transferencia mutua de valores llamadas activaciones. Estos procesadores son
neuronas y constituyen la base de una red neuronal. Las neuronas están integradas básicamente
por:
 Un canal de recepción de información, las dendritas, que reciben señales de entrada
procedentes de otras células o del exterior.
 Un órgano de cómputo, el soma, que combina e integra las entradas recibidas, emitiendo
señales de salida en forma de estímulos nerviosos.
 Un canal de salida, el axón, que envía la salida generada por el soma a otras neuronas o
directamente al musculo. Para transmitir la información el axón se conecta a través de sus
ramificaciones a las dendritas de otras neuronas, que reciben señales y las combinan para
producir nuevas salidas. La conexión entre el axón de una neurona y las dendritas de otra
recibe el nombre de sinapsis y determina la fuerza y relación entre ellas. El hecho de que
unas sinapsis sean excitadoras o inhibidoras, y que tengan mayor o menor importancia con
respecto a la entrada final que recibe el soma se determina biológicamente a través del
aprendizaje. Sin embargo, las sinapsis son unidireccionales.


Figura 1 Sinapsis Neuronales.
En una red neuronal tres tipos de neuronas: las de entrada, de salida y unidades ocultas (figura 3).
Las neuronas de entrada reciben señales desde el entorno, provenientes de sensores o de otros
sectores del problema (como archivos de almacenamiento de patrones de aprendizaje). Las

3
neuronas de salida envían su señal directamente fuera del sistema una vez finalizado el tratamiento
de información. Finalmente, las neuronas de unidades ocultas reciben estímulos y emiten salidas
dentro del sistema sin mantener contacto alguno con el exterior. En ellas se lleva a cabo el
procesamiento básico de información.

Figura 2 Tipos de Neuronas Artificiales.
Además de las definiciones anteriores existen otras importantes:
 Perceptron simple: Red neuronal con solo una neurona de procesamiento (figura 3).
 Interconexiones: Canales de flujo de información.
 Capa de entrada: Denotado por neuronas , no llevan procesamiento pero almacenan las
entradas a la red.
 Capa oculta: Denotada por neuronas de procesamiento. Tienen cantidad limitada de
memoria y realizan cálculos locales.
 Capa de salida: Denotada por neuronas , son de procesamiento.
 Neurona de procesamiento: Formada por la función de excitación y la función de
transferencia.
 Las entradas se denotan con

y las salidas con

con = 1,2…
 Los términos , , … se denominan pesos y su variabilidad permite el aprendizaje del
perceptrón (o red en su caso)
 Bias: Sirve para modelar salidas distintas de cero cuando todas las entradas son cero.
 La función de excitación está definida como:
s = ∑

=1

+
+1,
(1)
 Existen diversos tipos de función de transferencia o de activación para las neuronas.
o Hard Lim (Limitador fuerte):

= (

) = {
0

0
< 0
1

0
≥ 0
(2)

o Sigmoide:

= (

) =
1
1+

(3)

o Tangente hiperbólico:

= (

) =


+

(4)
o Lineal:

=

(5)

4
 El error se calcula como:

=

−ℎ

(6)
 Para los nuevos pesos:

=

−1
+

(7)
Donde es el coeficiente de aprendizaje.

Figura 3 Perceptrón Simple.
Metodología.
Perceptrón simple con patrón de puntos.
Para programar la red neuronal de una sola neurona de procesamiento se siguió el esquema
mostrado en la figura 3. Para ello se inicializaron dos vectores donde se guardan los patrones de
entrada (
1
y
2
) y uno más para los valores deseados de salida (
1
). Posteriormente se calculó la
función de excitación

con (1) y posteriormente la función de activación ℎ

con (2), asimismo, se
recalcularon los pesos

con (7) y este proceso se repitió hasta que no hubiera cambio en el error.
Por otra parte, la secuencia completa de datos de entrada
1
y
2
está compuesta de cuatro valores
para cada uno y una salida
1
correspondiente para cada par; este conjunto de datos de entrada y
salida se le conoce como época de tal manera que no debería haber cambio del error en toda la
época. Los resultados de esta implementación se muestran en la siguiente sección, sin embargo,
para algunos puntos propuestos de entrada el perceptrón se resultó limitado por lo que se necesitó
la implementación de una red neuronal con una capa oculta de dos neuronas y una neurona en la
capa de salida (XOR).
Red neuronal con una capa oculta de dos neuronas y una neurona en la capa de
salida (XOR).
Para programar esta “XOR” se tomó como base la red neuronal mostrada en la figura 4, la cual
consta de una capa oculta de dos neuronas, dos bias y una neurona en la capa de salida. El algoritmo
para la implementación es muy parecido al del perceptrón con la diferencia que en la capa de salida
se reciben las salidas de las neuronas de la capa oculta (ℎ

). Para recalcular los pesos

se tomó la
ecuación 7 pero se sustituyó

por ℎ

, esto también se aplicó para la función de activación y
excitación. Este programa finaliza hasta que no haya ningún cambio en el error en la época.


5

Figura 4 Red Neuronal XOR.
Red Neuronal Multicapa.
Las redes neuronales diseñadas hasta el momento han servido para identificar patrones de puntos.
Sin embargo, para identificar patrones complejos como funciones, imágenes, etc. Se necesitan redes
neuronales multicapa, es decir, se requiere que contenga más de una capa oculta. Un ejemplo de
una red neuronal multicapa se muestra en la figura 5.

Figura 5 Red Neuronal Multicapa.
Para calcular las funciones de excitación se utiliza la ecuación 1 y para el caso de estudio se usa la
función sigmoidal (ecuación 3) como función de activación. Para la función de excitación y de
activación de las neuronas de la capa oculta se redefinen las ecuaciones 1 y 3:

= ∑

=1

+
+1,
(8)

=
1
1+

(9)
Y el error se redefine como:

=

(10)
Los pesos se redefinen por medio del método de retropropagación del error, el cual consiste en
llevar a cero el error. Esto consiste en utilizar el método del descenso más rápido que se basa en
seguir el negativo del gradiente del error, el cual está definido en la siguiente ecuación:

6

= −[

] (11)
Después de derivar estos parámetros obtendremos los siguientes coeficientes que posteriormente
nos servirán para calcular los nuevos pesos.

= ∑ (

)

(1 −

)

=1
(12)
Δ

= (∑

=1
)ℎ

(1 −ℎ

) (13)
Y los nuevos pesos se calculan con la siguiente ecuación:

=

−1

(14)

=

−1
+

(15)
Las ecuaciones hasta aquí presentadas funcionan bien con entradas mayores a cero, pero si
queremos detectar un patrón que contenga datos negativos se requerirá cambiar la función de
activación sigmoide por la de tangente hiperbólica y eso nos lleva a redefinir algunas de las
ecuaciones:

=


+

(16)

=


+

(17)

=

4
(

+

)
2
(18)
Δ

= ∑

=1

4
(

+

)
2
(19)
Con estas modificaciones la red neuronal multicapa pudo aproximarse de mejor manera a funciones
con partes negativas. Para encontrar patrones como el de una función parábola o una hipérbola se
siguió el siguiente esquema de red neuronal:

Figura 6 Red Neuronal Multicapa Propuesta.