Mundher y Vahid ya lo han cubierto. Agregando una forma más de visualizar a la derecha en el navegador para modelos de juguetes simples 1D y 2D usando Convnet.js – Blog de aprendizaje automático de Andrej Karpathy Clasifique datos de juguetes 1D, clasifique datos de juguetes 2D. Su sitio nos permite cambiar el código de los modelos directamente en el navegador y visualizar el resultado de cada capa.
Una cosa que visualmente parece un rompecabezas, a primera vista, en las imágenes 2D de caras en la pregunta es, ¿cómo pueden las pequeñas piezas en la primera imagen sumar a la segunda (o el equivalente a la cara completa de las partes invertidas / volteadas)? en segunda figura). La respuesta a esa pregunta se ilustra en el modelo de juguete 1D simple a continuación. Esencialmente, la suma ponderada en los nodos ensambla las piezas juntas como se describe a continuación, como colocar piezas del rompecabezas con las operaciones de volteo, escalado, desplazamiento, etc.
La mayor parte del trabajo se realiza en la suma ponderada w x + b donde ocurre el aprendizaje. La no linealidad, por ejemplo en el caso de ReLU en los modelos a continuación, ofrece el recorte clave y necesario de las líneas.
- ¿Cómo se forma el componente de atención de las redes neuronales atencionales?
- Cómo escribir una aplicación simple de autoaprendizaje usando Scala que comprenda las entradas del lenguaje natural
- ¿Cuáles fueron los avances más importantes en la IA de juegos de estrategia en tiempo real en los últimos 15 años?
- ¿El aprendizaje automático automatizado necesita aleatoriedad?
- ¿Cuál sería el mejor tema para hacer una maestría en inteligencia artificial, robótica o aprendizaje automático?
Por ejemplo, para visualizar cómo se puede usar un modelo de juguete con tres capas para aproximar la línea curva a continuación:
Salida de la primera capa de nodos a continuación utilizando el modelo 1D anterior: las líneas rojas son salidas de la primera capa. La curva negra es una que estamos tratando de ajustar. La primera capa solo genera líneas recortadas (el recorte realizado por la no linealidad ReLU, podría haber sido sigmoide / tanh ), esto es análogo a la primera imagen 2-D en cuestión.
El resultado a continuación de la segunda capa, que ahora se enriquece, ya no recorta líneas. Este es el análogo de la segunda imagen en la pregunta: emergen formas.
La salida de curvas de la tercera capa: más estructura que las capas anteriores. Este es el análogo de la imagen de la tercera capa en cuestión.
La suma ponderada final de todo suma las curvas rojas de arriba produce la curva debajo de todos esos puntos ( esto es simplemente porque la “w” en la suma ponderada w x + b en cada capa (antes de aplicar la no linealidad) , escalas / voltea / gira curvas / líneas yb desplaza las curvas hacia arriba / abajo: todo lo que hace la no linealidad (ReLu) es generar curvas recortadas )
Para crear la ecuación que resume la curva final después de entrenar la red neuronal del juguete, podemos examinar los pesos aprendidos en una ventana de depuración del navegador Chrome para el enlace de arriba.
- El modelo predeterminado en la página tiene dos capas ocultas ( una Relu y otra sigmoidea ). Podemos cambiar el código para hacer que ambas capas sean ReLU, por ejemplo, y agregar cualquier cantidad de capas simplemente cortando y pegando una de esas capas.
- Entonces podemos convencernos escribiendo las ecuaciones de las líneas en la capa final y confirmando con Wolfram que realmente resumen lo que vemos. Por ejemplo, la siguiente ecuación es uno de esos ejemplos construido a partir de los pesos examinados en la ventana de depuración en Chrome para un modelo de juguete.
- gráfico max (0, (-. 57) x + 4.45) * 1.11 -5.399 + max (0, (-. 28) x + 2.19) * (. 54) -5.399 + max (0, (- 1.09) x + 1,53) * (- 1,09) – 5,399
- Gráfico directo de la ecuación anterior en Wolfram
- La función de activación en esta ecuación es ReLu – max (0, x)
Las tres capas se usaron solo para ilustrar la riqueza progresiva de las curvas a medida que avanzamos de una capa a la siguiente.
- En la práctica, una sola capa puede clavar esa curva con suficientes nodos.
Estas imágenes fueron adaptadas de las respuestas a un par de preguntas relacionadas ¿ Qué es el aprendizaje automático en términos simples?
¿Cómo puede una red neuronal profunda con activaciones de ReLU en sus capas ocultas aproximar cualquier función?