Un Ejemplo Concreto: Aprendiendo la Función XOR
Clase 4 de 9 • Curso de Redes Neuronales y Backpropagation 2017
Contenido del curso
Clase 4 de 9 • Curso de Redes Neuronales y Backpropagation 2017
Contenido del curso
Abramos la caja negra. Construiremos a continuación una red neuronal desde cero que aprende la función XOR. La elección de esta función no lineal no es por casualidad. Sin backpropagation seria difícil aprender a separar clases con una línea recta.
Para ilustrar este importante concepto, note a continuación cómo una línea recta no puede separar 0s y 1s, las salidas de la función XOR. Los problemas reales también son linealmente no separables.
La topología de la red es simple:
Entrenemos ahora el modelo. En nuestro ejemplo los valores entrenables son los pesos, pero tenga en cuenta que la investigación actual está explorando nuevos tipos de parámetros a ser optimizados. Por ejemplo: atajos entre capas, distribuciones estables en las capas, topologías, velocidades de aprendizaje, etc.
Backpropagation es un método para actualizar los pesos en la dirección (gradiente) que minimiza una métrica de error predefinida, conocida como Función de Pérdida on función de costo, dado un conjunto de observaciones etiquetadas. Este algoritmo ha sido repetidamente redescubierto y es un caso especial de una técnica mas general llamada diferenciación automática en modo acumulativo reverso.
Inicialización de la red
Inicialicemos los pesos de la red con valores aleatorios.
Propagación hacia adelante:
El objetivo de este paso es propagar hacia delante la entrada X a cada capa de la red hasta calcular un vector en la capa de salida h2.
Es así como sucede:
Calculando el error total
También conocido como "valor real menos predecido", el objetivo de la función de pérdida es cuantificar la distancia entre el vector predecido h2 y la etiqueta real proveída por un ser humano, y.
Note que la función de pérdida contiene un componente de regularización que penaliza valores de los pesos muy altos a manera de una regresión L2. En otras palabras, grandes valores cuadrados de los pesos incrementaran la función de pérdida, una métrica de error que en realidad queremos reducir.