¿Por qué las redes neuronales profundas usan tanta potencia de procesamiento?

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

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:

  1. Gran cantidad de parámetros ajustables.
  2. Pequeños pasos de aprendizaje gradual.
  3. 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.

El entrenamiento de una red neuronal profunda es lo que requiere una gran potencia de procesamiento. Se debe a varios factores.

  1. La cantidad de datos. (Tamaño del conjunto de datos)
  2. No. de capas en la red neuronal profunda.
  3. Tamaño de cada dato de entrada.
  4. Número de conexiones entre cada capa.

More Interesting

¿Cómo interpretan las redes neuronales las palabras y el lenguaje humano?

¿Por qué es Lisp el idioma preferido para la programación de AI / Neural Net?

¿Cuáles son algunos ejemplos de 'startups de aprendizaje automático' orientadas al consumidor?

¿Las computadoras reemplazarán a los intérpretes / traductores humanos en 10 años?

¿Deberíamos tener leyes que limiten los tipos de trabajos que la IA reemplazaría? Si es así, ¿qué trabajos serían?

¿Cuáles son las diferencias entre inteligencia y conciencia? ¿Puede una máquina que gana intelecto volverse consciente?

¿Es errónea la decisión de Arabia Saudita de otorgar la ciudadanía a un robot?

¿Qué debo aprender para crear un bot con cualidades de diálogos naturales?

¿Es realmente posible usar clasificadores de aprendizaje automático listos para usar como SVM o Random Forest para predecir con precisión la dirección del stock?

¿Cómo puede la teoría de categorías contribuir al desarrollo de una verdadera IA?

¿Cómo ser directo como en un programa de posgrado de IA / robótica? ¿Qué recursos debería mirar en mi tiempo libre?

¿Qué ventajas hay en obtener un MD / PhD en CS en lugar de un MD / PhD en aprendizaje automático si quieres estudiar IA?

¿Cuáles son las mejores bibliotecas de aprendizaje automático?

¿Por qué la notación de optimización de aprendizaje automático estándar considera cada peso individual en lugar de una matriz de peso completa por actualización?

¿Qué es el aprendizaje por refuerzo y por qué es difícil?