Dos tareas que hacemos todo el tiempo, tanto consciente como inconscientemente, es
- para clasificar lo que percibimos a través de nuestros sentidos ( por ejemplo , taza de papel fría o caliente, taza de cerámica fría o caliente )
- predecir el futuro basado en nuestra experiencia pasada y
- realizar nuevas acciones donde la predicción y la categorización a menudo ocurren en tándem ( por ejemplo , continuamos aumentando la presión sosteniendo un vaso de papel hasta que sentimos que es lo correcto y nos detenemos mucho antes de aplastarlo. Si se tratara de una taza de cerámica, sería un agarre rápido – sin preocupación de aplastamiento ). La acción es impulsada por alguna forma de recompensa ( por ejemplo, el sabor de una bebida )
Hacemos ambas tareas: categorización y predicción para
- la simple operación mundana de sostener una taza
- y para una planificación consciente a largo plazo de nuestro futuro basada en las opciones que tenemos.
- Los animales, incluidos los insectos, hacen las mismas dos tareas todo el tiempo: una abeja decide en función de ciertos factores dónde y cuándo buscar miel. Un pajarito se prepara para el invierno almacenando semillas en diferentes lugares y recuerda comerlas en secuencia, las más antiguas primero, para evitar que se echen a perder.
Si tuviéramos que visualizar groseramente la categorización y las predicciones, se verían como dos caras de la misma moneda como se muestra en la figura a continuación.
- Will Naive Bayes dará un buen resultado si el conjunto de entrenamiento es mucho más pequeño que el no. de características en un clasificador de aprendizaje automático?
- ¿Por qué se supera un clasificador supervisado?
- Cómo usar la prueba T de Student para la selección de funciones
- ¿Cuál es una buena manera de entender las dos fórmulas con respecto a este modelo gráfico de probabilidad dado?
- ¿Cuáles son algunas técnicas comunes para el aumento de datos de video en el aprendizaje profundo?
- En el caso de la categorización, se dibuja una línea que separa los puntos de datos: gatos y perros.
- En el caso de la predicción, se traza una línea a través de los puntos de datos dados y, a menudo, se usa para estimar si continuaría creciendo / cayendo.
Tarea de categorización
- Si bien no dibujamos líneas dentro de nuestros cerebros que separan a los gatos y los perros ( la ubicación de los gatos y los perros en la imagen de arriba fue arbitraria y solo con fines ilustrativos ) estamos haciendo algo muy similar.
- No hace falta decir que la forma en que separamos a los gatos y los perros es mucho más compleja que la curva roja de arriba.
- Consideramos tantas características como la forma de la cabeza, el tamaño del cuerpo, la cola, etc. para clasificar un gato / perro. Hay casos en los que podríamos encontrar que no es tan fácil separar un gato y un perro, por ejemplo, si un perro es pequeño y peludo. Por lo tanto, no siempre es una categorización “clara” en perros y gatos.
- Cuando somos niños, una vez que hemos categorizado a los gatos y a los perros en función de sus características, podemos clasificar a un gato o un perro que nunca hemos visto antes: el límite, que está representado simbólicamente por la curva roja de arriba, nos ayuda a colocar al perro o al gato a la derecha categoría.
Tarea de predicción
- De manera similar, si tuviéramos que adivinar hacia dónde se dirige la curva ( figura arriba a la derecha ) en función de los puntos de datos dados, diríamos que es más probable que crezca a pesar de ser una trayectoria irregular.
- La curva también es una predicción para ajustar un nuevo punto que está dentro del rango de los puntos de datos existentes, es decir, qué tan cerca estará un nuevo punto de la curva.
- Entonces, los puntos rojos en la figura anterior ( derecha ) son ejemplos de ambos casos, puntos dentro y más allá de los puntos de datos dados, la curva intenta predecirlos a ambos ( con pequeños errores en el caso de algunos puntos rojos ).
En resumen, ambas tareas, categorización y predicción, se reducen a dibujar líneas curvas
- Entonces, si podemos lograr que una máquina pueda “dibujar líneas curvas”, ya hemos terminado.
- Luego podemos extenderlo para hacer lo mismo para dibujar planos curvos que separan cosas en tres dimensiones. Podemos extender incluso más allá de las tres dimensiones a cientos y miles de dimensiones donde cada dimensión es una característica como la rugosidad, el tamaño, el color, etc. Por lo tanto, las llamaremos líneas curvas por ahora.
- Los éxitos recientes que hemos tenido en el aprendizaje automático han sido en gran medida esto: las máquinas pueden dibujar bien las líneas curvas. Tan bien, que en algunos casos, son mejores que nosotros para dibujarlos ( por ejemplo, categorizar imágenes en gatos y perros con mayor precisión que nosotros )
- Lo hacen aprendiendo de los datos de capacitación que les proporcionamos, tal como aprendemos de la experiencia. Mejoran con cada vez más datos de capacitación, tal como lo hacemos nosotros.
Entonces, ¿cómo hacemos que las máquinas aprendan a dibujar líneas curvas?
- Si le pedimos a un niño que conecte los puntos a continuación, simplemente dibujaría una curva que los conecta con facilidad.
- Las máquinas lo hacen de una manera extraña / desordenada ( figura a continuación ), pero funciona bastante bien.
- Es desordenado solo porque, a diferencia de un niño que ve todos los puntos y dibuja una curva a través de ellos, a las máquinas no se les da la ubicación de los puntos: al principio adivinan al azar dónde dibujar líneas y refinar gradualmente la ubicación de las líneas en función de la retroalimentación de qué tan cerca están de los puntos.
- Y si se les dan puntos suficientes para entrenar, las líneas curvas que crearon pueden estar con cierta precisión cerca de un nuevo punto, dentro e incluso más allá de las regiones abarcadas por puntos que ya han visto antes, sin tener que cambiar la ubicación de las líneas haciendo La curva.
- Este enfoque funciona porque se vuelven tan buenos para adivinar la ubicación de las líneas en la fase de entrenamiento, que también tienen una oportunidad “justa” de estar cerca de nuevos puntos, incluso sin tener que ajustar las líneas.
- En esencia, han “generalizado” la forma de la curva más allá de los puntos en los datos de entrenamiento, no memorizados para ajustarse simplemente a los datos de entrenamiento (la memorización los haría fallar cuando se les da un nuevo punto que nunca han visto ).
- Para un ejemplo concreto, veamos una máquina de juguetes con solo 4 nodos que se muestran a continuación.
- El objetivo de esta máquina de cuatro nodos es dibujar una línea a través de los puntos a continuación, como la línea negra a través de los puntos.
- Los tres nodos dispuestos verticalmente arriba son como “artistas con los ojos vendados” que pueden dibujar líneas pero no pueden “ver completamente” los puntos que se les dan.
- Como no pueden “ver”, cada uno de ellos dibuja un segmento de línea (el segmento de línea es una línea que está recortada; observe que ninguna de las líneas rojas que dibujaron los artistas con los ojos vendados se extiende por debajo del eje x, la línea horizontal) al azar para empezar
- El nodo único a la derecha es como un tipo de conductor
- el nodo conductor suma las tres líneas y construye una nueva curva. Al sumar, puede elegir dar a las líneas diferentes niveles de importancia o pesos y también desplazarlas hacia arriba / abajo. Visualmente, esto se manifiesta en algunos casos, de segmentos de línea que se magnifican / encogen ( escalan ), voltean verticalmente alrededor del eje x y / o se mueven hacia arriba / hacia abajo.
- El conductor también obtiene la información de qué tan lejos estaban las curvas de los puntos en los datos de entrenamiento.
- Usando esta información, el conductor propaga pistas de cómo cada uno de los nodos con los ojos vendados estaban dibujando líneas cerca de los puntos.
- Basado en esta retroalimentación propagada, cada uno de esos tres artistas luego ajusta sus posiciones de línea inclinando y moviendo sus líneas hacia arriba / abajo.
- Continúan haciendo esto cada vez que reciben comentarios y, finalmente, logran crear una curva que se ajuste a los puntos.
- Aunque es visualmente contrario a la intuición, si sumamos esos segmentos de línea roja arriba, producirá una sola línea roja a través de los puntos a continuación. Es contrario a la intuición solo porque algunos segmentos de línea se pueden voltear y / o desplazar hacia arriba / abajo mientras se suman.
Ahora veamos un modelo de juguete con tres capas de artistas con los ojos vendados como se muestra a continuación:
- la primera capa de artistas con los ojos vendados solo dibuja líneas recortadas como antes
- cada capa posterior puede hacer una suma ponderada ( como el conductor en la máquina de una sola capa ) de la capa anterior y la envía a la capa siguiente.
- El director llega a resumirlos todos finalmente.
Salida de la primera capa de nodos a continuación, igual que antes, líneas recortadas (recortadas, lo que significa que ninguna de las líneas rojas se extiende por debajo del eje x, la línea horizontal negra)
La salida a continuación de la segunda capa se enriquece, ya no son simples líneas rojas recortadas
La salida de curvas de la tercera capa se vuelve aún más rica en estructura ( por ejemplo, líneas rojas más curvas ) …
La mejor parte es que cuando el nodo del orquestador suma las curvas rojas de la tercera capa arriba, mágicamente obtenemos la curva final debajo de todos esos puntos
Esta progresión de construcción más rica de curvas, a medida que nos movemos a través de las capas, en este modelo de juguete simple es similar a lo que sucede en nuestros cerebros mientras leemos este texto.
- La imagen a continuación ilustra cómo progresa la información visual a través del cerebro: la representación de la información visual se enriquece progresivamente a medida que asciende los módulos cerebrales: primero líneas / bordes, luego textura, objetos de nivel superior, conceptos, etc.
Si bien algunos de los modelos de aprendizaje automático que tenemos ahora son bastante complejos, la esencia de lo que sucede dentro de ellos es la misma que la capturada en los modelos de juguetes anteriores.
- todos aprenden a crear equivalentes de líneas curvas con muchas características.
- Si bien ninguno de nosotros puede visualizar más allá de las líneas curvas o las superficies curvas, el proceso de aprendizaje que ocurre con miles o cientos de miles de características es el mismo que el aprendizaje con una característica. Somos como hormigas planas: podemos conceptualizarlo incluso si no podemos visualizarlo.
- Por ejemplo, cuando una máquina clasifica una imagen de 784 x 784 píxeles como un gato o un perro, está dibujando una línea curva equivalente en un “papel no visualizable” con aproximadamente 6 millones de bordes ( características ), pero el principio es exactamente el mismo que el de los modelos de juguetes.
Notas de implementación adicionales y referencias
- Las imágenes de ajuste de curvas son del blog de aprendizaje automático de Andrej Karpathy Clasificar datos de juguete 1D.
- El aprendizaje profundo de Andrej Karpathy en su navegador es quizás la mejor herramienta en línea disponible hasta la fecha, para que cualquiera pueda comprender de qué se trata el aprendizaje automático directamente en el navegador, tanto para programadores como para aquellos que solo quieren tener una intuición visual: el interactivo las demos son muy perspicaces (no hace falta decir que, cuando se trata de conferencias, el curso de Andrew Ng es el lugar para comenzar )
- La activación de ReLu se usó para la no linealidad en la explicación de esta respuesta: ReLu realmente resalta, a diferencia de sigmoide o tanh, cómo simples líneas recortadas pueden construir curvas complejas. También destaca la importancia de la suma ponderada, la parte lineal donde ocurre el verdadero aprendizaje. Sin embargo, la linealidad por sí sola no puede hacerlo ( solo las sumas ponderadas de cualquier número de líneas solo producirían otra línea sin importar cuántos términos agreguemos, nunca obtendremos curvas ), la no linealidad es esencial. ReLu ofrece la no linealidad requerida para generar líneas recortadas. Pero la parte lineal, donde el aprendizaje realmente sucede ( los valores de pendiente e intersección ) es la que hace el trabajo real: el ajuste de la curva.
- 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.
- 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)
- Referencia a aves con memoria episódica PNAS
- Referencia para la capacidad de las abejas para almacenar objetos y eventos en categorías y conceptos PNAS
Tener la oportunidad de responder a una persona cuyo nombre / alias es Alan Turing es un honor de proporciones inefables 🙂 ¡gracias!