Ciao Pier Giorgio e grazie di aver posto questa splendida domanda. Credo sinceramente che una risposta esaustiva richiederebbe lo spazio di una tesi di laurea. Il tempo disponibile, l'età e soprattutto le tasse universitarie arretrate mi costringono ad una risposta più breve. :-) Assumo tu faccia riferimento alle tesi di Andreas Matthias descritte in questo articolo del 2004: http://citeseerx.ist.psu.edu/viewdoc/download?doi= 10.1.1.456.8299&rep=rep1&type=pdf Proverò ad evidenziarti le criticità di quel testo (principalmente contraddizioni logiche) per spiegarti come sia sempre possibile (e spesso persino semplice) determinare la responsabilità legale e morale dell'effetto di uno o più movimenti compiuti da quello che impropriamente chiami *fully autonomous robot*. Nota che non voglio farti le pulci sui termini, solo metterti in guardia dal significato ingannevole che alcuni termini tecnici usati correntemente nel gergo della AI assumono per chi non ha sufficientemente esperienza pratica dei sistemi di cui stiamo parlando. Ho visto diversi esperti di intelligenza artificiale farsi ingannare profondamente dal proprio linguaggio, per cui è naturale che confonda chi non è del mestiere. Purtuttavia, come leggerai, se sgomberi la mente dalla fuffa, le cose sono veramente semplici. *Pigrizia analitica* Nel paper di Matthias vengono riportati diversi esempi in cui, a detta dell'autore, la responsabilità di alcuni incidenti che includono dei "sistemi autonomi" non è riconducibile moralmente (e di conseguenza legalmente) ad alcuno degli esseri umani proposti. L'errore è limitare la ricerca delle responsabilità alle persone elencate negli esempi. Il primo esempio, quello usato come modello per tutta la costruzione teorica di Matthias, sostiene che se un robottino su Marte precipita da un dirupo, non possiamo prendercela con il povero ingegnere che dalla terra non ha dato l'halt in tempo. Perché la luce viaggia ad una certa velocità, e per quanto capace il povero ingegnere non può proprio superare questo limite. Peccato che qualche altro ingegnere, o qualche altro manager, ha stabilito un budget ed una dotazione tecnica per il robottino. Con un budget maggiore si sarebbe potuto dotare il robottino di sonde in grado di riconoscere il dirupo ed evitarlo. Dunque la responsabilità non è "di nessuno": è semplicemente di qualcuno non preso in considerazione nel paper. Il secondo esempio parla di un ascensore che ottimizza i propri spostamenti sulla base del traffico previsto, causando una grossa perdita di denaro ad un povero dirigente lasciato ad aspettare per mezz'ora. Qui si sfiora il ridicolo: 1. Il dirigente è responsabile perché non ha preso le scale 2. Il dirigente è responsabile perché non si è svegliato prima 3. La proprietà dell'azienda è responsabile perché ha assunto un dirigente pigro o incapace 4. La proprietà dell'azienda è responsabile perché non ha messo i dirigenti al primo piano 5. La proprietà dell'azienda è responsabile perché non ha fatto tarare l'ascensore sulle esigenze dei suoi dirigenti Nell'esempio del giocattolo autonomo che impara a galoppare e urta un bambino infortunandolo gravemente, la responsabilità ricade sul costruttore che non ha fornito il giocattolo di sensori di prossimità adeguati alla quantità di moto massima che il giocattolo è in grado di sviluppare. O suoi genitori, se non hanno seguito le istruzioni. Così per *tutti *gli altri esempi di cui Matthias sostiene non si possa risalire ad un responsabile. E' sempre presente *un responsabile con il controllo necessario ad evitare gli incidenti* proposti, basta solo avere la voglia di cercarlo. *Scarsa comprensione della tecnologia in questione* E' possibile spiegare la tecnologia in questione in modo molto più chiaro e semplice di come faccia Matthias. Questo è particolarmente vero per le reti neurali artificiali, che vengono sempre impropriamente descritte come blackbox che imparano. In realtà si tratta di semplice statistica. Per spiegartelo considera il calcolo della media aritmetica: è un procedimento statistico in cui, data una serie di osservazioni (il tuo data set) 1) parti con S = 0 e N = 0 2) prendi la prima osservazione X 3) aggiorni S = S + X 4) aggiorni N = N + 1 5) se hai ancora osservazioni, prendi la prossima osservazione X e riparti da 3 6) altrimenti dividi S per N e ottieni un numero, la media aritmetica che volevi. In altri termini la *media aritmetica* è un *procedimento statistico* che data una serie di osservazioni *produce un numero* che *approssima quelle osservazioni*. Analogamente *una rete neurale* è *una approssimazione* di un *programma che vorresti (di una funzione, per la precisione)* ottenuta *attraverso un procedimento statistico*. Non c'è nessuno che impara dentro una rete neurale. E non c'è nulla di inspiegabile o non riproducibile. E' solo una questione di costi. Spiegare come uno specifico processo di calibrazione abbia prodotto una rete neurale che produce un determinato output a fronte di un determinato input richiede *moltissimi dati* relativi alla calibrazione, l'*intero codice sorgente*, ed *un tempo che cresce esponenzialmente* con la complessità della topologia della rete neurale e con la quantità dei dati usati durante la calibrazione. Tuttavia non è impossibile. E' solo molto molto MOLTO costoso. Si tratta dunque di un *costo di impresa da bilanciare *come gli altri. Un costo che *non è lecito scaricare sulla collettività* come ha fatto l'Ilva a Taranto. *Non si tratta però* *di una* *impossibilità materiale* come superare la velocità della luce nel vuoto. Niente Gap, mi spiace. *Un'allucinazione artificiale collettiva* A volte a questo proposito ho l'impressione che siamo di fronte ad una sorta di *allucinazione collettiva*, dovuta alla *narrazione* che la AI (come comunità di ricerca) fa di se stessa ed a se stessa. Allucinazione nutrita a fior di quattrini per fini commerciali e peggio... Quando tu guardi un *fully autonomous robot* vedi una autonomia che non esiste. Un po' come gli spettatori dei primi spettacoli cinematografici dei fratelli Lumiere, vedi un treno arrivarti addosso, ma il treno non c'è. Il robot non si programma da solo, segue pedissequamente un programma che gli permette di reagire in modo flessibile accumulando informazioni che utilizzerà come input futuro. Ma non c'è nessuna intelligenza lì. E nessuna capacità di darsi regole (aka autonomia). La macchina è schiava di chi l'ha creata. Il fatto che il suo creatore sia una sorta di *apprendista stregone molto disordinato*, che *non tiene log appropriati* e che non sa bene valutare le conseguenze del proprio operato, non rende più libera o più intelligenze la macchina. Rende solo più *patetico il suo creatore*. Ma non lo esime da alcuna responsabilità. *La legge non deve ammettere ignoranza* Anche se accettassimo che una determinata tecnologia non si può spiegare (COSA CHE NON E' VERA PER LA AI), accettare che l'ignoranza sollevi dalla responsabilità è un principio estremamente pericoloso. Eternit docet. Al contrario, *l'ignoranza deve essere trattata come aggravante*! Perché *mettere in circolazione un automa* (o *un medicinale* o *una sostanza*) che può uccidere senza essere in grado di spiegarne esattamente il funzionamento è da *incoscienti*. *Un problema di probabilità* Vi è poi un problema di probabilità che viene allegramente ignorato da Matthias. Nel testo, parlando del Reinforcement Learning, si dice che "errors are unavoidable features of any reinforcement learning system". Altrove si spiega come un sistema di AI possa inevitabilmente produrre errori in alcuni corner case. Quello che non si dice è che spesso, *la probabilità di un errore di progettazione o di programmazione* in uno qualsiasi dei componenti che costituisce il sistema *è di diversi ordini di grandezza maggiore* della probabilità *di errore di una rete neurale* dalla bassa complessità e calibrata correttamente. *Chi propone di non ricondurre la responsabilità agli esseri umani*, non sta pensando solo alla possibilità rarissima di un errore di calcolo (che può essere fatale su un automa, ma è magari poco osservabile su un suggestion system di Amazon), ma* sta cercando di garantire la licenza di sbagliare a sé stesso, non alla macchina*! I dilemmi morali sono solo nella testa di chi sta a sentire questa gente. Ma come Uber ha dimostrato, quando un automa uccide, non lo fa con i sensi di colpa. *Una falsa alternativa* Nel testo di Matthias si propone una alternativa fra - sollevare dalla responsabilità legale e morale chi realizza sistemi autonomi - rinunciare ai benefici che questi sistemi autonomi possono dare all'umanità Si tratta di un approccio che ho già visto, con diversi gradi di raffinatezza, altrove. Tipicamente l'oratore propone il bastone sotto forma di vaga minaccia ("volete davvero rinunciare al vantaggio competitivo per il vostro Paese/azienda") e la carota sotto forma di vaga promessa ("un giorno grazie alla AI cureremo il cancro"). La dicotomia è falsa. Si può tranquillamente mantenere il sistema di responsabilità legali e morali che abbiamo sviluppato in migliaia di anni e contemporaneamente impiegare la AI e il ML ad una vastissima gamma di problemi. Se l'abbiamo fatto con l'energia atomica (che ha quanto meno una componente quantistica oggettivamente impredicibile), credo che possiamo farlo anche con gli automi. *Una inversione di dipendenza* La *stupidità* di questa *pretesa di irresponsabilità* appare veramente evidente quando si applica non a cose ma a persone. Matthias sostiene che per non rinunciare alle macchine autonome, dobbiamo collettivizzare la responsabilità dei danni che causano (di fatto rimuovendola da chi le produce). Non segnala però differenze fra la responsabilità civile/economica e quella penale. Dunque dobbiamo essere disposti a sacrificare persone (in quanto accettiamo collettivamente la responsabilità della loro morte) per garantire "libertà operativa" agli automi. Di fatto invertiamo la gerarchia: sacrifichiamo le persone alle macchine, invece che le macchine alle persone. Chi sostiene questa tesi non è scemo, comunque: la responsabilità che scarica sulla collettività è la propria. *Nessuno è il mio nome, nessuno mio padre...* Più di una volta nel testo viene detto che *nessuno* è responsabile di taluni incidenti. Come detto, non è vero. Tuttavia questo continuo riferimento a nessuno, mi ha ricordato Ulisse di fronte a Polifemo. Solo che questa volta, lo scaltro Ulisse è interpretato da grandi multinazionali, mentre lo sciocco Polifemo... sono tutti gli altri abitanti di questo pianeta. Fortunatamente non siamo ancora *tutti* ubriachi... ;-) *La responsabilità non può essere rimossa da uno stato di diritto* Rimuovere la responsabilità legale (e quella penale in particolare) ha profonde implicazioni in uno stato di diritto. Significa anzitutto *rinunciare al monopolio dell'uso legittimo della forza* nel proprio territorio. Significa *sollevare dalla legge* chi ha il denaro o le competenze per realizzare un proxy autonomo in grado di compiere la propria volontà criminale. Significa persino fornire una ottima ragione ad un qualsiasi terrorista per infiltrarsi in una azienda che si occupa di IA, per sabotarne il comportamento (cosa semplice e priva di conseguenze legali se si accetta di non provare nemmeno a spiegare il suo comportamento). *In Italia* In Italia per rimuovere dalle persone la responsabilità legale che deriva dalla creazione o dall'utilizzo di *fully autonomous robot*, è persino necessario cambiare la Costituzione. In particolare, l'articolo 1, l'articolo 27 e l'articolo 28. Infatti l'articolo 27 e l'articolo 28 specificano come la responsabilità venga gestita nel nostro ordinamento. "La responsabilità penale è *personale*", ma perché? Perché "La *sovranità* appartiene al *popolo*, che la esercita nelle forme e nei *limiti* della Costituzione". Per rimuovere la responsabilità personale, dobbiamo: - o includere le macchine nel popolo sovrano (fra l'altro dando loro il diritto di voto :-D) - o sollevare il popolo dai limiti della Costituzione e dunque dalla assunzione di responsabilità penale Di questi tempi, tutto è possibile. Ma non tutto è auspicabile. *In sintesi* Nel caso della robotica è sempre piuttosto semplice risalire alle responsabilità umane. Tu immetti nell'ambiente un artefatto autonomo. Quell'artefatto autonomo causa un danno non riconducibile completamente a responsabilità di altre persone. Tu ne rispondi civilmente, ma soprattutto moralmente e penalmente. Nel caso del puro software (senza hardware intorno), la questione è della responsabilità è più complessa Parteciperei volentieri ad una discussione multidisciplinare sul tema, cui potrei però apportare solo la mia competenza di programmatore. Ma da solo... direi solo sciocchezze. Spero di esserti stato di aiuto. Se vuoi ulteriori approfondimenti puoi dare un occhiata a questi documenti che ho scritto di recente: https://medium.com/@giacomo_59737/the-delusions-of-neural- networks-f7085d47edb6 http://shamar.github.io/documents/2018_Milano_The- Delusions-of-Neural-Networks.pdf https://medium.com/@giacomo_59737/yet-another-definition- of-intelligence-9bbaaa73086d Ma ricorda: non c'è niente di sovra umano in queste materie, solo ottimo marketing e tanto fumo negli occhi! ;-) A presto! Giacomo Il giorno 28 marzo 2018 18:20, Pier Giorgio Chiara <pg.chiara94@gmail.com> ha scritto:
Buongiorno a tutti, Sono un laureando in Giurisprudenza, attualmente a Londra: sto lavorando ad un paper che cerca di approfondire il tema della responsabilità civile (extra-contrattuale) correlato alla tematica del Machine Learning.
Sto riscontrando diverse criticità nel considerare ancora l'essere umano responsabile per il danno cagionato dal *fully autonomous robot *che abbia agito a seguito di 'apprendimento' (intervento di machine learning). Trovo significativa la tesi di A. Mattias: configurandosi in tale situazione quello che lui chiama *responsibility gap -*conseguente alla mancanza dell'elemento 'controllo' dell'essere umano sull'oggetto, è necessario trovare nuovi paradigmi legali per considerare il robot stesso responsabile, conferendo all'oggetto personalità giuridica.
Potrebbero essere adottati meccanismi assicurativi uniti a fictio giuridiche, come quella evocata da Bayern: creare strutture di diritto societario per conferire quella che lui definisce *legal housing * per advanced software.
Sarei molto grato se qualcuno volesse suggerirmi ulteriori punti di vista, consentendomi di inquadrare meglio la responsabilità in esame. Cordiali saluti,
PGC
Il giorno 28 marzo 2018 10:57, Giacomo Tesio <giacomo@tesio.it> ha scritto:
2018-03-27 19:56 GMT+02:00 Enrico Nardelli <nardelli@mat.uniroma2.it>:
Vi segnalo i seguente rapporto When Computers Decide: European Recommendations on Machine-Learned Automated Decision Making <http://www.informatics-europe.org/component/phocadownload/category/10-report...> che abbiamo prodotto congiuntamente tra Informatics Europe e ACM Europe Council
Veramente un ottimo testo, lucido, chiaro ed *equilibrato*. Ne consiglio veramente la lettura a tutti!
Ne emerge chiaramente una *sintesi *fra competenze diverse ma radicate ed aperte al confronto.
L'unico contributo alla riflessione che posso offrire con il mio "Security Hat on", riguarda un piccolissimo passaggio che trovo rischioso:
When complex automated decision-making systems operate without human
involvement, three conditions need to be satisfied: [...] Traceability—the automated decision maker must be able to autonomously show the rationale for its decision using empirical, experimental or other evidence that rejects several other possible decisions in favour of the one chosen.
Interpretando questa definizione di tracciabilità come una specifica, mi troverei di fronte ad un albero di possibilità implementative, alcune delle quali in grado di soddisfare esattamente la specifica senza garantirne il razionale. Macroscopicamente salta agli occhi che il sistema di decisione autonoma potrebbe generare, su richiesta, SOLO le soluzioni alternative alla decisione assunta che riesce a scartare attraverso evidenze empiriche e sperimentali compatibili con la legge. Ovvero potrebbe essere programmato per *NON generare decisioni* alternative *migliori di quella assunta* da un punto di vista etico o legale, per proteggere i propri costruttori dalla domanda "perché non ha fatto invece così?"
Questo potrebbe essere usato per scaricare sulla collettività il costo di trovare contro esempi.
Una soluzione logica a questo problema di specifica potrebbe essere quella di sostituire nella definizione la parola "several" con "every": il sistema autonomo stesso dovrebbe valutare (e fornire in caso di necessità) *tutte *le possibili decisioni pertinenti al problema in essere.
Un'altra soluzione potrebbe essere lo sviluppo di strumenti in grado di analizzare e spiegare il processo decisionale (aka tool debug della intelligenza artificiale dimostrabilmente affidabili).
Si tratta comunque di muoversi lungo una *linea di equilibrio*: da un lato applicare all'uomo* solo sistemi di ML spiegabili *(regressione lineare, k-mean clustering etc..) e dall'altro* ideare e sviluppare nuovi tool di debug* per aumentare le possibilità applicative degli altri sistemi.
Aspetto la riflessione sulla* responsabilità legale nel software* (e parteciperei volentieri ad essa).
E' un tema *estremamente *complesso da un punto di vista etico, legale e tecnico. Il rischio è che il software libero venga usato come scudo retorico per far evaporare la responsabilità.
Come viene chiaramente spiegato nel testo, ci deve sempre essere almeno un essere umano a rispondere degli effetti delle decisioni basate sui calcoli di una macchina. Stabilire chi è semplice nel caso della robotica: di un *pilota automatico sviluppato come software libero* risponde *chi lo ha montato a guida dell'hardware*. Ma se il pilota automatico fosse proprietario? Inoltre nel caso di un sistema completamente software che ad esempio suggerisca quali candidati ammettere ad un corso universitario a numero chiuso, *distribuire e ricondurre le responsabilità* alle persone diventa molto più complesso.
Giacomo
_______________________________________________ nexa mailing list nexa@server-nexa.polito.it https://server-nexa.polito.it/cgi-bin/mailman/listinfo/nexa
-- PGC