La incrustación es un medio de representar objetos como texto, imágenes y audio como puntos en un espacio vectorial continuo donde las ubicaciones de esos puntos en el espacio son semánticamente significativas para los algoritmos de machine learning (ML).
La incrustación es una herramienta fundamental para los ingenieros de ML que crean motores de búsqueda de texto e imágenes, sistemas de recomendación, chatbots, sistemas de detección del fraude y muchas otras aplicaciones. En esencia, la incrustación permite que los modelos de machine learning encuentren objetos similares.
A diferencia de otras técnicas ML, las incrustaciones se aprenden a partir de datos que utilizan varios algoritmos, como las redes neuronales, en lugar de requerir explícitamente experiencia humana para definir. Permiten que el modelo aprenda patrones y relaciones complejos en los datos, que de otro modo serían imposibles de identificar para los humanos.
Por ejemplo, la implementación integrada de OpenAI permite que ChatGPT entienda fácilmente las relaciones entre diferentes palabras y categorías en lugar de analizar cada palabra de forma aislada. Gracias a las incrustaciones, los modelos GPT de OpenAI pueden generar respuestas más coherentes y contextualmente relevantes a las preguntas e indicaciones de los usuarios.
La mayoría de los algoritmos de machine learning solo pueden tomar datos numéricos de baja dimensión como entradas. Por lo tanto, es necesario convertir los datos a un formato numérico. Esto puede implicar cosas como crear una representación de "bolsa de palabras" para datos de texto, convertir imágenes en valores de píxeles o transformar datos de gráficos en una matriz numérica.
Los objetos que entran en un modelo de incrustación se emiten como incrustaciones, representadas como vectores. Un vector es una matriz de números (por ejemplo 1489, 22... 3, 777), donde cada número indica dónde se encuentra un objeto a lo largo de una dimensión especificada. El número de dimensiones puede llegar a mil o más en función de la complejidad de los datos de entrada. Cuanto más cerca esté una incrustación de otras incrustaciones en este espacio n-dimensional, más similares serán. La similitud de distribución viene determinada por la longitud de los puntos vectoriales de un objeto a otro (medida euclidiana, coseno u otra).
Un modelo, Word2Vec (word to vector), desarrollado por Google en 2013, es un método para crear incrustaciones de palabras de manera eficiente mediante el uso de una red neuronal de dos capas. Toma como entrada una palabra y escupe una coordenada n-dimensional (el vector de incrustación) de modo que cuando se trazan estos vectores de palabras en un espacio tridimensional, los sinónimos se agrupan.
Así es como se representarían dos palabras: "dad" y "mom" como vectores:
Aunque existe cierta similitud entre estas dos palabras, cabría esperar que "father" estuviera mucho más cerca de "dad" en el espacio vectorial, lo que daría como resultado un producto escalar más alto (una medida de la dirección relativa de dos vectores y cómo estrechamente se alinean en la dirección a la que apuntan).
Un ejemplo más complejo es la incrustación de recomendaciones, que funciona representando usuarios y elementos (por ejemplo, películas, productos, artículos) como vectores de alta dimensión en un espacio vectorial continuo. Estas incrustaciones capturan características latentes que reflejan las preferencias de los usuarios y las características de los elementos. La idea es aprender una representación para cada usuario y elemento de tal manera que el producto de puntos de sus incrustaciones se correlacione con la preferencia del usuario por ese elemento.
Cada usuario y elemento está asociado a un vector de incrustación. Estos vectores generalmente se aprenden a través de un modelo de recomendación durante un proceso de entrenamiento. Las inserciones de usuario e inserciones de elementos se organizan en matrices. Las filas de la matriz de usuarios representan a los usuarios y las filas de la matriz de elementos representan los elementos.
La puntuación de recomendación de un par de elementos de usuario se puede calcular tomando el producto punto del vector de incrustación del usuario y el vector de incrustación del elemento. Cuanto más alto sea el producto punto, más probable será que el usuario esté interesado en el artículo.
Las matrices de incrustación se aprenden a través de un proceso de capacitación que utiliza interacciones históricas entre el usuario y el elemento. El modelo tiene como objetivo minimizar la diferencia entre las puntuaciones previstas y las preferencias reales del usuario (por ejemplo, calificaciones, clics, compras).
Una vez entrenado el modelo, se puede utilizar para generar las mejores recomendaciones para los usuarios. Se recomiendan los elementos con las puntuaciones más altas previstas para un usuario.
Las incrustaciones se utilizan en diversos dominios y aplicaciones debido a su capacidad para transformar datos categóricos y de alta dimensión en representaciones vectoriales continuas, capturando patrones, relaciones y semántica significativos. A continuación se muestran algunas razones por las que se utiliza la incrustación en la ciencia de datos:
Al asignar entidades (palabras, imágenes, nodos de un gráfico, etc.) a vectores en un espacio continuo, las incrustaciones captan las relaciones y similitudes semánticas, lo que permite a los modelos comprender y generalizar mejor.
Los datos de alta dimensión, como textos, imágenes o gráficos, pueden transformarse en representaciones de menor dimensión, lo que los hace computacionalmente eficientes y más fáciles de trabajar.
Al aprender representaciones significativas a partir de los datos, los modelos pueden generalizar bien a ejemplos no vistos, lo que hace que las incrustaciones sean cruciales para tareas con datos etiquetados limitados.
Se pueden aplicar técnicas como t-SNE para visualizar incrustaciones de alta dimensión en dos o tres dimensiones, proporcionando información sobre las relaciones y clústeres de los datos.
Las capas de incrustación se utilizan habitualmente en arquitecturas de redes neuronales para asignar entradas categóricas a vectores continuos, facilitando la retropropagación y la optimización.
Las incrustaciones son representaciones versátiles que pueden aplicarse a una amplia gama de tipos de datos. Estos son algunos de los objetos más comunes que pueden incrustarse:
Las incrustaciones de palabras capturan las relaciones semánticas y los significados contextuales de las palabras en función de sus patrones de uso en un corpus lingüístico determinado. Cada palabra se representa como un vector denso de tamaño fijo de números reales. Es lo opuesto a un vector disperso, como la codificación one-hot, que tiene muchas entradas cero.
El uso de la incrustación de palabras ha mejorado significativamente el rendimiento de los modelos de procesamiento del lenguaje natural (PLN) al proporcionar una representación más significativa y eficiente de las palabras. Estas incrustaciones permiten a las máquinas comprender y procesar el lenguaje de una manera que captura los matices semánticos y las relaciones contextuales, lo que las hace valiosas para una amplia gama de aplicaciones, incluido el análisis de sentimientos, la traducción automática y la recuperación de información.
Entre los modelos de incrustación de palabras más conocidos figuran Word2Vec, GloVe (Global Vectors for Word Representation), FastText e incrustaciones derivadas de modelos basados en transformadores como BERT (Bidirectional Encoder Representations from Transformers) y GPT (Generative Pre-trained Transformer).
La incrustación de texto amplía la incrustación de palabras para representar frases, párrafos o documentos enteros en un espacio vectorial continuo. Las incrustaciones de texto desempeñan un papel crucial en varias aplicaciones de PLN, como el análisis de sentimientos, la clasificación de textos, la traducción automática, la respuesta a preguntas y la recuperación de información.
Modelos como Doc2Vec, USE (Universal Sentence Encoder), BERT y ELMO (Embed from Language Models) se han entrenado en cantidades masivas de empresas incorporadas previamente entrenadas, como Wikipedia y Google News.
La incrustación de imágenes está diseñada para capturar características visuales e información semántica sobre el contenido de las imágenes. Las incrustaciones de imágenes son particularmente útiles para diversas tareas de computer vision, ya que permiten el modelado de similitudes de imágenes, la clasificación de imágenes, la detección de objetos y otras tareas de reconocimiento visual.
Las redes neuronales convolucionales populares (CNN) para incrustaciones de imágenes incluyen modelos como VGG (Visual Geometry Group), ResNet (Residual Networks), Inception (GoogLeNet) y EfficientNet. Estos modelos se han entrenado previamente en conjuntos de datos de imágenes a gran escala y se pueden utilizar como potentes extractores de funciones.
Al igual que las incrustaciones de imágenes y texto, las incrustaciones de audio se generan a menudo utilizando arquitecturas de deep learning, especialmente redes neuronales recurrentes, redes neuronales convolucionales (CNN) o modelos híbridos que combinan ambos. Estas incrustaciones capturan las características relevantes de los datos de audio, lo que permite un análisis, procesamiento y métricas de similitud eficaces. Las incrustaciones de audio son especialmente útiles en aplicaciones como el reconocimiento de voz, la clasificación de audio y el análisis de música, entre otras.
La incrustación de gráficos es esencial para diversas tareas, incluida la clasificación de nodos, la predicción de enlaces y la detección de comunidades en redes complejas. Estas incrustaciones se aplican en el análisis de redes sociales, sistemas de recomendación, análisis de redes biológicas, detección del fraude y otros ámbitos en los que los datos pueden representarse como grafos.
Las inserciones se crean a través de un proceso llamado "incrustar el aprendizaje". Aunque el método específico utilizado depende del tipo de datos que se van a incrustar, las incrustaciones se crean siguiendo estos pasos generales:
En todos los casos de incrustación, la idea es representar los datos en un espacio vectorial continuo donde se conservan las relaciones significativas. El proceso de entrenamiento implica ajustar los parámetros del modelo para minimizar la diferencia entre los valores previstos y los reales en función de la función objetivo elegida. Una vez entrenadas, las incrustaciones se pueden utilizar para varias tareas posteriores.
Las inserciones se utilizan ampliamente en varias aplicaciones del mundo real en diferentes dominios. Algunos ejemplos son:
Estos ejemplos ponen de manifiesto la versatilidad de las incrustaciones en diversas aplicaciones, lo que demuestra su capacidad para capturar representaciones y relaciones significativas en diferentes tipos de datos.
Entrene, valide, ajuste e implemente IA generativa, modelos fundacionales y capacidades de machine learning con IBM watsonx.ai, un estudio empresarial de nueva generación para desarrolladores de IA. Cree aplicaciones de IA en menos tiempo y con menos datos.
Ponga la IA a trabajar en su negocio con la experiencia líder en IA del sector de IBM y junto a su cartera de soluciones.
Reinvente las operaciones y flujos de trabajo críticos añadiendo IA para maximizar las experiencias, la toma de decisiones en tiempo real y el valor empresarial.
Aprenda los conceptos fundamentales y desarrolle sus habilidades con laboratorios prácticos, cursos, proyectos guiados, pruebas y mucho más.
Aprenda a incorporar con confianza la IA generativa y el machine learning a su negocio.
¿Quiere obtener un mayor rendimiento de sus inversiones en IA? Descubra cómo escalar la IA generativa en áreas clave impulsa el cambio ayudando a sus mentes más brillantes a crear y ofrecer nuevas soluciones innovadoras.
Aprenda a seleccionar el modelo fundacional de IA más adecuado para su caso de uso.
IBM web domains
ibm.com, ibm.org, ibm-zcouncil.com, insights-on-business.com, jazz.net, mobilebusinessinsights.com, promontory.com, proveit.com, ptech.org, s81c.com, securityintelligence.com, skillsbuild.org, softlayer.com, storagecommunity.org, think-exchange.com, thoughtsoncloud.com, alphaevents.webcasts.com, ibm-cloud.github.io, ibmbigdatahub.com, bluemix.net, mybluemix.net, ibm.net, ibmcloud.com, galasa.dev, blueworkslive.com, swiss-quantum.ch, blueworkslive.com, cloudant.com, ibm.ie, ibm.fr, ibm.com.br, ibm.co, ibm.ca, community.watsonanalytics.com, datapower.com, skills.yourlearning.ibm.com, bluewolf.com, carbondesignsystem.com