Benvenuto nella rubrica Tech Explained!
Si sentono accostare, molto di frequente a sproposito, i termini “intelligente” o “intelligenza” a software e generici prodotti e servizi digitali.
L’intramontabile fascino delle macchine “capaci di pensare” come, o addirittura “meglio”, degli esseri umani, suscita regolarmente nei media la tentazione di attribuire non ben definite proprietà “intelligenti” ad algoritmi e processi che, oltre ad implementare paradigmi consolidati da decenni (ben prima di quest’ultima ondata di popolarità dell’intelligenza artificiale), sono tutto sono fuorché “intelligenti”.
Cos’è quindi che rende gli strumenti che possono essere legittimamente inseriti all’interno della categoria dell’intelligenza artificiale, appunto, “intelligenti”?

Senza scendere nei dettagli tecnici, vediamo di seguito quali sono le caratteristiche che distinguono un classico algoritmo che potremmo definire (con una certa licenza poetica) “procedurale” da un “modello intelligente”. Dunque:
- Adattabilità e apprendimento: mentre i tradizionali software sono basati su molteplici regole statiche le quali, una ad una, sono definite dagli sviluppatori al fine di affrontare al meglio un determinato problema, gli innovativi “algoritmi intelligenti” non presentano (o quasi) alcuna regola fissa, bensì modellano essi stessi le proprie “regole” adattandosi al problema. Da un punto di vista concettuale, la differenza sostanziale tra i due approcci può essere definita come segue: se storicamente le procedure messe in atto da un software sono sempre state codificate dagli sviluppatori secondo la loro comprensione del problema in esame, nel dominio dell’intelligenza artificiale il compito consiste unicamente nello sviluppo delle caratteristiche che conferiscono al software la capacità di imparare dai dati il miglior modo tramite il quale affrontare il problema in questione.Di fatto, se prima l’uomo “spiegava” alla macchina “come fare”, ora l’uomo “spiega” alla macchina “come imparare a fare”.

- Complessità e flessibilità: per quanto a volte in grado di sviluppare sbalorditive capacità logico/matematiche e di produrre straordinarie intuizioni, la mente umana presenta ben definiti limiti in termini di potenza di elaborazione che la rendono, soprattutto per lo svolgimento di compiti circoscritti, molto meno performante rispetto ad una soluzione computerizzata. La grande complessità non può quindi essere affrontata efficacemente codificando manualmente insiemi di regole all’interno di un software, bensì deve essere necessariamente “studiata” ed affrontata da una macchina capace di considerare in tempi utili le innumerevoli relazioni che intercorrono tra le enormi quantità di variabili in gioco. Così facendo è possibile realizzare in modo automatico regole estremamente più complesse di quelle concepibili da una mente umana, conferendo al software la capacità di affrontare in modo efficace numerosi scenari differenti dimostrandosi “flessibile” e, in un certo senso, “intelligente” (una sola funzione matematica estremamente complessa può quindi sostituire migliaia o forse milioni di singole regole codificate da sviluppatori umani). Se quindi i tradizionali sistemi software, per quanto complessi e spesso vere e proprie opere d’arte ingegneristiche, esibiscono spesso una certa rigidità nell’affrontare gli scenari di applicazione, i nuovi software dotati di “intelligenza artificiale” dimostrano un’inedita flessibilità nell’affrontare le innumerevoli sfaccettature che rendono un problema “complesso”.
- Innovazione e creatività: malgrado il tema sia oggetto di fervente dibattito, una nuova caratteristica esibita dai sistemi dotati d’intelligenza artificiale sembrerebbe essere tra quelle da sempre attribuite esclusivamente all’essere umano: la creatività. Se infatti i tradizionali software non possono fare altro che eseguire rigide procedure preimpostate, le capacità di adattamento degli innovativi “software intelligenti” (unite ad intrinseche componenti casuali dovute alla natura delle procedure di apprendimento sui dati di training) fanno sì che questi esibiscano talvolta soluzioni che, se partorite dalla mente di un essere umano, senz’ombra di dubbio sarebbero definite dai più “originali e creative”. Se, poi, il dominio di applicazione si sposta da compiti per i quali l’obiettivo è la mera massimizzazione di una specifica metrica (o più in generale di una performance) ad attività artistiche come ad esempio il disegno o la musica, le pressoché infinite soluzioni adottate da questi sistemi (delle quali nessuna, in questi domini, può essere definita di per sé “errata”) si traducono in un immenso spazio di possibilità, del tutto accostabile (a mio parere) a quello di un essere umano dotato di spiccate intuizioni artistiche.
In conclusione quindi, il concetto principale da comprendere per discernere ciò che è “intelligenza artificiale” da ciò che non lo è consiste in quanto segue. Dunque:
- Un “software intelligente” è in grado di adattarsi autonomamente al problema, elaborando un proprio sistema di regole al fine di affrontarlo al meglio. L’apprendimento è quindi in questo caso esclusiva prerogativa della macchina.
- Un “software non intelligente” sfrutta la “conoscenza umana” codificata al suo interno per affrontare il problema per il quale viene impiegato. L’apprendimento è prima di tutto realizzato dagli sviluppatori umani e solo in seguito condensato in maniera sistematica all’interno del software tramite una serie di regole.
Stiamo lentamente cedendo l’onere della comprensione del mondo che ci circonda alle macchine. Il perché? Perchè lo fa(ra)nno meglio.
Francesco