Marco Mattiucci
Email me
L'oracolo alle 2024-11-21 11:25:54 dice:
I pensieri non sono nè immagini nè parole!
INFORMATICA
INTELLIGENZA ARTIFICIALE
LEGGI "UMANE"
Webinar 13.07.2022
Commissione Penale Ordine degli Avvocati di MI
1. Premessa sull'Intelligenza Artificiale
Allo scopo di inquadrare l'argomento è bene partire dalla definizione di intelligenza artificiale (AI da qui in avanti) già ampiamente trattata nelle pagine di questo sito web.
L'Intelligenza Artificiale è una scienza a cavallo di molte discipline che fu introdotta nell'ambito dell'informatica nel 1956 da John McCarthy (Professore emerito di grandissima fama ref. wikipedia/McCarthy). Da allora molti passi avanti sono stati fatti anche solo nella definizione della materia in questione che si è allargata nel campo della logica, della matematica, della neurologia, della biologia, della genetica, della filosofia ecc.. Per meglio comprendere come ciò sia possibile bisogna avere chiaro che l'AI ha acquisito conoscenze da tutte tali discipline dando a tali concetti valenze completamente innovative e incorporandole nel proprio bagaglio. Se ad esempio oggi si parla di algoritmo genetico o evolutivo si tratta di AI che riprende concetti di genetica e biologia ma si tratta di un nuovo concetto che di massima poco ha a che fare con le materie che lo hanno determinato.
Come indicato dettagliatamente nella pagina AI e Singolarità di questo sito web, l'AI attualmente può essere vista come quella materia scientifica orientata in 3 direzioni preminenti: (1) Emulare totalmente il cervello umano nel suo funzionamento; (2) Realizzare macchine (digitali) in grado di risolvere problemi altrimenti affrontabili solo da esseri umani; (3) Emulare le funzioni cognitive del cervello umano.
Le direzioni di studio (1) e (3) rappresentano l'AI forte (vedere pagina su AI forte di questo sito per approfondimenti), mentre (2) rappresenta l'AI debole (vedere pagina su AI debole di questo sito).
L'AI debole, sebbene il nome non ispiri molta fiducia è quella che ad oggi produce i maggiori risultati apprezzati dai comuni utenti. Lo scopo dell'AI debole è "contenuto", si tratta di realizzare macchine digitali (da adesso in avanti l'accezione macchine sarà sempre riferita al mondo digitale) in grado di affrontare problemi molto difficili da automatizzare, per i quali l'intervento umano sembra inevitabile. Non si ha quindi la pretesa di replicare le funzioni di un cervello umano ma di risolvere problemi difficili che richiedono particolari "skill" e soprattutto una certa capacità di adattamento all'imprevisto.
Se consideriamo un algoritmo classico, la sua funzione è automatizzare una lista di istruzioni tramite una macchina in maniera che questa "reagisca" in maniera "deterministica" a precise condizioni. Ad esempio, l'algoritmo per la somma di due numeri presuppone che la macchina prenda in ingresso una qualsiasi coppia di numeri e restituisca il numero che ne è la somma. Cosa accade se al posto di uno dei due numeri di ingresso si fornisce, ad esempio, una lettera o un punto interrogativo, ossia un valore inaspettato? l'algoritmo si dice che "fallisce" e la macchina smette conseguentemente di funzionare.
Un algoritmo di AI intende innanzitutto superare questa condizione di fallimento correlata a condizioni di lavoro troppo precise e rigide allargandosi a trattare situazioni non necessariamente deterministiche in ambiti in cui la conoscenza sui fatti da "elaborare" non necessariamente deve essere completa. A tale scopo si è ripensato il meccanismo di programmazione focalizzandosi non sulle funzioni che la macchina deve svolgere ma sulla sua abilità di "apprendere".
Attualmente, uno dei meccanismi di AI debole più affermati commercialmente viene indicato con il nome machine learning e l'obiettivo dei suoi algoritmi di AI è incorporare più o meno efficienti forme di addestramento di una macchina digitale al fine di farle risolvere problemi molto complessi. Lo schema di funzionamento scelto, nelle sue linee generali, è molto semplice. Immaginiamo di dover insegnare ad un robot, dotato di capacità di osservazione, come saltare un piccolo ostacolo (per info oggi esistono robot in grado di eseguire in autonomia complessi esercizi di acrobatica...), l'idea di fondo è mostrare al robot migliaia di salti dello stesso ostacolo svolti con successo da animali o robot della stessa sua stazza e forma (set di addestramento) affinchè lui elabori una sua strategia; ad ogni salto osservato si chiede al robot di provare a sua volta di saltare nello stesso modo facendogli anche elaborare la differenza tra il suo movimento e quello osservato. Alla fine un insegnante umano supporta il robot in questo procedimento aiutandolo a trovare una strategia di salto che minimizzi dette differenze, questo è definito apprendimento supervisionato. In pratica l'insegnante umano non dice al robot come saltare (algoritmo classico) ma lo aiuta a farsi una sua strategia di salto. Attenzione a questo aspetto fondamentale perchè l'insegnante umano potrebbe benissimo non saper saltare ma avrà aiutato il "motore" di machine learning ad esserne in grado. Nel machine learning sono nate nuove figure professionali (oggi richiestissime) atte proprio a tale supervisione e per essi, infatti, il campo di applicazione dell'AI non è eccessivamente determinante o discriminante. Tali ingegneri della conoscenza (una volta si chiamavano così) sono molto più attenti alla regolarità dei dati di addestramento, alla loro conformazione e alla reazione "didattica" della macchina piuttosto che alle funzioni che la macchina dovrà successivamente compiere nell'ambiente in cui sarà inserita.
Nel corso degli ultimi 10 anni la complessità dei problemi considerati per il machine learning è cresciuta grazie anche ai positivi risultati ottenuti. Tale crescita ha implicato un'enorme ampliamento dei set di addestramento fino a rendere il lavoro di "armonizzazione" dell'ingegnere della conoscenza verso la macchina "intelligente" troppo oneroso se non impossibile da svolgere. Tornando all'esempio del salto di cui prima si è passati da esso ad un doppio salto mortale su ostacolo che ha milioni e non migliaia di variabili da gestire per una sua buona esecuzione. Semplicemente troppe affinchè un insegnante umano possa tenerne conto simultaneamente. Il passo commerciale successivo di questi anni, quindi, è stato quello di generare dei particolari meccanismi di machine learning detti di deep learning (basato su reti neurali artificiali multistrato) in cui l'apprendimento risulta sempre più non supervisionato da essere umano. In tal senso sono stati inventati molti algoritmi di AI particolarmente innovativi ma anche in questo caso l'idea di base è semplice: al robot viene data libertà di modificare i suoi parametri di salto in autonomia e gli si chiede di eseguire i salti confrontandosi sul set di addestramento non una sola volta o poche volte ma milioni di volte, ripetendo il tutto modificando ogni volta i parametri al fine di rendere i suoi movimenti più efficienti e non solo più simili a quelli osservati.
2. Implicazioni dei meccanismi di AI
Nel machine learning ad apprendimento supervisionato l'insegnante umano, il supervisore, sebbene concentrato sulla validità dell'addestramento e non sulle funzionalità finali che la macchina "intelligente" deve fornire, inevitabilmente influenza quanto appreso dalla macchina, il suo punto di vista potrebbe direttamente o indirettamente miscelarsi nella conoscenza finale (la strategia) della macchina. Per questo motivo vanno prese precise contromisure valutando l'impiego di team di supervisori e di procedure standard di verifica dei risultati di apprendimento.
Nel deep learning non si ha nessuna garanzia che il processo di apprendimento della macchina arrivi a buon fine. Dopotutto le si chiede di ripetere milioni di volte delle azioni confrontandosi con dei set di riferimento ma cosa accadrebbe se quei set fossero "viziati" nella forma o nei contenuti? peggio ancora cosa accadrebbe se fossero incoerenti (ad esempio nel set di salti dell'ostacolo sono presenti movimenti scorretti)? Va considerato l'aspetto che la macchina apprenda in maniera errata o non stabile.
In entrambi i casi, quello più generico del machine learning e quello più specializzato e avveniristico del deep learning i risultati non vengono quasi mai espressi dalla macchina in maniera deterministica. La "vecchia" certezza dell'algoritmo classico che alla richiesta della somma di 3 e 1 risponde con 4 senza dubbi alcuni e senza alternative qui viene dimenticata. L'algoritmno di AI risponde in maniera probabilistica e fornendo sempre una rosa di soluzioni, ad esempio: se salto con la strategia A ottengo al 90% delle performance meccaniche ottimali ma posso cadere se l'ostacolo è più alto di 1 metro; se salto con la strategia B ottengo il 75% delle performance meccaniche ottimali ma posso gestire ostacoli alti fino a 1,5 m.
Il deep learning in particolare è predisposto a gestire conoscenza incompleta o situazioni impreviste, inoltre può gestire dei set di addestramento teoricamente senza fine (addestramento continuo in uso) e talvolta, oggi, senza inizio, nel senso che l'apprendimento può avvenire direttamente in uso senza avere un set di addestramento con i risultati corretti di riferimento.
Per finire è bene sottolineare che gli algoritmi di AI perdono la caratteristica tipica degli algoritmi classici della ripetibilità dei risultati a parità di condizioni al contorno. In altre parole, se si parte da una stessa condizione, ma in tempi differenti, la macchina può fornire risposte differenti in quanto il suo grado di apprendimento può essere mutato grazie all'uso intercorso.
3. AI e Leggi - 3 punti base
Come acclarato in maniera consolidata in letteratura tecnica (Libro Bianco AGID su AI, [71], [72], [73]) l'AI e le leggi umane, soprattutto quelle penali, possono "convivere" esclusivamente nell'ipotesi di soddisfare almeno i tre punti base che seguono:
(a) Rappresentazione corretta delle informazioni che la macchina elabora: non dimentichiamo che per la macchina non c'è molta differenza (almeno allo stato attuale) tra un'informazione ed un'altra, tornando al solito esempio del salto bisogna essere sicuri di rappresentare i parametri di un salto e non di una capriola;
(b) Giustificazione di tutte le decisioni prese dalla macchina: i processi decisionali probabilistici di una macchina "intelligente" sono normalmente concatenati e complessi, devono poter essere sempre osservabili;
(c) Spiegazione completa dei meccanismi matematici, informatici, etici, legali, filosofici, psicologici che direttamente o indirettamente influenzano le risposte della macchina "intelligente".
La corretta rappresentazione delle informazioni che la macchina "intelligente" deve trattare è un aspetto estremamente importante che ha determinato altre figure professionali specifiche. Nel caso delle leggi e soprattutto in ambito penale, le informazioni rilevanti passano attraverso documenti formali. Esistono studi consolidati di AI che permettono di "tradurre" tali documenti in formule, valori numerici e concatenazioni logiche (Representation Language) particolarmente appetibili per machine e deep learning. Ciò viene fatto (più o meno) in automatico da particolari macchine a loro volta "intelligenti" di un particolarissimo settore dell'AI detto NLP (Natural Language Processing). Ciò che è importante sottolineare in questo studio è che il representation language deve essere scelto accuratamente e l'operazione di traduzione deve risultare particolarmente valida altrimenti si rischia di perdere concetti, relazioni e nel caso peggiore interi ragionamenti. Se ad esempio si ritiene importante che la macchina "intelligente" tenga conto di precisi aspetti etici e legali è necessario che il representation language permetta di rappresentarli in qualche modo altrimenti vanno persi durante la traduzione.
Riguardo l'osservabilità dei processi decisionali di una macchina "intelligente" ci sono diversi aspetti altamente problematici molti dibattuti attualmente. In primo luogo nel machine learning e soprattutto nel deep learning il meccanismo di apprendimento per milioni di passi successivi (vedere sopra) porta a delle variazioni dei parametri di funzionamento della macchina (che caratterizzano la sua strategia di risposta) non direttamente correlabili al training della macchina se non per via probabilistica. In altre parole e umanizzando il processo per meglio capire, si sa che la macchina "intelligente" tende a rispondere in un certo modo se fa certe esperienze, ma la correlazione tra esperienza e cambiamento della risposta non è certa e sicuramente è molto difficile da formalizzare in un'eventuale fase giustificativa della decisione presa. Altro punto rilevante che si unisce a quello appena esposto è che la macchina "intelligente" (ad oggi) ha grandi difficoltà a definire i contesti di applicazione delle sue decisioni per cui è noto in letteratura che maggiormente ristretto è il contesto di addestramento e applicativo migliori sono i risultati decisionali. Sempre umanizzando per una migliore comprensione, le macchine "intelligenti" hanno maggior facilità nel giudicare reati quali le frodi informatiche piuttosto che le truffe in generale non sapendo precisamente contestualizzare il fenomeno (sempre per quello che è lo stato dell'arte).
Per finire, la "spiegabilità" dei meccanismi di ragionamento della macchina è un punto cruciale ancora in corso di studio per il quale non è nemmeno stata stabilita la fattibilità. Nell'ambito delle leggi e soprattutto in ambito penale il representation language dovrebbe essere in grado di rappresentare almeno aspetti matematici, informatici, etici, legali, filosofici e psicologici. Parimenti, la macchina "intelligente" dovrebbe almeno essere sottoposta ad addestramento in tutti tali settori con congrui e validi esempi di riferimento. Si tratta di un'impresa colossale che ha portato alla determinazione di un nuovo sotto-campo dell'AI detto EAI (Explainable Artificial Intelligence).
4. Errori delle macchine "intelligenti"?
Errori nell'ambito del representation language e set di addestramento inadeguati possano portare a degli errori decisionali colossali in ambito machine e soprattutto deep learning. Propongo di seguito alcuni esempi volutamente generalizzati e molto elementari sui quali riflettere.
Poniamo che il linguaggio di rappresentazione sia espressivo al punto di rappresentare il concetto di "vita"; per gli esseri umani è comune una gerarchizzazione dei valori per cui è comune pensare che la vita di un animale (con tutto il rispetto per gli animali, che sono oggetto del mio profondo rispetto ma alcuni di essi sono considerati cibo) può passare in secondo piano rispetto alla vita di un essere umano quando si ponga il confronto. Questo "common sense" non è così comune per le macchine "intelligenti" e richiede un'enorme espressività del linguaggio di rappresentazione della conoscenza, una convinzione etica e un conseguente addestramento. Con l'esempio citato si vuole sottolineare quanto sia importante badare ai dettagli nell'uso di questi sistemi e non dare nulla per scontato.
Come anticipato, i set di addestramento hanno il complesso compito di definire anche i contesti applicativi e quindi considerando ad esempio la distribuzione di uno specifico fenomeno sul territorio (predizione fenomeni criminali, necessità di acqua, necessità di energia elettrica,... l'approccio non cambia) quest'ultimo diviene elemente determinante del contesto e non si può impiegare la macchina "intelligente" ivi addestrata per altre aree se non correndo grossi rischi di errori di valutazione. A questo va aggiunto che il termine "contesto" per gli esseri umani spesso si confonde con un altro non positivissimo: "pregiudizio". Nella nostra mente determinate aree o categorie di persone, ecc., sono spesso associate a particolari fenomeni per cui i set di addestramento del machine learning, soprattutto quando supervisionato, risentono di questa contestualizzazione "negativa" (si pensi che il cosiddetto BIAS non si rileva solo dai concetti descritti nei documenti ma anche dalla frequenza delle parole impiegate per cui il "pregiudizio" genera dei contesti inconsci che si riflettono anche nella scelta delle parole). Questo esempio per indicare che bisogna scegliere con accuratezza il fenomeno e contestualizzarlo al massimo prima di farlo trattare ad una macchina "intelligente" e poi preparare accuratamente i set di addestramento cercando di renderli avulsi dai pregiudizi di tecnici AI e specialisti del fenomeno stesso.
5. Possibile punto di singolarità...
Come indicato nella pagina dedicata di questo sito web l'AI potrebbe raggiungere nell'arco di un certo numero di anni un punto di singolarità rispetto alle capacità umane. In pratica la macchina "intelligente" potrebbe evolvere al punto da non poter essere più compresa nelle sue azioni e decisioni da un cervello umano, nemmeno di principio. Contestualizzando alle leggi ed alle procedure legali in generale, applicandovi l'AI, il punto di singolarità non rappresenta un'ipotesi nè bizzarra nè lontana.
Bisogna fare la considerazione iniziale che l'AI di oggi non è quella che affrontai da studente di ingegneria quasi 30 anni or sono. Da allora ad oggi le teorie dell'AI non sono cambiate radicalmente, al contrario sono cambiati i sistemi che le implementano passando per enormi potenze di macchine di elaborazione parallele e recentemente per gli impressionanti computer quantistici (vedere pagina su Quantum Computing di questo sito per approfondimenti). Quantità di memoria e elaborazione sono cresciuti esponenzialmente permettendo di sperimentare attività impensabili dieci anni fa. Porto un esempio che mi colpì molto circa 2 anni fa di una macchina AI-based che faceva riconoscimento automatico di espressioni facciali e relazioni emozionali tra migliaia di persone in una piazza molto grande, il tutto in tempo reale. La macchina "intelligente", in questo caso, ha la facoltà di identificare e osservare (attenzione!) simultaneamente migliaia di persone verificandone le relazioni emozionali dai micro-movimenti dei muscoli facciali. Questo tipo di attività, ossia l'osservazione simultanea di migliaia di target e la comprensione di relativi concetti è un elemento di singolarità, nessun essere umano può capire cosa significhi o cosa si provi date le nostre limitazioni sensoriali e elaborative parallele.
Quando macchine di questo tipo prediranno movimenti collettivi o colluttazioni o incidenti relativi ad una folla non potremo fare altro che fidarci, non ci sarà giustificabilità della decisione o spiegabilità che tenga. Allo stesso modo sono in studio macchine che potranno tenere conto, nelle loro valutazioni, di migliaia di pagine documentali simultaneamente, come se le vedessero in blocco e non una alla volta come facciamno noi, in tal caso, un avvocato, un magistrato, un investigatore, come potranno non affidarsi a tali valutazioni sempre più ciecamente?
La singolarità determina una dimensione oracolare della macchina "intelligente" e questo aspetto va affrontato nei suoi più vari risvolti (etici, legali, politici, ecc.) con grande anticipo. A proposito, c'è qualcuno qui tra noi che non si fida delle valutazioni di Google (il motore online)? Ne abbiamo mai valutato giustificabilità e spiegabilità? Lo consideriamo o no di fatto un oracolo? Purtroppo Google viene impiegato per quasi tutte le esigenze umane e non ultimo a supporto delle indagini di polizia giudiziaria...(NB: adoro Google sia come servizi che come ditta ma bisogna comprendere che la ditta Google ha investito tantissimo nell'AI e nei computer sia paralleli che quantistici e probabilmente l'"oracolo" Google è una delle macchine più intelligenti e ricche di informazioni presenti sulla terra...).
6. Possibili applicazioni...
Le macchine "intelligenti" basate su machine & deep learning possono essere di congruo aiuto sia nelle attività investigative che giudiziarie. Innanzitutto è fondamentale il concetto che debbano essere esclusivamente di ausilio e supporto al ragionamento umano e da questo punto di vista si individuano due classi importanti di applicazioni:
(a) sistemi di predizione;
(b) sistemi di analisi.
I sistemi di predizione si concentrano su un fenomeno per periodi importanti al fine poi di poter generare delle considerazioni che aiutino l'utente a capire come il fenomeno evolverà nel corto periodo. Essi possono trovare impiego sia in ambito logistico di allocazione delle risorse (es. dislocazione ottimale dei mezzi e del personale investigativo sul territorio, classificazione anticipata della tipologia di fenomeno criminale che può maggiormente interessare una certa area, predizione territoriale dei grandi disastri, movimenti dei fenomeni pandemici, dei rifiuti, dei flussi di sostanze stupefacenti, ecc.) che in ambito di prevenzione (es. individuazione e profiling di soggetti a rischio, caratterizzazione dei comportamenti umani e sociali, ecc.)
I sistemi di analisi sono impiegati soprattutto per suggerire delle correlazioni complesse tra entità e concetti partendo da enormi basi documentali (big-data). Essi si propongono non come risolutori di problemi ma soprattutto come "traduttori" di testi, voci e contenuti multimediali in efficienti formalismi realizzati da potenti representation language(s) (vedere paragrafi sopra). Il risultato è che possono suggerire con facilità incoerenze, verità conflittuali e sintetici quadri d'insieme dei fatti (talvolta anche grafici) che aiutano in diversi frangenti: si pensi alla coerenza delle testimonianze in dibattimento con quanto già a fascicolo, oppure ai punti di divergenza e convergenza di testimonianze e anche perizie tecniche (spesso molto difficili da cogliere) o anche alla ricerca/definizione delle strutture di organizzazioni criminali complesse.
Ho scelto naturalmente di non indicare prodotti o nomi ma per categorie questi sono gli strumenti "intelligenti" per i quali ricerca e ditte specializzate propongono attualmente un impiego valido. Esistono altre categorie al momento sperimentali per le quali non mi sento di fornire un pieno assenso per tutti i motivi esposti fino ad ora. Ad esempio i cosiddetti "sistemi di predizione delle sentenze" ed i "risolutori di indagini di polizia giudiziaria" (esistono vaste sperimentazioni in proposito nell'ambito scientifico mentre gli ambiti di polizia e giudiziari si tengono ancora - fortunatamente - prudentemente a distanza da tali strumenti).
I predittori di sentenze, di fatto, emulano un giudice "automatico" AI-based in un ambito legale molto ristretto. Oltre alla mia naturale ritrosia di fronte a questo quadro (di natura psicologica, personale e caratteriale), di fatto queste macchine "intelligenti" aprono problematiche senza fine e prendono al momento cantonate pazzesche nelle loro valutazioni. Sono contrario ad un loro impiego anche in parallelo ad un giudice umano (quale giudice di fronte a un fascicolo di migliaia di pagine non sarebbe interessato a vedere la sentenza automatica prima di iniziare il suo lavoro di valutazione?). Il risultato sarebbe sicuramente il rimanere influenzato da quanto messo in evidenza dalla macchina con ripercussioni notevoli sulle decisioni intermedie e finali del processo.
I sistemi automatici per le indagini di polizia giudiziaria sono normalmente dei sistemi di analisi come quelli presentati sopra cui sono aggiunte delle "facoltà" più spinte di valutazione che li porta a determinare non solo dei supporti di pensiero e delle osservazioni correlative quanto delle conclusioni con associati dei valori di probabilità.
In questo senso accenno ad una problematica di difficile risoluzione; nell'ipotesi che una macchina "intelligente" proponga una conclusione sensata, l'investigatore di polizia giudiziaria si trova di fronte ad una decisione rilevante: (1) seguire quanto dettato dalla macchina orientando le sue indagini in proposito; (2) orientare le sue indagini differentemente da quanto indicato dalla macchina a seguito del proprio intuito.
Nel primo caso l'indagine diverrebbe automatica (di fatto) e se fosse la direzione sbagliata potrebbe l'investigatore di polizia giudiziaria essere "coperto" dal fatto che "l'ha indicato la macchina!" o dovrebbe essere ritenuto negligente o poco competente? Nel secondo caso l'investigatore segue il suo intuito in una direzione differente da quanto indicato dalla macchina, ma se ciò dovesse risultare errato cosa lo proteggerebbe dal fatto (nel migliore dei casi) di dover essere punito perchè non ha valutato quanto indicato da una "macchina così competente!". Questo problema di responsabilità può essere risolto, naturalmente, solo costruendo (su base legale) dei nuovi principi di lavoro che guidino le indagini di polizia giudiziaria tenendo conto dell'AI.