¿Qué es un vector de actividad en redes neuronales?

9

Estaba leyendo el nuevo artículo de Hinton, "Enrutamiento dinámico entre cápsulas" y no entendí el término "vector de actividad" en el resumen.

Una cápsula es un grupo de neuronas cuyo vector de actividad representa los parámetros de instanciación de un tipo específico de entidad, como un objeto o parte del objeto. Usamos la longitud del vector de actividad para representar la probabilidad de que la entidad exista y su orientación para representar los parámetros de instanciación. Las cápsulas activas en un nivel hacen predicciones, a través de matrices de transformación, para los parámetros de instanciación de cápsulas de nivel superior. Cuando las predicciones múltiples coinciden, se activa una cápsula de nivel superior. Demostramos que un sistema de cápsula multicapa con entrenamiento discriminatorio logra un rendimiento de vanguardia en MNIST y es considerablemente mejor que una red convolucional para reconocer dígitos superpuestos. Para lograr estos resultados, utilizamos un mecanismo iterativo de enrutamiento por acuerdo:

https://arxiv.org/pdf/1710.09829.pdf

Pensé que un vector es como una matriz de datos que está ejecutando a través de la red.

Comencé a trabajar en el curso de aprendizaje profundo de Andrew Ng, pero todo es nuevo y los términos se me pasan por la cabeza.

tim_xyz
fuente

Respuestas:

8

En una red neuronal tradicional, los vértices de las redes son neuronas y la salida de una sola neurona es un valor único (un " escalar "). Este número se llama su activación . Una capa de neuronas en la red genera un vector de activaciones. No debemos confundir esto con los vectores de actividad en una red de cápsulas.

Las redes de cápsulas son diferentes ya que los vértices de la red son cápsulas en lugar de neuronas. Son de dimensiones superiores: la salida de una cápsula no es escalar, sino un vector que representa un grupo de parámetros relacionados con la entrada. De ahí el nombre de activación del vector .

Motivación

En una red neuronal no existe una estructura inherente entre las salidas escalares de las neuronas, esto es algo que las siguientes capas tienen que aprender. En Capsule Networks, la salida de una cápsula representa todos los parámetros relacionados con eso en un vector, incluida una predicción para la activación de cápsulas de capa más profunda. Esto agrega una estructura local útil.

Por ejemplo, considere el reconocimiento facial. Si tiene una cápsula que sabe cómo reconocer los ojos, podría generar un vector de actividad que representa, por ejemplo, "ya que he reconocido una posición del ojo (x, y) con probabilidad p = 0.97 Predigo que los parámetros para toda la cara serán (f1, ... fn) ".

Como se explica en el documento Enrutamiento dinámico entre cápsulas , se refiere a esta información y luego se usa de la manera en que las cápsulas en capas anteriores (las partes: ojo, boca, nariz) predicen las activaciones de capas más profundas (cara). Por ejemplo, un reconocedor de rostro solo se activará fuertemente cuando haya un acuerdo entre los reconocedores de ojos, nariz y boca (las partes) y el reconocedor de rostros (el conjunto) sobre dónde está ubicada la cara (el (f1, ... fn ) parámetros).

Inspiración histórica

Los algoritmos de visión por computadora más antiguos como SIFT funcionan de manera similar donde el reconocimiento se basa en un acuerdo entre la configuración de características multidimensionales (puntos clave) y la configuración de referencia.

mjul
fuente
1

Supuse que significaba algo así como "el vector de activaciones de las neuronas en la cápsula". La activación para una neurona dada es la suma ponderada de sus entradas, pasada a través de la función de activación (sigmoide, relu, etc.).

crimen mental
fuente