Información administrativa
Título | Derivación y aplicación de la retropropagación |
Duración | 60 |
Módulo | B |
Tipo de lección | Tutorial |
Enfoque | Técnico — Aprendizaje profundo |
Tema | Derivación e implementación de la retropropagación |
Keywords
Retropropagación, funciones de activación, desviación,
Objetivos de aprendizaje
- Desarrollar una comprensión de gradiente y tasa de aprendizaje
- Deriva la retropropagación para capas ocultas y externas
- Implimenting Backpropagation desenchufada y enchufada mediante diferentes funciones de activación
Preparación prevista
Eventos de aprendizaje que se completarán antes
Obligatorio para los estudiantes
- Revisión de cálculo (derivados, derivados parciales, la regla de la cadena)
Opcional para estudiantes
Ninguno.
Referencias y antecedentes para estudiantes
- John D Kelleher y Brain McNamee. (2018), Fundamentos del aprendizaje automático para análisis de datos predictivos, MIT Press.
- Michael Nielsen. (2015), Redes neuronales y aprendizaje profundo, 1. Prensa de determinación, San Francisco CA USA.
- Charu C. Aggarwal. (2018), Redes neuronales y aprendizaje profundo, 1. Springer
- Antonio Gulli, Sujit Pal. Aprendizaje profundo con Keras, Packt, [ISBN: 9781787128422].
Recomendado para profesores
Ninguno.
Material didáctico
Instrucciones para profesores
- Este tutorial presentará a los estudiantes los fundamentos del algoritmo de aprendizaje de retropropagación para una red neuronal artificial. Este tutorial consistirá en la derivación del algoritmo de retropropagación utilizando lápiz y papel, luego la aplicación del algoritmo de retropropagación para tres funciones de activación de capas ocultas diferentes (Sigmoid, Tan H y ReLu), utilizando Python con solo la biblioteca Numpy (para la manipulación de matrices) y luego utilizando KERAS.. Esto se basará en la comprensión fundamental de las diferentes funciones de activación cuando una red neuronal aprende y cómo las funciones de activación difieren en la complejidad computacional y la aplicación desde lápiz y papel, para codificar desde cero usando Numpy y luego utilizando un módulo de alto nivel -> Keras.
- Nota: La topología es la misma que la Conferencia 1/Tutorial 1, pero los pesos y las entradas son diferentes, por supuesto, puedes usar los mismos pesos.
- A los estudiantes se les presentarán cuatro problemas (el primero es opcional o como material adicional):
- Problema 1: La derivación del algoritmo de retropropagación (usando la función Sigmoid para las funciones de activación interna y externa y MSE como la función de pérdida), se pedirá a los estudiantes que deriven la fórmula de retropropagación (20 minutos para completar).
- Problema 2: Los estudiantes aplicarán tres funciones de activación para una sola actualización de peso (backpropagation SGD), utilizando lápiz y papel para (20 minutos):
- Sigmoide (capa oculta), sigmoide (capa exterior) y MSE
- Tan H (capa oculta), sigmoide (capa exterior) y MSE
- ReLU (capa oculta), sigmoide (capa exterior) y MSE
- Problema 3: Se pedirá a los estudiantes (con orientación dependiendo de la experiencia de codificación previa) que desarrollen una red neuronal desde cero utilizando solo el módulo Numpy, y las funciones de peso y activación donde se proporciona la opción de seleccionar desde cualquier función de activación de capa oculta para actualizar los pesos utilizando SGD (20 minutos para completar).
- Problema 4: Se pedirá a los estudiantes (con orientación dependiendo de la experiencia de codificación previa) que desarrollen una red neuronal utilizando el módulo Tensorflow 2.X con el módulo de Keras inbuild, y las funciones de peso y activación, y luego usar pesas aleatorias para completar una o varias actualizaciones de peso. Por favor, no como Keras utiliza una pérdida MSE ligeramente diferente, la pérdida se reduce más rápido en el ejemplo de Keras.
- Keras MSE = pérdida = cuadrado(y_true — y_pred)
- Tutorial MSE = pérdida = (cuadrado(y_true — y_pred))*0.5
- Los subobjetivos para estos tres Problemas, es conseguir que los estudiantes entiendan el algoritmo de retropropagación, lo apliquen para que para la sintonización hipermétrica, los estudiantes puedan comprender mejor los efectos del hiperparámetro.
Esquema
Duración (Min) | Descripción |
---|---|
20 (opcional) | Problema 1: derivación de la fórmula de retropropagación utilizando la función Sigmoid para las funciones de activación interna y externa y MSE como función de pérdida (Opcional) |
20 | Problema 2: Los estudiantes aplicarán tres funciones de activación para una sola actualización de peso (backpropagation SGD), utilizando lápiz y papel para (20 minutos): |
20 | Problema 3: Los estudiantes desarrollarán una red neuronal desde cero utilizando solo el módulo Numpy, donde el usuario puede seleccionar entre cualquiera de las tres funciones de activación de capas ocultas donde el código puede preformar la retropropagación |
10 | Problema 4: Los estudiantes utilizarán el módulo Tensorflow 2.X con el módulo inbuild Keras, preformando la retropropagación usando SGD. |
10 | Resumen del proceso de pase hacia adelante |
Reconocimientos
El programa de maestría en IA centrada en el ser humano fue cofinanciado por el Mecanismo «Conectar Europa» de la Unión Europea en virtud de la subvención «CEF-TC-2020-1 Digital Skills 2020-EU-IA-0068».