Re: [nexa] IA, lavoro, immaginari
On 13 Oct 2023, at 18:13, nexa-request@server-nexa.polito.it wrote:
From: Giacomo Tesio <giacomo@tesio.it <mailto:giacomo@tesio.it>> To: Giuseppe Attardi <attardi@di.unipi.it <mailto:attardi@di.unipi.it>> Cc: nexa@server-nexa.polito.it <mailto:nexa@server-nexa.polito.it> Subject: Re: [nexa] IA, lavoro, immaginari Message-ID: <17CF1CA0-AA25-438E-9BAC-323D44ABB64A@tesio.it <mailto: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 <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-... — Beppe
participants (1)
-
Giuseppe Attardi