Características de las redes neuronales artificiales

   Resumen de características

   Modo de operación

   Aprendizaje supervisado

   Aprendizaje no supervisado

        Aprendizaje por componentes principales
        Aprendizaje competitivo
        Códigos demográficos

   Aprendizaje reforzado

Resumen de características

  1. Aprendizaje inductivo: No se le indican las reglas para dar una solución, sino que extrae sus propias reglas a partir de los ejemplos de aprendizaje, modifican su comportamiento en función de la experiencia. Esas reglas quedan almacenadas en las conexiones y no representadas explícitamente como en los sistemas basados en conocimiento (simbólico-deductivos)
  2. Generalización: Una vez entrenada, se le pueden presentar a al red datos distintos a los usados durante el aprendizaje. La respuesta obtenida dependerá del parecido de los datos con los ejemplos de entrenamiento
  3. Abstracción o tolerancia al ruido: Las redes neuronales artificiales son capaces de extraer o abstraer las características esenciales de las entradas aprendidas, de esta manera pueden procesar correctamente datos incompletos o distorsionados.
  4. Procesamiento paralelo: las neuronas reales trabajan en paralelo; en el caso de las redes artificiales es obvio que si usamos un solo procesador no podrá haber proceso paralelo real; sin embargo hay un paralelismo inherente, lo esencial es que la estructura y modo de operación de las redes neuronales las hace especialmente adecuadas para el procesamiento paralelo real mediante multiprocesadores (se están desarrollando máquinas específicas para la computación neuronal).
  5. Memoria distribuida: el conocimiento acumulado por la red se halla distribuido en numerosas conexiones, esto tiene como consecuencia la tolerancia a fallos: una red neuronal es capaz de seguir funcionando adecuadamente a pesar de sufrir lesiones con destrucción de neuronas o sus conexiones, ya que la información se halla distribuida por toda la red, sin embargo en un programa tradicional un pequeño fallo en cualquier punto puede invalidarlo todo y dar un resultado absurdo o no dar ningún resultado.

Modo de operación

En cualquier red neuronal cabe distinguir la fase o proceso de aprendizaje, opcionalmente una fase de test, y la fase de aplicación (recall).

El aprendizaje consiste en la presentación de patrones a la red, y la subsiguiente modificación de los pesos de las conexiones siguiendo alguna regla de aprendizaje que trata de optimizar su respuesta, generalmente mediante la minimización del error o la optimización de alguna "función de energía". El modo de aprendizaje más sencillo consiste en la presentación de patrones de entrada junto a los patrones de salida deseados (targets) para cada patrón de entrada, por eso se llama aprendizaje supervisado. Si no se le presentan a la red los patrones de salida deseados, diremos que se trata de aprendizaje no supervisado, ya que no se le indica a la red que resultados debe dar, sino que se le deja seguir alguna regla de auto-organización. Un tercer tipo de aprendizaje, a medio camino entre los anteriores, es el llamado aprendizaje reforzado, en este caso el supervisor se limita a indicar si la salida ofrecida por la red es correcta o incorrecta, pero no indica que respuesta debe dar.

Cualquiera que sea el tipo de aprendizaje usado, una característica esencial de la red es la regla de aprendizaje usada, que indica como se modifican los pesos de las conexiones en función de los datos usados en la entrada, es decir, de la historia de aprendizaje de la red. Por ejemplo, entre los algoritmos de aprendizaje supervisado, la regla delta generalizada, modifica los pesos realizando en cada ciclo de aprendizaje un incremento los pesos proporcional a la tasa de variación del error respecto al peso, en sentido negativo.

El aprendizaje requiere la presentación repetida de un número relativamente amplio de ejemplos de entrenamiento hasta lograr una respuesta satisfactoria del sistema (según la medida de error o función de energía utilizada).

Es usual disponer de un conjunto de datos distintos a los usados para el entrenamiento, para los cuales se conoce la respuesta correcta, y se usan como test, evaluando con ello si la red responde adecuadamente frente a datos distintos a los usados durante el aprendizaje (generalización), si es así se considera que la red funciona bien y se puede pasar a la fase de aplicación (recall), es decir, se puede usar para obtener un resultado frente a datos totalmente nuevos para los que no se conoce la respuesta correcta.

Aunque la capacidad de aprendizaje es esencial y casi definitoria de lo que sería una RNA, se han desarrollado modelos que no requieren modificar los pesos de las conexiones, sino que son precalculados y pre-establecidos antes de presentarle patrones a la red, como en las redes de Hamming y en redes de Hopfield.

Aprendizaje supervisado

Ya sabemos que en el aprendizaje supervisado se presentan a la red una serie de patrones de entrada junto a los patrones de salida deseados. El aprendizaje consiste en la modificación de los pesos de las conexiones en el sentido de reducir la discrepancia entre la salida obtenida y la deseada. Los pasos generales a seguir por este algoritmo son los siguientes:

  1. Aleatorizar los pesos de todas las conexiones (preferiblemente con valores pequeños)
  2. Seleccionar un par de entrenamiento, es decir, un patrón de entrada y el patrón de salida deseado (target) correspondiente.
  3. Presentar el patrón de entrada y calcular la salida de la red mediante las operaciones usuales: sumatorio de las entradas ponderadas, función de activación y transferencia a la siguiente capa, hasta llegar a la capa de salida. (inicialmente obtenemos salidas aleatorias, ya que los pesos de las conexiones son aleatorios)
  4. Cálculo del error o discrepancia entre la salida obtenida y la deseada. El error (función objetivo) se suele definir como la suma de los cuadrados de las diferencias entre las salidas reales obtenidas y las deseadas, promediado para todas las unidades de salida y todos los patrones de entrenamiento. Si el error es menor de cierto criterio fijado de antemano, incrementar el número de ejemplos correctos; si todos los ejemplos se han clasificado correctamente, finalizar, sino, sino continuar.
  5. Aplicar la regla de aprendizaje, es decir, ajustar los pesos de las conexiones tratando de disminuir el error, generalmente mediante el cálculo de tasas de variación o gradientes del error, por eso hablamos de reglas de aprendizaje por gradiente descendiente. Para reducir el error habrá que modificar los pesos de las conexiones, en proporción a la tasa relativa de variación del error con respecto a la variación del peso, o sea, la derivada del error respecto al peso, EP (error respecto al peso). Una forma de calcular el EP sería perturbar levemente un peso y observar como varía el error, pero no resultaría eficiente si trabajamos con muchas conexiones (este es el fundamento de algunos métodos estadísticos comentados en otro apartado). Más adelante veremos un algoritmo matemático para calcular EP.
  6. Volver al paso 2

El aprendizaje supervisado se usa fundamentalmente en los asociadores de patrones o memorias heterosasociativas (ver más adelante). Al principio se aplicó el aprendizaje supervisado en redes con una sola capa de conexiones, como el Perceptrón (Rosemblatt, 1962).

En los primeros perceptrones, con salida binaria, el aprendizaje era tan sencillo como sumar o restar las entradas a los pesos de las conexiones , dependiendo de si la salida incorrecta era un 0 o un 1 respectivamente.

Pronto se elaboró una generalización para salidas continuas, conocida como regla delta: La modificación de cada peso se calcula sumándole la discrepancia entre la salida deseada y la obtenida, multiplicado por la entrada y por un coeficiente de aprendizaje:

En los años 80 se popularizaron el algoritmo de retropropagación y la regla delta generalizada, que permiten entrenar redes no lineales de dos o más capas, mediante la propagación hacia atrás (hacia las capas ocultas) del error. La mayoría de las reglas empleadas actualmente en el aprendizaje supervisado son modificaciones de la regla delta generalizada. Se calcula que el 80% de las aplicaciones tecnológicas en redes neuronales se fundamentan en el algoritmo de retropropagación y en alguna versión de la regla delta generalizada.

Aprendizaje no supervisado

Una de las críticas principales al aprendizaje supervisado, dejando de lado los aspectos computacionales, que son analizados en el apartado dedicado a la retropropagación; era su dudosa plausibilidad biológica, pues:

  1. Requiere propagar cierta información (el error cometido) hacia atrás, en sentido contrario al flujo natural de la información. Como es obvio, esto no sucede en las neuronas reales, sin embargo esta objeción es superficial si tenemos en cuenta que el cerebro es rico en redes que retrogradan de una capas a otras, y podría utilizar estos caminos de múltiples formas para aportar la información del tipo que el aprendizaje supervisado requiere.
  2. Requiere de un instructor que proporcione la salida deseada. Las personas aprendemos a comprender frases o escenas visuales sin instrucciones explícitas para ello, se podría decir que el cerebro posee algún mecanismo de auto-organización. Cuando se le presentan a la red una gran colección de datos sin indicarle que debe hacer con ellos, se encuentra aparentemente sin saber que hacer. No obstante, los investigadores han diseñado varios procedimientos de aprendizaje no supervisado, que son capaces de extraer inductivamente suficiente información de esos datos como para permitir posteriormente su recuperación, estos algoritmos son utilizados en tareas de clustering y clasificación.

En el aprendizaje no supervisado no se requiere presentar patrones de salida deseados. Sin embargo, el algoritmo y la regla de modificación de las conexiones producen vectores de salida consistentes, esto es, la presentación de un patrón aprendido o parecido a él, produce siempre la misma salida. Se considera que el proceso de aprendizaje es capaz de extraer ciertas propiedades estadísticas de los ejemplos de aprendizaje y agruparlos en categorías o clases de patrones similares. No sabemos a priori que salida corresponderá a cada tipo o grupo de patrones de entrada, ni que atributos usará para clasificarlos, por eso son muy útiles como generadores de categorías (clustering)

En general, los métodos de aprendizaje no supervisado apelan a alguna noción de la calidad de la representación. Las representaciones de calidad se caracterizan por la economía de la representación (el costo de codificación más el costo de reconstrucción), sin perder la capacidad de reconstruir la información almacenada.

Imaginemos por ejemplo, imágenes formadas por elipses, como las caras de la figura, podríamos representarlas mediante mapas de bits, pero son posibles otras representaciones más eficientes; una elipse se puede se distingue de otra en cinco atributos: orientación, posición vertical, posición horizontal, longitud y anchura, por consiguiente, la imagen podría describirse usando sólo cinco parámetros por elipse.

Existen varios métodos sencillos para encontrar códigos económicos que al mismo tiempo permitan una buena reconstrucción de la entrada: el aprendizaje por componentes principales, el aprendizaje competitivo y los códigos demográficos(Hinton, 1992).

Aprendizaje por componentes principales

El aprendizaje por componentes principales consiste en extraer y describir las componentes de variación compartidas por multitud de unidades de entrada, siendo suficiente una unidad para cada componente principal. Se puede lograr haciendo que las redes reconstruyan la entrada sobre unas unidades de salida, aplicando retropropagación. Este aprendizaje no es supervisado, porque dado que la salida es la misma que la entrada, no se necesita instructor. Otra forma de lograrlo sin usar retropropagación se basa en modificar las conexiones en función de las correlaciones entre las actividades de las unidades ocultas y las unidades de entrada.

Aprendizaje competitivo

 En el aprendizaje por componentes principales, un pequeño número de unidades coopera en la representación del patrón de entrada. En el aprendizaje competitivo, un gran número de unidades ocultas pugnan entre sí, con lo que finalmente se utiliza una sola unidad oculta para representar un patrón de entrada determinado o un conjunto de patrones similares. La unidad oculta seleccionada es aquella cuyos pesos incidentes se asemejan más al patrón de entrada. El aprendizaje consiste en reforzar las conexiones de la unidad ganadora y debilitar las otras, para que los pesos de la unidad ganadora se asemejen cada vez más al patrón de entrada. Generalmente se utilizan reglas basadas en la regla de Hebb o regla del producto. La reconstrucción del patrón de entrada consistirá en copiar la distribución de pesos de la unidad ganadora.

Códigos demográficos

El problema de los componentes principales es que eliminan toda la redundancia, y con ello pierden la tolerancia a fallos, ya que cada patrón o conjunto de patrones de entrada similares queda representado por una sola neurona. La solución a este dilema, que además parece ser la utilizada por el cerebro, son los códigos demográficos, una solución intermedia entre las representaciones distribuidas puras y representaciones puramente locales.

Se trata de representar cada patrón de entrada por un conjunto o población de unidades activas simultáneamente, de manera que la disfunción de alguna unidad no provoca la pérdida de la información.

Los códigos demográficos parecen contradecir el principio de economía de las representaciones, sin embargo, una población de neuronas es muy fácil de representar si se compone de un grupo de neuronas vecinas con un centro prominente de actividad. En ese caso es suficiente con describir dicho centro, más alguna medida de la forma en que la actividad de las unidades adyacentes decae a medida que nos alejamos del centro.

Aprendizaje reforzado

Como ya comentamos, la idea es similar a la del aprendizaje supervisado, sólo que aquí la información dada por el maestro es mínima, se limita a indicar si la respuesta de la red es correcta o incorrecta. En este sentido se asimila a la noción tomada de la psicología conductual de condicionamiento por refuerzo, que en resumen defiende que se aprenden (en el sentido de que tienen más probabilidad de repetirse) las conductas reforzadas positivamente y viceversa (las conductas castigadas o reforzadas negativamente reducen la posibilidad de aparecer).

Una noción estrechamente ligada a la de aprendizaje reforzado es la de Redes Basadas en la Decisión. Son redes para clasificación de patrones, similares a los asociadores de patrones, en las cuales el maestro, en vez de indicar la salida deseada exacta (target), indica sólo la clase correcta para cada patrón de entrada.

Algunos autores incluyen este tipo de aprendizaje en el aprendizaje supervisado, en el cual distinguen dos tipos:

  1. Aprendizaje supervisado basado en la decisión
  2. Aprendizaje supervisado basado en la aproximación/optimización

En las redes basadas en la decisión se utiliza una función discriminante para determinar a que categoría o clase pertenece el patrón de entrada, si durante el entrenamiento, una respuesta no coincide con la dada con el maestro, se cambian los pesos, si no se dejan igual (de aquí viene el nombre de DBNN). El aprendizaje consiste en encontrar los pesos que dan la clasificación correcta.