On 13 Oct 2023, at 18:13, nexa-request@server-nexa.polito.it wrote:

From: Giacomo Tesio <giacomo@tesio.it>
To: Giuseppe Attardi <attardi@di.unipi.it>
Cc: nexa@server-nexa.polito.it
Subject: Re: [nexa] IA, lavoro, immaginari
Message-ID: <17CF1CA0-AA25-438E-9BAC-323D44ABB64A@tesio.it>
Content-Type: text/plain; charset=UTF-8

Ciao Giuseppe,

Il 12 Ottobre 2023 20:18:23 UTC, Giuseppe Attardi ha scritto:
I word embedding sono molto diversi dai co-occurrence counts, simili
a quelle dei tuoi esempi.

Si trattava ovviamente di una semplificazione ad uso di chi non conosce
(o non comprende) la programmazione statistica.

Ah, beh. 

La dimensione dei word embeddings è un valore costante prefissato,
indipendente dalla lunghezza del vocabolario, come nella tua versione.

Certo, per ovvi motivi: la gestione di vettori con una dimensionalità
pari alla dimensione de vocabolario richiederebbe capacità di calcolo
nettamente maggiori di quelle disponibili.

No. La dimensione del vocabolario sarebbe perfettamente trattabile.
Si chiama vector space model ed è quello utilizzato nei motori di ricerca.


D'altro canto, tale dimensione è "prefissato" solo all'interno di una
particolare architettura del LLM, ma nulla impedisce di provare a
programmare statisticamente LLM diversi (con dimensioni diverse nei
word embeddings) sullo stesso dataset sorgente e confrontarne i
risultati per selezionare quello ottimale durante la cross validation.

Non è questione di scegliere la dimensione ottimale: la differenza è tra un modello sparso e uno denso.
Per ottenere quello denso, occorre fare di più di una semplice riduzione dimensionale, come dici sotto.

Inoltre il mio esempio riproduceva una matrice basata su una singola
relazione, peraltro definita in modo piuttosto approssimativo.

Le relazioni che potremmo misurare sono innumerevoli, dalla distanza
media nelle frasi, alle relazioni grammaticali etc…
Lodevole, allora sviluppa la tua teoria e pubblicala.


I word embedding vengono ottenuti come effetto secondario
dell’allenamento di un Language Model, come i vettori nascosti che
consentono al modello di stimare la probabilità di una parola in un
contesto.

In altri termini, il processo di programmazione statistica che hai 
in mente combina il computo delle co-occorrenze ed una riduzione
dimensionale che facilita l'approssimazione della funzione di
mappatura obiettivo.

No, una riduzione dimensionale fa perdere informazioni producendo un’approssimazione.
Le rappresentazioni basate su co-occurrence counts non hanno dato i risultati che i linguisti speravano.
Farne una riduzione dimensionale peggiorerebbe le loro capacità.
Puoi vederlo in questo articolo, negli esempi in Tab. 6 e 7, che mostra come i word embedding invece funzionano:
https://www.jmlr.org/papers/volume12/collobert11a/collobert11a.pdf
Oppure sperimentarlo tu stesso qui:
https://projector.tensorflow.org/
Funzionano vuole dire che utilizzati in applicazioni di NLP, consentono di ottenere risultati efficaci più di ogni altra tecnica usata in precedenza.
È quello che Nello Cristianini chiama “La scorciatoia” (https://www.mulino.it/isbn/9788815299833).



Ci vorrebbero diverse lezioni per spiegare come si calcolano i word
embedding e perché funzionino in modo talmente efficace

Beh, ma il loro principio di funzionamento è semplice da spiegare.

Vieni tu a insegnarli allora.
Potresti anche andare a Stanford, dove ci dedicano 6 ore di lezione in un corso di PhD:

https://web.stanford.edu/class/cs224n/index.html

È _COME SE_, a valle di un'analisi simile a quella che ho descritto
nella mail precedente, si applicasse una riduzione dimensionale oculata
(ma approssimativa).

Per chi non lo sapesse una riduzione dimensionale consiste
semplicemente nella proiezione di uno spazio euclideo a N dimensioni su
un altro spazio euclideo a M dimensioni con N maggiore di M.

Ad esempio, immaginando 4 o più punti in uno spazio tridimensionale
(N=3), si tratta semplicemente di proiettare i punti su un piano (M=2)
libero di traslare e ruotare in modo tale da minimizzare la distanza
quadratica media delle proiezioni dai punti originali entro un limite
accettabile (aka, "minimizzare l'errore entro un epsilon").

Non dovrebbe essere difficile da immaginare: 4 o 5 punti nello spazio
a caso ma non appartenenti ad un piano ed un piano selezionato in modo
da passare il più vicino possibile a ciascuno di essi.


I word embedding sono composi di centinaia di dimensioni e non è
ricostruibile cosa rappresenti ciascuna

Naturalmente, come in ogni riduzione dimensionale in cui lo spazio di
destinazione non è scelto sulla base di una semantica nota, ma sulla
base della distanza delle proiezioni sui punti noti.
Non sono una semplice riduzione di dimensione.

Tornando al nostro esempio, le coordinate originali dei punti
nello spazio tridimensionale hanno una semantica precisa per l'essere
umano: dato il punto zero in cui potremmo collocare l'osservatore,
l'asse x potrebbe distinguere destra (x positive) e sinistra (x
negative), l'asse y potrebbe distinguere sopra (y positive) e sotto (y
negative) e l'asse z potrebbe distinguere davanti (z positive) e dietro
(z negative).

Insomma, le coordinate originali hanno un significato comprensibile.

Non esistono coordinate originali per i word embeddings, perché non provengono da una riduzione dimensionale.

Ma nel momento che cerchiamo un piano che semplicemente minimizzi la
distanza quadratica media delle proiezioni dei punti su di esso dai
punti stessi, accettiamo di ruotare e traslare questo piano come serve.

A quel punto il sistema di coordinate delle proiezioni sul piano
perdono di significato: lo zero si trova da qualche parte che non
sappiamo rispetto all'osservatore, x e y sono orientate in modo del
tutto diverso rispetto alle x e y e z dello spazio tridimensionale di
origine, per cui non abbiamo più modo di attribuirgli un significato.

TUTTAVIA, poiché i punti hanno comunque perso una dimensione, le nostre
proiezioni non corrispondono esattamente ai punti originali. O magari
corrispondono in alcuni fortunati casi, ma in altri sono molto lontani.
E per contro, vi sono punti lontani sulla dimensione persa che si
trovano ad essere sovrapposti.


Naturalmente dichiarare che i word embeddings rappresentano in modo
imperscrutabile il significato delle parole fa molto più figo!

Ma rimangono mere proiezioni di statistiche.

No. Nel calcolarli si usano metodi di ottimizzazione, non di statistica.
In termini grossolani:
L’ottimizzazione studia tecniche per trovare modelli che rappresentano al meglio un fenomeno, e di conseguenza hanno capacità predittive.
La statistica studia la raccolta, analisi e interpretazione dei dati: non ha capacità predittive se non assumendo la stabilità dei fenomeni.
Il Machine Learning utilizza metodi statistici per definire i modelli che ottimizza rispetto ai dati.
Per approfondire le differenze:
https://towardsdatascience.com/the-actual-difference-between-statistics-and-machine-learning-64b49f07ea3

— Beppe