¿Qué significa que las funciones de activación (como ReLU) en NN inducen la escasez en las unidades ocultas?

Para comprender esto, debemos analizar qué se entiende por escasez en las unidades ocultas y cómo se logra esto tanto en biología como en redes neuronales profundas. Esto se describe muy bien en Bengio et al. papel Deep Sparse Rectifier Neural Networks.

Primero, recordemos por qué usamos funciones de activación en redes neuronales, ya que este es el concepto central necesario para responder la pregunta. Mirando la neurona biológica,

vemos que la naturaleza usa algún mecanismo biológico para convertir potencialmente una señal de entrada en una señal de salida. También podemos ver el modelo conceptual de una neurona artificial , representado como un diagrama de red dirigido:

Una vez más, existe algún mecanismo para convertir potencialmente la entrada en salida.

La función de activación y (x) que se encuentra en el ‘medio’ toma las señales de entrada combinadas de la neurona y produce una única salida, que por supuesto se transmite aún más a través de la red. Conseguir que las colecciones de estas neuronas actúen de esta manera es cómo aprendemos representaciones y aportamos entradas como imágenes, texto y voz a salidas reconocidas / clasificadas.

Entonces, sabemos que la función de activación es el mecanismo por el cual la neurona artificial procesa y transmite información a través de la red. Esto se basa en cómo los científicos piensan que la biología ‘decide’ si una señal de entrada debe pasar a través de la red o no en función de algún umbral. La biología parece usar una regla que dice que si las entradas suman menos de cero, no deje pasar la señal, pero si suma más de cero, deje pasar la señal. Esto se puede mostrar matemáticamente usando la función de activación por pasos unitarios.

Aquí, la señal de salida es binaria y no es demasiado útil para redes artificiales, ya que necesitamos que sea diferenciable para poder aplicar nuestros algoritmos de optimización. Como tal, generalmente elegimos algo como una activación tangente sigmoidea e hiperbólica función Estos son suaves, diferenciables y permiten que las señales de salida de nuestras neuronas artificiales caigan dentro de un rango de valores. Por ejemplo, aquí está la función de activación de tangente hiperbólica utilizada con frecuencia en redes neuronales artificiales:

Observe cómo la decisión de que pase la señal es diferente que en el ejemplo biológico anterior. Usando esta aproximación matemática a la ‘función’ de la biología, podemos comenzar a apilar neuronas entre muchas capas e imitar la capacidad de la naturaleza para convertir entradas complejas en salidas predichas.

El artículo de Bengio mostró que el entrenamiento avanza mejor cuando “las neuronas artificiales están apagadas o funcionan principalmente en un régimen lineal”, lo que sugiere el uso de una función de activación diferente a la tangente sigmoidea o hiperbólica, y algo más cercano a la función de paso unitario inspirada en la biología . En otras palabras, si elegimos una función de activación que ‘se apaga’ cuando las entradas están por debajo de 0, entonces podemos acercarnos a las respuestas de la neurona biológica en su régimen operativo. Para lograr esto, utilizamos la función de activación del rectificador:

Esto nos acerca a lo que parece estar haciendo la biología al decidir si las entradas deben pasar a través de la neurona o por todo el resto de la red.

Entonces, ¿qué significa todo esto para la escasez ? ¿Cómo permite la función de activación del rectificador la dispersión en las unidades ocultas? Si las unidades ocultas están expuestas a un rango de valores de entrada, tiene sentido que la función de activación del rectificador conduzca a más ‘ceros reales’ a medida que recorremos las posibles entradas. En otras palabras, se activarían menos neuronas en nuestra red debido a las limitaciones impuestas por la función de activación del rectificador.

El artículo de Bengio tiene un buen diagrama para conceptualizar esta activación dispersa a través de unidades rectificadoras (figura a continuación). Observe las neuronas no activadas en las capas ocultas. Esto no sucedería con algo como la función de activación de tangente hiperbólica porque demasiados no ceros pasarían lentamente por las neuronas.

De: Xavier Glorot, Antoine Bordes y Yoshua Bengio – Figura 2

Los estudios realizados sobre el “gasto de energía cerebral” sugieren que las neuronas biológicas codifican la información de forma “dispersa y distribuida”. Esto significa que el porcentaje de neuronas que están activas al mismo tiempo es muy bajo (1-4%). Las redes neuronales artificiales ordinarias, que utilizan funciones de activación como la tangente sigmoidea e hiperbólica, no tienen esta propiedad y, en cambio, operan a niveles de actividad mucho más altos, algo que se considera biológicamente inverosímil de los estudios de gasto de energía.

Debido a esta implausibilidad biológica, los neurocientíficos computacionales a menudo han utilizado una penalización por escasez en sus modelos para tratar de forzar una representación dispersa, pero las neuronas en el modelo aún toman activaciones distintas de cero. Con el uso de neuronas rectificadoras podemos lograr representaciones verdaderamente escasas ya que estas funciones de activación dan lugar a “ceros reales”, gracias a la forma única del rectificador.

El artículo de Bengio describe los beneficios de la escasez. Debería leer el documento para obtener más información sobre lo que significan y cómo nos permiten tratar datos naturalmente escasos como los que se ven en el procesamiento del lenguaje natural.

  • Desenredamiento de información
  • Representación eficiente de tamaño variable
  • Separabilidad lineal
  • Distribuido pero escaso

Este avance nos permite entrenar redes neuronales supervisadas profundas sin la necesidad de realizar un entrenamiento previo sin supervisión. Ahora podemos hacer enfoques supervisados ​​con arquitecturas profundas en conjuntos de datos complejos. También sirve como un modelo que se asemeja más a cómo creemos que la biología codifica la información. Un paso más cerca del sueño de la inteligencia artificial.

Tener demasiadas unidades ocultas aumenta las posibilidades de sobreajuste en los datos de entrenamiento.

Pero tener una red demasiado pequeña o simple significa que no tiene suficiente variabilidad interna para describir algo nuevo (no en los datos de capacitación).

Las representaciones dispersas son:

menos enredado:

Las representaciones densas pueden correlacionarse fuertemente durante el entrenamiento, y esto hace que la red se sobreentrene porque la ‘información oculta’, las características abstractas codificadas en las unidades ocultas, se enreda.

más lineal separable:

Muchas redes neuronales tienen un clasificador SVM o SoftMax en la última capa (es decir, para proporcionar las etiquetas finales de clasificación de varias clases). Por lo tanto, es deseable tener una representación interna que sea linealmente separable. Un conjunto de activaciones dispersas es más separable que un conjunto denso.

(Es similar a la compensación entre las normas L2 y L1 en un problema de optimización SVM, o los requisitos de escasez en la detección comprimida)

repartido:

Finalmente, un objetivo de una red neuronal es tener una representación distribuida, y un conjunto disperso se distribuirá más fácilmente porque hay pocas interacciones en la red.

Las ReLU manejan todo esto al forzar a las neuronas a activarse o desactivarse de manera más agresiva que una típica activación sigmoide o tanh suave. ¡Es notable que una solución tan simple sea tan efectiva!

Cuando la entrada <0, Relu salidas = 0 → la activación es nula → escasez

Con respecto a la escasez, consulte también la técnica de “abandono” y “promediar varias redes sin abandono”:

ReLu y DropOut en CNN

http://www.cs.toronto.edu/~nitis

Intuitivamente, la escasez significa

  • el modelo es más simple, aparentemente, porque la red es “más delgada”
  • los nodos no cooperarán demasiado en el proceso de capacitación, lo que simplificará el modelo

Modelo más simple → no sobreajustado

Por otro lado, “promediar varias redes sin abandono”, intuitivamente, es similar

[matemáticas] y_1 = s + n_1 [/ matemáticas]

[matemáticas] y_2 = s + n_2 [/ matemáticas]

[matemáticas] y_3 = s + n_3 [/ matemáticas]

Si los agrega, a pesar de que cada ruido [matemático] n_1, n_2, n_3 [/ matemático] es grande (cada modelo se sobreajusta), el promedio produce una variación baja (no sobreajustado) porque los ruidos se cancelan entre sí, pero las señales aumentan.

Imagine una gran red neuronal con muchas neuronas. El uso de un sigmoide o tanh hará que casi todas las neuronas se disparen, lo que hará que la activación sea densa. Esto resulta ser costoso. Lo ideal sería que algunas neuronas de la red no se activen y, por lo tanto, las activaciones sean escasas y eficientes.

ReLU nos da este beneficio. Imagine una red con pesos inicializados aleatorios (o normalizados) y casi el 50% de la red produce activación 0 debido a la característica de ReLu (salida 0 para valores negativos de x). Esto significa que se activan menos neuronas (activación dispersa) y la red es más ligera. Este puede nunca ser el caso en Tanh o Sigmoid.

More Interesting

Cómo evaluar la reciente eliminación de recomendaciones para usar hilo dental

Regularización: ¿Por qué se llaman así los SVM L1 y L2 cuando ambos miden la distancia a un hiperplano a lo largo de la proyección ortogonal?

¿Cuáles son los problemas médicos que el aprendizaje automático puede resolver?

¿Qué es la traducción automática estadística?

¿Cuál es su opinión sobre el lenguaje de programación Julia?

¿Cuáles son algunas de las ventajas del aprendizaje por diferencia temporal y cómo se puede mejorar?

¿Cuál es la diferencia (o relación) entre el aprendizaje profundo y un sistema inteligente?

¿Cómo sabemos de antemano qué características funcionarán mejor para la clasificación?

¿Hay alguna API basada en la nube para agrupar Tweets?

¿Cuáles son los inconvenientes de usar RL con funciones de aproximación en altas dimensiones? ¿Cómo aprender la función de recompensa 0-1 (regresión logística)?

¿Cuándo debo usar la agrupación antes de ejecutar un modelo de regresión logística?

¿Cómo se puede utilizar la máquina de Boltzmann restringida en problemas de clasificación?

¿Cuáles son algunas razones por las que algunas personas prefieren R y Matlab a Python para el aprendizaje automático?

¿Cómo calcula Google los sinónimos de los términos en una consulta de búsqueda?

¿Qué piensan los expertos en sistemas de recomendación sobre el documento 'Estimación del impacto causal de los sistemas de recomendación a partir de datos de observación'?