Concepto
Uno de los objetivos de los científicos de los últimos cincuenta años ha sido la construcción de sistemas con cierto grado de inteligencia que reproduzcan tareas como las de reconocimiento, memorización o clasificación, que el cerebro humano realiza de forma magistral. A partir de este objetivo se han puesto las bases de la Cibernética, la Teoría de Autómatas, la Inteligencia Artificial y la Teoría de Sistemas. Sin embargo, en los últimos años ha tenido lugar un desarrollo espectacular de una de estas tecnologías: las Redes Neuronales Artificiales (RNA). Las RNA intentan modelizar una de las estructuras fisiológicas básicas del cerebro: la neurona, así como la agrupación de un conjunto de ellas en estructuras de interconexión, agrupaciones que constituyen un sistema que puede ser calificado de “inteligente”. La formulación matemática y la simulación computerizada, mediante software o implementación hardware, permiten el estudio y puesta en funcionamiento de estos modelos y posibilitan la aplicación de los mismos a un enorme elenco de situaciones reales. Existen múltiples definiciones de las Redes Neuronales Artificiales (RNA) pero, a nuestros propósitos, vamos a citar tan solo algunas de las más populares:
“Una Red Neuronal es un sistema de computación hecho por un gran número de elementos simples, elementos de proceso interconectados, los cuales procesan información por medio de su estado dinámico como respuesta a entradas externas” (Hecht-Niesen, 1988).
“Redes Neuronales Artificiales son redes interconectadas masivamente en paralelo de elementos simples (usualmente adaptativos) y con organización jerárquica, las cuales intentan interactuar con los objetos del mundo real del mismo modo que lo hace el sistema biológico” (Kohonen, 1988).
“Las Redes Neuronales Artificiales son modelos computacionales viables para una amplia variedad de problemas. Éstos incluyen la clasificación de patrones, reconocimiento y síntesis de idiomas,..., aproximación de funciones,..., agrupación, predicción, optimización combinatoria, modelización de sistemas no lineales y control” (Hassoun, 1995).
El modelo biológico de las redes neuronales artificiales
La teoría y la modelización de las RNA están inspiradas en la estructura y el funcionamiento del sistema nervioso, y en particular en el cerebro. En concreto, las RNA intentan emular el modo en que las redes de neuronas biológicas del cerebro procesan la información. La cuestión que surge inmediatamente es la siguiente: ¿Por qué emular al cerebro? La respuesta es sencilla: Todo el mundo puede observar que el cerebro humano es superior a una computadora digital en muchas tareas. Por ejemplo, en el procesamiento de la información visual: un niño de un año reconoce objetos, caras, etc., mejor y más rápidamente que el mejor sistema de inteligencia artificial diseñado para dicha tarea, incluso ejecutándose en un superordenador. Solo en tareas basadas en aritmética sencilla los ordenadores sobrepasan al cerebro humano. Además, las RNA presentan una serie de ventajas sobre otras técnicas estadístico-econométricas:
- 1. Son robustas y tolerantes a fallos: en el cerebro humano mueren todos los días un elevado número de neuronas y sin embargo su funcionamiento no se ve afectado.
- 2. Son flexibles: El cerebro se adapta a nuevas circunstancias mediante el aprendizaje.
- 3. Pueden trabajar con datos difusos, incompletos, probabilísticos, con ruido o inconsistentes.
- 4. Tienen un elevado grado de paralelismo: El cerebro está formado por muchas neuronas interconectadas entre sí y es precisamente el comportamiento colectivo de todas ellas lo que caracteriza la forma de procesar la información.
- 5. Solucionan problemas que son demasiado complejos para las técnicas convencionales.
Desde un punto de vista funcional las neuronas no son sino sencillos procesadores de información. Recogen información de diversas fuentes y la integran, la transforman y codifican en complejas señales de salida que se transmiten a otras neuronas interconectadas. Las interconexiones son un elemento esencial de los sistemas neuronales, hasta tal punto que cuando una neurona no se encuentra capacitada para establecer dichas conexiones la célula muere.
La neurona típica tiene tres partes bien diferenciadas: el soma, las dendritas y el axón. El soma es el centro metabólico y de síntesis. Las dendritas son una serie de ramificaciones fibrosas que parten del soma y reciben la información. La ramificación de tipo arborescente resulta adecuada para la convergencia de la información procedente de distintas regiones. El axón es un largo apéndice que parte del soma y que actúa como línea de transmisión de los impulsos generados por la célula. El axón se conecta con las otras células a través de las dendritas de estas últimas, realizándose las conexiones mediante unas uniones especiales denominadas sinapsis. Se denominan neuronas presinápticas a las que envían la información y neuronas postsinápticas a las que la reciben. La eficiencia sináptica se modifica mediante el proceso de aprendizaje, por lo que se puede afirmar que las sinapsis constituyen el mecanismo básico de memoria.
En resumen, las neuronas poseen canales de entrada para dicha información, que son las dendritas; un órgano computacional, el soma; y un canal de salida, el axón, que conduce la información de salida hasta las sinapsis, siendo esta información la información de entrada para otras células.
Pues bien, el proceso anteriormente descrito es el que fundamenta la teoría de las RNA, estableciendo paralelismos entre elementos como la neurona biológica y la artificial, las sinapsis y los vectores de pesos, los procesos de aprendizaje, etc.
Elementos de una red neuronal artificial
El elemento esencial de la estructura de una RNA es la neurona artificial. Las neuronas artificiales se organizan en capas y varias de estas capas constituirán una RNA. De una forma muy simple, los elementos fundamentales de una RNA son los siguientes:
- a) Un conjunto de procesadores elementales o neuronas artificiales.
- b) Un patrón de conectividad o arquitectura.
- c) Una regla de aprendizaje.
El modelo genérico de neurona artificial
Se denomina procesador elemental o neurona artificial a un dispositivo simple de cálculo que, a partir de un vector de entrada procedente del exterior o de otras neuronas, proporciona una única respuesta o salida. En consecuencia, la neurona artificial trata de mimetizar las características básicas de las neuronas biológicas: integra una serie de entradas y proporciona una respuesta que se propaga por el axón.
Los elementos fundamentales de la neurona artificial etiquetada con el subíndice i son los siguientes:
- 1. Un conjunto de entradas xj (t).
- 2. Un conjunto de pesos sinápticos, o simplemente pesos, de la neurona i,Wij, que indican la intensidad de la interacción entre cada neurona presináptica j y la neurona postsináptica i.
- 3. Una regla de propagación, que proporciona el valor del potencial postsináptico en función de sus pesos y entradas.
- 4. Una función de activación, que facilita el estado de activación actual de la neurona i en función de su estado anterior y de su potencial postsináptico actual.
- 5. Una función de salida, que proporciona la salida actual de la neurona i en función de su estado de activación.
Las variables de entrada y salida pueden ser binarias o continuas, dependiendo del tipo de aplicación. El peso sináptico, Wij, define la intensidad de interacción entre la neurona presináptica j y la postsináptica i. Dada una entrada positiva procedente del exterior o de la salida de otra neurona, si el peso es positivo tenderá a excitar la neurona postsináptica y si es negativo tenderá a inhibirla. La regla de propagación permite obtener, a partir de las entradas y los pesos, el valor del potencial postsináptico de la neurona. Por consiguiente, en el estado actual t, hi (t) = f [Wij; xj (t)]. La función más usual es la suma de las entradas ponderadas por los pesos sinápticos:
Es frecuente añadir al conjunto de pesos de la neurona un parámetro denominado umbral de disparo, o simplemente umbral, que se detrae del potencial postsináptico, por lo cual, en ese caso, , o bien con Wi0 = θi y X0 = - 1, En este último caso, a la función ponderada de los pesos y el umbral (como un peso más) se le denominará entrada neta. La función de activación, también llamada de transferencia, proporciona el estado de activación de la neurona, ai (t), en función de su estado de activación anterior, ai (t - 1), y de su potencial postsináptico hi(t): ai (t) = fi (ai (t - 1); hi (t)). No obstante, en muchos modelos de RNA se considera que el estado actual de la neurona no depende de su estado anterior, por lo que ai (t) = fi (hi(t)).
Se pueden considerar distintas funciones de activación o transferencia. En general, se suelen utilizar funciones deterministas, monótonas crecientes, saturadas en los extremos y diferenciables. Las tres primeras condiciones se exigen por motivos de concordancia con el sistema biológico, puesto que el nivel de activación de las neuronas se incrementa con el grado de excitación de las mismas hasta llegar a un punto de saturación a partir del cual proporcionan la máxima respuesta posible. La condición de derivabilidad es una exigencia de ciertos algoritmos de aprendizaje, entre los cuales destaca, por su amplia utilización, el de retropropagación del error. Las funciones de transferencia más usuales pueden verse en la Tabla 1.
Por último, la función de salida proporciona la salida actual global de la neurona en función de su estado de activación. Lo más frecuente es que la función de salida sea la función identidad, de tal forma que el estado de activación de la neurona es su propia salida: .
Otras funciones de salida son del tipo escalón, en las que la neurona no se dispara hasta que el nivel de activación no supera el umbral; o de tipo estocástico, teniendo la neurona un comportamiento probabilístico; o tienen salidas (0; 1) (neurona tipo McCulloch-Pitts) ó (-1; 1) (neurona tipo Ising) o salidas discretas diversas (neurona tipo Plotts).
El denominado “modelo estándar” de la neurona artificial asume una regla de propagación del tipo suma ponderada y una función de salida del tipo identidad, por lo que su representación analítica es , o bien, considerando el umbral como un peso más, . Así definida, bastará determinar cuál es el tipo de función de activación para la completa determinación de la neurona estándar.
Arquitectura de una Red Neuronal Artificial
Las neuronas se organizan en la red formando capas que, en función de su ubicación en la misma, se clasifican en:
- 1. Capa de entrada: formada por el conjunto de neuronas que recibe directamente la información procedente de fuentes externas.
- 2. Capas ocultas: se caracterizan por no tener contacto directo con el entorno exterior y su número es variable.
- 3. Capa de salida: transfiere la información de la red hacia el exterior.
La estructura de la RNA también implica un patrón de conexión entre las neuronas. Pues bien, atendiendo al flujo de información en la red se puede distinguir entre redes unidireccionales (feedforward) y redes recurrentes (feedback). Cuando la salida de todas las neuronas solo fluye hacia neuronas de capas posteriores (o al exterior) se dice que la propagación es hacia delante; cuando la información fluye en cualquier sentido (incluido el lateral) la red se calificará como recurrente.
Dado que una neurona normalmente está conectada con varias (de su misma capa, de capas precedentes o posteriores) existen más conexiones que neuronas y en este sentido también podremos caracterizar la red por su grado o nivel de conectividad.
En términos topológicos se suele distinguir entre las redes monocapa y las redes multicapa. En las redes monocapa se establecen conexiones laterales entre las neuronas de la única capa de la red, si bien también pueden existir conexiones recurrentes. En las redes multicapa se han de distinguir la capa de entrada de las capas ocultas y la de salida.
Finalmente, atendiendo al tipo de asociación entre los patrones de entrada y los de salida, las RNA se pueden clasificar en heteroasociativas y autoasociativas. Si el entrenamiento es tal que ante un determinado patrón de entrada la red tiene que responder con otro de salida diferente, esta será calificada de heteroasociativa; en caso de que la red sea entrenada para asociar un patrón de entrada con él mismo, se denominará autoasociativa.
Mecanismo de aprendizaje
Una característica fundamental de las RNA es que son sistemas entrenables que pueden realizar determinadas tareas a partir de un conjunto de ejemplos o patrones de aprendizaje. En el contexto de las RNA el aprendizaje es un proceso mediante el cual las neuronas modifican los pesos sinápticos en función de la información de entrada que reciban. El proceso de aprendizaje suele ser iterativo, modificándose los pesos una y otra vez hasta que la red produzca el rendimiento deseado (los pesos se mantienen estables). Los criterios en función de los cuales se modifican los pesos en las sucesivas iteraciones se denominan reglas de aprendizaje. En función del tipo de regla se suelen considerar dos clases de aprendizaje: supervisado y no supervisado o autoorganizado. La diferencia entre ambos es la existencia o no de un “profesor” externo que controle el aprendizaje. El aprendizaje supervisado se caracteriza por el hecho de que el entrenamiento de la red está controlado por un “profesor” externo a la misma. El mecanismo es sencillo: el “profesor” controla la salida proporcionada por la red ante una determinada entrada, y en caso de que no coincida con la salida deseada indica a la red que debe modificar sus pesos o conexiones, y así hasta que las salidas de la red se aproximen razonablemente bien a las salidas deseadas.
En el aprendizaje no supervisado o autoorganizativo no se requiere elemento externo alguno (profesor) para llevar a cabo el ajuste o actualización de los pesos sinápticos. El objetivo de las redes con aprendizaje no supervisado es encontrar las regularidades, correlaciones o características comunes entre los patrones de entrada. Evidentemente, la misión de este tipo de redes es la clasificación, mapeo, prototipado, etc.
También existen mecanismos de aprendizaje híbridos, donde coexisten el aprendizaje supervisado y el no supervisado en distintas capas de neuronas.
Otra diferencia importante se establece entre los aprendizajes off line y on line. En el aprendizaje off line se distingue entre una fase de aprendizaje y una fase de funcionamiento, de tal manera que la información de partida se divide en un conjunto de datos de entrenamiento y un conjunto de datos de test. Con los primeros se entrena la red y, una vez entrenada esta, se desconecta y los pesos permanecen constantes. Determinados los pesos se introducen los datos de test para verificar el funcionamiento de la red.
En el aprendizaje on line no hay distinción alguna entre las fases de entrenamiento y de funcionamiento, de tal manera que los pesos sinápticos varían siempre que se aporte nueva información al sistema. El estudio de la estabilidad suele ser un aspecto fundamental cuando se procede con este tipo de aprendizaje.
Por último, antes de dar por finalizado este epígrafe, se ha de poner de manifiesto que es absolutamente importante la distinción entre el nivel de error alcanzado al final del aprendizaje para el conjunto de patrones de entrenamiento y el error cometido por la red para los patrones de funcionamiento (no utilizados en la fase de aprendizaje). Interesa que ambos sean reducidos, pero interesa más que el error de funcionamiento sea pequeño, puesto que ello será un buen indicativo de la capacidad de generalización de la red. En este sentido, el criterio de parada del entrenamiento resultará un elemento fundamental del entrenamiento de la red, siendo el criterio más general el de parar el entrenamiento cuando el error de generalización (de funcionamiento) comience a incrementarse.
Clasificación de las redes neuronales artificiales
Los dos rasgos esenciales que caracterizan una red neuronal artificial son el mecanismo de aprendizaje y la arquitectura de la red. En función de ambos, y siguiendo la propuesta de Simpson, 1989, se establecen la inmensa mayoría de las clasificaciones.
En función del tipo de aprendizaje se establece un primer nivel clasificatorio: redes supervisadas, no supervisadas, híbridas y de aprendizaje reforzado. Dentro de cada una de estas categorías de aprendizaje, a partir de la topología de la red, se establece una subclasificación de las mismas: unidireccionales y realimentadas.
Aunque son más de una cincuentena las redes suficientemente estudiadas, tan solo una veintena se utilizan con cierta asiduidad en la aplicación práctica. La clasificación de estas últimas en función de los dos elementos anteriormente expuestos se ofrece en la Figura 7.
Como se puede apreciar en la Figura 7, los más numerosos son los modelos unidireccionales y, dentro de estos, los supervisados. En el conjunto de las redes unidireccionales supervisadas destaca el perceptrón, multicapa con algoritmo de aprendizaje por retropropagación del error (Redes Backpropagation), entre otras cosas, por ser el tipo de redes que están mostrando mayor utilidad en las aplicaciones prácticas.
Recuerde que...
- • Elementos de una RNA: conjunto de procesadores elementales, patrón de conectividad y regla de aprendizaje.
- • Modelo genérico: trata de mimetizar las características básicas de las neuronas biológicas: integra una serie de entradas y proporciona una respuesta que se propaga por el axón.
- • Arquitectura: se organizan en la red formando capas: de entrada, ocultas y de salida.
- • Aprendizaje: sistemas entrenables que pueden realizar determinadas tareas a partir de un conjunto de ejemplos o patrones de aprendizaje.
- • Clasificación en función del tipo de aprendizaje: redes supervisadas, no supervisadas, híbridas y de aprendizaje reforzado. Se subclasifican en unidireccionales y realimentadas.