https://en.wikipedia.org/wiki/Skynet_(Terminator)
---
A quanto sembra, dobbiamo iniziare a pensare di investire sull'acquisto di terreni coltivabili e ad imparare a coltivare la terra, visto che tra non molto (anni?, per i piu' giovani decenni?) i programmatori diventeranno inutili ;-)
In questo modo, per mal che vada, un tetto sulla testa ed un tozzo di pane raffermo sulla tavola sara' assicurato.
----
MA sara' proprio vero?
Direi piu' no che si ;-)
- un essere umano e' una macchina, di tipo biologico, ma comunque una macchina. La possibilita' di creare un “sistema intelligente” basato su acciaio/plastica/silicio/elettronica che sia in grado di “ragionare” non e' esclusa a priori, Ma comunque, al momento, siamo ancora nell'ambito della fantascienza
- senza andare troppo nel dettaglio, un sistema “generativo” e' un algoritmo BASATO sulle 4 operazioni (somma sottrazione, moltiplicazione, divisione) e sulla CLASSICA teoria statistica, con teorema di Bayes come RE indiscusso. L'unica cosa che fa questo algoritmo, per quanto SEMBRI “inumanamente intelligente” e' PREDIRE LA PROSSIMA PAROLA. E per generare UN'INTERA FRASE lo deve fare UNA PAROLA ALLA VOLTA
- Ora, un sistema (basato sulle 4 operazion) la cui UNICA CAPACITA" e' PREDIRE LA PROSSIMA PAROLA potra' mai ESSERE INTELLIGENTE?
- si sta' associando ChatGPT e sistemi simili all'Intelligenza Artificiale.
NON E' Intelligenza Artificiale, questa e' un cappello sopra ad un'INFINITA' di cose
E' Machine Learning, un'infinitesima parte del settore dell'Intelligenza Artificiale,
anzi NLP (Natural Language Processing), un'infinitesima parte del Machine Learning. - Anche se, al momento, e' il settore che fornito i risultati piu' “”eclatanti",
Il Machine Learning e l'NLP possono essere descritti SEMPLICEMENTE con i concetti di un BUON corso di statistica (ROBBBA che si fa all'universita'). Si trova TUTTO sui libri e sugli articoli che descrivono COME questi algoritmi funzionano - La statistica' E' INTELLIGENTE? Se uno mangia un pollo e l'altro muore di fame, la statistica ci dice che entrambi mangiano mezzo pollo!
E' ben lontana dall'essere “intelligente” ;-) - Questi sistemi sono in grado di generare del testo INDISTINGUIBILE dal quello umano.
GRAZIE TANTE: sono stati addestrati con TERABYTE di testo SCRITTO DA ESSERE UMANI, va da se che hanno imparato come fare!
Se un falsario di quadri si mette a STUDIARE come realizzare quadri stile Picasso, va da se che dopo un po' di tempo sara' in grado di realizzare quadri stile Picasso! - La capacita' di questi sistemi di SIMULARE qualcosa DIPENDE da con che cosa sono stati addestrati. ***
---
Ci sono settori un po' piu' di nicchia, ma che hanno una storia lunga 60 anni, nati agli albori dell'Intelligenza Artificiale, e che fondamentalmente non hanno fatto grossi passi in avanti, e sui quali c'era MOLTA speranza, e per cui serve MOLTA MENO intelligenza!
Il calcolo simbolico
ed in particolare l'integrazione.
Tutti sappiano che il calcolo della derivata e' un processo meccanico, facilmente implementabile come algoritmo. Ma il processo inverso, l'integrazione, e' SOLO MINIMAMENTE meccanico. Nel 90% dei casi serve “intuizione/esperienza/profonda conoscenza E comprensione” delle proprieta' di quello che si vuole integrare.
Sistemi di Computer Algebra (Mathematica, Maple, Magma, solo per citarne alcuni) per quanto potenti, sono ben lontani dall'essere in grado di calcolare l'integrale di funzioni per i quali un esperto umano NON SAPREBBE come fare.
- puo' un sistema generativo, basato sulla STUPIDA predizione della prossima parola, essere piu' “intelligente” si un sistema di calcolo simbolico sul quale si sta' studiando da 60 ANNI?
----
OpenAI e NVIDIA ultimamente hanno fatto dichiarazioni del tipo che fra un po' i programmatori saranno inutili perche' i sistemi generativi saranno in grado di sostituirli e TUTTI potranno essere programmatori
Sara' vero'?
Piu' no che si, ovviamente ;-)
Un esempio abbastanza calzante e' il seguente: ci sono OTTIMI software per fare musica, che permettono di generare la batteria, violini, e qualunque altro strumento. Allora, chiunque di noi potrebbe essere un “novello Mozart/Beehtoven” ;-)
Si, come no!
Anche con il piu' costoso e sofisticato di tali software, non saprei metter in fila due note in modo intelligente ;-)
Quindi,
- un NON programmatore, come farebbe a realizzare qualcosa SENZA sapere che cosa chiedere al sistema?
- e se anche il sistema dovesse fornire un risultato, SENZA competenze, come farebbe a sapere se e' giusto
- ma anche ammettendo che sia giusto, il software da realizzare DIFFICILMENTE sara' realizzabile mediante una SINGOLA richiesta, Quindi, SENZA competenze, come farebbe a sapere COME SCOMPORRE il problema in pezzettini che il sistema sia in grado di generare?
- e dati tanti pezzettini, SENZA competenze, come farebbe a metterli assieme in modo da far funzionare il tutto?
- e SENZA competenze, come farebbe a risolvere eventuali inconsistenze/pezzetti di codice che non funzionano/incompatibili?
---
La capacita' di questi sistemi di fornire risultati “strabilianti” e' legata al fatto che sono stati addestrati con TERABYTE di “risultati UMANI strabilianti”. La loro UNICA capacita' e quella di fare UNA MEDIA PESATA di tutto quello che hanno “imparato” e generare qualcosa basato SU NUMERI CASUALI e TALE media pesata.
Puo' un sistema del genere essere intelligente?
Vedasi Dall-E, Midjourney e sistemi di generazione di immagini simili! Vero, sono “strabilianti” e c'e' anche modo di installarseli in locale e giocarci ("huggingface", sezione “diffusers” ;-) )
Per quanto siano “stratosfericamente fantastici”, ed in grado di generare immagini spettacolari a partire da una descrizione (cosa che hanno imparato essendo stati ADDRESTRATI con TERABYTE di descrizioni ed immmagini CREATE DA ESSERI UMANI - e qui' c'e' il casino del copyright ;-) ) sono l'equivalente del “cibo precotto” del supermercato.
Se vado al ristorante e spendo una cifra spopositata, PRETENDO che che dietro ci sia uno “chef”, un team di cuochi e che la presentazione del cibo sia fatta in modo “elegante”. Se voglio spendere poco, vado al supermecato, compro la scatola di cibo precotto ed a casa lo metto nel microonde ;-)
---
Altro esempio di sistemi INTELLIGENTI che intelligenti non sono ancora: i sistemi di guida autonoma.
Al momento, per quanto Tesla e company ci spaccino i loro sistemi come in grado di guidare il veicolo in modo autonomo, si richiede LA CONTINUA SUPERVISIONE dell'uomo.
Lasciamo perdere gli incidenti perche' non vedono le cose in movimento ("sembra" un palo), o perche' sono azzurri (""sembra cielo") o bianchi ("sembra nuvole"), o perche' non capiscono dove si trova la carreggiata (la scriscia bianca non c'e' perche' usurata o l'asfalto e nuovo, il canaletto di scolo e' grigio topo), Questi, con MAGGIORE addestramento, probabilmente potranno essere risolti, MA AL MOMENTO non lo sono.
Ora: o il sistema e' in grado di fare quello che deve SENZA CHE il guidatore faccia attenzione, OPPURE SONO TOTALMENTE INUTILI.
Come sappiamo tutti, mantenere l'attenzione SENZA FARE NIENTE (e PER MOLTO TEMPO) e' ASSOLUTAMENTE IMPOSSIBILE. L'essere umano puo' mantenere l'attenzione SOLO se sta' facendo qualcosa per CUI E' RICHIESTA UNA CONTINUA attenzione.
L'atto di guidare richiede la continua attenzione: si deve controllare quello che sta' davanti, il marciapiede, il semaforo, o stop, le auto nell'altra corsia, le biciclette, i pendoni, se ci sono scuole, i bambini, i cani i gatti, se c'e' l'acqua sulla strada, se ci sono buche, se ci sono le ragazze carine a cui fischiare, fischiare alle ragazze carine…
Un'INFINITA' di cose che richiedono di spostare la testa, gli occhi, ragionare, pensare, inverire (quelli che ti tagliano la strada), fischiare (le ragazze carine ) …
---
Insomma, i sistemi generativi ci stermineranno tutti? ;-)
Io dire che QUESTI sistemi, AL PIU' potranno essere di AIUTO a noi programmatori, e per alcune attivita', SEMPLIFICANDONE la vita, MA NON sostituendo l'essere umano.
Questo non vuol dire che un DOMANI MOOOOLTO LONTANO non saranno in grado di fare quello che siamo in grado di fare noi, ma, PER il momento, risulta ESSERE MOOLTO lontano ;-)
---
Quando potremmo dire che un sistema “e' intelligente”?
Fondamentalmente quando il sistema sara' in grado di “generare astrazione” e, conseguentemente, di dire “non lo so”.
Un bambino impara a distinguere i cani dai gatti osservando UN UNICO cane ed UN UNICO gatto.
Un sistema di Machine Learning, per imparare a distinguere i cani dai gatti deve essere addestrato con MIGLIAIA/MILIONI di IMMAGINI di cani e gatti!
Poiche' il processo di “classificazione” di cani e gatti e' basato su una MEDIA PESATA dei valori dei pixel delle immagini contenenti cani e gatti, ci sono tecniche (abbastanza sofisticate, ma che si possono implementare con il proprio computer) che consistono in questo:
- aggiungendo un OPPORTUNO “rumore” ad un'immagine di un cane, si puo' far in modo che questa venga classificata come un gatto con una probabilita' del 90% (ci sono articoli al riguardo!)
Un essere umano, ANCHE osservando l'immagine CON RUMORE, sara' ANCORA in grado di distinguere il cane dal gatto. Questo perche' e' in grado di astrarre le informazioni MINIME FONDAMENTALI anche dall'immagine con rumore per distinguere cani e gatti.
Se il sistema e' stato addesrato per cani e gatti, e gli si mette di fronte l'immagine di un aeroplano, la sua risposta sara' ancora “cane" o “gatto” ;-)
Unl'atro esempio e' il seguente:
- la capacita' di ASTRARRE le regole grammaticali di una lingua basandosi SOLO sul testo scritto E NIENTE ALTRO.
(non mi dispiacerebbe trovare un modo per qualcosa del genere anche se in forma embrionale ;-) )
Magari non sara' in grado di dire chi e' verbo, chi soggetto e che aggettivo/complemento oggetto, ma e' ragionevole supporre che sia in grado di generare degli “alberi di derivazione” con associato un “contatore” che dica quanto una certa struttura grammaticale e' presente nel testo.