Home topics Incorporamento Cos'è l'incorporamento?
Esplora IBM® watsonx.ai
Concetto di Neural Networks dei computer

Pubblicato: 22 dicembre 2023
Collaboratori: Joel Barnard

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.

Fai un tour di IBM watsonx.ai

Uno studio aziendale di nuova generazione per i builder AI con cui addestrare, convalidare, adattare e implementare modelli di AI

Contenuti correlati

Iscriviti alla newsletter IBM

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:

    "papà" = [0,1548, 0,4848, …, 1,864]

    "mamma" = [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.

    Punteggio di raccomandazione = Incorporamento utente ⋅ Incorporamento elemento

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.

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)

 

  • 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 sfruttare questi incorporamenti per comprendere e classificare il sentiment di una parte di testo.

  • BERT per la risposta 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.

  • Somiglianza del testo con Doc2Vec: gli incorporamenti di Doc2Vec vengono applicati in attività come la ricerca di documenti simili. Gli incorporamenti di 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 utilizzati per attività di classificazione delle immagini. Le funzioni dello strato finale o degli strati intermedi possono servire come incorporamenti di immagini.

  • Recupero di immagini tramite CLIP: il modello CLIP apprende l'incorporamento congiunto di 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 sfruttano 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 raccomandati 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 cross-modale 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: è possibile utilizzare incorporamenti di nodi di rete per rilevare anomalie. Le modifiche apportate allo spazio di incorporamento potrebbero indicare un comportamento insolito.

  • Rilevamento delle frodi con incorporamento delle transazioni: gli incorporamenti dei dati delle transazioni possono aiutare a identificare i pattern associati alle attività fraudolente. Incorporamenti insoliti possono 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 Natural Language Understanding

IBM Watson Natural Language Understanding sfrutta il deep learning per estrarre il significato e i metadati dai dati di testo non strutturati. Scava nei tuoi dati utilizzando l'analytics dei testi per estrarre categorie, classificazioni, entità, parole chiave, sentiment, emozioni, relazioni e sintassi.

Esplora NLU

IBM watsonx

Moltiplica la potenza dell'AI con la nostra piattaforma di dati e intelligenza artificiale di nuova generazione. IBM watsonx è un portfolio di strumenti, applicazioni e soluzioni per il business, progettati per ridurre i costi e gli ostacoli dell'adozione dell'AI, ottimizzando al contempo i risultati e l'utilizzo responsabile dell'AI.

Esplora watsonx

Soluzioni AI di IBM

Rendi operativa l'AI in tutta la tua azienda per offrire vantaggi in modo rapido ed etico. Il nostro ricco portafoglio di prodotti AI di livello aziendale e di soluzioni analitiche è progettato per ridurre gli ostacoli all'adozione dell'AI e per creare le giuste basi di dati, ottimizzando i risultati e l'uso responsabile.

Esplora le soluzioni AI
Risorse Che cos'è il machine learning?

Ottieni insight su come il machine learning sfrutta i dati e gli algoritmi, sui suoi casi d'uso e sulle problematiche ad esso associate per promuovere un uso responsabile e innovativo della tecnologia.

Modelli linguistici di grandi dimensioni open source: vantaggi, rischi e tipologie

Scopri di più sui diversi tipi di modelli linguistici di grandi dimensioni (LLM) e sui loro vantaggi, i rischi e i casi d'uso aziendali degli LLM open source per l'AI generativa.

Guida per principianti a Python

Python è un linguaggio di programmazione comunemente utilizzato per gli incorporamenti. Questa guida ti presenterà alcuni concetti di base che è bene conoscere per iniziare a utilizzare questo semplice linguaggio di programmazione.

Fai il passo successivo

Accelera l'adozione dell'AI generativa con watsonx.ai, uno studio aziendale di nuova generazione pensato per i costruttori di IA per addestrare, convalidare, ottimizzare e implementare modelli di AI.

Demo di watsonx.ai