martedì 9 luglio 2024

Definire l'intelligenza Artificiale


 

L'intelligenza artificiale è di tendenza al giorno d'oggi, è difficile ignorarlo. Ma il termine non è una novità: l'intelligenza artificiale esisteva già molto prima dell'ideazione delle attuali enormi reti di trasformatori e degli impressionanti modelli di linguaggio di grandi dimensioni (LLM).

Molto prima che termini come Deep Learning (DL), Machine Learning Operations (MLOps) e Artificial Neural Networks (ANN) fossero comuni nelle notizie e nei post su Internet, l'intelligenza artificiale era già nata. Nata e cresciuta in modo sano anni prima del lancio di famosi strumenti come ChatGPT, Stable Diffusion, SAM, LLaMA, Bard e AlphaZero.

Tuttavia, il nome Intelligenza artificiale è stato controverso fin dai suoi primi giorni. Affermare che le macchine fossero intelligenti era qualcosa di grande, soprattutto in un'epoca in cui i limiti di ciò che un programma per computer poteva fare erano più brevi di quanto sappiamo oggi. Le origini dell'intelligenza artificiale per computer risalgono ai decenni del 1940 e del 1950, anche quando potevamo trovare molte tracce precedenti della progettazione o costruzione di macchine automatiche nella storia umana.

Un vecchio computer. L'intelligenza artificiale era già viva allora. Immagine generata con MidJourney.

Ma la vera domanda è: cos'è? L'intelligenza artificiale è un termine generico per programmi per computer che possono effettivamente pensare come noi umani? È il nome di programmi per computer che possono imparare e adattarsi attivamente? O qualcos'altro?

La risposta non è facile. Russel e Norvig hanno scritto una meravigliosa introduzione per il loro famigerato libro Intelligenza artificiale: un approccio moderno, in cui discutono di cosa sia l'intelligenza artificiale e di come sia diventata ciò che è. Nemmeno gli autori hanno una definizione completa e assoluta di intelligenza artificiale, ma ci danno suggerimenti brillanti:

Il campo dell'intelligenza artificiale, o IA, si occupa non solo di comprendere, ma anche di costruire entità intelligenti, macchine in grado di calcolare come agire in modo efficace e sicuro in un'ampia varietà di situazioni nuove.

In termini generali, ciò che oggi intendiamo per IA è lo sviluppo di sistemi informatici in grado di eseguire attività che in genere richiedono l'intelligenza umana. Questi compiti includono molti campi come la percezione visiva, il riconoscimento vocale, il processo decisionale e la traduzione o generazione di lingue. Come affermano Russel e Norvig:

L'IA è rilevante per qualsiasi compito intellettuale; è davvero un campo universale. L'IA copre qualsiasi campo, qualsiasi compito intellettuale.

Seguendo questa ampia definizione, la letteratura di solito considera almeno due tipi principali di IA:

- IA ristretta o debole. Il programma è progettato e sviluppato per eseguire un compito particolare e/o in un ambiente specifico.

- IA generale o forte. Il programma è progettato e sviluppato per eseguire qualsiasi compito, imparando e adattandosi da qualsiasi ambiente come fanno gli esseri umani, meglio o peggio.

Come puoi immaginare, gli attuali modelli di IA sono ancora bloccati nel primo gruppo. Anche se lo sviluppo di moderni LLM è uno dei percorsi più promettenti nella ricerca di un'IA generale, non esiste ancora alcun programma in grado di ragionamento e adattamento completi e autonomi. I programmi per computer, siano essi IA o meno, sono ancora in esecuzione con molte limitazioni interne ed esterne. Tuttavia, la ricerca sull'intelligenza artificiale è attualmente focalizzata sullo sviluppo di modelli più generali e adattabili, in grado di svolgere più attività e apprendere da diversi ambienti, tendendo ponti tra i due tipi di intelligenza artificiale.

Ma come possiamo differenziare un programma di intelligenza artificiale da qualsiasi altro programma per computer?

Poniamoci questo domanda: qualsiasi script Python che somma i prezzi della tua lista della spesa e aggiunge le tasse ai risultati, potrebbe essere considerato "un programma per computer che esegue un'attività che in genere richiede intelligenza umana"?

Alla fine, utilizzi la tua intelligenza umana e le tue capacità matematiche per sommare quei prezzi da solo. È un'attività umana, che richiede intelligenza umana. Quindi perché non dovremmo considerare l'intelligenza artificiale quello script Python?

Molti esperti ti diranno che i sistemi di intelligenza artificiale sono anche progettati per imparare dall'esperienza, adattarsi a input mutevoli ed eseguire attività senza essere programmati esplicitamente per ogni attività specifica. E questo è vero per molti sistemi di intelligenza artificiale moderni (ricorda: siamo alla ricerca di sistemi di intelligenza artificiale più generali), ma non per tutti. Esiste un'intelligenza artificiale oltre l'apprendimento automatico: reti bayesiane, programmi di logica fuzzy o sistemi di programmazione logica induttiva sono esempi tipici. Anche quando siamo abituati a sentire parlare di reti neurali altamente profonde e complesse, anche semplici algoritmi deterministici possono far parte di un sistema di intelligenza artificiale. Comunque, l'intelligenza artificiale più ristretta è pur sempre un'intelligenza artificiale!

Quindi, cosa rende diversi uno script Python per la spesa e il software di rilevamento degli oggetti di Telsa? È solo la complessità?

No, non è la complessità. È lo scopo. L'IA esegue attività che simulano il comportamento o il ragionamento umano. A volte il programma simula il processo mentale umano, a volte solo il risultato perché sappiamo poco del nostro cervello. Alla fine, il programma di IA è un modello matematico per la risoluzione di un compito umano, che semplifica l'intero processo mentale. Non è un'implementazione esatta degli stessi passaggi che eseguiamo nella nostra testa, ma una soluzione alternativa!

Ritorniamo all'esempio dello script Python: riassumere un elenco di prezzi è un'operazione matematica già ben determinata, che possiamo descrivere in modo inequivocabile e ripetuto. D'altra parte, il riconoscimento e l'allocazione spaziale dei veicoli nel nostro campo visivo è un compito che noi umani eseguiamo con una conoscenza che non può essere espressa matematicamente, e quindi richiede un modello per simulare i risultati. I programmi di IA modellano il comportamento e il ragionamento umano, o almeno i loro risultati.

Il primo non può essere considerato IA, poiché non modella l'agente intelligente che esegue il compito. Risolve semplicemente un problema, esegue semplicemente un compito, come ha fatto qualsiasi altro meccanismo nella storia umana prima. Non ci sono più processi mentali, nessun ragionamento, nessun pensiero o sentimento sul problema.

Il riconoscimento del veicolo assomiglia di più all'IA. Simula il ragionamento umano che non siamo in grado di spiegare completamente e ci fornisce risultati simili, utilizzando un modello matematico. Anche se ci provassimo, con le nostre attuali conoscenze non possiamo descrivere e riprodurre l'esatto processo mentale. Se credi che il trucco si basi ancora sulla complessità, pensa a compiti più semplici, come il riconoscimento del testo: identificazione di caratteri neri su sfondi bianchi. L'IA fa questo, simulando il nostro ragionamento, anche quando noi umani non usiamo "equazioni di riconoscimento delle lettere" quando leggiamo.

Concludendo, anche l'algoritmo più semplice può essere un'IA se modella l'agente che esegue un compito intelligente e semplifica la complessità della nostra intelligenza umana. Vogliamo che i programmi di IA decidano per noi, guidino le nostre decisioni, ci sfidino o automatizzino i nostri compiti. Ma è facile capire che, quando modelliamo qualcosa di estremamente complesso come il pensiero umano, in futuro avremo bisogno di modelli sempre più complessi per migliorare i nostri risultati.

 

Nessun commento:

Posta un commento

Post più letti in assoluto