¿Por qué el aprendizaje de la red neuronal se ralentiza a medida que el error disminuye? ¿Esto necesita ser el caso?

El aprendizaje en redes neuronales se realiza principalmente a través de alguna variación del método de descenso de gradiente elemental. Este mismo método es omnipresente (nuevamente en alguna forma o forma) en otros métodos numéricos en matemáticas, especialmente en la solución numérica de ecuaciones diferenciales. Resulta que, para muchos problemas numéricos (el entrenamiento de las redes neuronales es una de ellas), el descenso de gradiente es un “método rígido” (vea la ecuación de rigidez y las referencias para intentar definir la “rigidez”). En palabras simples, la rigidez se refiere al caso en el que el error numérico al resolver una ecuación particular diverge rápidamente (típicamente exponencialmente) con el tamaño del paso. En tal caso, uno necesita usar tamaños de paso extremadamente pequeños para mantener el error bajo control. Eso es lo que básicamente sucede cuando se entrena redes neuronales a través del descenso de gradiente.

Una nota IMPORTANTE: el mecanismo de “rigidez” aún no se entiende muy bien matemáticamente, a pesar de una larga historia. Ni siquiera tenemos una definición única de rigidez universalmente aceptada, aunque la mayoría de las definiciones son bastante cercanas entre sí. Tampoco se conocen exactamente las condiciones bajo las cuales un método numérico particular se vuelve rígido para un problema numérico particular. Entonces, en relación con su pregunta, entendemos algunos de los aspectos involucrados en la desaceleración del aprendizaje en las redes neuronales, pero no todo.

No, no tiene por qué ser el caso. Una red neuronal busca minimizar una función relacionada con los errores que encuentra al proporcionar la salida para un conjunto de entradas dado.

Es fácil diseñar un problema y una red neuronal que tenga éxito en su tarea en un número arbitrario de pasos con el error gong hacia abajo en pasos iguales.

Me sorprendería mucho, pero no lo he intentado, si uno no puede hacer una red para la cual el error aumenta en cada paso, excepto en el último, donde el error es cero. Esto requeriría algo de diseño, pero estoy seguro de que se puede hacer.

En lo anterior, he dicho que diseñamos la red y el problema, en general uno esperaría que el error se reduzca aproximadamente en proporción al error restante, de ahí su declaración.

Pero esto no necesita sostenerse.

http: // neuralnetworksanddeeplear

Las razones de la desaceleración no se entienden completamente, pero tenemos algunas ideas básicas.

Para los clasificadores, la mayoría de los ejemplos de entrenamiento comienzan como clasificados incorrectamente. Con el tiempo, más de ellos se clasifican correctamente. Al principio del aprendizaje, es posible que tenga una tasa de error de casi el 100%, por lo que cada ejemplo en el minibatch contribuye al aprendizaje. Al final del aprendizaje, es posible que tenga una tasa de error de casi 0%, por lo que casi ninguno de los ejemplos en el minibatch contribuye al aprendizaje. Este problema puede resolverse hasta cierto punto utilizando ejemplos de minería o muestreo de importancia. Ambas son solo técnicas para entrenar en ejemplos más difíciles con más frecuencia.

Hay otras razones más complicadas. Una de ellas es que el número de condición del Hessian tiende a empeorar mucho a medida que avanza el aprendizaje, de modo que el tamaño óptimo del paso se vuelve cada vez más pequeño.

El aprendizaje de la red neuronal se vuelve más lento a medida que los errores disminuyen; Creo que estaría bien decir que la reducción de errores se debe a saber más y, por lo tanto, a tener menos que aprender. Es decir, el aprendizaje se debe a errores (o brechas en el conocimiento) y, por lo tanto, a medida que el producto se aproxima al 100% de “corrección”, el espacio de aprendizaje se acerca a 0. Puede que no haya una base de conocimiento que lo abarque todo, pero el área de conocimiento de un problema específico es siempre finito y, por lo tanto, se puede conocer lo suficiente para cubrir un área de aplicación tan amplia como sea posible / necesaria (de acuerdo con la regla 80/20)

* Descargo de responsabilidad: no soy un profesional.

More Interesting

¿Qué proyectos podría hacer en el paralelismo a nivel de hilo?

¿Cómo funciona el spinoff académico?

Para un estudiante de doctorado ambicioso en seguridad (de sistemas), ¿solo cuentan las 4 conferencias principales (nivel 1)?

¿Qué campo de la informática se ocupa de los lenguajes humanos?

¿Cuáles son algunos de los problemas de investigación más interesantes en los sistemas de recomendación?

¿En qué se diferencia la investigación de IA en India de la investigación de IA en EE. UU. O China?

¿Qué áreas de la informática involucran más trabajo de hardware?

¿Qué es un buen libro para un tratamiento matemático adecuado del control de red?

¿Cuál es el contexto de los algoritmos de transmisión en la ciencia de datos?

¿Cuáles son algunos temas de investigación recientes sobre diseño de máquinas?

¿Qué profesores de informática han tenido un impacto significativo en la industria? Por impacto, me refiero a cualquier otra cosa que no sea el escenario en el que un profesor publica artículos, y esos artículos nunca son leídos por personas de la industria o impactan prácticas industriales.

¿Qué es el Protocolo de separación de localizador / identificador (LISP) en términos simples, con las terminologías en eso?

¿Cuáles son los algoritmos más importantes que todo informático debe dominar?

¿Cuáles son algunos avances recientes en la teoría de juegos?

¿Cuáles son los temas de actualidad en la investigación en ingeniería informática?