Aprendizaje profundo de Python: conceptos básicos
En este capítulo, analizaremos los fundamentos de Python Deep Learning.
Modelos / algoritmos de aprendizaje profundo
Aprendamos ahora sobre los diferentes modelos / algoritmos de aprendizaje profundo.
Algunos de los modelos populares dentro del aprendizaje profundo son los siguientes:
- Redes neuronales convolucionales
- Redes neuronales recurrentes
- Redes de creencias profundas
- Redes generativas de confrontación
- Auto-codificadores y así sucesivamente
Las entradas y salidas se representan como vectores o tensores. Por ejemplo, una red neuronal puede tener entradas donde los valores RGB de píxeles individuales en una imagen se representan como vectores.
Las capas de neuronas que se encuentran entre la capa de entrada y la capa de salida se denominan capas ocultas. Aquí es donde ocurre la mayor parte del trabajo cuando la red neuronal intenta resolver problemas. Una mirada más cercana a las capas ocultas puede revelar mucho sobre las características que la red ha aprendido a extraer de los datos.
Se forman diferentes arquitecturas de redes neuronales eligiendo qué neuronas conectar con las otras neuronas en la siguiente capa.
Pseudocódigo para calcular la salida
A continuación se muestra el pseudocódigo para calcular la salida de Forward-propagating Neural Network -
- # nodo []: = matriz de nodos ordenados topológicamente
- # Una arista de a a b significa que a está a la izquierda de b
- # Si la red neuronal tiene entradas R y salidas S,
- # entonces los primeros nodos R son nodos de entrada y los últimos nodos S son nodos de salida.
- # entrantes [x]: = nodos conectados al nodo x
- # peso [x]: = pesos de los bordes entrantes ax
Para cada neurona x, de izquierda a derecha:
- si x <= R: no hacer nada # es un nodo de entrada
- entradas [x] = [salida [i] para i en entrante [x]]
- suma_ponderada = producto_punto (pesos [x], entradas [x])
- salida [x] = Función_activación (suma_ponderada)