Redes neuronales autoasociativas

Las redes neuronales autoasociativas son los tipos de redes neuronales cuyos vectores de entrada y salida son idénticos. Estos son tipos especiales de redes neuronales que se utilizan para simular y explorar el proceso asociativo. La asociación en esta arquitectura proviene de la instrucción de un conjunto de elementos de procesamiento simples llamados unidades que se conectan a través de conexiones ponderadas.

En estas redes, realizamos un entrenamiento para almacenar el vector ya sea bipolar o binario. Un vector almacenado se puede recuperar de un vector distorsionado o ruidoso si la entrada es similar.

Arquitectura 

AANN contiene una red de avance de perceptrón de cinco capas, que se puede dividir en dos redes neuronales de 3 capas cada una conectada en serie (similar a la arquitectura de autocodificador). La red consta de una capa de entrada seguida de una capa oculta y una capa de cuello de botella. Esta capa de cuello de botella es común entre la red y un componente clave de la red. Proporciona compresión de datos a la entrada y la topología con potentes capacidades de extracción de características. A la capa de cuello de botella le sigue una segunda capa oculta no lineal y la capa de salida de la segunda red.

Arquitectura NN autoasociativa

La primera red comprime la información del vector n-dimensional a vectores de menor dimensión que contienen un menor número de variables características y representan todo el proceso. La segunda red funciona de forma opuesta a la primera y utiliza información comprimida para regenerar las n medidas redundantes originales. 

Algoritmo

Usaremos la regla de Hebb en el algoritmo para establecer pesos porque los vectores de entrada y salida están perfectamente correlacionados, ya que la entrada y la salida tienen el mismo número de unidades de salida y de entrada.

Regla de Hebb:

  • cuando A y B están positivamente correlacionados, aumente la fuerza de la conexión entre ellos.
  • cuando A y B están correlacionados negativamente, entonces disminuye la fuerza de la conexión entre ellos.
  • En la práctica, usamos la siguiente fórmula para establecer los pesos:

W = \sum_{p=1}^{p} S^{T}(p) S(p)

  • donde, W = array ponderada
  • T= Tasa de aprendizaje
  • S(p) : patrones prototipo n-dimensionales p-distintos

Algoritmo de entrenamiento

  1. Inicialice todos los pesos para i= 1,2,3 …n y j= 1,2,3 …n tal que: w ij =0 .
  2. Para cada vector a almacenar, repita los siguientes pasos:
  3. Configure la activación para cada unidad de entrada i= 1 a n: x i = s i .
  4. Configure la activación para cada unidad de salida j = 1 a n: y j = s j .
  5. Actualice los pesos para i= 1,2,3 …n y j= 1,2,3 …n tal que: w ij (nuevo) = w ij (antiguo) + x i y j

Algoritmo de prueba/inferencia:

Para probar si la entrada es ‘conocida’ y ‘desconocida’ para el modelo, debemos realizar los siguientes pasos:

  1. Tome los pesos que se generaron durante la fase de entrenamiento utilizando la regla de Hebb.
  2. Para cada vector de entrada, realice los siguientes pasos:
  3. Establezca la activación en las unidades de entrada iguales a los vectores de entrada.
  4. Configurar la activación en unidades de salida para j= 1,2,3 …n: y-in_{j} = \sum_{i}x_{i}w_{ij}
  5. Aplicar la función de activación para j= 1, 2, 3 … n:

y_j = f(y-in_{j}) = \begin{Bmatrix} 1  \, \, if \, y-in_{j} >0 \\ -1  \,  \, if \, y-in_{j} \leq 0 \end{Bmatrix}

AANN reconoce el vector de entrada para ser conocido si la unidad de salida después de la activación generó el mismo patrón que uno almacenado en ella.

Capacidad de almacenamiento

  • Una de las características importantes de AANN es la cantidad de patrones que se pueden almacenar antes de que la red comience a olvidar.
  • El número de vectores que se pueden almacenar en la red se denomina capacidad de la red.
  • La capacidad de los vectores depende de la relación entre ellos, es decir, se pueden almacenar más vectores si son mutuamente ortogonales. Generalmente, se pueden almacenar n-1 vectores mutuamente ortogonales con n componentes.

Aplicaciones

Las redes neuronales autoasociativas se pueden utilizar en muchos campos:

  • Reconocimiento de patrones
  • Bioinformática
  • Reconocimiento de voz
  • Validación de señal, etc.

Referencias:

Publicación traducida automáticamente

Artículo escrito por pawangfg y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *