TECH | 23 Lug 2019

Intelligenza Artificiale: verso nuove esigenze di trasparenza?

L'open source rende il codice aperto. Ma davvero è possibile capire (e replicare) gli algoritmi dell'AI?

Ricordo il giorno in cui i miei genitori comprarono un nuovo frigorifero. Credo avessi quindici o sedici anni. Dietro l’elettrodomestico la serpentina era avvolta da una membrana con l’incomprensibile scritta “cyclo-isopentane”. Pare si trattasse di una nuova sostanza, necessaria per proteggere termicamente gli scambi di calore apportati dal “fluido refrigerante”. Ma cosa ci faceva del fluido nel mio frigorifero? Fu allora che realizzai che non avevo la più pallida idea di come funzionasse un congelatore. O cosa contenesse esattamente il mio televisore. E dalla difficoltà con cui trovai risposta alle mie domande, mi resi presto conto che la mia ignoranza non era un’eccezione, era la normalità.

Un nuovo bisogno: comprendere il perché delle cose

Per decenni gran parte del mondo occidentale ha vissuto felicemente, senza curarsi di sapere l’esatto funzionamento del frigorifero di casa, della lavastoviglie, del computer, della lavatrice o dell’automobile. Eppure negli ultimi anni l’innalzamento del livello culturale e la crescente pervasività di nuove tecnologie stanno facendo emergere un bisogno senza precedenti di capire “perché” accadano le cose.

Così, non passa giorno senza leggere articoli che invochino definitivamente chiarezza e trasparenza nel mondo degli algoritmi. Se ne fa un problema di democrazia e in molti casi è veramente così. Tuttavia, come soluzione, in nome dell’Open Source si auspica una pubblicazione del codice degli algoritmi, partendo dall’assunzione che trasparenza sia sinonimo di riproducibilità, dunque di sapere scientifico e nuove opportunità per tutti. Qui però iniziano i problemi.

Per molti anni, possedere il codice sorgente di un programma ha garantito il fatto di dominarne perfettamente la logica che ne determinava il risultato, tramite sequenze di istruzioni e regole fisse. Come dire: se tutti potessero accedere al codice sorgente dei programmi di lavaggio della propria lavastoviglie, saprebbero prevederne la durata, senza leggere il manuale di istruzioni né accendere l’apparecchio, e potrebbero addirittura intervenire sulle caratteristiche e la durata del ciclo.

Trasparenza del codice e Machine Learning

Nel Machine Learning invece il software apprende nuove tendenze dai dati, che ne determinano scelte e comportamento. Il software è codificato in un preciso linguaggio e liste di istruzioni, ma l’output dipende in modo difficilmente prevedibile da un elevato numero di parametri (il “Modello”), appresi, appunto, dai dati. Immaginiamo che il livello di sporcizia dei piatti determini il funzionamento della mia lavastoviglie tramite migliaia (o milioni) di parametri appresi durante i lavaggi precedenti. Pur conoscendo il codice sorgente della mia lavatrice, sarebbe estremamente complesso prevedere o intervenire sulla durata dei programmi, prima di iniziare una cena tra amici.

Nel Machine Learning conoscere il codice sorgente di un algoritmo non assicura a priori la completa riproducibilità degli output del software senza disporre di una completa conoscenza delle condizioni di partenza, ovvero dei cosiddetti “dati di training” o, meglio, del “Modello”.

GitHub, il sito più famoso al mondo per ospitare repository di software libero, da alcuni anni censisce i progetti Open Source più “attivi”, analizzandone i contributori, le dimensioni, la crescita (Octoverse Report). Fra i progetti segnalati svettano proprio due piattaforme di Intelligenza Artificiale, Tensorflow e PyTorch, la prima delle quali distribuita proprio da Google. Ed è eccitante apprendere che su github.com proliferano gratuitamente potentissimi algoritmi di Intelligenza Artificiale per il riconoscimento di immagini e la generazione artificiale di volti e panorami, per la trascrizione di suoni e riconoscimento di canzoni, per l’analisi e la generazione di testi.

È la vittoria del software libero?

In parte sì. Da un lato non è mai esistita un’epoca in cui chiunque può riutilizzare gratuitamente software prodotto e utilizzato da grandi e prestigiose università americane (Stanford, Princeton, Brown ecc.), agenzie di intelligence (NSA, NGA, ecc.) o multinazionali dell’IT (Microsoft, Google, ecc.), potendone addirittura modificare il codice sorgente. È senz’altro il segnale di un cambio di paradigma nel mondo del software, che ha consentito a un pubblico sempre più ampio di accedere ad algoritmi sempre più complessi, ovvero ai “mattoni” di base dell’Intelligenza Artificiale.

D’altro canto è sempre più evidente che il software libero da solo non è sufficiente a riprodurre i mirabolanti risultati che conosciamo come consumatori di Intelligenza Artificiale almeno per due ragioni: è praticamente impossibile accedere a tutti i dati necessari a riprodurne le performance, i software di AI si basano su un elevato numero di algoritmi orchestrati per ottimizzare matematicamente il valore dell’output. Questo innesca una dipendenza tra la logica del software e la natura dell’input, che complica ulteriormente la comprensione dei processi, rendendone sempre più arduo il loro riutilizzo. Generalmente, poi, le logiche non descrivono sequenze di operazioni semplici, ma riproducono operazioni difficilmente traducibili al di fuori del contesto matematico in cui sono nate, risultando pressoché inaccessibili ai non esperti.

E la trasparenza degli algoritmi?

Se queste sono le premesse, nasce una domanda: cosa intendiamo esattamente per “trasparenza” degli algoritmi? Davvero sarebbe sufficiente conoscere la natura del software per rimuovere la sensazione di opacità nei confronti di scelte che (ci sembra) altri prendono per noi?

L’Intelligenza Artificiale e la crescente complessità del mondo pongono nuove sfide, che ci chiedono di comprendere meglio noi stessi, la nostra cultura, il perché delle nostre scelte d’acquisto e, talvolta, anche delle nostre scelte politiche. Ci sono almeno due vie per affrontare questo sfide: come consumatori, sorvegliando le istituzioni affinché promuovano prassi e normative che tutelino il diritto alla conoscenza e all’accesso ai dati; come cittadini, coltivando un’istruzione che educhi all’analisi della complessità tramite gli innumerevoli strumenti intellettuali che la Storia ci ha lasciato.

Probabilmente questo non sarà sufficiente a far capire a tutti la complessa logica del Deep Learning, ma ridurrà il concreto rischio di trasformarsi definitivamente da cittadini protagonisti in meri consumatori.

Michele Gabusi