Incorporaciones: Cómo obtener incorporaciones

Hay varias formas de obtener una incorporación, incluido un algoritmo de vanguardia creado en Google.

Técnicas de reducción de dimensionalidad estándar

Existen muchas técnicas matemáticas para capturar la estructura importante de un espacio de dimensiones altas en un espacio de dimensiones bajas. En teoría, cualquiera de estas técnicas se podría usar a fin de crear una incorporación para un sistema de aprendizaje automático.

Por ejemplo, el análisis de componentes principales (PCA) se usó para crear incorporaciones de palabras. Dado un conjunto de instancias, como vectores de grupos de palabras, el PCA intenta encontrar dimensiones altamente correlacionadas que se pueden contraer en una sola dimensión.

Word2vec

Word2vec es un algoritmo que se inventó en Google para entrenar incorporaciones de palabras. Word2vec se basa en la hipótesis distribucional para asignar palabras con similitudes semánticas a vectores de incorporaciones geométricamente cercanas.

La hipótesis distribucional establece que las palabras que suelen tener las mismas palabras adyacentes tienden a ser semánticamente similares. Tanto "perro" como "gato" suelen aparecer cerca de la palabra "veterinario" y este hecho refleja su similitud semántica. Como dijo el lingüista John Firth en 1957, "Sabrás una palabra por la empresa a la que guarda".

Word2Vec explota la información contextual de esta manera mediante el entrenamiento de una red neuronal para que distinga grupos de palabras coexistentes de palabras agrupadas al azar. La capa de entrada toma una representación dispersa de una palabra objetivo junto con una o más palabras contextuales. Esta entrada se conecta a una sola capa oculta más pequeña.

En una versión del algoritmo, el sistema crea un ejemplo negativo y sustituye una palabra de ruido al azar por la palabra objetivo. Dado el ejemplo positivo (el avión vuela), el sistema podría intercambiarse para trotar y crear el ejemplo negativo contrastante (el trote vuela).

La otra versión del algoritmo crea ejemplos negativos al sincronizar la palabra objetivo verdadera con las palabras contextuales seleccionadas al azar. Por lo tanto, puede tomar los ejemplos positivos (el, avión), (vuela, avión) y los ejemplos negativos (compilado, avión), (quién, avión) y aprender a identificar qué pares realmente aparecieron juntos en el texto.

Sin embargo, el clasificador no es el objetivo real para ninguna versión del sistema. Una vez que se haya entrenado el modelo, tendrás una incorporación. Puedes usar los pesos que conectan la capa de entrada con la capa oculta para asignar representaciones dispersas de palabras a vectores más pequeños. Esta incorporación se puede volver a usar en otros clasificadores.

Para obtener más información acerca de word2vec, consulta el instructivo en tensorflow.org

Entrenar una incorporación como parte de un modelo más grande

También puedes aprender una incorporación como parte de la red neuronal para tu tarea objetivo. Este enfoque te brinda una incorporación bien personalizada para tu sistema en particular, pero puede tomar más tiempo que entrenar la incorporación por separado.

En general, cuando tienes datos dispersos (o datos densos que quisieras incorporar), puedes crear una unidad de incorporación que sea solo un tipo especial de unidad oculta de tamaño d. Esta capa de incorporación se puede combinar con cualquier otra característica y capa oculta. Al igual que en cualquier DNN, la capa final será la pérdida que se optimiza. Por ejemplo, supongamos que estamos realizando filtros colaborativos, en los que el objetivo es predecir los intereses de un usuario a partir de los de otros usuarios. Podemos modelar esto como un problema de aprendizaje supervisado al apartar (o retener) al azar una pequeña cantidad de las películas que el usuario miró como etiquetas positivas y, luego, optimizar una pérdida de softmax.

Figura 5: Una arquitectura de DNN de muestra para aprender incorporaciones de películas a partir de datos de filtrado colaborativo.

Como otro ejemplo, si quieres crear una capa de incorporación para las palabras de un anuncio de bienes raíces como parte de una DNN a fin de predecir los precios de viviendas, optimizarías una pérdida L2 con el precio de venta conocido de las casas en tus datos de entrenamiento como la etiqueta.

Cuando se aprende una incorporación de d dimensiones, cada elemento se asigna a un punto en un espacio de d dimensiones para que los elementos similares estén cerca en este espacio. En la figura 6, se ilustra la relación entre los pesos aprendidos en la capa de incorporación y la vista geométrica. Las ponderaciones de las conexiones entre un nodo de entrada y los nodos de la capa de incorporación de d dimensiones corresponden a los valores de coordenadas de cada uno de los d ejes.

Una figura que ilustra la relación entre los pesos de la capa de incorporación y la vista geométrica de la incorporación.

Figura 6: Vista geométrica de las ponderaciones de la capa de incorporación