: interpolación, proyección t-SNE (¡con gifs y ejemplos!) Destacado En la serie " ", veremos cómo usar el aprendizaje profundo para resolver problemas complejos de principio a fin como lo hacemos en Preferiremos ver diferentes técnicas, junto con algunos ¡No olvide consultar los ! Bits de aprendizaje profundo no AI Odyssey . ejemplos y aplicaciones. bits de aprendizaje profundo n.º 1 Si te gusta la Inteligencia Artificial, ¡asegúrate de suscribirte al boletín para recibir actualizaciones sobre artículos y mucho más! Introducción , vimos qué son los codificadores automáticos y cómo funcionan. Hoy veremos cómo pueden ayudarnos a de maneras interesantes. Para ello, trabajaremos sobre imágenes, utilizando la arquitectura Convolutional Autoencoder ( ). La última vez visualizar los datos muy CAE ¿Cuál es el espacio latente de nuevo? Un codificador automático está hecho de dos componentes, aquí hay un recordatorio rápido. El trae los datos de una entrada de alta dimensión a una capa de cuello de , donde la cantidad de neuronas es la más pequeña. Luego, el toma esta entrada codificada y la vuelve a convertir a la forma de entrada original, en nuestro caso, una imagen. El el espacio en el que se encuentran los datos en la capa de cuello de botella. codificador botella decodificador espacio latente es Arquitectura de codificador-decodificador convolucional El espacio latente contiene una representación de la imagen, que es el decodificador puede usar para tratar de reconstruir la entrada con la . Para funcionar bien, la red tiene que aprender a extraer las características del cuello de botella. comprimida la única información que mayor fidelidad posible más relevantes ¡Veamos qué podemos hacer! el conjunto de datos Cambiaremos los conjuntos de datos de la última vez. En lugar de mirar o , trabajaremos en probablemente el el conjunto de datos de a mano. Por lo general, prefiero trabajar con conjuntos de datos solo por diversidad, pero MNIST es para lo que haremos hoy. mis ojos cuadrados azules más famoso para la visión por computadora: MNIST dígitos escritos menos convencionales realmente conveniente Aunque las visualizaciones de MNIST son en Internet, las imágenes de esta publicación se generan al 100 % por lo que puede usar estas técnicas con sus propios modelos. Nota: bastante comunes a partir del código, MNIST es un conjunto de datos etiquetados de imágenes de 28x28 de dígitos escritos a mano Línea de base: rendimiento del codificador automático Para comprender qué tipo de características es capaz de extraer el codificador de las entradas, primero podemos observar Si esto te , es normal, ya lo hicimos la última vez. Sin embargo, este paso es porque establece la línea de base para nuestras del modelo. las imágenes reconstruidas. suena familiar necesario expectativas Para esta publicación, la capa de cuello de botella tiene solo , lo cual es . Si fuera una imagen, píxeles. Nota: 32 unidades una reducción de dimensionalidad realmente brutal ni siquiera tendría 6x6 Cada dígito se muestra junto a su reconstrucción borrosa Podemos ver que el codificador automático reconstruye los dígitos. La porque la entrada está en la capa de cuello de botella. La razón por la que necesitamos echar un vistazo a es para asegurarnos de que no estamos el conjunto de entrenamiento. con éxito reconstrucción es borrosa comprimida las muestras de validación sobreajustando : Bono Aquí está la animación del proceso de entrenamiento. Reconstrucción de muestras de (izquierda) y (derecha) en cada paso entrenamiento validación visualización t-SNE ¿Qué es t-SNE? Lo primero que queremos hacer cuando trabajamos con un conjunto de datos es los datos de una manera . En nuestro caso, el de la tiene 784 dimensiones (28_*28*1_), y claramente trazar eso. El desafío es exprimir toda esta dimensionalidad en algo que podamos captar, en o . visualizar significativa espacio imagen (o píxel) no podemos 2D 3D Aquí viene , un algoritmo que asigna un a un espacio mientras intenta mantener la entre los puntos. Usaremos esta técnica para trazar incrustaciones de nuestro conjunto de datos, directamente desde el y desde el . t-SNE espacio dimensional alto 2D o 3D, misma distancia primero espacio de la imagen luego espacio latente más pequeño Nota: t-SNE es mejor para la visualización que sus primos PCA e ICA . Proyectar el espacio de píxeles Comencemos trazando la incrustación t-SNE de nuestro conjunto de datos (desde el espacio de la imagen) y veamos cómo se ve. Proyección t-SNE de representaciones de del conjunto de validación espacio de imagen Ya podemos ver que algunos números están . Esto se debe a que el conjunto de datos es realmente simple* y podemos usar simple en píxeles para clasificar las muestras. Mire cómo no hay un grupo para los dígitos , eso es porque todos están hechos de los , y solo los diferencian cambios menores. más o menos agrupados heurística 8, 5, 7 y 3 mismos píxeles *En datos más complejos, como imágenes RGB , los únicos grupos serían imágenes del mismo color general . Proyectar el espacio latente Sabemos que el contiene de nuestras imágenes que el espacio de píxeles**,** por lo que podemos esperar que t-SNE nos brinde una interesante . espacio latente una representación más simple proyección 2D del espacio latente Proyección t-SNE de representaciones de del conjunto de validación espacio latente Aunque , la proyección muestra cúmulos . Esto muestra que en el espacio latente, los mismos dígitos están cerca uno del otro. Podemos ver que los dígitos ahora son más fáciles de distinguir y aparecen en grupos. no es perfecta más densos 8, 7, 5 y 3 pequeños Interpolación Ahora que sabemos qué es capaz de extraer el modelo, podemos la estructura del espacio latente. Para hacer eso, compararemos cómo se ve la en el , versus . nivel de detalle sondear interpolación espacio de la imagen el espacio latente Interpolación lineal en el espacio de la imagen Comenzamos tomando e interpolando linealmente entre ellas. Efectivamente, esto las imágenes de una manera . dos imágenes del conjunto de datos mezcla fantasmal Interpolación en el espacio de píxeles La razón de esta transición desordenada es la Simplemente no es posible pasar sin problemas de una imagen a otra en el espacio de la imagen. Esta es la razón por la que mezclar la imagen de y la imagen de un no dará la imagen de un . estructura del propio espacio de píxeles. un vaso vacío vaso lleno vaso medio lleno Interpolación lineal en el espacio latente Ahora, hagamos lo mismo en el espacio latente. Tomamos las mismas imágenes de inicio y final y para obtener su Luego interpolamos entre los dos vectores latentes y los alimentamos al . las alimentamos al codificador representación de espacio latente. decodificador Interpolación en el espacio latente El resultado es mucho . En lugar de tener una de los dos dígitos, vemos claramente que la forma se lentamente de uno a otro. Esto muestra qué tan bien el espacio latente de las imágenes. más convincente superposición desvanecida transforma comprende la estructura aquí hay algunas animaciones de la interpolación en ambos espacios Bonificación: Interpolación lineal en (izquierda) y (derecha) espacio de imagen espacio latente Más técnicas y ejemplos Ejemplos de interpolación En conjuntos de datos y con modelo, podemos obtener imágenes . más ricos un mejor increíbles Interpolación de de 3 vías para espacio latente caras Interpolación de formas 3D Aritmética del espacio latente También podemos hacer en el espacio latente**.** Esto significa que representaciones de espacio latente. aritmética en lugar de interpolar, podemos sumar o restar Esta técnica da resultados alucinantes. Por ejemplo con rostros, hombre con anteojos - hombre sin anteojos + mujer sin anteojos = mujer con anteojos. Aritmética en formas 3D puse una función para eso en el código, pero se ve terrible en MNIST. Nota: Conclusiones En esta publicación, hemos visto varias técnicas para visualizar las funciones en el espacio latente de una red neuronal de autocodificador. Estas visualizaciones ayudan a comprender la red está aprendiendo. A partir de ahí, podemos explotar el espacio latente para , y muchas otras aplicaciones. aprendidas incrustadas lo que agrupamiento compresión Si te gusta la Inteligencia Artificial, ¡asegúrate de suscribirte al boletín para recibir actualizaciones sobre artículos y mucho más! Puedes jugar con el código de allí: _LatentSpaceVisualization - Técnicas de visualización del espacio latente de un autocodificador convolucional en Keras_github.com GitHub - despoisj/LatentSpaceVisualization: Técnicas de visualización del espacio latente de un… Gracias por leer esta publicación, ¡estén atentos para más!