Cos'è l'incorporamento?

22 dicembre 2023

Autori

Joel Barnard

Writer

Cos'è l'incorporamento?

L'incorporamento è un mezzo per rappresentare oggetti come testo, immagini e audio come punti in uno spazio vettoriale continuo, in cui le posizioni di tali punti nello spazio sono semanticamente significative per gli algoritmi di machine learning (ML).

L'incorporamento è uno strumento fondamentale per gli ingegneri del machine learning che creano motori di ricerca di testo e immagini, sistemi di raccomandazione, chatbot, sistemi di rilevamento delle frodi e molte altre applicazioni. In sostanza, l'incorporamento consente ai modelli di machine learning di trovare oggetti simili.

A differenza di altre tecniche di apprendimento automatico, gli incorporamenti vengono appresi dai dati utilizzando vari algoritmi, come le reti neurali, invece di richiedere esplicitamente l'esperienza umana per la definizione. Consentono al modello di apprendere modelli e relazioni complessi nei dati, che altrimenti sarebbero impossibili da identificare per gli esseri umani.

Ad esempio, l'implementazione dell'incorporamento di OpenAI consente a ChatGPT di comprendere facilmente le relazioni tra diverse parole e categorie invece di limitarsi ad analizzare ogni parola in modo isolato. Con gli incorporamenti, i modelli GPT di OpenAI generano risposte più coerenti e contestualmente pertinenti alle richieste e alle domande degli utenti.

Design 3D di palline che rotolano su una pista

Le ultime notizie e insight sull'AI 


Scopri notizie e insight selezionati da esperti in materia di AI, cloud e molto altro nella newsletter settimanale Think. 

Come funziona l'incorporamento

La maggior parte degli algoritmi di machine learning accetta come input solo dati numerici di basse dimensioni. Pertanto, è necessario convertire i dati in un formato numerico. Ciò può comportare cose come la creazione di una rappresentazione a "sacchetto di parole" per dati di testo, la conversione di immagini in valori di pixel o la trasformazione di dati grafici in una matrice numerica.

Gli oggetti che entrano in un modello di incorporamento vengono emessi come incorporamenti, rappresentati come vettori. Un vettore è una serie di numeri (ad es. 1489, 22… 3, 777), in cui ciascun numero indica dove si trova un oggetto lungo una dimensione specificata. Il numero di dimensioni può raggiungere un migliaio o più, a seconda della complessità dei dati di input. Più un incorporamento è vicino ad altri incorporamenti in questo spazio n-dimensionale, più saranno simili. La somiglianza di distribuzione è determinata dalla lunghezza dei punti vettoriali da un oggetto all'altro (misurata per euclideo, coseno o altro).

Word2Vec (da parola a vettore), un modello sviluppato da Google nel 2013, è un metodo per creare in modo efficiente incorporamenti di parole utilizzando una rete neurale a due livelli. Prende come input una parola e fa uscire una coordinata n-dimensionale (il vettore di incorporamento), in modo che quando questi vettori di parole vengono tracciati in uno spazio tridimensionale, i sinonimi vengano raggruppate.

Ecco come due parole, "papà" e "mamma" sarebbero rappresentate come vettori:

 "dad.=[0.1548,0.4848,,1.864] 

 "MoM.=[0.8785,0.8974,,2.794] 

Sebbene ci sia qualche somiglianza tra queste due parole, ci aspetteremmo che "padre" si trovi molto più vicino a "papà" nello spazio vettoriale, risultando in un prodotto scalare più alto (una misura della direzione relativa di due vettori e di quanto strettamente sono allineati nella direzione in cui puntano).

Un esempio più complesso è l'incorporamento delle raccomandazioni, che funziona rappresentando utenti ed elementi (ad esempio film, prodotti, articoli) come vettori ad alte dimensioni in uno spazio vettoriale continuo. Questi incorporamenti catturano funzionalità latenti che riflettono le preferenze degli utenti e le caratteristiche degli articoli. L'idea è di imparare una rappresentazione per ogni utente e elemento, in modo tale che il prodotto scalare dei loro incorporamenti sia correlato alla preferenza dell'utente per quell'elemento specifico.

Ogni utente ed elemento è associato a un vettore di incorporamento generalmente appreso tramite un modello di raccomandazione in un processo di formazione. Gli incorporamenti di utenti e gli incorporamenti di elementi sono organizzati in matrici. Le righe della matrice utente rappresentano gli utenti, mentre e le righe della matrice elementi rappresentano gli elementi.

Il punteggio di raccomandazione per una coppia utente-elemento può essere calcolato prendendo il prodotto punto del vettore di incorporamento dell'utente e il vettore di incorporamento dell'elemento. Più alto è il prodotto scalare, maggiore è la probabilità che l'utente sia interessato all'elemento.

 ReCoMMendaTionSCore=UserEMbeddingITeMEMbedding 

Le matrici di incorporamento vengono apprese attraverso un processo di addestramento utilizzando le interazioni storiche utente-elemento. Il modello mira a minimizzare la differenza tra i punteggi previsti e le preferenze effettive dell'utente (ad esempio valutazioni, clic, acquisti).

Una volta addestrato, il modello può essere utilizzato per generare raccomandazioni top-N per gli utenti. Vengono consigliati gli articoli con i punteggi previsti più alti per un utente.

Mixture of Experts | Podcast

Decoding AI: Weekly News Roundup

Unisciti al nostro gruppo di livello mondiale di ingegneri, ricercatori, leader di prodotto e molti altri mentre si fanno strada nell'enorme quantità di informazioni sull'AI per darti le ultime notizie e gli ultimi insight sull'argomento.

Perché usare l'incorporamento

Gli incorporamenti sono utilizzati in vari domini e applicazioni per via della loro capacità di trasformare dati categorici e ad alte dimensioni in rappresentazioni vettoriali continue, catturando relazioni, semantiche e pattern significativi. Di seguito sono riportati alcuni motivi per cui l'incorporamento viene utilizzato nella data science:

Rappresentazione semantica

Mappando le entità (parole, immagini, nodi in un grafico, ecc.) ai vettori in uno spazio continuo, gli incorporamenti acquisiscono relazioni semantiche e somiglianze, consentendo ai modelli di comprendere e generalizzare meglio.

Riduzione della dimensionalità

I dati ad alte dimensioni, come testo, immagini o grafici, possono essere trasformati in rappresentazioni di dimensioni inferiori, rendendoli efficienti e più facili da utilizzare dal punto di vista computazionale.

Miglioramento della generalizzazione dei modelli

Apprendendo rappresentazioni significative dai dati, i modelli possono generalizzare bene con esempi invisibili, rendendo gli incorporamenti fondamentali per le attività con dati etichettati limitati.

Visualizzazione efficace

Tecniche come il t-SNE possono essere applicate per visualizzare incorporamenti ad alte dimensioni in due o tre dimensioni, fornendo informazioni sulle relazioni e sui cluster all'interno dei dati.

Formazione efficiente nelle reti neurali

I livelli di incorporamento sono comunemente usati nelle architetture delle reti neurali per mappare gli input categorici su vettori continui, facilitando la retropropagazione e l'ottimizzazione.

Quali oggetti possono essere incorporati?

Gli incorporamenti sono rappresentazioni versatili che possono essere applicate a un'ampia gamma di tipi di dati. Ecco alcuni degli oggetti più comuni che possono essere incorporati:

Parole

Le parole incorporate catturano le relazioni semantiche e i significati contestuali delle parole in base ai loro modelli di utilizzo in un determinato corpus linguistico. Ogni parola è rappresentata come un vettore denso di numeri reali di dimensioni fisse. È l'opposto di un vettore sparso, come la codifica one-hot, che ha molte voci zero.

L'uso dell'incorporamento delle parole ha notevolmente migliorato le prestazioni dei modelli di elaborazione del linguaggio naturale (NLP), fornendo una rappresentazione più significativa ed efficiente delle parole. Questi incorporamenti consentono alle macchine di comprendere ed elaborare il linguaggio per catturare sfumature semantiche e relazioni contestuali, rendendole preziose per un'ampia gamma di applicazioni come l'analisi del sentiment, la traduzione automatica e il recupero delle informazioni.

I modelli di incorporamento di parole più popolari includono Word2Vec, GloVe (Global Vectors for Word Representation), FastText e incorporamenti derivati da modelli basati su trasformatori come BERT (Bidirectional Encoder Representations from Transformers) e GPT (Generative Pre-trained Transformer).

Testo

L'incorporamento del testo estende quello delle parole per rappresentare intere frasi, paragrafi o documenti in uno spazio vettoriale continuo. Gli incorporamenti di testo svolgono un ruolo cruciale in varie applicazioni di NLP, come l'analisi del sentiment, la classificazione del testo, la traduzione automatica, la risposta alle domande e il recupero delle informazioni.

Modelli come Doc2Vec, USE (Universal Sentence Encoder), BERT e ELMO (Embeddings from Language Models) sono stati formati su grandi quantità di corpus di incorporamento pre-addestrati, come Wikipedia e Google News.

Immagini

L'incorporamento di immagini è progettato per acquisire funzionalità visive e informazioni semantiche sul contenuto delle immagini. Gli incorporamenti di immagini sono particolarmente utili per varie attività di computer vision, consentendo la modellazione di somiglianze di immagini, classificazione delle immagini, rilevamento di oggetti e altre attività di visual recognition.

Le reti neurali convoluzionali (CNN) più popolari per l'incorporamento di immagini includono modelli come VGG (Visual Geometry Group), ResNet (Residual Networks), Launch (GoogLeNet) ed EfficientNet. Questi modelli sono stati pre-addestrati su set di dati di immagini su larga scala e possono essere utilizzati come potenti estrattori di funzionalità.

Audio

Analogamente agli incorporamenti di immagini e testo, gli incorporamenti audio vengono spesso generati utilizzando architetture di deep learning, in particolare reti neurali ricorrenti (RNN), reti neurali convoluzionali (CNN) o modelli ibridi che combinano entrambe. Questi incorporamenti acquisiscono le caratteristiche e le funzioni rilevanti dei dati audio, consentendo analisi, elaborazione e metriche di somiglianza efficaci. Gli incorporamenti audio sono particolarmente utili in applicazioni come il riconoscimento vocale, la classificazione audio e l'analisi musicale, oltre a molte altre.

Grafici

L'incorporamento di grafici è essenziale per varie attività, tra cui la classificazione dei nodi, la previsione dei collegamenti e il rilevamento della community nelle reti complesse. Questi incorporamenti trovano applicazione nell'analisi dei social network, nei sistemi di raccomandazione, nell'analisi delle reti biologiche, nel rilevamento delle frodi e in vari altri settori in cui i dati possono essere rappresentati come grafici.

Come vengono creati gli incorporamenti

Gli incorporamenti vengono creati tramite un processo chiamato "apprendimento di incorporamento". Sebbene il metodo specifico utilizzato dipenda dal tipo di dati da incorporare, gli incorporamenti vengono creati seguendo questi passaggi generali:

  1. Scegli o addestra un modello di incorporamento: seleziona un modello di incorporamento preesistente adatto ai tuoi dati e alle tue attività o addestrane uno nuovo, se necessario. Per il testo, puoi scegliere Word2Vec, GloVe o BERT. Per le immagini, puoi utilizzare CNN preaddestrati come VGG o ResNet.

  2. Prepara i dati: formatta i dati in modo compatibile con il modello di incorporamento selezionato. Per il testo, ciò comporta la tokenizzazione e la pre-elaborazione. Per le immagini, potrebbe essere necessario ridimensionare e normalizzare le immagini.

  3. Caricare o addestra il modello di incorporamento: se utilizzi un modello pre-addestrato, carica i pesi e l'architettura. Se stai addestrando un nuovo modello, fornisci i dati di formazione preparati all'algoritmo.

  4. Genera gli incorporamenti: per ogni punto di dati, utilizza il modello addestrato o caricato per generare gli incorporamenti. Ad esempio, se utilizzi un modello di incorporamento di parole, inserisci una parola per ottenere il vettore corrispondente.

  5. Integra gli incorporamenti nell'applicazione: utilizza gli incorporamenti generati come funzioni nel modello di machine learning o per la ricerca di somiglianze, la raccomandazione, il clustering e così via, a seconda dell'attività specifica.

In tutti i casi di incorporamento, l'idea è quella di rappresentare i dati in uno spazio vettoriale continuo in cui vengono mantenute relazioni significative. Il processo di formazione comporta la regolazione dei parametri del modello per ridurre al minimo la differenza tra valori previsti ed effettivi in base alla funzione di obiettivo scelta. Una volta addestrati, gli incorporamenti possono essere utilizzati per varie attività a valle.

Esempi reali di incorporamenti

 

Gli incorporamenti sono ampiamente utilizzati in varie applicazioni del mondo reale in diversi domini. Ecco alcuni esempi:

Elaborazione del linguaggio naturale (NLP)

  • Gli incorporamenti di parole nell'analisi del sentiment: gli incorporamenti di parole come Word2Vec o GloVe vengono utilizzati per rappresentare le parole in uno spazio vettoriale continuo. I modelli di analisi del sentiment possono utilizzare questi incorporamenti per comprendere e classificare il sentiment di una parte di testo.

  • BERT per le risposte alle domande: gli incorporamenti BERT sono utilizzati nei sistemi di risposta alle domande. Il modello è in grado di comprendere il contesto della domanda e del documento per estrarre le informazioni pertinenti.

  • Similitudine del testo con Doc2Vec: gli incorporamenti Doc2Vec vengono applicati in compiti come la ricerca di documenti simili. Gli incorporamenti dei documenti vengono confrontati per misurare la somiglianza semantica tra i documenti.

Computer vision

  • Classificazione delle immagini con CNN: i CNN, come VGG o ResNet, vengono impiegati per compiti di classificazione delle immagini. Le funzioni dello strato finale o degli strati intermedi possono servire come incorporamenti di immagini.

  • Recupero delle immagini tramite CLIP: il modello CLIP apprende gli incorporamenti congiunti per immagini e testo per consentire applicazioni come il recupero di immagini basato sulle query in linguaggio naturale.

  • Riconoscimento facciale con FaceNet: FaceNet crea incorporamenti per i volti che possono essere utilizzati per il riconoscimento facciale. Questi incorporamenti vengono spesso utilizzati per misurare la somiglianza tra volti diversi.

Sistemi di raccomandazione

  • Filtro collaborativo con incorporamenti: gli incorporamenti vengono utilizzati per rappresentare utenti ed elementi nei modelli di filtro collaborativo. I metodi di fattorizzazione a matrice utilizzano gli incorporamenti per fornire consigli personalizzati.

  • Raccomandazioni sui prodotti con incorporamenti di parole: nell'e-commerce, le descrizioni o le recensioni dei prodotti possono essere incorporate utilizzando gli incorporamenti di parole. Prodotti simili possono essere consigliati in base alla somiglianza semantica dei loro incorporamenti.

Applicazioni cross-modali

  • Traduzione multimodale con MUSE: MUSE (Multilingual Universal Sentence Encoder) consente la comprensione interlinguistica e intermodale. Può essere utilizzato per attività come la traduzione di testo tra lingue diverse o il collegamento di immagini con descrizioni corrispondenti.

  • Ricerca intermodale con incorporamenti congiunti: gli incorporamenti congiunti vengono appresi per diverse modalità, come immagini e testo. Ciò consente la ricerca intermodale, dove una query in una modalità recupera risultati in un'altra modalità.

Rilevamento delle anomalie

  • Rilevamento delle anomalie di rete con incorporamenti di grafici: gli incorporamenti di nodi di rete possono essere utilizzati per rilevare anomalie. Le modifiche apportate allo spazio di incorporamento potrebbero indicare un comportamento insolito.

  • Rilevamento delle frodi tramite incorporamenti di transazioni: gli incorporamenti di dati sulle transazioni possono aiutare a identificare modelli associati ad attività fraudolente. Incorporamenti insoliti potrebbero indicare transazioni potenzialmente fraudolente.

Questi esempi evidenziano la versatilità degli incorporamenti in diverse applicazioni, dimostrando la loro capacità di acquisire rappresentazioni e relazioni significative da diversi tipi di dati.

Soluzioni correlate
IBM watsonx.ai

Addestra, convalida, adatta e implementa le funzionalità di AI generativa, foundation model e machine learning con IBM watsonx.ai, uno studio aziendale di nuova generazione per builder AI. Crea applicazioni AI in tempi ridotti e con una minima quantità di dati.

Scopri watsonx.ai
Soluzioni di intelligenza artificiale

Metti l'AI al servizio della tua azienda grazie all'esperienza leader di settore e alla gamma di soluzioni di IBM nel campo dell'AI.

Esplora le soluzioni AI
Consulenza e servizi sull'AI

Reinventa i flussi di lavoro e le operazioni critiche aggiungendo l'AI per massimizzare le esperienze, il processo decisionale in tempo reale e il valore di business.

Esplora i servizi AI
Fai il passo successivo

Ottieni l'accesso completo a funzionalità che coprono l'intero ciclo di vita dello sviluppo dell'AI. Crea soluzioni AI all'avanguardia con interfacce intuitive, workflow e accesso alle API e agli SDK standard di settore.

Esplora watsonx.ai Prenota una demo live