En una red neuronal, ¿cómo podemos resolver (o limitar) el problema de la saturación de las neuronas?

Hola Apurba, solo vi las otras respuestas a tu pregunta después de publicar la mía y ahora veo que he respondido una pregunta diferente de la que esperabas. Aún así, espero que lo encuentres relevante en el panorama general.

(Nota: esta respuesta en realidad se enfoca en el problema de la saturación de peso , es decir, donde se hacen muchos pesos altos y, por lo tanto, se pierde información debido a la interferencia, no a la saturación del nivel de activación neuronal como Apurba pretendía)

Los modelos de memoria asociativa de un solo ensayo, como Sparsey, el Correlograph de 1969 de Willshaw et al., Y muchos otros, están sujetos a una interferencia de diafonía creciente a medida que se almacenan entradas adicionales. Por lo tanto, se necesita algún modo para evitar que la fracción de aumento de peso se vuelva demasiado grande. Mi respuesta general es que cuando su modelo general es una jerarquía con múltiples niveles y con muchos campos de codificación de memoria (que propongo corresponden a macrocolumnas corticales) en cada nivel, puede usar el concepto de “períodos críticos”, es decir, congelar el aprendizaje en macrocolumnas a niveles más bajos antes de que las matrices de peso aferentes a esas macrocolumnas se saturen demasiado, como se discutió en Rinkus (2014).

A primera vista, esto puede parecer problemático ya que evita el nuevo aprendizaje en macrocolumnas congeladas por el resto de la vida útil del modelo. Sin embargo, detener el aprendizaje en macrocolumnas de nivel inferior, incluso al principio de la vida operativa de todo el modelo jerárquico, no implica necesariamente que el aprendizaje se congele en las macrocolumnas en los niveles superiores de la jerarquía. De hecho, se han encontrado períodos críticos en todas las modalidades sensoriales de cerebros biológicos. Esencialmente, lo que está sucediendo es que el conjunto de características o vocabulario, en términos de los cuales un nivel jerárquico inferior representa la entrada (es decir, “habla con”) al siguiente nivel superior se congela (aunque en Sparsey, esto sucede en la granularidad de macrocolumnas individuales, no niveles enteros). Sin embargo, esto no implica que el vocabulario del siguiente nivel superior también se congele. De hecho, la estructura de composición fuertemente recursiva del mundo natural sugiere que una vez que un vocabulario finito se congela en el nivel J, el espacio de características de nivel J + 1, que son composiciones de características de nivel J (congeladas), incluso se esperaría que ocurre, cae exponencialmente en relación con el nivel J. Por lo tanto, el número de características únicas de nivel J + 1 (que nuevamente serán combinaciones (escasas) de características de nivel J) que deberán almacenarse en la memoria (es decir, como el nivel J +1 vocabulario) es exponencialmente menor que el número necesario en el nivel J. Entonces, este razonamiento estadístico argumenta que el tiempo esperado de saturación aumenta exponencialmente con el nivel. Dado que la corteza cerebral cerebral es una jerarquía de ~ 10 niveles, uno puede ver cómo el cerebro en su conjunto puede aprender cosas nuevas a lo largo de la vida humana, incluso si el aprendizaje se congela en niveles más bajos.

De hecho, este razonamiento estadístico jerárquico es crucial para mi sugerencia en otra respuesta de Quora de que Sparsey posee efectivamente una complejidad de tiempo constante [“O (1)”] tanto para el aprendizaje como para la recuperación de coincidencias más cercanas, una capacidad que nunca se ha demostrado para ningún otro modelo (en particular, ningún modelo “hash”), y que es el “Santo Grial” de la computación. Básicamente, si cada macrocolumna individual tiene la propiedad de que el número de pasos necesarios para almacenar un nuevo elemento o recuperar el elemento más cercano es constante (como se ha demostrado desde mi tesis de 1996), entonces el número de pasos necesarios para el conjunto La jerarquía de macrocolumnas, que es solo la suma sobre las mac individuales [en realidad solo una pequeña fracción de las macrocolumnas estará activa en cualquier momento (como se muestra aquí)], también es fija. Si el razonamiento estadístico anterior se mantiene durante la vida operativa de un modelo, entonces el modelo (jerarquía completa) posee efectivamente O (1) complejidad de tiempo tanto para el aprendizaje como para la recuperación de la coincidencia más cercana.

Dado que las neuronas saturantes son normalmente problemáticas cuando se entrena debido al problema del gradiente de fuga. Esta respuesta se centra en un método para mejorar el proceso de aprendizaje cuando se usan neuronas saturantes.

Además de las respuestas que ya están aquí, también puede usar la normalización por lotes (BN). Con BN puede trabajar con todo tipo de funciones de activación, tanto saturadas como no saturadas, sin preocuparse de que el problema de gradiente desaparezca y afecte el proceso de aprendizaje.

BN también mejora la capacidad de las redes para aprender más rápido y también presenta algunas propiedades de regularización que hacen posible eliminar la regularización [math] L_2 [/ math] y el abandono todos juntos. Esto significa que puede aumentar la tasa de aprendizaje, finalizar el proceso de aprendizaje temprano y aún así obtener un rendimiento excepcional con BN.

BN está motivado por los pasos de preprocesamiento de datos, como el blanqueamiento de datos, que se sabe que mejoran el rendimiento de las redes neuronales, por lo que BN aplica, con algunos trucos, esos pasos de preprocesamiento en capas ocultas y no solo en las capas de entrada.

Por lo tanto, con BN puede usar sigmoid, tanh o ReLU sin ningún problema. Aunque BN es una transformación lineal introduce parámetros adicionales, pero esto no es un problema.

Espero que esto ayude.

Creo que hasta ahora, la solución más fácil sería usar unidades ReLU. La función es súper simple (por lo que su derivada también es súper simple) y es lo que se usa más comúnmente en el aprendizaje profundo o las aplicaciones de redes neuronales. Las unidades ReLU son literalmente solo f (x) = max (0, x),

Lo bueno de esto es que la derivada de esta función en cualquier punto es 0 o 1, lo que significa que esta unidad no puede saturarse. Sin embargo, puede ir “muerto”, donde si el espacio de datos dado a la red empuja la entrada de la unidad a menos de 0, siempre devolverá un 0, y su derivada se convierte en 0. Esto no es un gran problema , dado que la unidad devuelve un valor distinto de cero para al menos algunos puntos de datos, aún podrá aprender. También puede intentar la normalización por lotes y la inicialización de peso adecuada.

Nathan y Mehmet ya han dado dos funciones de activación que evitan el problema de la saturación de neuronas al eliminar esencialmente los gradientes de cero. Una función de activación reciente Maxout es una generalización de esos dos enfoques, Relu y Relu con fugas, pero a expensas de un mayor número de parámetros.

CS231n Redes neuronales convolucionales para reconocimiento visual

El artículo sobre redes Maxout

Además de la respuesta de Nathan, también hay “ReLu permeable”, en el que hay una ligera pendiente en la parte negativa de la función de activación. En la figura a continuación, verá ReLu a la izquierda y Relu con fugas a la derecha. Tenga en cuenta que siempre necesita una función no lineal.

Entonces, la solución definitiva al problema de saturación sería “ReLu con fugas”. Sin embargo, en la práctica, el ReLu simple parece funcionar bien.

More Interesting

Investigadores de aprendizaje automático, ¿algún día los robots nos matarán a todos?

¿Cuál es la forma correcta de calcular la similitud de coseno entre una consulta y un documento? Cuando calculo la magnitud del documento, ¿sumo los cuadrados de todos los términos del documento o solo los de la consulta?

¿De qué sirve un alumno constante?

¿El aprendizaje automático no supervisado basado en la agrupación de datos también determina automáticamente la cantidad de agrupaciones?

RNN para modelado de idiomas en Tensorflow. ¿Cómo puedo rellenar las secuencias si mi entrada está constituida por la incorporación de palabras?

¿Qué es ingenuo Bayes, clasificación de espacio vectorial y máquinas de vectores de soporte en la recuperación de información?

¿Cómo manejan las empresas en Silicon Valley sus datos de flujo de red?

¿Puedo usar la agrupación (k-means, etc.) en un gran conjunto de datos para automatizar el proceso de búsqueda de similitudes y hacer recomendaciones?

¿Cómo puede un estudiante de primer año en la universidad comenzar su viaje para una carrera en ML e IA?

¿Existen aplicaciones para bandidos multi armados en el campo de aprendizaje profundo?

¿Cuáles son algunos temas de investigación matemáticamente rigurosos en aprendizaje automático y aprendizaje profundo en la actualidad?

¿Cuál es la mejor manera de crear un conjunto de capacitación para el aprendizaje automático?

¿Qué es mejor, el algoritmo de vecinos más cercanos a k (k-NN) o el clasificador de máquina de vectores de soporte (SVM)? ¿Qué algoritmo se usa principalmente en la práctica? ¿Qué algoritmo garantiza una detección confiable en situaciones impredecibles?

¿Es esta tabla Hoja de trucos de Machine Learning (para scikit-learn) una descripción precisa de cuándo se deben aplicar diferentes técnicas de aprendizaje automático?

¿Qué se entiende por agrupamiento jerárquico aglomerativo?