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,
- Aprendizaje profundo: ¿Qué es la búsqueda jerárquica de correspondencia?
- Música: ¿Cómo se puede usar el aprendizaje automático para analizar música?
- Cómo crear mi propia biblioteca de tokenizadores en PNL
- Cómo encontrar el contexto de una conversación usando técnicas de aprendizaje automático / aprendizaje profundo / PNL
- ¿Cuáles son los conjuntos de datos canónicos de aprendizaje automático utilizados como punto de referencia para demostrar un nuevo método?
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.