Las redes neuronales profundas (DNN) necesitan tanta potencia computacional porque son redes neuronales (NN) a gran escala que, a diferencia de las NN superficiales, tienen muchos más parámetros para ajustar. El proceso de actualización también “rastrea” en lugar de “ejecutarse”, es decir, el sistema solo actualiza los parámetros en una pequeña cantidad especificada por la velocidad de aprendizaje, la regla de actualización viene dada por:
[matemáticas] \ Phi \ leftarrow \ Phi – \ lambda \ frac {\ partial L} {\ partial \ Phi} [/ math]
Donde [matemáticas] \ lambda [/ matemáticas] = tasa de aprendizaje pequeña, [matemáticas] L [/ matemáticas] = función de pérdida
- ¿Qué problemas pueden considerarse casi resueltos en Inteligencia Artificial (Machine Learning / NLP / Vision)?
- ¿Pueden las máquinas enseñar a otras máquinas?
- Cuando se crea una inteligencia artificial capaz de jugar StarCraft, a niveles sobrehumanos, ¿qué podrá hacer la IA, en general?
- ¿Es útil una clase de Inteligencia Artificial para un ingeniero mecánico interesado en mecatrónica y robótica?
- ¿Cuál resultará ser el fenómeno más estable en el universo, el aumento de la entropía o el aumento de la inteligencia?
En un proceso de optimización de descenso de gradiente por lotes, el sistema estimará los gradientes en un lote de ejemplos de entrenamiento y simplemente dará un pequeño paso en la dirección opuesta a la dirección de ese gradiente. Eso significa que para que se produzca una convergencia adecuada, necesitamos ejecutar tales círculos de evaluación de gradiente + actualización varias veces en una sola sesión de aprendizaje y eso significa consumir mucha potencia computacional. Sin embargo, existen métodos como los optimizadores de momentos adaptativos (Adam) que ayudan a acelerar la velocidad de convergencia incluso cuando la inicialización del DNN es muy pobre.
Por lo tanto, los DNN son computacionalmente exigentes en el momento de aprendizaje debido a:
- Gran cantidad de parámetros ajustables.
- Pequeños pasos de aprendizaje gradual.
- Se necesita una gran cantidad de ejemplos de entrenamiento para ayudar a buscar el punto mínimo en la superficie de error más bien no convexa.
Todo lo que ralentiza el aprendizaje de los DNN es por eso que necesitamos unidades de procesamiento de gráficos (GPU) para ejecutar los DNN en paralelo. Otras arquitecturas DNN como las redes neuronales convolucionales (convNet) utilizan un proceso de distribución de peso para reducir la cantidad de parámetros ajustables con el supuesto de que los datos están espacialmente relacionados, es decir, la traducción de una característica no cambia esa característica. Las capas convolucionales se usan ampliamente para la extracción de características en la visión por computadora (CV) antes de alimentar al clasificador final en parte debido a esta razón.
Espero que esto ayude.