Intelligenza artificiale

di il
48 risposte

48 Risposte - Pagina 4

  • Re: Intelligenza artificiale

    Se ho capito la domanda, si, e' successo questo.

    Tra il '70 e l'80 tutta la ricerca sull'IA e sulle reti neurali si e' raffreddata. Diversi motivi, (piu' o meno)

    1. poca potenza di calcolo
    2. complessita' nella realizzazione sistemi esperti basati su regole
    3. difficolta' ad implementare 'sistemi di ragionamento simbolico'
    4. per le NN, impossibilita' di rappresentare la funzione binaria XOR con il solo 'percetrone'. Sembra una funzione banale ;-)
    5. difficolta a reperire dati

    .

    Tra gli '80 e '90 e' successo che:

    1. si e' trovato il modo per reppresentare la funzione XOR, usando piu' layer e funzioni 'non lineari' come 'attivatore'
    2. al che si e' potuto dimostrare che una NN e' un 'approssimatore universale', cioe' e' in grado di approssimare QUALUNQUE funzione possibile ed immaginabile
    3. incremento della potenza di calcolo
    4. trovato il modo intelligente di addestrare una NN (il backpropagation)
    5. incremento esponenziale della quantita' di dati disponibili, anche a fronte della diffusione di Internet.

    .

    il punto 1. e' facile da capire: in una dimensione, il percetrone non e' altro che l'equazione di una retta. Una funzione 'non' lineare che si usa e' la 'arcotangente' l'inverso della funzione tangente in trigonometria. Quindi, una NN in una dimensione, composta da un solo layer, non e' altro che la funzione

    y=arctan(a + bx)

    'a' e 'b' sono i pesi da 'imparare'.

    Un'altro punto di svolta e' stato il trovare il modo di calcolare la 'derivata prima' della 'funzione' NN in modo automatico.

    Tieni presente che una NN e' COMPOSIZIONE di FUNZIONI DERIVABILI.
    Quindi e' UNA FUNZIONE DERIVABILE, almeno fino alla derivata prima.
    Ora, calcolare la derivata prima di una funzione in un milione di dimensioni e composta da decine/centinaia di funzioni 'a mano' e' 'umanamente impossibile' (a suo tempo lo si faceva).
    MA, implementando la derivazione simbolica in modo intelligente, va da se che lo puo' fare un 'algoritmo', e lo puo' fare su qualunque dimensione.

    Ora, hai tutto quello che ti serve per trovare il 'minimo di una funzione':

    la funzione, la sua derivata.

    Per trovare il minimo, dato un punto, e' banale: BASTA andare verso il basso!Perche' il minimo?

    banale: i tuoi dati sono il risultato di una funzione che non conosci.

    una NN e' una funzione 'parametrica' dove i parametri sono da imparare. 
    All'inizio metti dei valori a caso, tanto chissene.

    Ed ora il compito e' cercare per quali parametri la funzione parametrica rappresentata dalla NN approssima meglio i tuoi dati.

    Tieni presente che la funzione rappresentata dalla NN potrebbe avere una forma TOTALMENTE DIFFERENTE dalla orma della funzione che ha generato i dati.

    Per capire: i tuoi dati rappresentano un sedia. La NN rappresenta un pallone di raggio variabile. Soluzione: il pallone che meglio rappresenta la sedia.

    Tu penserai: ma e' stupido!.

    Il problema e' che in un milione di dimensioni, tu non hai idea di quale sia la reale forma dei tuoi dati. E quindi butti li una NN e speri. Un'altro butta la una NN di forma leggermente diversa e potrebbe fare di meglio, ma anche di peggio ;-)

    Poi: 

    1. maggiore potenza di calcolo,
    2. maggior quantitag di dati,
    3. la genialata del concetto di 'embedding' che permette di rappresentare il testo in modo numerico, ma anche tutto il resto
    4. aumento aumento della complessita della NN, data dall'aumento della potenza di calcolo
    5. il calcolo parallelo massivo su desktop (CUDA)

    .

    ed hai gli ingedienti che ti hsnno portato ad oggi.

    Il transformer, cuore di tutti gli LLM,  e' del 2018. Spannometricamente e' una serie di enormi matricione 128000x128000 (all' inizio erano 512x512).

    Va da se che trovare i pesi ottimi di 16 MILIARDI x numero di matricione, parametri, NON LO FAI con il contenuto di un Topolino e non lo fai sul PC di casa.

    ;-)

    .

    spannometricamente

    (un po' come ChatGPT che ti dice che le sue risposte POTREBBERO non essere affidabili ;-))

  • Re: Intelligenza artificiale

    31/01/2025 - migliorabile ha scritto:

    ed hai gli ingedienti che ti hsnno portato ad oggi.

    Il transformer, cuore di tutti gli LLM,  e' del 2018. Spannometricamente e' una serie di enormi matricione 128000x128000 (all' inizio erano 512x512).

    Ma perchè ho fatto stà domanda ?????  'mo me tocca studià la risposta per capirti al 100%.  ;-))  consapevole che forse arriverò al 99% ;-(

    Comunque aver vissuto in prima persona questi decenni è stato bellissimo, Come vedere il proprio figlio nascere e crescere con il passare del tempo, dall' Assembler all'AI , caspita quanto tempo è passato.

    Vabbè, grazie per info e conferme... gentilissimo e disponibile come sempre, ora passo all'approfondimento.... hmmmm,  speriamo che le mie sinapsi continuino a connettersi, o per lo meno possano trovare qualche neurone ancora libero e che abbia voglia di funzionante.

     ;-)

    Grazie mille.

  • Re: Intelligenza artificiale

    29/01/2025 - migliorabile ha scritto:

    2) QUALUNQUE programmatore SA che il numero b in base b e'...rullo di tamburi..

    10

    (uno zero).

    2 in base 2 e' 10

    3 in base 3 e' 10

    10 in base 10 e' 10

    26 in base 26 e' 10!

    ...

    il numero b in base b... ok, ma si parla di somma...

    p+1=10 ma 11+15=26 perchè p+1=11 e p+6=15

    numeri a base 26
    123456789abcdefghijklmnop +0

    p=25 elementi + 1b26 = 10b26 (una ventiseina + zero unità)= 26b10 (due decine e sei unità)

    10b26 +1b26=11b26 =27b10


    10b26 + 5b26 = 15b26 =31b10

    11b26+15b26= 26b26

    26b26 = 58b10

    quindi 11 + 15 = 26 ma in base 26 non in base 10 che sarebbero 58 elementi

    invece 11b10 + 15b10 = 26b10 = 10b26

    A) se consideriamo l'input a base 26 
    11 + 15 = 26 e non può fare A

    se consideriamo l'input a base 10 e la risposta a base 26
    11 + 15 = 10

    se consideriamo l'input a base 10 e la risposta a base 10
    11 + 15 = 26 

    uguale al caso A) ma mentre qui abbiamo 26 elementi nel caso a gli elementi sono 58

    se condideri l'input decimale, la somma decimale per poi converta a base 26
    11b10+15b10=26b10=10b26

    ma l'AI non ci arriva lo stesso...

    p.s. dovrebbe convertire gli input in elementi sommarli e dare il totale degli elementi per poi convertirli alla base richiesta (che sia una dritta per una patch?)

  • Re: Intelligenza artificiale

    In pratica, la NN dovrebbe essere estesa con un modulo di 'calcolo'. Facciamo le cose alla grande: un modulo di calcolo simbolico stile Mathematica.

    Ora il problema e': come fa la NN a capire che in un certo testo una certa parte rappresenta la richiesta di un calcolo e quale sia questo calcolo che si deve fare?

    (in un contesto 'limitato' si puo' fare, piu' o meno)

    Oppure: esiste un modello di LLM che non e' altro che la versione generalizzada di una calcolatrice? O una rappresentazione 'diversa' del 'calcolo simbolico'?

    Una cosa stile: numeri naturali -> numeri interi -> numeri razionali -> numeri reali -> numeri complessi ->algebra di clifford -> ...

    Ora, un ragionamento 'simbolico' (che e' la versione 'generalizzata' del calcolo simbolico), per sua stessa natura, deve ragionare in termini di 'simboli'/oggetti 'discreti'.

    MA 

    le NN/LLM rappresentano funzioni 'continue', cioe' che lavorano nel mondo del 'continuo' (altrimenti il backpropagation non funziona).

    i due mondi si tirano le sassate!

Devi accedere o registrarti per scrivere nel forum
48 risposte