Il 11 gennaio 2018 18:43, Marco Ciurcina <ciurcina@studiolegale.it> ha scritto:
In data giovedì 11 gennaio 2018 17:02:09 CET, Giacomo Tesio ha scritto:
Qualche link, per chi come me, non sapeva cosa fosse il GDPR:
http://www.privacy-regulation.eu/it/13.htm http://www.privacy-regulation.eu/it/14.htm
La parola chiave, qui, è "significative". Da esperto di dominio, come qualificheresti la parola "significative"?
Bella domanda. :-) Quali informazioni sulla logica utilizzata da un processo decisionale automatizzato sono "significative" per i soggetti oggetto della decisione? Fino alla interpretazione della norma in un tribunale, vi sarà un largo spazio di ricerca congiunta fra informatici e giuristi su questo tema. La risposta e' necessariamente variegata, sia da un punto di vista informatico (vi sono diversi algoritmi) sia da un punto di vista giuridico (vi sono contesti decisionali che possono essere supportati da tali algoritmi, e non tutti gli algoritmi sono utili in tutti i contesti). La mia risposta qui non può che essere estremamente parziale. Per essere significative le informazioni che descrivono un processo decisionale (autonomo o no) devono essere quanto meno - pertinenti - comprensibili - ai soggetti interessati - ai terzi, fra cui il giudice Per poter dimostrare di essere pertinenti, devono essere anche esaustive. Ma possiamo dimostrare che le informazioni su un processo decisionale sono esaustive, pertinenti e comprensibili solo se il processo decisionale e' riproducibile. Quindi, concretamente, le informazioni significative per un processo decisionale sono tutte quelle informazioni pertinenti e comprensibili necessarie a riprodurre tale processo, e dunque a verificare che date le informazioni fornite dai soggetti interessati, le decisioni assunte derivino da tale processo. Purtroppo pero' la realtà e' molto variegata. Una compagnia assicurativa che utilizzasse un K-means clustering per assegnare la classe di rischio ai propri assicurati dovrebbe indicare quali variabili siano state utilizzate per determinare i cluster, e definire in modo comprensibile i diversi cluster. In questo modo un assicurato potrebbe comprendere perche' si trova in una determinata categoria di rischio. Se un assicurato ritenesse di essere stato collocato in una categoria sbagliata, l'assicurazione potrebbe dimostrare in tribunale di aver semplicemente trovato il cluster "più vicino" alle caratteristiche descritte dalle informazioni fornite dall'assicurato. Se l'assicurato fosse un esperto di machine learning pero' potrebbe obbiettare che la scelta del numero di cluster e' arbitraria e accusare la compagnia di aver scelto quello specifico numero di cluster invece di un altro per ragioni discriminatorie (mai sottovalutare la fantasia di un informatico! :-D). A questo punto la compagnia assicurativa potrebbe dimostrare che in realtà la selezione del numero di cluster e' stata fatta per ragioni economiche. Ma per farlo dovrebbe fornire l'intera base dati su cui la K-means e' stata applicata e le K medie iniziali e il numero di iterazioni utilizzate (oltre a una valanga di informazioni statistiche ed economiche necessarie dimostrare che quel numero di cluster effettivamente garantisce la sostenibilità economica dell'impresa) e riprodurre in tribunale l'analisi. Si noti come, trattandosi di strumenti deterministici, la compagnia assicurativa non necessita di un team di esperti pronti a giurare che quello che l'assicurazione ha fatto non e' discriminatorio. Puo' semplicemente riprodurre il processo decisionale a partire dai dati iniziali. E naturalmente, se non puo' farlo, ha un problema. Paradossalmente, e' molto più semplice definire quali sono le informazioni significative per una rete neurale! Se una rete neurale non e' altro che un algoritmo capace di approssimare statisticamente una funzione, potrebbe essere sufficiente dichiarare la funzione approssimata. :-) Prendiamo l'esempio della classificazione botanica delle immagini di fiori. La funzione per cui calibriamo la rete neurale può essere descritta molto chiaramente dal botanico che partecipa alla calibrazione "taggando" le immagini, e magari in effetti la insegna ai propri studenti ("osservate petalo e setalo... etc...") Se la funzione per cui calibriamo la rete neurale consiste nel riconoscimento di un melanoma a partire dalle foto scattate periodicamente dei nei di una popolazione, di nuovo i dermatologi e gli oncologi che parteciperanno alla calibrazione per "taggare" le immagini saranno molto bravi a descrivere quali aspetti dell'immagine considerano. Se configuriamo e calibriamo una rete per giocare a Go, le regole del gioco sono la funzione approssimata dalla rete. Se tale funzione e' nota (per quanto complessa), la sua dichiarazione e' pertinente e comprensibile. Purtroppo in un processo, rimane il problema della riproducibilità del processo decisionale. Se l'oggetto del contendere e' proprio l'aderenza alla funzione dichiarata, l'unico modo per dimostrarlo rimane la ripetizione del processo di configurazione della rete neurale, a partire dalla sua topologia, dai pesi iniziali, dalla base di dati utilizzata durante la calibrazione. E se l'oggetto del contendere e' la scelta di quella particolare topologia o di quei particolari pesi iniziali, anche dalla base di dati utilizzata durante la cross validation. Vi e' poi un altro aspetto, molto più interessante: le reti neurali possono anche approssimare statisticamente funzioni ignote! Supponiamo di applicarle nella selezione del personale. Vogliamo configurare una rete neurale in grado di effettuare una preselezione dei candidati da chiamare per un colloquio, sulla base delle informazioni contenute nel cv. Fra le informazioni in input alla rete neurale forniamo un immagine del candidato. L'immagine del candidato contiene una quantità impressionante di informazioni. Sesso, etnia, eta', stato di salute, stato sociale, persino le convinzioni religiose e politiche possono rivelarsi da una foto ad un osservatore attento. Anche se, immaginiamo per ragioni legislative, queste siano state rimosse dalla base dati fornita alla rete neurale. La potenziale presenza di tutte queste informazioni nella foto, rende di per se' la funzione approssimata ignota. Anche se il lavoro di annotazione dei cv effettuato dal team di esperti nelle risorse umane durante la calibrazione della rete non tiene conto di queste informazioni, anche se sono estremamente professionali e razionali nella loro attività ed in perfetta buona fede, la semplice presenza della foto rende ignota la funzione approssimata. Se vogliamo parlare, poeticamente, della rete neurale come una intelligenza autonoma, potremmo dire che non sappiamo quali informazioni la rete neurale sarà in grado di dedurre e dunque quali prenderà in considerazione. Ma più correttamente dovremmo dire che non sappiamo, di tutte le funzioni che mappano i cv della base dati di calibrazione ai risultati annotati dal team di esperti, quale funzione la rete neurale stia approssimando. Dunque, quale logica utilizza questa rete neurale per effettuare il processo decisionale? Non lo sappiamo. Abbiamo una funzione che possiamo replicare, ma non possiamo spiegare. Non possiamo garantire, in questo caso, che il processo decisionale non sia discriminatorio, nonostante la professionalità del team che ha calibrato la rete. E non possiamo dichiarare, a priori, informazioni significative sulla logica utilizzata, semplicemente perché non le conosciamo. E naturalmente, stiamo assumendo il caso migliore, di una rete neurale configurata da esperti con enormi quantità di dati. Ma la base di dati potrebbe essere viziata da un bias di selezione, oppure potremmo aver preso in considerazione troppe variabili o variabili correlate fra loro, causando overfitting o underfitting nella rete... La funzione che la rete neurale approssima potrebbe comunque non essere quella che ci aspettiamo. E determinare quale sia la quantità di dati sufficiente per calibrare una determinata topologia affinché approssimi una certa funzione e' a sua volta un tema estremamente complesso e interessante, di cui pero' francamente so poco. Per concludere: e' probabile che non sia proprio possibile, concretamente e teoricamente, fornire informazioni "significative" sulle logiche applicate da una rete neurale, perché non e' detto che stia approssimando proprio la funzione che interessa a noi. Mentre e' possibile per altri tipi di processo decisionale automatizzato. Spero di essere stato chiaro senza essere troppo superficiale, ma tieni presente che io sono solo un programmatore! A presto. Giacomo