En aprendizaje automático (ML), incrustar es un término especial que simplemente significa proyectar una entrada en otro espacio de representación más conveniente.
Por ejemplo, podemos proyectar (incrustar) caras en un espacio en el que la coincidencia de caras puede ser más confiable.
Por ejemplo:
- ¿Por qué necesitamos comunicaciones entre procesos?
- ¿Cuáles son algunas ideas innovadoras de proyectos de último año para un estudiante de TI / CS?
- ¿Cómo resumiría las ideas centrales del aprendizaje automático y el aprendizaje profundo?
- ¿Cuál es la complejidad temporal de una búsqueda de una matriz asociativa (diccionario) en Python? ¿Cómo crece la velocidad de búsqueda con el número de pares clave-valor?
- ¿Qué le sugerirás a un estudiante de segundo año de CSE para sus vacaciones de invierno?
Llamemos a la función de proyección [math] f () [/ math]. Y dadas dos caras [matemática] x_1 [/ matemática] y [matemática] x_2 [/ matemática] en forma de una imagen 2D, podemos encontrar un espacio de incrustación tal que la medida de distancia euclidiana entre las incrustaciones faciales corresponda a la similitud entre caras.
Hacer una ingenua distancia euclidiana mide como:
[matemáticas] d = | x_1-x_2 | [/ matemáticas]
Es propenso a muchos problemas como:
- El ruido, el ruido aleatorio en píxeles puede afectar la medida de la distancia.
- Cambios de iluminación. Las intensidades de píxeles pueden variar sustancialmente con los cambios de iluminación.
- Los cambios en el punto de vista pueden provocar una falta de coincidencia.
- Hay muchas características irrelevantes que deben excluirse del proceso de coincidencia. Este ingenuo método sufrirá la maldición de la dimensionalidad.
Por lo tanto, podemos reformular esto proyectando o incrustando las caras en un nuevo espacio [math] z [/ math] tal que:
[matemáticas] d = | z_1-z_2 | [/ matemáticas]
Es válida.
Donde [matemáticas] z = f (x) [/ matemáticas].
La función de incrustación [math] f () [/ math] puede ser una red neuronal convolucional (CNN) entrenada utilizando el enfoque siamés, es decir, se pueden usar dos CNN siameses idénticos para encontrar un espacio de incrustación [math] z [/ math ] en el que las caras se pueden combinar de manera confiable utilizando la medida de distancia euclidiana básica.
El entrenamiento procede de la siguiente manera.
Dados dos CNN [math] f_1 () [/ math] y [math] f_2 () [/ math], compartiremos los parámetros porque en realidad son los mismos CNN y un conjunto de caras de entrenamiento:
[matemáticas] s = [x_1, x_2, …, x_ {n}] [/ matemáticas]
Elija un par de caras [math] x_ {i} [/ math] y [math] x_ {j} [/ math], para [math] i \ ne j [/ math] de [math] s [/ math] y proyectarlos a través de las CNN para evaluar la incrustación como:
[matemáticas] z_ {i} = f_ {1} (x_ {i}; w) [/ matemáticas]
[matemáticas] z_ {j} = f_ {2} (x_ {j}; w) [/ matemáticas]
donde [math] w = [/ math] compartió los parámetros de peso.
Nota : Las dos funciones son idénticas porque comparten los mismos parámetros, de ahí el término siamés.
Deseamos minimizar:
[matemáticas] d_ {ij} = | z_ {i} -z_ {j} | [/ matemáticas]
Si [math] x_ {i} [/ math] y [math] x_ {j} [/ math] son de la misma persona, de lo contrario, deseamos maximizarlo.
Después del entrenamiento, la CNN aprenderá características que son relevantes para la coincidencia de rostros. Por lo tanto, el nuevo espacio de incrustación [math] z [/ math] será más informativo y más fácil de trabajar.
El espacio [math] z [/ math] es la incrustación de caras, hemos incrustado las caras en [math] z [/ math] para que podamos unirlas de manera confiable.
Por lo tanto, en el aprendizaje automático, la integración simplemente significa proyectar a una nueva representación.
Espero que esto ayude.