> On 13 Oct 2023, at 18:13, nexa-requ...@server-nexa.polito.it wrote: > > From: Giacomo Tesio <giac...@tesio.it <mailto:giac...@tesio.it>> > To: Giuseppe Attardi <atta...@di.unipi.it <mailto:atta...@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-323d44abb...@tesio.it > <mailto:17cf1ca0-aa25-438e-9bac-323d44abb...@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-machine-learning-64b49f07ea3 — Beppe
_______________________________________________ nexa mailing list nexa@server-nexa.polito.it https://server-nexa.polito.it/cgi-bin/mailman/listinfo/nexa