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.
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.
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.