Día 22 del “Calendario de Adviento” de aprendizaje automático: incrustaciones en Excel

En esta serie, hablaremos sobre el aprendizaje profundo.

Y cuando la gente habla de aprendizaje profundo, inmediatamente pensamos en estas imágenes de arquitecturas de redes neuronales profundas, con muchas capas, neuronas y parámetros.

En la práctica, el verdadero cambio introducido por el aprendizaje profundo está en otra parte.

Se trata de aprender representaciones de datos.

En este artículo, nos centramos en las incrustaciones de texto, explicamos su papel en el panorama del aprendizaje automático y mostramos cómo se pueden entender y explorar en Excel.

1. Ganancia automática clásica versus aprendizaje profundo

En esta parte discutiremos por qué se introduce la incrustación.

1.1 ¿Dónde encaja el aprendizaje profundo?

Para comprender las incorporaciones, primero debemos aclarar el lugar del aprendizaje profundo.

Usaremos el término aprendizaje automático clásico para describir métodos que no dependen de arquitecturas profundas.

Todos los artículos anteriores tratan sobre el aprendizaje automático clásico, que se puede describir de dos formas complementarias.

Paradigmas de aprendizaje

Aprendizaje supervisado Aprendizaje no supervisado

Familias modelo

Modelos basados ​​en distancias Modelos basados ​​en árboles Modelos basados ​​en pesos

A lo largo de esta serie, ya hemos estudiado los algoritmos de aprendizaje detrás de estos modelos. En particular, hemos visto que el descenso de gradiente se aplica a todos los modelos basados ​​en pesos, desde la regresión lineal hasta las redes neuronales.

El aprendizaje profundo a menudo se reduce a redes neuronales con muchas capas.

Pero esta explicación está incompleta.

Desde el punto de vista de la optimización, el aprendizaje profundo no introduce una nueva regla de aprendizaje.

Entonces, ¿qué introduce?

1.2 Aprendizaje profundo como aprendizaje de representación de datos

El aprendizaje profundo trata sobre cómo se crean las funciones.

En lugar de diseñar funciones manualmente, el aprendizaje profundo aprende representaciones automáticamente, a menudo a través de múltiples transformaciones sucesivas.

Esto también plantea una importante cuestión conceptual:

¿Dónde está el límite entre la ingeniería de características y el aprendizaje de modelos?

Algunos ejemplos aclaran esto:

La regresión polinómica sigue siendo un modelo lineal, pero las características son polinomiales. Los métodos de kernel proyectan datos en un espacio de características de alta dimensión. Los métodos basados ​​en densidad transforman implícitamente los datos antes de aprender.

El aprendizaje profundo continúa esta idea, pero a escala.

Desde esta perspectiva, el aprendizaje profundo pertenece a:

la filosofía de ingeniería de características, para representación, la familia de modelos basados ​​en peso, para aprendizaje

1.3 Imágenes y redes neuronales convolucionales

Las imágenes se representan como píxeles.

Desde un punto de vista técnico, los datos de las imágenes ya son numéricos y estructurados: una cuadrícula de números. Sin embargo, la información contenida en estos píxeles no está estructurada de una manera que los modelos clásicos puedan explotar fácilmente.

Los píxeles no codifican explícitamente: bordes, formas, texturas u objetos.

Las redes neuronales convolucionales (CNN) están diseñadas para crear información a partir de píxeles. Aplican filtros para detectar patrones locales y luego los combinan progresivamente en representaciones de nivel superior.

He publicado este artículo que muestra cómo se pueden implementar CNN en Excel para hacer explícito este proceso.

CNN en Excel – todas las imágenes por autor

Para las imágenes, el desafío no es hacer que los datos sean numéricos, sino extraer representaciones significativas de datos que ya son numéricos.

1.4 Datos de texto: un problema diferente

El texto presenta un desafío fundamentalmente diferente.

A diferencia de las imágenes, el texto no es numérico por naturaleza.

Antes de modelar el contexto u orden, el primer problema es más básico:

¿Cómo representamos las palabras numéricamente?

Crear una representación numérica para el texto es el primer paso.

En el aprendizaje profundo de texto, este paso se realiza mediante incrustaciones.

Las incrustaciones transforman símbolos discretos (palabras) en vectores con los que los modelos pueden trabajar. Una vez que existen incrustaciones, podemos modelar: contexto, orden y relaciones entre palabras.

En este artículo nos centramos en este primer y esencial paso:
cómo las incrustaciones crean representaciones numéricas para el texto y cómo se puede explorar este proceso en Excel.

2. Dos formas de aprender a incrustar texto

En este artículo, utilizaremos el conjunto de datos de reseñas de películas de IMDB para ilustrar ambos enfoques. El conjunto de datos se distribuye bajo la licencia Apache 2.0.

Hay dos formas principales de aprender a incorporar texto y haremos ambas con este conjunto de datos:

supervisado: crearemos incrustaciones para predecir el sentimiento no supervisado o autosupervisado: usaremos el algoritmo word2vec

En ambos casos el objetivo es el mismo:
para transformar palabras en vectores numéricos que puedan ser utilizados por modelos de aprendizaje automático.

Antes de comparar estos dos enfoques, primero debemos aclarar qué son las incorporaciones y cómo se relacionan con el aprendizaje automático clásico.

Imagen del conjunto de datos IMDB por autor – Licencia Apache 2.0

2.1 Integraciones y aprendizaje automático clásico

En el aprendizaje automático clásico, los datos categóricos generalmente se manejan con:

codificación de etiquetas, que asigna números enteros fijos pero introduce un orden artificial codificación one-hot, que elimina el orden pero produce vectores dispersos de alta dimensión

La forma en que se pueden utilizar depende de la naturaleza de los modelos.

Los modelos basados ​​en la distancia no pueden utilizar eficazmente la codificación one-hot, porque todas las categorías terminan estando igualmente distantes entre sí. La codificación de etiquetas sólo podría funcionar si podemos atribuir valores numéricos significativos a las categorías, lo que generalmente no es el caso en los modelos clásicos.

Los modelos basados ​​en pesos pueden usar codificación one-hot, porque el modelo aprende un peso para cada categoría. Por el contrario, con la codificación de etiquetas, los valores numéricos son fijos y no se pueden ajustar para representar relaciones significativas.

Los modelos basados ​​en árboles tratan todas las variables como divisiones categóricas en lugar de magnitudes numéricas, lo que hace que la codificación de etiquetas sea aceptable en la práctica. Sin embargo, la mayoría de las implementaciones, incluido scikit-learn, todavía requieren entradas numéricas. Como resultado, las categorías deben convertirse en números, ya sea mediante codificación de etiquetas o codificación one-hot. Si los valores numéricos tuvieran un significado semántico, esto también sería beneficioso.

En general, esto pone de relieve una limitación de los enfoques clásicos:
Los valores de las categorías son fijos y no se aprenden.

Las incrustaciones amplían esta idea al aprender la representación misma.
Cada palabra está asociada con un vector entrenable, lo que convierte la representación de categorías en un problema de aprendizaje en lugar de un paso de preprocesamiento.

2.2 Incrustaciones supervisadas

En el aprendizaje supervisado, las incorporaciones se aprenden como parte de una tarea de predicción.

Por ejemplo, el conjunto de datos de IMDB tiene etiquetas sobre el análisis de sentimientos. Entonces podemos crear una arquitectura muy simple:

En nuestro caso, podemos usar una arquitectura muy simple: cada palabra se asigna a una incrustación unidimensional

Esto es posible porque el objetivo es la clasificación binaria del sentimiento.

Una vez completada la capacitación, podemos exportar las incrustaciones y explorarlas en Excel.

Al trazar las incrustaciones en el eje x y la frecuencia de palabras en el eje y, aparece un patrón claro:

Los valores positivos se asocian con palabras como excelente o maravilloso, los valores negativos se asocian con palabras como peor o desperdicio.

Dependiendo de la inicialización se puede invertir el signo, ya que la capa de regresión logística también tiene parámetros que influyen en la predicción final.

Finalmente, en Excel, reconstruimos el proceso completo que corresponde a la arquitectura que definimos anteriormente.

Columna de entrada
El texto ingresado (una reseña) se divide en palabras y cada fila corresponde a una palabra.

Búsqueda incrustada
Utilizando una función de búsqueda, el valor de incrustación asociado con cada palabra se recupera de la tabla de incrustación aprendida durante el entrenamiento.

Promedio mundial
La incrustación promedio global se calcula promediando las incrustaciones de todas las palabras vistas hasta ahora. Esto corresponde a una representación de oración muy simple: la media de vectores de palabras.

Predicción de probabilidad
Luego, la incrustación promediada se pasa a través de una función logística para producir una probabilidad de sentimiento.

lo que observamos

Las palabras con incrustaciones fuertemente positivas (por ejemplo, excelente, amor, diversión) elevan el promedio. Las palabras con incrustaciones fuertemente negativas (por ejemplo, peor, horrible, desperdicio) hacen que el promedio baje. Las palabras neutras o de peso débil tienen poca influencia.

A medida que se agregan más palabras, la incrustación promedio global se estabiliza y la predicción del sentimiento se vuelve más confiable.

2.3 Word2Vec: incrustaciones de coocurrencia

En Word2Vec, la similitud no significa que dos palabras tengan el mismo significado.
Significa que aparecen en contextos similares.

Word2Vec aprende las incrustaciones de palabras observando qué palabras tienden a aparecer simultáneamente dentro de una ventana fija del texto. Dos palabras se consideran similares si aparecen a menudo alrededor de las mismas palabras vecinas, incluso si sus significados son opuestos.

Como se muestra en la siguiente hoja de Excel, calculamos la similitud del coseno para la palabra bueno y recuperamos las palabras más similares.

Desde la perspectiva del modelo, las palabras circundantes son casi idénticas. Lo único que cambia es el propio adjetivo.

Como resultado, Word2Vec aprende que “bueno” y “malo” desempeñan un papel similar en el lenguaje, aunque sus significados sean opuestos.

Entonces, Word2Vec captura la similitud distribucional, no la polaridad semántica.

Una forma útil de pensarlo es:

Las palabras están cerca si se usan en los mismos lugares.

2.4 Cómo se utilizan las incrustaciones

En sistemas modernos como RAG (Recuperación-Generación Aumentada), las incrustaciones se utilizan a menudo para recuperar documentos o pasajes para responder preguntas.

Sin embargo, este enfoque tiene limitaciones.

Las incorporaciones más utilizadas se entrenan de forma autosupervisada, en función de la coocurrencia o de objetivos de predicción contextual. Como resultado, capturan la similitud general del lenguaje, no el significado específico de la tarea.

Esto significa que:

Las incrustaciones pueden recuperar texto que sea lingüísticamente similar pero no relevante. La proximidad semántica no garantiza la corrección de la respuesta.

Se pueden utilizar otras estrategias de integración, incluidas las adaptadas a tareas o supervisadas, pero a menudo siguen siendo autosupervisadas en su esencia.

Por lo tanto, comprender cómo se crean las incrustaciones, qué codifican y qué no codifican es esencial antes de utilizarlas en sistemas posteriores como RAG.

Conclusión

Las incrustaciones son representaciones numéricas aprendidas de palabras que hacen que las similitudes sean mensurables.

Ya sea que se aprendan mediante supervisión o mediante coocurrencia, las incrustaciones asignan palabras a vectores en función de cómo se usan en los datos. Al exportarlas a Excel, podemos inspeccionar estas representaciones directamente, calcular similitudes y comprender qué capturan y qué no.

Esto hace que las incrustaciones sean menos misteriosas y aclara su papel como base para sistemas más complejos como la recuperación o RAG.