News and Insights

Il futuro della collaborazione uomo-informatica

La tecnologia continua ad avanzare lungo un percorso di progresso esponenziale, come aveva previsto con precisione profetica il co-fondatore di Intel, Gordon Moore, nel 19651. Viviamo in un'epoca in cui computer, macchine e robot diventano sempre più intelligenti, veloci e facili da utilizzare. Acquisendo maggiori capacità, sono in grado di eseguire una serie di compiti, sia fisici sia intellettuali, in modo più efficiente rispetto agli uomini, e molte delle nostre attività quotidiane vengono semplificate e automatizzate.

Secondo quanto prevedono molte aziende2 rinomate, questa tematica di lungo periodo finirà per rendere in gran parte obsoleto il lavoro umano. Come dobbiamo dunque prepararci a questa rivoluzione robotica e, soprattutto, come dobbiamo preparare i nostri figli e i figli dei nostri figli al futuro?

Distinguersi grazie alle soft skill

Al Forum economico mondiale di Davos dello scorso anno3, Jack Ma, fondatore e presidente del gigante Internet cinese Alibaba Group, ha richiamato l'attenzione sulla crescente intelligenza delle macchine, consigliando di invogliare i giovani a dedicarsi ad arti creative e discipline sportive in modo da garantirsi un vantaggio esclusivo che consenta loro di competere con i computer in un mondo sempre più automatizzato. Il magnate cinese ha argomentato che l'intelligenza artificiale finirà, inevitabilmente, per superare quella umana nelle attività ripetitive basate su regole e logica; pertanto dovremmo concentrarci su ciò che ha definito le "soft skill" (competenze trasversali) ovvero rapporti umani, comunicazione, empatia e creatività.

Nell'ambito di questo Thematic Insights ci soffermeremo su queste tematiche, ma cercheremo anche strade alternative. Forse dovremo anche imparare a programmare, per essere in grado di parlare la stessa lingua dei computer. Forese una combinazione di soft skill e conoscenza del linguaggio dei computer potrebbe in definitiva rivelarsi più efficace.

Ora che il software lo abbiamo in tasca, guida le nostre automobili, gestisce le nostre case e domina le nostre vite, l'ignoranza non è più accettabile.  Il mondo appartiene a chi è in grado di programmare. Chi non lo comprende rimarrà indietro.

Josh Tyrangiel, redattore di Bloomberg Businessweek, nell'introduzione di "The Code Edition", Businessweek, giugno 2015.

Linguaggio = codice

Molti di noi parlano più di una lingua, ma pochi sono in grado di trascrivere i codici informatici. Si stima che meno dello 0,3 per cento della popolazione mondiale sia infatti dotato delle competenze necessarie per la progettazione di software4.

Grafico 1. Quante persone sono in grado di programmare un computer?

Fonti: Credit Suisse, Evans Data Corporation (2019), pubblicati su https://www.daxx.com/blog/development-trends/number-software-developers-world il 12 agosto 2019

Per alcuni l'idea di utilizzare un computer, per non parlare della possibilità di scrivere codici informatici, rappresenta un'ardua impresa. Tuttavia, in un certo senso tutti noi parliamo in codice. La lingua infatti non è altro che un insieme standardizzato di suoni o "parole" che permettono e facilitano la comunicazione. Pertanto è un codice.

Le prime parole pronunciate dall'uomo, secondo la teoria linguistica5, furono probabilmente onomatopeiche, ossia suoni del mondo naturale riprodotti per trasmettere un significato. Una volta standardizzati e consolidati, questi suoni si trasformarono in modo da descrivere non più solo oggetti ma anche idee ed emozioni.

La scrittura rappresentò un notevole progresso per la civilizzazione, in quanto permetteva di registrare per iscritto il linguaggio parlato. Convertendo la lingua orale in simboli visivi, le idee e la storia potevano essere trasmesse a lunghe distanze e conservate nel tempo, contribuendo ad assicurare la prosperità per generazioni.

Secondo la stessa teoria linguistica, le parole si sarebbero sviluppate dalla rappresentazione grafica di oggetti visti nel mondo reale. Pertanto anche queste parole sono un codice - modelli comunemente accettati il cui scopo è semplicemente quello di rappresentare oggetti e idee del mondo reale. L'artista belga René Magritte ha illustrato questo concetto in modo succinto nel suo dipinto del 1929 intitolato "Ceci n'est pas une pipe" (in italiano, "Questa non è una pipa"). L'immagine della pipa naturalmente non è di per sé una pipa, ma un dipinto; una rappresentazione visiva dell'oggetto che conosciamo come pipa6.

Codice macchina

Proprio come il linguaggio umano, sia scritto sia parlato, anche il linguaggio dei computer è un codice. Il linguaggio informatico di base è un sistema digitale binario o esadecimale che usa solo i simboli "1" e "0". Si tratta del livello più basso di linguaggio di software, noto come "codice macchina". Questo linguaggio è l'insieme delle istruzioni fondamentali per i computer. Agli albori dell'informatica, il codice macchina era utilizzato per creare programmi (di norma producendo lunghe stringhe di codici stampati in manuali che potevano essere copiati manualmente per creare il programma).

I computer sono poi diventati più potenti e anche più facili da utilizzare e quindi più accessibili e utili a un maggiore numero di persone. Questo processo spesso è noto come "democratizzazione dell'informatica". Di conseguenza, i programmatori informatici oggi non devono più scrivere i programmi nel codice macchina. Scrivere in un codice macchina è estremamente complesso. I programmatori possono invece utilizzare uno dei numerosi linguaggi informatici di "più alto livello" (come Python, JavaScript, C++, Ruby, ecc.) per scrivere software. Alcuni linguaggi di programmazione sono più indicati per determinati tipi di programma rispetto ad altri, e quindi si possono scegliere i codici in base alle attività da eseguire, ma tutti i linguaggi sono decisamente più intuitivi rispetto al codice macchina. I computer eseguono un programma in background, il cosiddetto "compilatore", che traduce il linguaggio informatico di alto livello nel codice macchina che è in grado di capire. In altre parole, i linguaggi di programmazione vengono tradotti dal compilatore nel codice macchina per consentire al computer di eseguire l'insieme di istruzioni.

La "no-code revolution"

Con la crescente facilità di utilizzo dei computer, forse l'apprendimento delle tecniche per scrivere il linguaggio informatico diventerà obsoleto, così come i linguaggi di programmazione hanno reso inutile la conoscenza del codice macchina. I computer potrebbero progredire fino al punto in cui chi non è in grado di scrivere una sola riga di codici potrà dire al computer che tipo di programma desidera realizzare. Questa prospettiva è alla base della cosiddetta "no-code revolution" (rivoluzione senza codice).

Vi sono già diverse società e comunità open-source che hanno sviluppato software di livelli superiori, semplici interfacce utente al di sopra del linguaggio di programmazione per semplificare, velocizzare e perfezionare il processo di sviluppo dei programmi informatici. La maggior parte di questi sistemi è nota come "programmazione visuale", in cui i blocchi di codici sono rappresentati da semplici elementi grafici e queste componenti possono essere semplicemente trascinate e spostate nella posizione desiderata.

È solo questione di tempo prima che reti neurali producano codici utili. Quindi le prospettive per gli informatici come me sono poco incoraggianti.

Professor Dr. Christian Bauckhage, Fraunhofer IAIS

Più vicini alla "singolarità"

Grazie alla programmazione visuale e alla no-code revolution, imparare a programmare potrebbe essere meno difficile di quanto immaginiamo. Ma riuscire a semplificare il compito di programmare a livello base non servirà probabilmente alla forza lavoro ad ottenere un vantaggio competitivo sui computer. Cosa accadrebbe se i computer diventassero così intelligenti da riuscire ad auto programmarsi?

Gli ingegneri informatici sognano da tempo di elaborare algoritmi in grado di scrivere il codice - un'idea che per ora è ancora allo stadio embrionale. Gli strumenti "CASE" o "computer aided software engineering" (sviluppo del software assistito dal computer) servono ad automatizzare la scrittura e il debugging di programmi software. CASE è uno dei più affermati esempi di software usati per scrivere software, o almeno per aiutare a farlo.

Gli ingegneri informatici stanno iniziando a spingersi oltre. Nel 2015, Andrej Karpathy, un dottorando in scienze informatiche di Stanford, ha utilizzato "reti neurali ricorrenti" per generare codici. Ora è responsabile A.I. presso Tesla. Più di recente, Microsoft e la Cambridge University hanno sviluppato "DeepCoder", un algoritmo che utilizza tecniche di deep learning per generare codici.

Tutto ciò che va oltre questi tentativi è solo cinema e fantascienza. Tuttavia, è molto probabile che i computer prima o poi saranno in grado di scrivere il proprio codice, e la sfida per l'uomo sarà quella di decifrarlo e controllarlo una volta scritto.

Forse i computer possono anche imparare a essere più umani

Se codificare diventerà così facile che lo potremo fare tutti con lo stesso sforzo con cui utilizziamo un'app sullo smartphone, forse ci converrebbe seguire il consiglio benintenzionato di Jack Ma e concentrarci sulle soft skill di creatività e interazione umana.

Ma è un sentiero non privo di rischi. I computer potrebbero apprendere le soft skill al pari, se non meglio, degli esseri umani. Questo solleva un interrogativo filosofico cui non tenteremo di rispondere in questa sede, ossia se creatività e talento artistico siano qualità innate negli esseri umani o se possano essere acquisite attraverso la prassi e l'esperienza. Se queste abilità sono apprese, perché un computer non dovrebbe essere in grado di imitare, copiare, adattarsi e imparare le nozioni soggettive di bellezza e soft skill come empatia o creatività?

Figura 1. Estratto di "The Next Rembrandt", 148 milioni di pixel, dipinto stampato in 3D in tredici strati d'inchiostro UV

Fonte: Open culture (2016): Scientists Create a New Rembrandt Painting, Using a 3D Printer & Data Analysis of Rembrandt’s Body of Work, da http://www.openculture.com/2016/04/the-next-rembrandt.html, data dell'ultimo accesso: 12 agosto 2019
Con la gentile concessione di J. Walter Thompson Amsterdam di usare questa immagine (solo estratto dell'immagine).

Molti team hanno già sviluppato motori a intelligenza artificiale per padroneggiare le soft skill. In campo musicale, AIVA7 e OpenAI’s MuseNet hanno ad esempio composto una serie di stili musicali di grande successo basati sull'intelligenza artificiale. Analogamente, un team di informatici dell'Università tecnica di Delft8 si è servito di algoritmi e della tecnologia di riconoscimento facciale per analizzare 346 dipinti di Rembrandt, e dare vita infine a quello che il team ha definito “The Next Rembrandt”. Il dipinto non è una copia di Rembrandt e, come si specifica alla home page del gruppo, la persona raffigurata non è mai esistita. Si tratta in effetti di un nuovo dipinto realizzato con un'analisi dettagliata dello stile delle opere dell'artista. In altre parole, se tutti i dipinti di Rembrandt fossero una serie, questa creazione artificiale potrebbe essere il prossimo dipinto della serie, basato esclusivamente sull'analisi dei colori, dei pixel e della posizione di tutti gli elementi.

Conclusione

Sebbene tecnologia e innovazione abbiano trasformato per millenni il ruolo della forza lavoro, vi sono buoni motivi per ritenere che questa volta l'impatto sarà più rapido e di più ampia portata.

Con l'evolversi dell'economia globale e il cambiamento del valore attribuito alle varie competenze, non è facile rispondere all'interrogativo su ciò che dovrebbero studiare i nostri figli. Apprendimento mnemonico e memorizzazione di dati saranno probabilmente meno apprezzati, poiché Internet ci regala una conoscenza nozionistica a portata di mano. Al tempo stesso, computer e robot sono sempre più in grado di eseguire non solo semplici attività fisiche ripetitive, ma anche mansioni cognitive e variabili che richiedono la capacità di reagire dinamicamente e autonomamente ai cambiamenti. Perciò concentrarsi sulle soft skill dell'interazione umana e dell'arte è probabilmente la scelta più sicura. Tuttavia, l'intelligenza artificiale sembra in procinto di invadere anche questi campi.

Invece di preoccuparsi che la forza lavoro diventi obsoleta a causa della tecnologia, forse la diffusione stessa di tecnologia e automazione creerà un consistente fabbisogno di una forza lavoro in grado di assicurarne la gestione, il supporto e la manutenzione. La tecnologia può anche agevolare l'istruzione e la formazione della forza lavoro per nuovi ruoli in modo coinvolgente ed efficace sul piano dei costi. La tematica offre quindi ottime opportunità di lungo periodo per gli investitori pazienti.