> On 9 Sep 2024, at 22:35, [email protected] wrote:
> 
> Ad esempio, per programmare una Vector Reducing Machine (quella che
> tu chiami "rete neurale artificiale") la cui topologia permette di
> mappare una matrice N-dimensionale verso una M-dimensionale
> 
> - si raccoglie il dataset sorgente
> 
> - ne si codifica gli elementi come vettori numerici attraverso
> una analisi statistica
Dipende dai dati, alcuni sono già vettori numerici di per sé come nel caso di 
immagini o suoni campionati.
Nel caso dei testi si fa una tokenizzazione (ad esempio con le regole di 
Porter) e si costruisce un dizionario per assegnare un id numerico a ciascuno, 
poi il vettore degli embedding viene costruito dalla rete stessa. Nessuno di 
questi lo chiamerei un’analisi statistica.

> - si riduce la dimensionalità del dataset sorgente (selezionando e/o
> sintetizzando le feature da utilizzare attraverso tecniche
> statistiche) fino ad ottenere le N dimensioni da utilizzare in input
> (e le M dimensioni con cui confrontare l'output)
> 
> - si carica nella VRM un programma che può essere
> 
> - casuale quando si inizializzano le matrici per la prima volta
> 
> - noto, se si decide di partire da un eseguibile "pre-trained"
Si può riassumere dicendo che una rete neurale calcola una funzione f(theta, x) 
= y, dove theta sono i parametri del modello, che vengono stimati con 
l’apprendimento.
Il codice che calcola f fa uso di theta, ma non è theta che esegue alcun 
calcolo e non può essere chiamato software.
Si può cambiare theta e la funzione calcolata sarà diversa. Essendo f 
parametrica, si può fornire theta a parte e si può fare fine-tuning del 
modello, a patto di disporre del software di apprendimento. Ossia non bastano i 
dati (theta) per modificare f. Theta è del tutto inutile senza f.
Si può dire che ci sono infiniti modi di “eseguire” theta, ma se non hai quello 
giusto non puoi farci nulla.
> …
> 
>> I parametri del modello (i contenuti delle matrici), vengono
>> calcolati attraverso l’ottimizzazione della loss function sui
>> dati di apprendimento (sempre dati sono).
> 
> La distinzione fra software e dato non ha fondamento informatico.

L’architettura Von Neuman distingue tra istruzioni e dati: le prime sono 
caricate nella CPU, i secondi nella ALU.
Semmai le istruzioni, che sono conservate in memoria, possono essere trattate 
come dati, in programmi che si automodificano, ma rimangono istruzioni, se 
caricate nella CPU.

—

Reply via email to