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.
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:
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.
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.
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:
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.
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.
Apprendendo rappresentazioni significative dai dati, i modelli possono generalizzare bene con esempi invisibili, rendendo gli incorporamenti fondamentali per le attività con dati etichettati limitati.
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.
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.
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:
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).
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.
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à.
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.
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.
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:
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.
Gli incorporamenti sono ampiamente utilizzati in varie applicazioni del mondo reale in diversi domini. Ecco alcuni esempi:
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.
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.
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.
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.
Impara i concetti fondamentali e sviluppa le tue competenze con laboratori pratici, corsi, progetti guidati, prove e molto altro.
Scopri come incorporare in tutta sicurezza l'AI generativa e il machine learning nella tua azienda.
Vuoi ottenere un ritorno migliore sui tuoi investimenti nell'AI? Scopri come lo scaling della GenAI in settori chiave può favorire il cambiamento, aiutando le tue menti migliori a creare e fornire nuove soluzioni innovative.
Scopri come scegliere il foundation model di AI più adatto al tuo caso d'uso.
IBM Granite è la nostra famiglia di modelli AI aperti, efficienti e affidabili, su misura per le aziende e ottimizzati per scalare le applicazioni di AI. Esplora le opzioni di linguaggio, codice, serie temporali e guardrail.
Approfondisci i 3 elementi critici di una solida strategia AI: creare un vantaggio competitivo, scalare l'AI attraverso l'azienda e promuovere un'AI affidabile.
Abbiamo intervistato 2.000 organizzazioni in merito alle loro iniziative di AI per scoprire cosa funziona, cosa non funziona e come giocare d'anticipo.