E' ancora molto diffusa la domanda: cos'è l'IA (ovvero l’Intelligenza Artificiale)?

Chi  la conosce dice: è molte cose.
Gli esperti direbbero: esisteva già, ma solo oggi è usabile per tutti senza costi.

Possiamo anche dire che è un nuovo paradigma di programmazione?

Ritengo proprio di si, ma il discorso è complesso e richiede qualche spiegazione.
L’affermazione non è un concetto di sola riflessione teorica, ma un’idea pratica, utile e che sposta molto in avanti il confine del possibile.
Se sei interessato seguici nella continuazione.

Panoramica

L'IA esiste già da alcuni decenni, ma era ed è limitata da molte difficoltà.
La prima difficoltà è capire cos'è l’intelligenza, capire cosa vogliamo fare e capire se è possiamo riprodurla artificialmente.
La seconda difficoltà sono i requisiti hardware e di energia necessari. Solo di recente abbiamo raggiunto sufficienti capacità di calcolo a riduzione dei consumi tali da permettere una vasta diffusione di questa tecnologia.
La terza difficoltà è che siamo riusciti a trova una soluzione soddisfacente solo per il learning (machine learning e deap learning).
Infine, malgrado, la fattibilità e le buone soluzioni tecniche i costi di allestimento e di esercizio sono ancora molto importanti: l’IA è una dotazione ancora molto costosa.

In fine: quali benefici e quale utilità abbiamo? I pericoli sono reali o sono sole chimere?

Affrontiamo questo studio iniziando dalle origini: la rappresentazione delle conoscenze e le reti neurali di apprendimento. Poi vediamo qualche accenno a cos'è l'intelligenza e cos'è l'IA. Quindi passiamo a capire perché oggi è possibile e perché è così popolare. Ed eccoci a poter argomentare: intelligenza o (nuova) programmazione?

Da dove nasce l'IA

Gli inizi si perdono nel tempo e in molti diverse discipline e approcci.
Molti secoli di riflessione, di matematico e di studio filosofico sono la lontana radice dell’IA.
Le più recenti indagini di neurologia e di psicologia, con le sue varie sfaccettature, hanno fornito importanti nuovi elementi che hanno permesso il decollo.
Un grande contributo va riconosciuto anche alle scienze della linguistica che, poco a poco, hanno permesso di comprendere i segreti delle lingue.
Una prima significativa realizzazione lo possiamo individuare in "Eliza". Era un chatterbot degli anni 60 che dimostrava valida l'ipotesi che le conoscenze potevano essere rappresentate in un computer. Questa ipotesi si fondava su un’ulteriore ipotesi ovvero che il computer poteva essere una valida imitazione del cervello umano. Così Elisa dava dimostrazione dalla validita delle ipotesi e confermava un ulteriore assunto: non possiamo conoscere e indagare il cervello e l'intelligenza, ma abbiamo una macchina (il computer) che ci permette di simulare entrambi e così verificare se le teorie sono corrette.
Eliza era una versione rudimentale e limitata di ChaptGPT e OpenAI. Tramite solo l'input da tastiera, e solamente in lingua americana e tedesca, Eliza capiva cosa avevi e portava avanti una conversazione.

I computer del tempo erano molto limitati, le reti inesistenti e le conoscenze in materia ancora primitive. Pertanto l'eccezionale risultato non pote né avere notorietà planetaria, né avere diffuse, ma rimase nei laboratori permettendo la continuazione degli studi e delle tecnologie.

Cos'è l'IA

Se i computer sono in grado di capire e parlare sono intelligenti?
E cos'è l'intelligenza (umana) per poter dire che un computer è intelligente?
La discussione e lo studio iniziano da lontano, dalla filosofia con le riflessioni sulla logia e sul linguaggio. A un certo punto ci fu l'incontro con la matematica.
Da qui a poco nacquero le prime applicazioni elettroniche: gli ingranaggi vennero sostituiti da valvole e da transistor. Le calcolatrici di Pascal diventano macchine elettroniche infinitamente più veloci e potenti. Poco dopo nascono i computer che calcolano così velocemente che vincono nelle sfide con le persone. I sistemi automatici di contra-aerea sono più rapidi degli aerei. Le preparazioni di lanci spaziali ed il calcolo scientifico non richiedo più mesi, ma solo ore.

Ma rapidità è uguale a intelligenza?
Capire le parole è uguale a comprensione?

Qui bisogna fare un accenno alla psicologia. Gli studi fatti dalla psicologia hanno scoperto molte cose tra cui:

  • il cervello dell'uomo usa molte intelligenze diverse contemporaneamente;
  • i computer usano una sola intelligenza riconducibile alla logica matematica;
  • il cervello della persona umana ha una cosa unica: riesce a creare (=inferenza);
  • l'intelligenza umana cresce e fa crescere solo se è in gruppo (= zona di sviluppo prossimale e costruttivismo).

Quindi il computer cosa può fare se ha la sola intelligenza matematica?

Molti anni fa, muovendosi da queste premesse, alcuni scienziati pensarono che la soluzioni fosse una "rete di apprendimento". Da qui nacquero esperimenti come la rete Archimede, che permisero di dimostrare che reti di computer possono imparare autonomamente e di mettere a punto soluzioni efficaci di apprendimento per computer.
Soluzioni meccaniche, come il Frankstain di Mary Shelley, diventarono improvvisamente vie solamente di fantascienza/retrofuturismo. Da li a poco diventarono evidenti anche i limiti dell'elettronica: l'impossibilità di superare il calcolo matematico, l'impossibilità di avere una vera generatività come nella mente umana, l'enorme (e insuperata) difficoltà di avere un sistema di apprendimenti equivalente alle capacità umane, la possibilità di avere una soluzione che consumi poco come il cervello umano (un cervello consuma 20W, una sola istanza di ChatGPT consuma circa 1600KW!), che possa funzione senza internet, ecc...

Insomma: l'intelligenza del computer, semplificando, è quella di una scimmietta molto capace, ben addestrata, che riesce a riconoscere molte parole, adotta molti comportamenti coerenti nei meccanismi stimolo-risposta, ma nulla di più.
Il computer è uno strumento molto veloce che a fronte di un elevato consumo elettrico ci aiuta molto, accelera moltissimo tante attività,  ma resta poco meno di una scimmietta capace ben addestrata.

Da evidenziare che a differenza di una scimmietta il computer non è in grado di alimentarsi da solo, di riprodursi da solo, di creare reti sociali da solo.
In pratica: senza l'uomo i computer e l'IA non possono esistere, né funzionare, né sopravvivere, né dare origine a figli.
Quindi l'IA non solo è limitata a possibilità simili ad una scimmietta ben addestrata, ma senza la persona umana non esiste, non funziona e non si replica.

Perché così popolare?

Dall'ultima frase precedente potrebbe derivare la conclusione logica: perché se ne parla, perché continua ad esiste, perché si investe su essa?
Esistono un paio di ragioni vere, ma accademiche:

  • è per la ricerca e lo sviluppo delle conoscenze e del genere umano;
  • alcune attività meccaniche-ripetitive o di alta fascia cognitiva (come la ricerca in enormi basi dati, ricerca di correlazioni, individuazione di schemi ricorrenti, ecc...) le fa bene e velocemente (più di noi!).

Quindi passiamo capire perché oggi è possibile avanzare così rapidamente (es.: lo sviluppo del vaccino per il COVID-19) e perché è così popolare.

L'IA per funzionare necessita di almeno una serverfarm, cioè di un centro dotato di molti computer. Quindi non è sufficiente un singolo computer, anche se molto potente. Le server farm hanno consumi elettrici molto grandi, di conseguenza anche i costi di mantenimento sono importanti. Dobbiamo anche aggiungere che in fase di configurazione le IA sono complesse: i modelli linguistici possono avere anche milioni di parametri! Ciò significa che è necessario del personale specializzato molto skillato. Una volta che si avvia l'IA serve un periodo di addestramento: vanno fornite all'IA ampie raccolte di testi, grandi quantità di registrazioni e immagini in modo che impari a comprendere, a interpretare. In questa fase l'IA consuma molta corrente (alcune stime sostengono che l'addestramento di una singola istanza di ChatGPT per consuma circa 1600 KW di corrente!). Inoltre l'IA va assistita da personale specializzato (purtroppo non impara da sola...).  Va anche aggiunto che l'IA necessita di grandi quantità di memoria per salvare i dati. Quantità che un utente ordinario non ha. Infine le IA non sono generiche, sono sempre specializzate in un dominio.

Insomma: il primo risultato è che le IA hanno costi enormi. Per questo motivo le aziende che hanno in casa una IA sono poche: costano somme folli. E per lo stesso motivo aziende che ne permettono l'uso gratuitamente (come OpenAI, Google, Microsoft, ecc...), continuano a condurre grandi campagne di comunicazione (alias: pubblicità) per raccogliere i fondi necessari per sostenere i costi.
La grande notorietà è il frutto di questa campagna informativa finalizzata al reperimento dei fondi necessari.

Samsung Galaxy S24

L’ultimo smartphone della Samsung, giunto sul mercato europeo in questi giorni che scrivo l’articolo, declama con grande enfasi una IA a bordo. Alcune considerazioni:

  • il telefonino ha all’interno un microchip dedicato alla fotografia che lavora come lavora il nostro occhio e il nostro cervello, cioè ritocca la foto mostrandola come la vede il nostro cervello. Questo comportamento è particolarmente evidente con scatti notturni o in casi di illuminazione brutta (come con le luci colorate), ma si tratta di un chip speciale, non di intelligenza;
  • l’altro fronte è sulla traduzione in tempo reale. Bisogna ammettere che funziona abbastanza bene con le lingue supportate. Ma come in precedenza sfrutta la connessione con i molti server della Samsung e usa un sofisticato software trasla le frasi. È come se prendesse le lettere latine delle parole e le scrivesse con l’alfabeto arabo in modo che il lettore arabo pronunci gli stessi suoni delle parole italiane.

Una realizzazione decisamente affascinante, funziona benino, usa una forma di deep learning (=IA) che permette a molte frasi di essere traslate da una lingua all’altra.

IA e macchine autonome

Probabilmente è l’aspetto più inquietante di queste tecnologie: la possibilità di decidere autonomamente.
Se possiamo dire che la prima caratteristica dell’IA è di riconoscere schemi e di operare in base a schemi acquisiti, la seconda caratteristica è di poter attuare azioni raggiunti trigger complessi.
Ad esempio un IA cuoco decide autonomamente quando la pizza è ben cotta e attua lo sfornamento del piatto. Questa forma di autonomia è decisamente utile e gradita.
Se un IA soldato decide autonomamente quando sparare l’azione e l’autonomia sono decisamente inquestanti e preoccupanti.
In realtà stiamo già vivendo da tempo svariate forme di autonomia delle macchine: dai motori di shopping a cui permettiamo di farci le proposte commerciali, a svariate forme di assistenza in cucina, ai sistemi automatici di trattamento della frutta che decidono per noi se matura e buona, ecc…
Anche in questi casi ci troviamo non in presenza di una IA buongustaia, ma di un avanzato e sofisticato sistema software addestrato a riconosce e correlare svariati trigger. Ad esempio la comicità della pasta della pizza, abbinato alla temperatura e al grado di gonfiamento indicano che è cotta al punto giusto (esempio, ovviamente, semplificato). Ciò che trasforma il software da automazione a IA è il numero di correlazioni possibili con un’ampia base di trigger a disposizione insieme ad un meccanismo che gli permette di apprendere autonomamente questi dati. Quindi l’operatore non compilerà più una tabella di trigger, ma gli farà fare tante esperienze di sfornamento, correlandole con “ben cotta” o con “mal cotta”, finché il campionario raccolto permettere al software di operare autonomamente senza errori.
Si tratta sempre di un sofisticato sistema matematico. Solo noi sappiamo quanto è buona la pizza!

IA o paradigma di programmazione?

Ed eccoci al punto centrale: intelligenza o (nuova) programmazione?
La programmazione tradizionale, come appena accennato e semplificando la questione, prevede che un programmatore scriva delle istruzioni con una lingua comprensibile dal computer. Queste istruzioni traducono un algoritmo, cioè una procedura.
Ipotizziamo che vogliamo istruire un computer dotato di ruote di avanzare di 10 metri. Possiamo scrive un codice semplice: "avanza 10 mt". Possiamo renderlo più elaborato inserendo una o più condizioni:

  • se trovi un ostacolo esplora a destra e a sinistra se puoi superarlo per arrivare alla distanza di 10 metri;
  • se la batteria è troppo scarica non avanzare, ma emetti un suono;
  • ecc...

Potremmo continuare in modo indefinito per individuare tutte le possibili interferenze e aggiungere del codice per gestire ogni possibile problema.
Con questo approccio, però, abbiamo dei limiti invalicabili:

  • in una realizzazione complessa come una IA, non potremmo mai prevedere tutte le possibili interferenze;
  • con questo approccio le applicazioni non crescono, ovvero non imparano, né evolvono.

Qualcuno, a un certo punto, pensò che era necessario un approccio diverso e prese in osservazione la natura. Gli essere umani, come gli animali, inizialmente imparano per imitazione e osservazione. Crescendo si affianca un "formatore" che fa fare esperienze complesse in un contesto semplificato-controllato in modo che possa imparare (es.: imparare a guidare un'auto).
Si provò a realizzare soluzioni che lavorassero nello stesso modo. Da questi esperimenti nacque le reti di apprendimento, architetture di chip neuronali, soluzioni software che possono apprendere (ovvero integrare automaticamente le casistiche in loro possesso).
Il risultato finale è stato software industriali che producono oggetti non più perché gli viene passato un file, ma perché imparano da una prima lavorazione che vedono fare. Abbiamo il celebre esperimento italiano iCub, un piccolo robot umanoide che ha imparato a riconoscere, camminare, ecc... perché una squadra di tutor gli ha fatto vedere cose, lo ha fatto camminare, gli ha parlato, ecc... proprio come facciamo con i bambini piccoli. Anche la stessa ChatGPT (e i vari suoi predecessori come Siri, Alexa, ecc...) hanno imparato a capire il linguaggio facendogli leggere enormi quantità di testi, facendogli vedere grandi quantità di immagini, ecc...

In conclusione le forme di IA sono un modo diverso di programmare.
Semplificando la questione non c'è un programmatore che scrive righe di codice, ma c'è un programmatore che addestra. Al posto delle righe di codice il programmatore fornisce testi (magari con sequenza e tipologia studiata) affinché l'IA impari a comprendere. Oppure al posto del codice il programmatore fornisce grandi quantità di immagini affinché l'IA impari a riconosce le immagini delle case indipendentemente dalle dimensioni, dal colore, dalla forma, ecc...
Tutto questo classifica l'IA non tanto come una intelligenza, nel senso comune del termine, ma come un diverso ed evoluto sistema di programmazione.
A questo punto si aprono nuovi scenari che qui accenno:

  • l'origine delle risposte del computer non partendo più da righe di codice, ma da un apprendimento automatico, produce dati indecifrabili all’uomo;
  • i dati prodotti, che governano il computer, e che in prima approssimazione possiamo identificare come "software", diventa unico, forse non copiabile, perché legato a quello chequella singola macchina ha prodotto in base al training che gli è stato fatto fare;
  • essendo la macchina in un processo di apprendimento continuo, costantemente modifica il suo software con l'insorgere del doppio problema:
    • non possiamo decodificare e copiare il software;
    • qualora decodifichiamo o copiamo, abbiamo lo stato di un momento preciso, non lo stato attuale (o l'attuale stato di sviluppo del software).

Conclusione

La prospettiva offerta è un approccio specifico del grande tema IA.
Alcune questioni sono a fattor comune per il regno IA:

  • non è una intelligenza;
  • esiste da tempo;
  • al momento richiede strutture enormi per funzionare;
  • ha consumi energetici molto, molto importanti;
  • i costi di avvio e di gestione sono veramente importanti;
  • l’IA funzione solo se c’è una rete di computer.

In merito allo specifico aspetto affrontato possiamo tranquillamente affermare:

  • l'IA è anche un nuovo paradigma di programmazione;
  • il nuovo paradigma rimpiazza, in alcuni campi, i tradizionali approcci di programmazione basati su linguaggio, framework, e librerie;
  • si aprono nuove opportunità (es.: programmazioni complesse come il riconoscimento), ma anche nuovi problemi (come l'impossibilità di decodificare).

In conclusione possiamo affermare, senza timore di sbagliare, che IA non è una intelligenza, ma è una cosa nuova da conoscere, esplorare e da gestire con prudenza (come tutte le novità).

Ultima considerazione: consuma tantissimo, costa un botto e senza l’uomo muore!

Cookie e Privacy

Dichiaro di aver letto, compreso ed accettato la Privacy policy e la Cookie policy di Omegabugs e acconsento al trattamento dei miei dati personali per finalità di marketing.