Sei sulla pagina 1di 6

Análisis e Implementación de un Sistema Artificial de

Aprendizaje basado en el Proceso Cognitivo del Cerebro


Humano
J. A. Ríos Chávez1, M. F. Carrillo Ocampo2, M. I. Cházaro Hernández3
Licenciaturas Ejecutivas, Universidad del Valle de México Campus Tlalpan
Av. San Juan de Dios, ex - hacienda de San Juan, 14370, D.F.
1
juan.riosc@uvmnet.edu, 2mercedes.carrillooc@uvmnet.edu, 3marcela.chazarohe@uvmnet.edu

Resumen-. Este artículo presenta el análisis y la implementación de un Ahora bien, ¿cuál es la metodología que siguen las neuronas para generar
sistema artificial de aprendizaje que basa su funcionamiento en el proceso un proceso de aprendizaje? Para comenzar, el aprendizaje es un proceso que
cognitivo del cerebro humano. El sistema propuesto es capaz de aprender y requiere la interconexión de una red de neuronas ya que es imposible que
memorizar, mediante un entrenamiento, algún patrón y posteriormente le es éste sea generado en una sola.
posible reconocerlo aun cuando existan algunas variantes en lo que pretende
usar para el reconocimiento. Para el diseño del sistema se utilizó la teoría
computacional de redes neuronales artificiales, además de la plataforma
multitarea MATLAB©.

Palabras Clave- Aprendizaje, Cerebro Humano, Cognición, Red Neuronal,


Sistema Artificial.

I. Introducción

En primera instancia, debemos definir el aprendizaje. El aprendizaje es un


cambio relativamente permanente en las asociaciones o representaciones
mentales como resultado de una experiencia [1].

Sin embargo, el concepto de aprendizaje significativo engloba algunas


particularidades más. Cuando se habla de aprendizaje significativo, existe
una referencia a la creación de nuevas redes neuronales y sincronías entre
las mismas, lo que permite actualizar los conocimientos basados en
experiencias vividas. Dicho proceso es llevado a cabo una vez que el
cerebro ha sido estimulado para pensar[2].

El proceso de aprendizaje en el cerebro humano tiene cabida inicial en las


neuronas. Las neuronas están compuestas por un cuerpo celular, dendritas
y axones y su función principal es la de procesar la información, transportar
las señales químicas y eléctricas en la dirección destino. Es necesario hacer Fig. 1 Cómo se conectan las neuronas: Axón-sinapsis-dendritas son vías
una analogía de la composición de una neurona humana con respecto a la eléctricas-químicas-eléctricas [3]
neurona artificial para así dar inteligencia a las máquinas.
A ciencia cierta, no existe una explicación del cómo sucede el aprendizaje
A continuación, son definidas las funciones de cada uno de los componentes en el cerebro humano. Sin embargo, existe una hipótesis surgida mediante
de una neurona humana. experimentación.

 Cuerpo celular: Es capaz de producir movimiento, sin embargo, El proceso comienza cuando algún tipo de estímulo aparece en el cerebro.
por lo general permanecen estables y estimulan a los axones para Dicho estímulo puede ser interno mediante una lluvia de ideas producida
que sean extendidos hacia afuera y formen otras conexiones con por una lectura o quizás por la interpretación de la solución de un problema
sus símiles. matemático, también puede ser con base en una vivencia nueva como puede
 Dendritas: Son las encargadas de establecer contacto sináptico ser aprender a andar en bicicleta. El cerebro humano es capaz de detectar
(unión con firmeza) con las terminales de otra neurona y así cuando estamos haciendo algo nuevo o algo que ya sabemos hacer, si esto
enviar impulsos nerviosos (órdenes del cerebro) a través de los último ocurre se genera un reforzamiento en las vías neuronales. El proceso
denominados neurotransmisores. es el siguiente[3]:
 Axón: Es quien permite la transmisión de la información en
forma de estimulación eléctrica y además sirve como transporte
1. La información es captada por nuestros sentidos o, quizás, puede
de sustancias químicas involucradas.
ser activada por el pensamiento o la memoria (si partimos de
algún conocimiento previamente adquirido).

1
2. La información es orientada al tálamo (filtro que permite delinear cumpla, podemos concluir que el aprendizaje de la red neuronal sí resultó
el camino que deben seguir las entradas sensoriales). significativo, en caso contrario no existe tal aprendizaje.
3. Si la información es de emergencia, será enviada a la amígdala y
ésta responderá de manera inmediata. El diagrama de la figura 1 muestra una neurona artificial que simula las
4. Después de haber sido procesada, la información es enviada al partes constitutivas de una neurona humana. A la entrada podemos ver las
hipocampo donde será retenida en el tiempo (memoria) señales que emulan a las dendritas (sensores que se activan cada vez que
5. El hipocampo se encargará de asociar lo retenido, a través de existe un estímulo), posteriormente vienen las conexiones que sirven para
recuerdos, con otras áreas de la corteza cerebral para así generar asignar un peso a cada señal de entrada con la finalidad de darles una
un almacenamiento longevo. prioridad; después son unidas para construir el cuerpo de la neurona y
posteriormente pasan a una etapa de decisión en la que una función de
Análogamente, podemos considerar a las redes neuronales como sistemas activación será la encargada de validar lo que la neurona ha aprendido
probabilísticos adaptables, que al igual que el cerebro humano, son respecto a lo que se pretende evaluar.
clasificadas como memorias auto asociativas. El término anterior es referido
a la acción de aprendizaje que tiene el humano para entender alguna El algoritmo implementado cumple con las características antes
situación o aprender de ella. El proceso natural de cognición le permite al mencionadas y con un criterio de estabilidad considerable debido a que el
humano percibir y memorizar patrones para posteriormente reconstruirlos
entrenamiento permite un reconocimiento exitoso a la salida.
generando una auto asociación entre lo ya memorizado y lo que se le
presenta. Las redes neuronales son herramientas que nos permiten recrear
dicho proceso de cognición para así poder implementar inteligencia en El algoritmo se rige bajo un principio de la memoria humana, con el paso
máquinas. de los años la memoria sufre un deterioro, pero, aun así, los conocimientos
bien aprendidos permanecen intactos. Análogamente con el
comportamiento humano, así existan factores externos que intenten
Las redes neuronales tienen básicamente dos componentes[4]:
deteriorar el funcionamiento óptimo, el algoritmo es capaz de adaptarse y
seguir mostrando un aprendizaje significativo.
 Neurona artificial
 Interconexiones La teoría de la red neuronal de Hopfield es recurrente y completamente
conectada. Funciona como una memoria asociativa no lineal que puede
Una neurona artificial es un procesador elemental ya que se encarga de almacenar internamente patrones presentados de forma incompleta o con
manipular la información de entrada para posteriormente producir una ruido (señales de interferencia). De esta forma puede ser usada como una
salida. Una interconexión es el espacio físico que permite la sinapsis (unión) herramienta de optimización. El estado de cada neurona puede ser
entre una neurona y otra con la finalidad de intercambiar información. actualizado un número indefinido de veces, independientemente del resto
de las neuronas de la red.
Una red neuronal artificial tiene tres etapas de procesamiento:
La red de Hopfield consiste en un conjunto de N elementos de procesado
interconectadas que actualizan sus valores de activación de forma asíncrona
 Capa de Entrada (Sensor de recepción)
 Capa Oculta (De procesamiento) e independiente del resto de los elementos de procesado. Todos los
elementos son a la vez de entrada y salida. Los valores de activación son
 Capa de salida (Ejecución)
binarios.

En la capa de entrada se reciben los datos que serán procesados, son los
parámetros iniciales a considerar. La capa media es denominada oculta
debido a que es dónde los cálculos de procesamiento son realizados y no es
vista por los usuarios. La capa de salida es la que genera una respuesta
dependiente de las órdenes de entrada, es decir, es donde los estímulos de
entrada repercuten en una determinada acción.

Fig. 2 Diferentes formas de representar a la letra “a” minúscula.

Fig. 1 Diagrama genérico de una neurona artificial La figura 2 nos muestra las diferentes formas de expresar a la letra “a”
minúscula pero que, sin embargo, la interpretación es la misma no
importando cómo sea escrita. Lo anterior, el cerebro lo procesa y compara
Matemáticamente son consideradas como una estructura interconectada que hacia un patrón universal mediante un proceso cognitivo, ya que desde
son capaces de cumplir una función de control mediante una función de siempre ha visto diferentes formas de expresar la misma letra en los medios
activación. Como resultado de dicha función de activación, podemos medir impresos. El algoritmo que fue implementado en este artículo permite lo
el aprendizaje significativo a la primera iteración o a las “n” veces haciendo anterior, reconocer mediante aprendizaje artificial sin importar las posibles
uso de un criterio de convergencia. Cuando el criterio de convergencia se

2
variantes que puedan aparecer. A continuación, se muestra un ejemplo en el que se pide diseñar una red de
aprendizaje artificial que permita memorizar dos patrones (haciendo una
A continuación, son detallados los pasos a seguir para la implementación analogía al aprendizaje significativo) para que, posteriormente, se haga una
del algoritmo en la plataforma MATLAB©. prueba con patrones “contaminados” pero que el sistema sea capaz de
reconocer lo que se está probando. Los patrones a entrenar son los
siguientes:
II. Desarrollo

Un algoritmo de aprendizaje artificial [5] debe ser capaz de eliminar el ruido


impulsivo tipo “sal y pimienta” (nombrado así porque, así como la sal y la
pimienta, son elementos extras a lo que se pretende analizar). En concreto,
el algoritmo debe calcular la correlación que existe entre los patrones de
entrenamiento de análisis y que serán almacenados en una matriz de datos A = [-1 -1 1 1] B = [1 1 -1 -1]
denominada como matriz de pesos.
En el ejemplo propuesto, los cuadros iluminados pueden ser representados
La matriz de pesos aloja las ponderaciones de los datos a aprender, con un “-1” y los cuadros vacíos con un “1”. Dicha notación es denominada
análogamente con el cerebro humano, podemos decir que es la memoria que una notación bipolar ya que tenemos el mismo dígito, pero con distinto
guarda algo que ya ha sido aprendido y que permite que reconocer o realizar signo.
algo ya aprendido.
Paso 1. Calculamos la matriz de pesos, la matriz de pesos tendrá 16 valores
A continuación, son mostradas las ecuaciones a seguir de acuerdo con el para este ejemplo ya que tenemos cuatro elementos por patrón de entrada y
diagrama genérico y la analogía con una neurona humana mostrado en la la resultante es una cuadrática.
figura 1.
𝑤11 𝑤12 𝑤13 𝑤14
𝑤21 𝑤22 𝑤23 𝑤24
1. La matriz de pesos viene definida por: 𝑊𝑖𝑗 = [𝑤
31 𝑤32 𝑤33 𝑤34 ]
1 𝑤41 𝑤42 𝑤43 𝑤44
∑𝑀 𝐶 𝑠 ∗ 𝐶𝑗𝑠 𝑐𝑢𝑎𝑛𝑑𝑜 𝑖 ≠ 𝑗
𝑤𝑖𝑗 = {𝑁 𝑖=1 𝑖 …………………………… (1)
0 𝑐𝑢𝑎𝑛𝑑𝑜 𝑖=𝑗 Existe una particularidad, según la ecuación 1 si los subíndices son iguales
(como en el caso de 𝑤11 , 𝑤22 , 𝑤33 , 𝑤44 ) el peso será nulo, es decir “0”. Por
Donde: lo tanto;

𝑤11 , 𝑤22 , 𝑤33 , 𝑤44 = 0


M = es el número de ejemplares del conjunto.
𝐶𝑖𝑠 = Es la componente i-ésima del vector del conjunto de ejemplares. Para calcular los valores restantes sabemos que N =4 ya que cada patrón de
N = longitud del vector. aprendizaje tiene 4 elementos, además, la primera pareja de paréntesis
corresponde a los elementos 1 y dos respectivamente del primer patrón y la
2. Los estados de la red son inicializados, es decir, que se inicializan segunda pareja corresponde a los elementos 1 y 2 respectivamente pero
cada una de las neuronas con el estado que corresponda, ahora del segundo patrón. A continuación, los cálculos son detallados:
análogamente, inicia el proceso de sinapsis.
1 1
3. Se realizan iteraciones hasta que los resultados sean visualizados 𝑤12 = ((−1)(−1) + (1)(1)) =
4 2
mediante una convergencia (criterio de estabilidad) utilizando:
1 1
𝑤13 = ((−1)(1) + (1)(−1)) = −
4 2
𝑦 = 𝑓𝑛 (𝑤𝑖𝑗 ∗ 𝑋 𝑇 ) …………………………………………..................... (2)
1 1
𝑤14 = ((−1)(1) + (1)(−1)) = −
Donde: 4 2

Y = es la salida a evaluar 1 1
𝑤21 = ((−1)(−1) + (1)(1)) =
fn = función no lineal a utilizar (decisión) 4 2
Wij = Matriz de pesos de conexión
XT = Vector de entrada a evaluar 1 1
𝑤23 = ((−1)(1) + (1)(−1)) = −
4 2
4. Se observa si existe una convergencia cuando la condición es:
1 1
𝑤24 = ((−1)(1) + (1)(−1)) = −
𝑦(𝑛 − 1) = 𝑦(𝑛)………………………………………………………. (3) 4 2

Si la anterior condición es exitosa, el aprendizaje ha concluido. En caso 1 1


𝑤31 = ((1)(−1) + (−1)(1)) = −
contrario, c) debe ser iterada hasta que se cumpla d). Es como cuando el 4 2
humano quiere aprender algo que no domina, practica hasta que ya sea
1 1
capaz y una vez llegado a ese punto ya no se le olvidará (criterio de 𝑤32 = ((1)(−1) + (−1)(1)) = −
convergencia). 4 2
1 1
𝑤34 = ((1)(1) + (−1)(−1)) =
4 2

3
1 1 Evaluando la matriz resultante tenemos:
𝑤41 = ((1)(−1) + (−1)(1)) = −
4 2
1 3 1 1
1 1 𝑦 = 𝑓𝑛 ([− − ])
𝑤42 = ((1)(−1) + (−1)(1)) = − 2 2 2 2
4 2
𝑦 = [−1 −1 1 1]
1 1
𝑤43 = ((1)(1) + (−1)(−1)) =
4 2 Que como vemos corresponde al estado inicial que pertenece al valor “A”.
Es decir, el patrón que introdujimos como prueba lo reconoció como una
La matriz de pesos resultante será: “A”. Ahora es viable que implementemos el algoritmo en la plataforma
MATLAB©.
1 1 1
0 − −
2 2 2
1 1 1
0 − −
𝑊𝑖𝑗 = 2 2 2
1 1 1
− − 0
2 2 2
1 1 1

[ 2 − 0 ]
2 2

Paso 2. Se procede a hacer la prueba de aprendizaje, en esta prueba se


pondrán a verificar valores “contaminados” o “distorsionados” pero el
algoritmo será capaz de reconocer a cuál de los dos valores entrenados
(aprendidos) corresponde el de prueba. Por ejemplo, probaremos:

Prueba = [-1 1 1 1]

Como podemos ver, el patrón de prueba tiene mayoría de elementos


similares al patrón de entrenamiento “A”, por lo que el algoritmo debe
arrojarnos que este parón corresponde al patrón de entrada “A”. Veamos la
prueba; según la ecuación 2, debemos multiplicar la matriz de prueba por la
matriz de pesos anteriormente calculada (para multiplicar matrices debemos
hacerlo renglón por columna):

1 1 1
0 − −
2 2 2
1 1 1
0 − −
2 2 2
[-1 1 1 1] * 1 1 1 =
− − 0
2 2 2
1 1 1
[− 2 −
2 2
0 ]

1 1 1 1 1 1 1 1 1 1 1 1
= [0 + − − − +0− − − +0+ − + + 0] =
2 2 2 2 2 2 2 2 2 2 2 2

1 3 1 1
= [− − ]
2 2 2 2

Paso 3. Evaluamos la matriz resultante a través de una función de activación


(análogamente con el cerebro humano hablamos de una sinapsis). La Fig. 4 Programa codificado en la plataforma MATLAB© que representa el
función de activación que usaremos será la función escalón, gráficamente: proceso cognitivo del cerebro humano.

El programa tiene tres partes: la primera es la fase de aprendizaje en la que


le decimos al algoritmo qué es lo que va a aprender de manera artificial, la
segunda parte consiste en el proceso del cálculo de la matriz de pesos,
recordemos que dicha matriz nos ayuda a reforzar lo que se está aprendiendo
y, por último, la tercera parte es el proceso de reconocimiento de un patrón
Fig. 3 Función de activación escalón. Si los valores de la matriz resultante de prueba. Al ejecutar el algoritmo obtenemos lo siguiente:
son mayores o iguales a cero, se arrojará un “1”, en caso contrario un “-1”.

4
La figura 7 muestra un ejemplo del uso de la interfaz. Usaremos el ejemplo
que fue desarrollado anteriormente.

Fig. 5 Ejecución del algoritmo implementado en la plataforma MATLAB ©

En la figura 5 podemos apreciar la ejecución del algoritmo de


procesamiento de la cognición del cerebro humano. Al inicio solicitamos
los patrones que deseamos que aprenda de forma artificial, después calcula
la matriz de pesos que nos servirá para el reconocimiento y por último Fig. 7 Ejemplo de uso de la interfaz, reconoce el patrón “A”
evaluamos algún patrón “X” para que el algoritmo cree la sinapsis y nos
diga a cuál patrón aprendido corresponde. Cabe mencionar que “g” es la En la figura 8 es mostrado el proceso de la GUI que permite un
matriz resultante después de la función de activación. reconocimiento del patrón aprendido “B”.
Para ejecutar el algoritmo de una manera más cómoda hacia el usuario, una
interfaz gráfica de usuario (GUI) fue diseñada. La figura 6 muestra la
ventana principal.

Fig. 8. Ejemplo de uso de la interfaz, reconoce el patrón “B”

Otro punto importante consiste en validar de forma matemática cuál es la


correlación existente entre el patrón aprendido y el patrón que será usado
Fig. 6 Interfaz Gráfica de Usuario (GUI) implementada en la plataforma como prueba. Para lo anterior, hacemos uso del cálculo del coeficiente de
MATLAB© correlación y seguimos el siguiente procedimiento:
La interfaz gráfica consta de un apartado para introducir los patrones de 1. Se calculan las medias aritméticas
aprendizaje, un apartado para introducir los patrones de prueba y el apartado
en donde nos arroja el resultado. Sabemos que:
Existen dos maneras de introducir los datos, tanto patrones de aprendizaje 𝐴 = [−1 − 1 1 1]
como patrones de prueba, puede ser escribiendo directamente la matriz de 𝐴′ = [−1 1 1 1]
datos o convirtiendo un archivo a una matriz y cargarlo directamente con el
botón “Seleccionar Archivo”. El archivo que se carga es un documento La media aritmética para el patrón original A y para el patrón de prueba A’
compuesto por “1’s y “-1’s” en formato .txt y puede ser una imagen, un será calculada evaluando el promedio de los datos que se muestran para los
texto o muestras de audio que pretendemos que el sistema aprenda. patrones originales, a continuación el cálculo es mostrado:

5
(−1) + (−1) + (1) + (1) [2] Miguel M. M., La mirada creativa y el aprendizaje significativo, Mc.
𝐴̅ = =0 Graw Hill, México, 2013.
4
(−1) + (1) + (1) + (1) 1 [3] Jensen Eric, Cerebro y aprendizaje, competencias e implicaciones
̅ =
𝐴′ = = 0.5
4 2 educativas, Narcea Ediciones, Madrid, España 2004.

2. El siguiente paso es calcular la covarianza de los datos. [4] James A. A., Redes Neurales, Alfaomega, 2007.

∑ 𝐴𝐴′
𝜎𝐴𝐴′ = − (𝐴̅𝐴̅′) ………………………………………. (4) [5] Hilera J., et. al., Redes Neuronales Artificiales, Alfaomega, México,
𝑁ú𝑚𝑒𝑟𝑜 𝑑𝑒 𝐷𝑎𝑡𝑜𝑠 2010.
[(−1)(−1) + (−1)(1) + (1)(1) + (1)(1)]
𝜎𝐴𝐴′ = − (0)(0.5)
4

𝜎𝐴𝐴′ = 0.5

3. Calculamos las desviaciones para cada patrón, tanto como para


el de aprendizaje como para el de prueba.

(∑ 𝐴)2
𝜎𝐴 = √ − (𝐴̅)2 ……………………………………… (5)
𝑁ú𝑚𝑒𝑟𝑜 𝑑𝑒 𝑑𝑎𝑡𝑜𝑠

(∑ 𝐴′)2
𝜎𝐴′ = √ ̅ )2 ……………………………………… (6)
− (𝐴′
𝑁ú𝑚𝑒𝑟𝑜 𝑑𝑒 𝑑𝑎𝑡𝑜𝑠

[(−1)2 + (−1)2 + (1)2 + (1)2 ]


𝜎𝐴 = √ − (0)2 = 1
4

[(−1)2 + (1)2 + (1)2 + (1)2 ]


𝜎𝐴′ = √ − (0.5)2 = 0.8660
4

4. Calculamos el coeficiente de correlación


𝜎𝐴𝐴′
𝑟= …………………………………………………………….. (7)
𝜎𝐴 𝜎𝐴′

0.5
𝑟= = 0.57
(1)(0.8660)

Podemos apreciar que el coeficiente de correlación es 0.57, resultado que


indica una correlación parcialmente fuerte del patrón de prueba con el
patrón original. Lo anterior es lógico debido a que el patrón de prueba NO
es exactamente el patrón original, es decir, tiene variantes.

III. Conclusiones

Como resultado de la investigación estadística presentada, es posible


mencionar que el algoritmo implementado realiza un aprendizaje
significativo tal y como lo haría el cerebro humano. Crea las conexiones
sinápticas necesarias para memorizar los datos que le son suministrados. La
correlación obtenida entre el patrón original y el patrón de prueba es óptima
y nos presenta una correlación fuerte, tal que, es posible que el algoritmo
pueda ser implementado en máquinas para el control de un proceso
autónomo y rutinario, para análisis de imágenes biomédicas en el
reconocimiento de la estructura de algún cuerpo, etc.

IV. Referencias

[1] Ormrod J. E., Aprendizaje Humano, Pearson Prentice Hall 4ta. edición,
Madrid, España, 2005.

Potrebbero piacerti anche