¿Qué se entiende por incrustar en el aprendizaje automático?

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:

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.

Incrustar == representación

Teniendo en cuenta la tarea de Procesamiento del lenguaje natural, la inclusión de la palabra ‘home’ es un vector de dimensión d, por ejemplo, v = [0, 0, 0,…, 0, 1, 0, 0] – eso es One-Hot Encoding – no es la mejor representación de palabra La mejor solución es asignar vectores más densos de dimensión m a las palabras (donde m es menor que d ). Podemos hacer esto multiplicando la v por la matriz W y obtenemos v ‘ = [1.23, 0.78], esa es la incrustación de’ home ‘.

En las tareas de Aprendizaje por refuerzo, las incrustaciones del espacio de observación se pueden usar para reducir el número de características (y usar solo las significativas). Esto se puede hacer usando Autoencoders (AE) cuando tomamos la representación de la entrada del espacio latente de AE.

Enseñamos el aprendizaje de refuerzo (tareas prácticas: seminarios deepmipt / deep-rl) y procesamiento del lenguaje natural (tareas prácticas: seminarios deepmipt / deep-nlp) a estudiantes de MIPT.