Gráficos computacionales en aprendizaje profundo

Los gráficos computacionales son un tipo de gráfico que se puede utilizar para representar expresiones matemáticas. Esto es similar al lenguaje descriptivo en el caso de los modelos de aprendizaje profundo, proporcionando una descripción funcional de la computación requerida.
En general, el gráfico computacional es un gráfico dirigido que se utiliza para expresar y evaluar expresiones matemáticas. 

Estos se pueden utilizar para dos tipos diferentes de cálculos:

  1. Cálculo directo
  2. Cálculo hacia atrás

Las siguientes secciones definen algunas terminologías clave en gráficos computacionales.

  • Una variable está representada por un Node en un gráfico. Puede ser un escalar, un vector, una array, un tensor o incluso otro tipo de variable.
  • Un argumento de función y la dependencia de datos están representados por un borde. Son similares a los punteros de Node.
  • Una función simple de una o más variables se llama operación. Hay un conjunto de operaciones que están permitidas. Las funciones que son más complejas que estas operaciones en este conjunto se pueden representar combinando varias operaciones.

Por ejemplo, considere esto:  Y = (a+b) * (b-c)
Para una mejor comprensión, introducimos dos variables d y e tales que cada operación tiene una variable de salida. Ahora tenemos: 
d = a+b
e = b-c
Y = d*e

Aquí, tenemos tres operaciones, suma, resta y multiplicación. Para crear un gráfico computacional, creamos Nodes, cada uno de ellos tiene diferentes operaciones junto con variables de entrada. La dirección de la array muestra la dirección de la entrada que se aplica a otros Nodes. 

Podemos encontrar el valor de salida final inicializando las variables de entrada y, en consecuencia, calculando los Nodes del gráfico. 

Gráficos computacionales en aprendizaje profundo 

Los cálculos de la red neuronal se organizan en términos de paso hacia adelante o paso de propagación hacia adelante en el que calculamos la salida de la red neuronal, seguido de un paso hacia atrás o paso de propagación hacia atrás, que usamos para calcular gradientes/derivados. Los gráficos de cálculo explican por qué está organizado de esta manera. 

Si uno quiere entender las derivadas en un gráfico computacional, la clave es entender cómo un cambio en una variable genera un cambio en la variable que depende de ella. Si a afecta directamente a c , entonces queremos saber cómo afecta a c. Si hacemos un pequeño cambio en el valor de a, ¿cómo cambia c ? Podemos llamar a esto como la derivada parcial de c con respecto a a. 
El gráfico de retropropagación para obtener derivadas se verá así: 
 

Tenemos que seguir la regla de la string para evaluar las derivadas parciales de la variable de salida final con respecto a las variables de entrada: a, b y c. Por lo tanto, las derivadas se pueden dar como: 
 

Esto nos da una idea de cómo los gráficos computacionales facilitan la obtención de derivadas mediante la retropropagación.

Tipos de gráficos computacionales:

Tipo 1: gráficos computacionales estáticos

  • Implica dos fases: –
    • Fase 1:- Haz un plan para tu arquitectura.
    • Fase 2:- Para entrenar el modelo y generar predicciones, aliméntelo con una gran cantidad de datos.
  • El beneficio de utilizar este gráfico es que permite una potente optimización y programación de gráficos fuera de línea. Como resultado, deberían ser más rápidos que los gráficos dinámicos en general.
  • El inconveniente es que tratar con datos estructurados e incluso de tamaño variable es antiestético.

Tipo 2: gráficos computacionales dinámicos

  • A medida que se realiza el cálculo directo, el gráfico se define implícitamente.
  • Este gráfico tiene la ventaja de ser más adaptable. La biblioteca es menos intrusiva y permite la generación y evaluación de gráficos intercalados. El cálculo directo se implementa en su lenguaje de programación preferido, completo con todas sus funciones y algoritmos. La depuración de gráficos dinámicos es simple. Debido a que permite la ejecución línea por línea del código y el acceso a todas las variables, encontrar errores en su código es considerablemente más fácil. Si desea emplear Deep Learning para cualquier propósito genuino en la industria, esta es una característica imprescindible.
  • La desventaja de emplear este gráfico es que hay un tiempo limitado para la optimización del gráfico y el esfuerzo puede perderse si el gráfico no cambia.

Publicación traducida automáticamente

Artículo escrito por devanshigupta1304 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *