O que é incorporação?
Explore o IBM watsonx.ai
Conceito de rede neural de computador

Publicado em: 22 de dezembro de 2023
colaboradores: Joel Barnard

O que é incorporação?

Incorporar é um meio de representar objetos como texto, imagens e áudio como pontos em um espaço vetorial contínuo onde os locais desses pontos no espaço são semanticamente significativos para os algoritmos de aprendizado de máquina (ML).

A incorporação é uma ferramenta crítica para engenheiros de ML que criam mecanismos de pesquisa de texto e imagem, sistemas de recomendação, chatbots, sistemas de detecção de fraudes e muitas outras aplicações. Basicamente, a incorporação permite que modelos de aprendizado de máquina encontrem objetos semelhantes.

Ao contrário de outras técnicas de ML, as incorporações são criadas a partir de dados usando diferentes algoritmos, como redes neurais, em vez de depender explicitamente da experiência humana para definição. Elas permitem que o modelo aprenda padrões e relacionamentos complexos nos dados, que de outra forma seriam impossíveis de serem identificados por humanos.

Por exemplo, a implementação da incorporação da OpenAI permite que o ChatGPT compreenda facilmente as relações entre diferentes palavras e categorias, em vez de apenas analisar cada palavra de maneira isolada. Com as incorporações, os modelos do GPT da OpenAI podem gerar respostas mais coerentes e contextualmente relevantes às solicitações e perguntas do usuário.

Faça um tour pelo IBM watsonx.ai

Um estúdio empresarial de última geração para desenvolvedores de IA treinarem, validarem, ajustarem e implementarem modelos de IA

Conteúdo relacionado

Assine o boletim informativo da IBM

Como funciona a incorporação

A maioria dos algoritmos de aprendizado de máquina só pode obter dados numéricos de baixa dimensão como entradas. Portanto, é necessário converter os dados em um formato numérico. Isso pode envolver questões como a criação de uma representação de "saco de palavras" para dados de texto, a conversão de imagens em valores de pixel ou a transformação de dados gráficos em uma matriz numérica.

Os objetos que entram em um modelo de incorporação saem como incorporações, representados como vetores. Um vetor é uma matriz de números (por exemplo, 1489, 22… 3, 777), em que cada número indica onde um objeto está ao longo de uma dimensão especificada. O número de dimensões pode chegar a mil ou mais dependendo da complexidade dos dados de entrada. Quanto mais próxima uma incorporação estiver de outras incorporações nesse espaço n-dimensional, mais semelhantes elas serão. A similaridade de distribuição é determinada pelo comprimento dos pontos vetoriais de um objeto para o outro (medido em Euclidiano, coseno ou outra medida).

Um modelo, Word2Vec (palavra para vetor), desenvolvido pela Google em 2013, é um método para criar incorporações de palavras de forma eficiente usando uma rede neural de duas camadas. Ele usa como input uma palavra e gera uma coordenada n-dimensional (o vetor de incorporação) de modo que, quando você trace esses vetores de palavras em um espaço tridimensional, os sinônimos se agrupem.

Veja como duas palavras, "papai" e "mamãe" seriam representadas como vetores:

    "papai" = [0.1548, 0,4848, …, 1,864]

    "mamãe" = [0,8785, 0,8974, …, 2,794]

Embora haja alguma semelhança entre essas duas palavras, esperamos que "pai" esteja muito mais perto de "pai" no espaço vetorial, resultando em um produto escalar mais alto (uma medida da direção relativa de dois vetores e o quanto eles se alinham na direção em que apontam).

Um exemplo mais complexo é a incorporação de recomendações, que funciona representando usuários e itens (por exemplo, filmes, produtos, artigos) como vetores de alta dimensão em um espaço vetorial contínuo. Essas incorporações capturam elementos latentes que refletem as preferências dos usuários e as características do item. A ideia é aprender uma representação para cada usuário e item de tal forma que o produto escalar de suas incorporações esteja correlacionado com a preferência do usuário para o item em questão.

Cada usuário e item está associado a um vetor de incorporação. Esses vetores normalmente são aprendidos por meio de um modelo de recomendação durante um processo de treinamento. As incorporações do usuário e do item são organizadas em matrizes. As linhas da matriz de usuário representam os usuários e as linhas da matriz de item representam os itens.

A pontuação de recomendação de um par de usuário-item pode ser determinada calculando o produto escalar do vetor de incorporação do usuário e o do item. Quanto maior o produto escalar, maior a probabilidade de o usuário estar interessado no item.

    Pontuação de recomendação = Incorporação de usuário ⋅ Incorporação de item

As matrizes de incorporação são aprendidas por meio de um processo de treinamento que usa interações históricas entre usuário e item. O modelo tem como objetivo minimizar a diferença entre as pontuações previstas e as preferências reais do usuário (por exemplo, classificações, cliques, compras).

Depois que o modelo é treinado, ele pode ser usado para gerar as melhores N recomendações para os usuários. Os itens com as pontuações previstas mais altas para um usuário são recomendados.

Por que usar a incorporação

As incorporações são usadas em vários domínios e aplicações devido à sua capacidade de transformar dados categóricos e de alta dimensão em representações vetoriais contínuas, capturando padrões, relações e semântica significativos. Veja abaixo algumas razões pelas quais a incorporação é usada na ciência de dados:

Representação semântica

Ao mapear entidades (palavras, imagens, nós em um gráfico, etc.) para vetores em um espaço contínuo, as incorporações capturam relações semânticas e similaridades, permitindo que os modelos entendam e generalizem melhor.

Redução da dimensionalidade

Dados de alta dimensão, como textos, imagens ou gráficos, podem ser transformados em representações de baixa dimensão, tornando-os computacionalmente eficientes e mais fáceis de trabalhar.

Melhor generalização dos modelos

Ao aprender representações significativas a partir dos dados, os modelos podem generalizar bem para exemplos não vistos, o que torna as incorporações cruciais para tarefas com dados rotulados limitados.

Visualização eficaz

Técnicas como a t-SNE podem ser aplicadas para visualizar incorporações de alta dimensão em duas ou três dimensões, fornecendo insights sobre relações e agrupamento nos dados.

Treinamento eficiente em redes neurais

As camadas de incorporação são comumente usadas nas arquiteturas de rede neural para mapear entradas categóricas em vetores contínuos, facilitando a retropropagação e a otimização.

Quais objetos podem ser incorporados?

As incorporações são representações versáteis que podem ser aplicadas a uma ampla gama de tipos de dados. Estes são alguns dos objetos mais comuns que podem ser incorporados:

Palavras

As incorporações de palavras capturam as relações semânticas e os significados contextuais das palavras com base em seus padrões de uso em um determinado corpus linguístico. Cada palavra é representada como um vetor denso de tamanho fixo de números reais. É o oposto de um vetor esparso, como a codificação one-hot, que tem várias entradas zero.

O uso da incorporação de palavras melhorou significativamente o desempenho dos modelos de processamento de linguagem natural (NLP), fornecendo uma representação mais significativa e eficiente das palavras. Essas incorporações permitem que as máquinas entendam e processem a linguagem de forma a capturar nuances semânticas e relações contextuais, tornando-as valiosas para uma grande variedade de aplicações, incluindo análise de sentimento, tradução automática e recuperação de informações.

Modelos populares de incorporação de palavras incluem Word2Vec, GloVe (Vetores Globais para Representação de Palavras), FastText e incorporações derivadas de modelos baseados em transformadores como o BERT (Representações de Codificadores Bidirecionais a partir de Transformadores) e GPT (Transformador Generativo Pré-treinado).

Texto

A incorporação de texto estende a incorporação de palavras para representar frases, parágrafos ou documentos inteiros em um espaço vetorial contínuo. As incorporações de texto desempenham um papel crucial em várias aplicações de NLP, como a análise de sentimento, classificação de texto, tradução automática, resposta a perguntas e recuperação de informações.

Modelos como o Doc2Vec, USE (Codificador de Frases Universal), BERT e ELMO (Incorporações de Modelos de Linguagem) foram treinados em grandes quantidades de corpora de incorporação pré-treinada, como Wikipedia e Google News.

Imagens

A incorporação de imagens foi projetada para capturar recursos visuais e informações semânticas sobre o conteúdo das imagens. As incorporações de imagens são particularmente úteis para várias tarefas de visão computacional, permitindo a modelagem de semelhanças de imagens, classificação de imagens, detecção de objetos e outras tarefas de reconhecimento visual.

Redes Neurais Convolucionais (CNNs) populares para incorporações de imagens incluem modelos como VGG (Grupo de Geometria Visual), ResNet (Redes Residuais), Inception (GoogLeNet) e EfficientNet. Estes modelos foram pré-treinados em conjuntos de dados de imagem de grande escala e podem ser usados como poderosos extratores de recursos.

Áudio

Semelhante às incorporações de imagem e texto, as incorporações de áudio são muitas vezes geradas usando arquiteturas de deep learning, particularmente redes neurais recorrentes (RNNs), redes neurais convolucionais (CNNs) ou modelos híbridos que combinam ambas. Essas incorporações capturam os recursos e características relevantes dos dados de áudio, permitindo análises, processamento e métricas de similaridade eficazes. Incorporações de áudio são particularmente úteis em aplicações como reconhecimento de fala, classificação de áudio e análise musical, entre outras.

Gráficos

A incorporação de gráficos é fundamental para várias tarefas, incluindo a classificação de nós, previsão de links e detecção de comunidades em redes complexas. Essas incorporações encontram aplicações na análise de redes sociais, sistemas de recomendação, análise de rede biológica, detecção de fraudes e vários outros domínios em que os dados podem ser representados por gráficos.

Como as incorporações são criadas

As incorporações são criadas por meio de um processo chamado de "aprendizado por incorporação". Embora o método específico usado dependa do tipo de dado que está sendo incorporado, as incorporações são criadas seguindo estas etapas gerais:

  1. Escolha ou treine um modelo de incorporação: selecione um modelo de incorporação pré-existente adequado para seus dados e tarefas, ou treine um novo, se necessário. Para texto, você pode escolher Word2Vec, GloVe ou BERT. Para imagens, você pode usar CNNs pré-treinados, como VGG ou ResNet.

  2. Prepare seus dados: formate seus dados de forma compatível com o modelo de incorporação escolhido. Para texto, isso envolve tokenização e, possivelmente, pré-processamento. Para imagens, talvez seja necessário redimensionar e normalizar as imagens.

  3. Carregue ou treine o modelo de incorporação: se estiver usando um modelo pré-treinado, carregue os pesos e a arquitetura. Se estiver treinando um novo modelo, forneça seus dados de treinamento preparados para o algoritmo.

  4. Gere incorporações: para cada ponto de dado, use o modelo treinado ou carregado para gerar incorporações. Por exemplo, se estiver usando um modelo de incorporação de palavras, insira uma palavra para obter seu vetor correspondente.

  5. Integre as incorporações na sua aplicação: use as incorporações geradas como recursos no seu modelo de aprendizado de máquina, ou para pesquisa de similaridade, recomendação, agrupamento etc., dependendo de sua tarefa específica.

Em todos os casos incorporados, a ideia é representar os dados em um espaço vetorial contínuo onde relações significativas são preservadas. O processo de treinamento envolve o ajuste dos parâmetros do modelo para minimizar a diferença entre os valores previstos e os valores reais com base na função objetiva escolhida. Depois de treinadas, as incorporações podem ser usadas para várias tarefas posteriores.

Exemplos do mundo real de incorporação

As incorporações são amplamente usadas em várias aplicações do mundo real em diferentes domínios. Por exemplo:

Processamento de Linguagem Natural (PNL)

 

  • Incorporações de palavras na análise de sentimento: incorporações de palavras, como Word2Vec ou GloVe, são usadas para representar palavras em um espaço vetorial contínuo. Os modelos de análise de sentimento podem aproveitar essas incorporações para entender e classificar o sentimento de um texto.

  • BERT para resposta a perguntas: as incorporações de BERT são usadas em sistemas de resposta a perguntas. O modelo pode entender o contexto da pergunta e do documento para extrair informações relevantes.

  • Similaridade do texto com Doc2Vec: as incorporações do Doc2Vec são aplicadas em tarefas como encontrar documentos semelhantes. As incorporações de documentos são comparadas para medir a semelhança semântica entre os documentos.

 

Visão computacional

 

  • Classificação de imagem com CNNs: CNNs, como VGG ou ResNet, são usados em tarefas de classificação de imagem. Os recursos da camada final ou das camadas intermediárias podem servir como incorporações de imagens.

  • Recuperação de imagens usando CLIP: o modelo CLIP aprende as incorporações conjuntas de imagens e texto. Isso permite aplicações como a recuperação de imagens com base em consultas de linguagem natural.

  • Reconhecimento facial com FaceNet: o FaceNet cria incorporações para rostos que podem ser usadas para reconhecimento facial. Essas incorporações costumam ser usadas para medir a semelhança entre rostos diferentes.

 

Sistemas de recomendação

 

  • Filtragem colaborativa com incorporações: as incorporações são usadas para representar usuários e itens em modelos de filtragem colaborativa. Os métodos de fatoração de matriz utilizam essas incorporações para fazer recomendações personalizadas.

  • Recomendações de produtos com incorporações de palavras: no comércio eletrônico, as descrições ou avaliações de produtos podem ser incorporadas usando incorporações de palavras. Produtos semelhantes podem ser recomendados com base na similaridade semântica de suas incorporações.

 

Aplicações intermodais

 

  • Tradução multimodal com o MUSE: o MUSE (Codificador Universal de Sentenças Multilíngue) permite a compreensão entre idiomas e entre modais. Ele pode ser usado para tarefas como a tradução de textos entre idiomas ou a conexão de imagens às descrições correspondentes.

  • Pesquisa intermodal usando incorporações conjuntas: as incorporações conjuntas são aprendidas para diferentes modalidades, como imagens e texto. Isso permite a pesquisa intermodal, em que uma consulta em uma modalidade traz resultados em outra modalidade.

 

Detecção de anomalias

 

  • Detecção de anomalias de rede com incorporações de gráficos: as incorporações de nós de rede podem ser usadas para detectar anomalias. As alterações no espaço de incorporação podem indicar um comportamento incomum.

  • Detecção de fraudes com incorporações de transações: as incorporações de dados de transações podem ajudar a identificar padrões associados a atividades fraudulentas. As incorporações incomuns podem indicar transações potencialmente fraudulentas.

 

Esses exemplos destacam a versatilidade das incorporações em diversas aplicações, mostrando sua capacidade de capturar representações e relações significativas em diferentes tipos de dados.

 

Soluções relacionadas
IBM® Natural Language Understanding

O IBM® Watson Natural Language Understanding usa deep learning para extrair o significado e metadados dos textos não estruturados. Conheça seus dados usando a análise de texto para extrair categorias, classificações, entidades, palavras-chave, sentimentos, emoções, relações e sintaxe.

Explore o NLU

IBM watsonx

Multiplique o poder da IA com nossa plataforma de dados e IA de última geração. O IBM watsonx é um portfólio de ferramentas, aplicações e soluções prontas para o negócio, projetado para reduzir os custos e os obstáculos da adoção da IA e, ao mesmo tempo, otimizar os resultados e o uso responsável da IA.

Explore o watsonx

Soluções de IA da IBM

Operacionalize a IA no seu negócio para oferecer benefícios com rapidez e ética. Nosso rico portfólio de produtos de IA e soluções de análise de dados de alto nível foi projetado para reduzir os obstáculos da adoção de IA e estabelecer a base de dados certa, além de otimizar os resultados e o uso responsável.

Explore as soluções de IA
Recursos O que é aprendizado de máquina?

Obtenha insights sobre como o aprendizado de máquina usa dados e algoritmos, seus casos de uso e preocupações associadas para possibilitar o uso responsável e inovador da tecnologia.

Modelos de linguagem de grande porte de código aberto: benefícios, riscos e tipos

Saiba mais sobre os diferentes tipos de modelos de linguagem de grande porte (LLMs) e os benefícios, riscos e casos de uso de negócios dos LLMs de código aberto para a IA generativa.

Guia para iniciantes em Python

Python é uma linguagem de programação comumente usada com incorporação. Este guia apresentará alguns conceitos básicos que você precisa conhecer para começar a usar esta linguagem de programação simples.

Dê o próximo passo

Acelere a adoção da IA generativa com o watsonx.ai, um estúdio empresarial de última geração para desenvolvedores de IA treinarem, validarem, ajustarem e implementarem modelos de IA.

Demonstração do watsonx.ai