> On 13 Oct 2023, at 18:13, [email protected] wrote:
>
> From: Giacomo Tesio <[email protected] <mailto:[email protected]>>
> To: Giuseppe Attardi <[email protected] <mailto:[email protected]>>
> Cc: [email protected] <mailto:[email protected]>
> Subject: Re: [nexa] IA, lavoro, immaginari
> Message-ID: <[email protected]
> <mailto:[email protected]>>
> 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-machine-learning-64b49f07ea3
— Beppe
_______________________________________________
nexa mailing list
[email protected]
https://server-nexa.polito.it/cgi-bin/mailman/listinfo/nexa