Incorporaciones: Cómo obtenerlas

Hay muchas formas de obtener una incorporación, entre ellas, un algoritmo de última generación creado en Google.

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

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

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

Word2vec

Word2vec es un algoritmo inventado por Google para entrenar incorporaciones de palabras. Word2vec depende de 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 aparecen contiguas con frecuencia tienden a ser semánticamente similares. Tanto "perro" como "gato" aparecen frecuentemente cerca de la palabra "veterinario", y este hecho refleja su similitud semántica. Como dijo el lingüista John Firth en 1957, "uno debe conocer cada palabra por aquello que la acompaña".

Word2Vec explota la información contextual al entrenar una red neuronal para que distinga grupos de palabras concomitantes de aquellas 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 con una sola capa oculta más pequeña.

En una versión del algoritmo, el sistema genera un ejemplo negativo al sustituir la palabra objetivo con una palabra generada al azar. Dado el ejemplo positivo "el avión vuela", el sistema podría cambiar "avión" por "trote".

La otra versión del algoritmo crea ejemplos negativos al sincronizar la palabra objetivo con una palabra generada al azar. De este modo, podría 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 aparecían juntos en el texto.

Sin embargo, este clasificador no es el verdadero objetivo para cada versión del sistema. Una vez que el modelo se ha entrenado, esta incorporación se puede volver a utilizar en otros clasificadores. En general, puedes usar las ponderaciones que conectan la capa de entrada con la capa oculta para asignar representaciones de palabras dispersas a vectores más pequeños.

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

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

También puedes aprender una incorporación como parte de la red neuronal de tu tarea objetivo. Este enfoque te proporciona una incorporación personalizada para tu sistema particular, pero es posible que tome 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 simplemente un tipo especial de unidad oculta de tamaño d. Esta capa de incorporación se puede combinar con otros atributos y capas ocultas. Como en cualquier red neuronal profunda (RNP), la capa final será la pérdida que se optimiza. Por ejemplo, supongamos que estamos realizando un filtrado colaborativo, en el que el objetivo es predecir los intereses de un usuario a partir de los de otros usuarios. Esto se puede modelar como un problema de aprendizaje supervisado al apartar (o retener) al azar como etiquetas positivas una pequeña cantidad de las películas que miró el usuario y, luego, optimizar una pérdida de softmax.

Figura 5. Una arquitectura de RNP 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 RNP a fin de predecir los precios de vivienda, deberías optimizar 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, de manera que los elementos similares estén cerca en este espacio. La Figura 6 ayuda a ilustrar la relación entre las ponderaciones aprendidas 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 muestra la relación entre las ponderaciones de la capa de incorporación y la vista geométrica de la incorporación.

Figura 6. Una vista geométrica de las ponderaciones de la capa de incorporación.