Cosa sono gli incorporamenti nel machine learning?

Gli incorporamenti rappresentano oggetti del mondo reale, come parole, images o video, in una forma che i computer possono elaborare. Gli incorporamenti consentono ricerche di similarità e sono fondamentali per l'intelligenza artificiale.

Obiettivi di apprendimento

Dopo aver letto questo articolo sarai in grado di:

  • Definire vettori e incorporamenti
  • Spiega come i vettori abilitano le ricerche di similarità
  • Descrivere come vengono creati gli incorporamenti

Argomenti correlati


Vuoi saperne di più?

Abbonati a theNET, il riepilogo mensile di Cloudflare sulle tematiche più discusse in Internet.

Fai riferimento all'Informativa sulla privacy di Cloudflare per scoprire come raccogliamo ed elaboriamo i tuoi dati personali.

Copia link dell'articolo

Cosa sono gli incorporamenti?

Gli incorporamenti sono rappresentazioni di valori o oggetti come testo, immagini e audio progettati per essere utilizzati da modelli di machine learning e algoritmi di ricerca semantica. Traducono oggetti come questi in una forma matematica in base ai fattori o ai tratti che ciascuno può avere o meno e alle categorie a cui appartiene.

In sostanza, gli incorporamenti consentono ai modelli di machine learning di trovare oggetti simili. Data una foto o un documento, un modello di machine learning che utilizza gli incorporamenti potrebbe trovare una foto o un documento simile. Poiché gli incorporamenti consentono ai computer di comprendere le relazioni tra parole e altri oggetti, sono fondamentali per l'intelligenza artificiale (IA).

Ad esempio, i documenti in alto a destra di questo spazio bidimensionale possono essere rilevanti l'uno per l'altro:

Incorporamenti: documenti nello spazio vettoriale raggruppati insieme

Tecnicamente, gli incorporamenti sono vettori creati da modelli di machine learning allo scopo di acquisire dati significativi su ciascun oggetto.

Registrati
Sicurezza e velocità con qualsiasi piano Cloudflare

Cos'è un vettore nel machine learning?

In matematica, un vettore è una matrice di numeri che definiscono un punto in uno spazio dimensionale. In termini più pratici, un vettore è un elenco di numeri, come {1989, 22, 9, 180}. Ogni numero indica dove si trova l'oggetto lungo una dimensione specificata.

Nel machine learning, l'uso di vettori consente di cercare oggetti simili. Un algoritmo di ricerca vettoriale deve semplicemente trovare due vettori vicini tra loro in un database vettoriale.

Per capire meglio questo concetto, pensiamo alla latitudine e alla longitudine. Queste due dimensioni, rispettivamente nord-sud ed est-ovest, possono indicare la posizione di qualsiasi luogo sulla Terra. La città di Vancouver, British Columbia, in Canada può essere rappresentata dalle coordinate di latitudine e longitudine {49°15'40"N, 123°06'50"W}. Questo elenco di due valori è un semplice vettore.

Ora immagina di cercare una città molto vicina a Vancouver. Una persona guarderebbe semplicemente una mappa, mentre un modello di machine learning potrebbe invece considerare latitudine e longitudine (o vettore) e trovare un luogo con latitudine e longitudine simili. La città di Burnaby si trova a {49°16'N, 122°58'W}, molto vicina a {49°15'40"N, 123°06'50"W}. Pertanto, il modello può concludere, correttamente, che Burnaby si trova vicino a Vancouver.

Aggiunta di più dimensioni ai vettori

Ora immagina di cercare una città che non solo sia vicina a Vancouver, ma che abbia anche dimensioni simili. A questo modello di localizzazione aggiungiamo una terza "dimensione" alla latitudine e alla longitudine: la dimensione della popolazione. La popolazione può essere aggiunta al vettore di ogni città e la dimensione della popolazione può essere trattata come un asse Z, con latitudine e longitudine come assi Y e X.

Il vettore per Vancouver è ora {49°15'40"N, 123°06'50"W, 662,248*}. Con l'aggiunta di questa terza dimensione, Burnaby non è più particolarmente vicino a Vancouver, poiché la sua popolazione è di soli 249.125 abitanti*. Il modello potrebbe invece trovare la città di Seattle, nello Stato di Washington, USA, che ha un vettore di {47°36'35"N 122°19'59"W, 749,256**}.

*A partire dal 2021.
**A partire dal 2022.

Questo è un esempio abbastanza semplice di come funzionano i vettori e la ricerca per similarità. Tuttavia, per essere utili, i modelli di machine learning potrebbero dover generare più di tre dimensioni, dando origine a vettori molto più complessi.

Vettori ancora più multidimensionali

Ad esempio, come può un modello stabilire quali programmi TV sono simili tra loro e quindi è probabile che vengano guardati dalle stesse persone? Ci sono diversi fattori da tenere in considerazione: la durata dell'episodio, il numero di episodi, la classificazione del genere, il numero di spettatori in comune, gli attori in ogni serie, l'anno di uscita di ogni serie e così via. Tutti questi dati possono essere considerati "dimensioni" e ogni spettacolo rappresentato come un punto lungo ciascuna di queste dimensioni.

I vettori multidimensionali possono aiutarci a determinare se la sitcom Seinfeld è simile alla serie horror Mercoledì. Seinfeld è uscito nel 1989, Mercoledì nel 2022. I due programmi hanno episodi di durata diversa, con Seinfeld che va da 22 a 24 minuti e Mercoledì che va da 46 a 57 minuti, e così via. Osservando i loro vettori, possiamo stabilire che è probabile che questi programmi occupino punti molto diversi nella rappresentazione dimensionale dei programmi TV.

Programma televisivo Genere Anno di uscita Durata dell'episodio Stagioni (fino al 2023) Episodi (fino al 2023)
Seinfeld Sitcom 1989 22-24 9 180
Mercoledì Horror 2022 46-57 1 8

Possiamo esprimerli come vettori, proprio come abbiamo fatto con latitudine e longitudine, ma con più valori:

Vettore Seinfeld: {[Sitcom], 1989, 22-24, 9, 180}
Vettore Mercoledì: {[Horror], 2022, 46-57, 1, 8}

Un modello di machine learning potrebbe identificare la sitcom Cin cin come molto più simile a Seinfeld. È dello stesso genere, è uscita nel 1982, ogni episodio dura tra i 21 e i 25 minuti, ha 11 stagioni e 275 episodi.

Vettore Seinfeld: {[Sitcom], 1989, 22-24, 9, 180}
Vettore Cin cin: {[Sitcom], 1982, 21-25, 11, 275}

Negli esempi precedenti, una città era un punto lungo le due dimensioni di latitudine e longitudine; abbiamo poi aggiunto una terza dimensione, la popolazione. Abbiamo anche analizzato la posizione di questi programmi TV lungo cinque dimensioni.

Invece di due, tre o cinque dimensioni, un programma televisivo all'interno di un modello di machine learning è un punto lungo forse cento o mille dimensioni, a seconda di quante il modello desidera includere.

Come funzionano gli incorporamenti?

L'incorporamento è il processo di creazione di vettori tramite il deep learning. Un "incorporamento" è il risultato di questo processo, in altre parole il vettore creato da un modello di deep learning allo scopo di effettuare ricerche di similarità da parte di quel modello.

Incorporamenti: documento a sinistra convertito in vettore con tre dimensioni a destra tramite l'API degli incorporamenti

Gli incorporamenti vicini tra loro, proprio come Seattle e Vancouver hanno valori di latitudine e longitudine vicini tra loro e popolazioni comparabili, possono essere considerati simili. Utilizzando gli incorporamenti, un algoritmo può suggerire un programma televisivo pertinente, trovare luoghi simili o identificare quali parole sono simili o che hanno maggiori probabilità di essere utilizzate insieme, come nei modelli linguistici.

Come le reti neurali creano gli incorporamenti

Le reti neurali sono modelli di deep learning che imitano l'architettura del cervello umano. Proprio come il cervello è composto da neuroni che si scambiano impulsi elettrici, le reti neurali sono composte da nodi virtuali che comunicano tra loro quando i loro input superano una determinata soglia.

Le reti neurali sono costituite da diversi livelli: un livello di input, un livello di output e un numero qualsiasi di livelli "nascosti" intermedi. I livelli nascosti possono trasformare gli input in diversi modi, a prescindere dalla definizione del modello.

La creazione di incorporamenti è un livello nascosto. Solitamente questa operazione avviene prima che ulteriori livelli elaborino l'input. Quindi, ad esempio, un essere umano non avrebbe bisogno di definire dove si colloca ogni programma televisivo lungo cento dimensioni diverse. Invece, un livello nascosto nella rete neurale lo farebbe automaticamente. Utilizzando questo incorporamento, il programma televisivo potrebbe poi essere ulteriormente analizzato dagli altri livelli nascosti per trovare programmi televisivi simili. Infine, il livello di output può produrre suggerimenti su altri programmi che gli spettatori potrebbero voler guardare.

La creazione di questo livello di incorporamento richiede inizialmente un certo sforzo manuale. Un programmatore può fornire alla rete neurale esempi su come creare un incorporamento, quali dimensioni includere e così via. Alla fine, il livello di incorporamento può funzionare da solo, sebbene il programmatore possa continuare a mettere a punto il modello per produrre suggerimenti migliori.

In che modo gli incorporamenti vengono utilizzati nei modelli linguistici di grandi dimensioni (LLM)?

Per i modelli linguistici di grandi dimensioni (LLM), come i modelli utilizzati per strumenti di intelligenza artificiale come ChatGPT, l'incorporamento è portato a un livello superiore. Il contesto di ogni parola diventa un incorporamento, oltre alla parola stessa. È possibile ricercare e analizzare il significato di intere frasi, paragrafi e articoli. Sebbene ciò richieda una notevole potenza di calcolo, il contesto delle query può essere memorizzato come incorporamento, risparmiando tempo e potenza di calcolo per query future.

In che modo Cloudflare semplifica l'utilizzo degli incorporamenti?

Per gli sviluppatori che desiderano creare applicazioni basate sull'intelligenza artificiale con Cloudflare Workers, Cloudflare offre Workers AI. In concomitanza, Cloudflare offre anche Vectorize, un database vettoriale distribuito a livello globale. Insieme, questi servizi rendono più veloce, più facile e più conveniente generare e interrogare gli incorporamenti. Ciò consente agli sviluppatori di creare applicazioni di intelligenza artificiale senza avviare alcuna infrastruttura di backend. Scopri di più su Vectorize e Workers AI.

DOMANDE FREQUENTI

Cos'è un embedding nel contesto del machine learning?

Un embedding è una rappresentazione numerica, o vettore, di un oggetto del mondo reale, come un testo, un'immagine o un documento. I modelli di machine learning creano questi incorporamenti per tradurre gli oggetti in una forma matematica, che consente loro di comprendere le relazioni e trovare elementi simili.

In che modo gli embedding consentono le ricerche di similarità?

Gli embedding traducono le caratteristiche di un oggetto in un elenco di numeri chiamato vettore, che definisce un punto in uno spazio multidimensionale. Per trovare oggetti simili, un algoritmo deve semplicemente trovare due vettori vicini tra loro in questo spazio.

Cos'è un vettore nel machine learning?

Un vettore è un insieme di numeri che rappresenta la posizione di un oggetto in diverse dimensioni o caratteristiche Ad esempio, una serie TV potrebbe essere rappresentata da un vettore che include il suo genere, l'anno di debutto e il numero di episodi Confrontando questi vettori, un modello può determinare il grado di somiglianza tra due programmi.

Come vengono creati gli embedding?

Gli embedding vengono creati in genere utilizzando un modello di deep learning chiamato rete neurale. Un livello "nascosto" all'interno della rete neurale elabora automaticamente un input (come il nome di un programma televisivo) e lo converte in un vettore multidimensionale in base ai suoi vari attributi

In che modo gli incorporamenti vengono utilizzati nei modelli linguistici di grandi dimensioni (LLM)?

Negli LLM, gli embedding vengono utilizzati per rappresentare non solo le singole parole, ma anche il contesto circostante. Ciò consente ai modelli di comprendere il significato di intere frasi, paragrafi e articoli, il che è fondamentale per cercare, analizzare e generare testi simili a quelli umani.