Introducción a las redes neuronales artificiales

   Introducción

   Origen del paradigma de computación conexionista

   Un poco de historia

   Distintas visiones o enfoques de los modelos conexionistas

   Redes neuronales biológicas

   Redes neuronales artificiales

       Analogía con las redes neuronales biológicas
       Estructura y formas de interconexión
       La función de propagación
           Función lineal de base
           Función radial de base
       La función de activación
           Función de umbral
           Función sigmoidal o logística
           Función gausiana
        Redes síncronas vs asíncronas
        Métodos deterministas vs estadísticos

Introducción:

El cerebro es un procesador de información con unas características muy notables: es capaz de procesar a gran velocidad grandes cantidades de información procedentes de los sentidos, combinarla o compararla con la información almacenada y dar respuestas adecuadas incluso en situaciones nuevas. Logra discernir un susurro en una sala ruidosa, distinguir una cara en una calle mal iluminada o leer entre líneas en una declaración política; pero lo más impresionante de todo es su capacidad de aprender a representar la información necesaria para desarrollar tales habilidades sin instrucciones explícitas para ello.

Aunque todavía se ignora mucho sobre la forma en que el cerebro aprende a procesar la información, se han desarrollado modelos que tratan de mimetizar tales habilidades; denominados redes neuronales artificiales ó modelos de computación conexionista (otras denominaciones son computación neuronal y procesamiento distribuido paralelo o P.D.P.). La elaboración de estos modelos supone en primer lugar la deducción de los rasgos o características esenciales de las neuronas y sus conexiones, y en segundo lugar, la implementación del modelo en una computadora de forma que se pueda simular. Es obvio decir que estos modelos son idealizaciones burdas de las auténticas redes neuronales, en muchos casos de dudosa plausibilidad neurofisiológica, pero que sin embargo resultan interesantes cuando menos por sus capacidades de aprendizaje.

En este curso vamos describir los modelos conexionistas a partir de una analogía con el sistema nervioso y después nos centraremos en los aspectos computacionales: como se implementan y programan estos modelos en una computadora, las aplicaciones técnicas que posibilitan y las tecnologías desarrolladas específicamente para aprovechar toda su potencia.

Origen del paradigma de computación conexionista

 La IA, entendida muy ampliamente como el modelado y la simulación de las actividades cognitivas complejas (percepción, memoria, solución de problemas, etc.) que caracterizan a los organismos avanzados, y en particular a los seres humanos, se separó casi desde su inicio en dos ramas bien diferenciadas (Waltz & Feldman 1988)

Si bien es mucho más conocida la aproximación simbólico-deductivo y su principal aplicación: los sistemas expertos (sistemas o agentes basados en conocimiento), existe un considerable y renacido interés por los modelos conexionistas. El progreso de las neurociencias nos está conduciendo a una comprensión cada vez mayor de la estructura física y lógica del cerebro; los avances tecnológicos ofrecen recursos cada vez mayores para representar estructuras muy complejas, realizar cálculos a gran velocidad y en paralelo, apoyando y fomentando así la investigación en este campo.

Podríamos situar el origen de los modelos conexionistas con la definición de la neurona formal dada por McCulloch y Pitts en 1943 como un dispositivo binario con varias entradas y salidas. Un psicólogo, D.O. Hebb, introdujo en 1949 (Hebb 1949) dos ideas fundamentales que han influido de manera decisiva en el campo de las redes neuronales: la idea de que una percepción o un concepto se representa en el cerebro por un conjunto de neuronas activas simultáneamente; y la idea de que la memoria se localiza en las conexiones entre las neuronas (sinápsis). Las hipótesis de Hebb, basadas en investigaciones psicofisiológicas, presentan de manera intuitiva el modo en que las neuronas memorizan información, y se plasman sintéticamente en la famosa regla aprendizaje de Hebb (también conocida como regla del producto). Esta regla indica que las conexiones entre dos neuronas se refuerzan si ambas son activadas. Muchos de los algoritmos actuales proceden de los conceptos de este psicólogo, y a pesar de las críticas recibidas, como la existencia de conexiones inhibitorias y no sólo excitatorias, sigue teniendo una gran influencia.

Un poco de historia

En 1956 se organizó en Dartmouth la primera conferencia sobre IA. Aquí se discutió el uso potencial de las computadoras para simular "todos los aspectos del aprendizaje o cualquier otra característica de la inteligencia" y se presentó la primera simulación de una red neuronal, aunque todavía no se sabían interpretar los datos resultantes.

En 1959, Widrow (Widrow 1959) publica una teoría sobre la adaptación neuronal y unos modelos inspirados en esa teoría, el Adaline (Adaptative Linear Neuron) y el Madaline (Multiple Adaline). Estos modelos fueron usados en numerosas aplicaciones y permitieron usar, por primera vez, una red neuronal en un problema importante del mundo real: filtros adaptativos para eliminar ecos en las líneas telefónicas.

En 1962, Rosemblatt(Rosemblatt 1962) publica los resultados de un ambicioso proyecto de investigación, el desarrollo del Perceptrón, un identificador de patrones ópticos binarios, y salida binaria. Las capacidades del Perceptrón se extendieron al desarrollar la regla de aprendizaje delta, que permitía emplear seņales continuas de entrada y salida.

1969, Minsky y Papert (Minsky & Papert 1969))realizan una seria crítica del Perceptrón, revelando serias limitaciones, como su incapacidad para representar la función XOR, debido a su naturaleza lineal. Este trabajo creó serias dudas sobre las capacidades de los modelos conexionistas y provocó una caída en picado de las investigaciones.

Aņos 70: a pesar del duro golpe que supuso el trabajo de Minsky y Papert para las investigaciones en computación conexionista, un puņado de investigadores siguió trabajando y desarrollando nuevas ideas:

Aņos 80: En esta década se produce el renacimiento del interés por el campo gracias sobre todo al trabajo del el grupo PDP y las aportaciones de Hopfield.

Distintas visiones o enfoques de los modelos conexionistas

La formulación de modelos del funcionamiento cerebral se aborda hoy desde una óptica multidisciplinar: psicólogos cognitivos, neurofisiólogos, matemáticos, físicos, ingenieros, estudiosos de las ciencias de la computación, convergen en esta temática dando lugar a una "fertilización cruzada", ya que cada disciplina toma de las otras nuevos estilos o aproximaciones en el análisis de problemas (Pérez)

Redes neuronales biológicas

A grandes rasgos, recordemos que el cerebro humano se compone de decenas de billones de neuronas interconectadas entre sí formando circuitos o redes que desarrollan funciones específicas.

Una neurona típica recoge seņales procedentes de otras neuronas a través de una pléyade de delicadas estructuras llamadas dendritas. La neurona emite impulsos de actividad eléctrica a lo largo de una fibra larga y delgada denominada axón, que se escinde en millares de ramificaciones.

 Ilustración 1: Neurona y conexiones sinápticas

Las extremidades de estas ramificaciones llegan hasta las dendritas de otras neuronas y establecen unas conexiones llamadas sinápsis, en las cuales se produce una transformación del impulso eléctrico en un mensaje neuroquímico, mediante la liberación de unas sustancias llamadas neurotransmisores.

 

 

Ilustración 2: Detalle de una sinápsis

El efecto de los neurotransmisores sobre la neurona receptora puede ser excitatorio o inhibitorio, y es variable (la intensidad del efecto depende de numerosos factores que no sería oportuno describir aquí) , de manera que podemos hablar de la fuerza o efectividad de una sinápsis. Las seņales excitatorias e inhibitorias recibidas por una neurona se combinan, y en función de la estimulación total recibida, la neurona toma un cierto nivel de activación, que se traduce en la generación de breves impulsos nerviosos con una determinada frecuencia o tasa de disparo, y su propagación a lo largo del axón hacia las neuronas con las cuales sinapta.

 Ilustración 3: Activación y disparo de una neurona

De esta manera la información se transmite de unas neuronas a otras y va siendo procesada a través de las conexiones sinápticas y las propias neuronas. El aprendizaje de las redes neuronales se produce mediante la variación de la efectividad de las sinápsis, de esta manera cambia la influencia que unas neuronas ejercen sobre otras, de aquí se deduce que la arquitectura, el tipo y la efectividad de las conexiones en un momento dado, representan en cierto modo la memoria o estado de conocimiento de la red.

Redes neuronales artificiales

Analogía con las redes neuronales biológicas

Las neuronas se modelan mediante unidades de proceso. Cada unidad de proceso se compone de una red de conexiones de entrada, una función de red ( de propagación), encargada de computar la entrada total combinada de todas las conexiones, un núcleo central de proceso, encargado de aplicar la función de activación, y la salida, por dónde se transmite el valor de activación a otras unidades.

 

Ilustración 4: Unidad de proceso típica

La función de red es típicamente el sumatorio ponderado, mientras que la función de activación suele ser alguna función de umbral o una función sigmoidal.

Redes Neuronales Biológicas

Redes Neuronales Artificiales

Neuronas

Unidades de proceso

Conexiones sinápticas

Conexiones ponderadas

Efectividad de las sinápsis

Peso de las conexiones

Efecto excitatorio o inhibitorio de una conexión

Signo del peso de una conexión

Efecto combinado de las sinápsis

Función de propagación o de red

Activación -> tasa de disparo

Función de activación -> Salida

Tabla 5: Comparación entre las neuronas biológicas reales y las unidades de proceso artificiales

Estructura y formas de interconexión

Para diseņar una red debemos establecer como estarán conectadas unas unidades con otras y determinar adecuadamente los pesos de las conexiones. Lo más usual es disponer las unidades en forma de capas, pudiéndose hablar de redes de una, de dos o de más de dos capas, las llamadas redes multicapa. NOTA: en algunos manuales(pe. Wassermann 1989), se cuentan sólo aquellas capas que poseen conexiones de entrada modificables, según este criterio la capa de entrada no contaría como tal.

Aunque inicialmente se desarrollaron redes de una sola capa, lo más usual es disponer tres o más capas: la primera capa actúa como buffer de entrada, almacenando la información bruta suministrada a la red o realizando un sencillo pre-proceso de la misma, la llamamos capa de entrada; otra capa actúa como interfaz o buffer de salida, almacenando la respuesta de la red para que pueda ser leída, la llamamos capa de salida; y las capas intermedias, principales encargadas de extraer, procesar y memorizar la información, las denominamos capas ocultas.

 Ilustración 6: Modelo de red en cascada de 3 capas

Además del número de capas de una red, en función de como se interconectan unas capas con otras, podemos hablar de redes recurrentes (feed-back) y redes no recurrentes o redes en cascada (feed-forward). En las redes en cascada la información fluye unidireccionalmente de una capa a otra (desde la capa de entrada a las capas ocultas y de éstas a la capa de salida), y además, no se admiten conexiones intracapa. En las redes recurrentes la información puede volver a lugares por los que ya había pasado, formando bucles, y se admiten las conexiones intracapa (laterales), incluso de una unidad consigo misma.

Las conexiones entre una capa y otra pueden ser totales, es decir, que cada unidad se conecta con todas las unidades de la capa siguiente, o parciales, en las cuales una unidad se conecta con sólo algunas de las capas de la unidad siguiente, generalmente siguiendo algún patrón aleatorio o pseudo-aleatorio (por ejemplo, mediante algoritmos genéticos).

Desde una aproximación temporal se puede distinguir además entre conexiones sin retardo y conexiones con retardo. Esto permite modelar aspectos dinámicos, por ejemplo para modelos psicofisiológicos de memoria.

La función de propagación (de red o de base)

Como ya hemos comentado, se encarga de calcular la entrada total de la neurona como combinación de todas las entradas. La función más utilizada con diferencia es la función lineal de base (LBF), que consiste en el sumatorio ponderado de todas las entradas.

Función lineal de base (LBF)

Consiste en el sumatorio de las entradas ponderadas. Se trata de una función de tipo hiperplano, esto es, de primer orden.

Dado una unidad j, y n unidades conectadas a ésta, si llamamos X al vector de entradas (que coincide con las salidas de las unidades de la capa anterior) y Wj al vector de pesos de las conexiones correspondientes, esta función quedaría así

Al representar los pesos utilizamos dos subíndices para indicar que conectan dos unidades, i y j, dónde j se refiere la unidad actual.

 Función radial de base (RBF)

Función de tipo hiperesférico, de segundo orden, no lineal. El valor de red representa la distancia a un determinado patrón de refencia.

 

La función de activación

Se suele distinguir entre funciones lineales, en las que la salida es proporcional a la entrada; funciones de umbral, en las cuales la salida es un valor discreto (típicamente binario 0/1) que depende de si la estimulación total supera o no un determinado valor de umbral; y funciones no lineales, no proporcionales a la entrada.

Casi todos los avances recientes en conexionismo se atribuyen a arquitecturas multicapa que utilizan funciones de activación no lineales como una función de umbral, una gaussiana ó en la mayoría de los casos una función sigmoidal (Quinlan 1991). El problema de trabajar con modelos no lineales radica en que son difíciles de describir en términos lógicos o matemáticos convencionales (Rumelhart & McClelland 1986)).

Función de umbral

En un principio se pensó que las neuronas usaban una función de umbral, es decir, que permanecían inactivas y se activaban sólo si la estimulación total superaba cierto valor límite; esto se puede modelar con una función escalón: la más típica es el escalón unitario: la función devuelve 0 por debajo del valor crítico (umbral) y 1 por encima.
Después se comprobó que las neuronas emitían impulsos de actividad eléctrica con una frecuencia variable , dependiendo de la intensidad de la estimulación recibida, y que tenían cierta actividad hasta en reposo, con estimulación nula. Estos descubrimientos llevaron al uso de funciones no lineales con esas características, como la función sigmoidal, con un perfil parecido al escalón de una función de umbral, pero continua.

Función sigmoidal o logística

Es probablemente la función de activación más empleada en la actualidad.

Se trata de una función continua no lineal con bastante plausibilidad fisiológica.La función sigmoidal posee un rango comprendido entre 0 y 1. Esto, aplicado a las unidades de proceso de una red neuronal artificial significa que, sea cual sea la entrada, la salida estará comprendida entre 0 y1.

Esta función depende del parámetro s , que usualmente toma el valor 1.

Ilustración 7: Función sigmoidal con s = 1

La salida de una unidad vale 0.5 cuando la entrada es nula, esto significa que la unidad tiene cierta actividad aún en ausencia de estimulación. Al aumentar la estimulación la unidad aumenta su activación, y la disminuye si la estimulación es inhibitoria, de forma parecida a como se comportan las neuronas reales.

Presenta las siguientes características deseables (Wassermann 1989).

    1. Acomodación de seņales muy intensas sin producir saturación.
    2. Admite seņales débiles sin excesiva atenuación
    3. Fácilmente derivable, ya que 

La principal limitación de esta función es que no sirve para expresar polaridades, da siempre valores positivos. Una función alternativa con cualidades parecidas pero con un rango entre -1 y 1 es la función tangente hiperbólica. Desde un punto de vista fisiológico, el signo negativo se puede interpretar como una disminución de la tasa de disparo de una neurona por debajo de la tasa de disparo en reposo.

Función gausiana

 

Redes síncronas vs asíncronas

Un último aspecto no comentado, referido a la manera en que las unidades computan su activación en relación al tiempo es que, si en cada ciclo de aprendizaje se calcula la activación de todas las unidades de una capa, hablamos de redes síncronas, en caso contrario se habla de redes asíncronas o probabilísticas, en las cuales cada unidad de proceso tiene una cierta posibilidad de computar su activación en cada ciclo de aprendizaje. Las redes asíncronas ofrecen la ventaja de ser menos propensas a caer en mínimos locales (ver el problema de los mínimos locales en la Valoración de las redes de retropropagación).

Métodos deterministas vs estadísticos

Esta distinción tiene bastante relación con la anterior, ya que las redes síncronas suelen emplear reglas de aprendizaje deterministas, y los métodos estadísticos en cambio, se aplican en las redes asíncronas. Algunos autores hablan de métodos de aprendizaje deterministas haciendo referencia al modo en que computan, paso a paso, las modificiaciones en los pesos de las conexiones. Los métodos estadísticos hacen cambios pseudoaleatorios en las conexiones y retienen los cambios sólo si mejoran la respuesta del sistema, pueden resultar útiles en cuanto permiten alcanzar soluciones globalmente óptimas, a diferencia de las soluciones localmente óptimas típicas de los métodos deterministas. Más adelante veremos un procedimiento estadístico conocido como equilibrio termodinámico simulado.