II.Los orígenes: La neurona de McCulloch y Pitts En 1943 McCulloch y Pitts publicaron un trabajoen el que se hablaba, por primera vez, de las neuronas artificiales y decómo éstas podrían realizar cálculos lógicosen redes neuronales. El modelo de neurona artificial propuesto consistíaen una unidad binaria de umbral similar a la que se observa en laFigura3 y en la que se pueden distinguir los siguientes elementos:
Conjunto de conexiones de entrada.
Valor de salida (binario).
Función de proceso.
Umbral de activación.
Figura 3. Neurona de McCulloch-Pitts
En definitiva, se trata de una unidad de procesocon n entradas, x1,...,xn y una única salida (y),con dos únicos valores de salida posibles y constantes. La unidadrealiza una función de proceso sobre los valores de las entradas,y si el valor obtenido supera un umbral de activación, seactiva produciendo como respuesta el valor de activación.Por el contrario, si el resultado de aplicar la función de procesoa los valores de entrada no superara este umbral, la neurona permaneceríainactiva y su salida sería nula. La función de proceso de las entradases, típicamente, una suma ponderada de los valores de las mismas,lo que significa que no todos los valores de entrada tienen igual aportaciónpara la suma, sino que cada uno de ellos se modifica multiplicándolopor un valor de ponderación o peso, wi, antes de procedera sumar. Expresado de manera formal, el comportamiento de la neurona secorrespondería con una función de la forma:
[1]
donde representa a la función escalón;wison los pesos sinápticos y u el umbral de activación.Obsérvese que en función del signo de los pesos sinápticos,estos pueden actuar tanto como activadores (signo positivo) como inhibidores(signo negativo). Como se puede observar, este modelo de neuronaartificial presenta numerosas analogías con las neuronas biológicas:los cables o conexiones son análogos a dendritas y axones, los pesosde ponderación de las conexiones equivalen a las sinapsis y el umbralde activación representa la actividad del soma. En la practica, y por simplificar la notacióny la programación, se suele emplear el "truco" de incluir el umbralde activación dentro del sumatorio. Para ello, se le modela comouna entrada "fantasma" x0 de valor siempre idéntico a launidad, a la que se asigna un peso de w0=u. De esta forma, la expresiónqueda como:
[2]
similar a la anterior, con la salvedad de que, enesta ocasión , ha desaparecido el umbral, pero se consideran lasentradas a partir del subíndice 1 y no del subíndice 0. Ahorabien, si se observa la expresión, no cuesta reconocer en ella ladel producto escalar de dos vectores. Por tanto, basta considerar el conjuntode n entradas de una neurona como un vector X de dimensión n+1 (recuérdeseque se arrastra la entrada x0=1), y el conjunto de pesos de la neuronacomo otro vector W de la misma dimensión, para que la expresiónde la función de proceso de la neurona de McCulloch y Pitts quedereducida a
[3]
donde el operador "asterisco" (*) representa elproducto escalar de dos vectores. Desde la publicación del trabajo de McCullochy Pitts ha habido numerosas generalizaciones a su modelo de neurona, perola más empleada consiste en la sustitución de la funciónde salida que, en lugar de realizarse a través de una funciónescalón, se suele sustituir por una función rampa, gaussianao sigmoide (Figura 2(B), capitulo anterior).
La más empleadade todas es esta última, que corresponde a la expresión:g(x)=1/[1+exp(-bx)],donde b es el parámetro que define la pendiente de la curva. El Listado 1 defineen C++ todo el código necesario para una neurona artificial comola expuesta. Obsérvese que las expresiones son tan simples porquetanto los pesos como las entradas se expresan en forma de vector. En elejemplo, con fines didácticos, no se ha empleado el "truco" de laentrada número 0 y se indica explícitamente el valor de umbral.Como ilustración de la simplicidad del concepto, el Listado 1 esadecuado. Sin embargo, la neurona artificial del mismo es "tonta", ya queno es capaz de aprender. Su comportamiento dependerá de la formaen que se inicialice el vector de pesos. Por tanto, para que sea de utilidad,será necesario dotarla de la capacidad de aprender y generalizar.