AI per contrastare le cause dello sfruttamento del lavoro minorile

October 1st, 2019 Posted by Uncategorised 0 comments on “AI per contrastare le cause dello sfruttamento del lavoro minorile”

Martedì 1 ottobre dalle 11 alle 12, nell’ambito del Salone della CSR e dell’Innovazione Sociale, in programma a Milano presso l’Università Bocconi, il direttore di CIAI Francesca Silva, interverrà nell’incontro “Tecnologia, innovazione, sostenibilità” illustrando l’esperienza di CIAI in Burkina Faso con il progetto PICAPS.

Intro

Per questo progetto la sfida è stata quella di identificare correttamente il genere maschile o femminile dei bambini fotografati all’interno di un’aula scolastica. La scelta è stata di usare le reti neurali artificiali, attingendo al ricco strumentario open-source in materia di Deep Learning.

L’attività descritta è un problema di “classificazione”, in quanto abbiamo due classi (maschi e femmine) alle quali è possibile associare una data immagine.

Ricerca del modello

Nella tecnica Deep Learning, la classificazione di un’immagine non è altro che l’applicazione di un filtro multistrato ad essa. Il campo di ricerca su questo argomento è molto attivo, e vi sono vari modelli in circolazione, rilasciati sia dalle società commerciali come Google o Microsoft, sia dal settore universitario come Visual Geometry Group della università di Oxford. Come molti dei nostri progetti, anche il progetto in questione si svolge in un contesto con delle costrizioni sia di potenza dei dispositivi, sia di una scarsa connettività, quindi la scelta del modello da adottare è ricaduta naturalmente sul MobileNet proposto da Google. E’ un modello particolarmente efficiente ed al tempo stesso leggero, solo 17Mb rispetto ai modelli standard che si aggirano sulle centinaia di Mb.

Il modello, detto a  Reti Neurali Convolute, o ConvNet (CNN) sono uno degli algoritmi di Deep Learning più utilizzati oggi nella computer vision, e trovano applicazione in tantissimi campi, dalle automobili autonome ai droni, dalle diagnosi mediche al supporto e trattamento per gli ipovedenti.

Come per ogni problema di machine learning, per allenare una rete vi è il bisogno di fornire molti dati. Questi dati verranno utilizzati dal modello stesso, per parametrizzare i propri nodi interni, arrivando a capire quali caratteristiche sono determinanti per una classe e quali invece non lo sono. Ad esempio per distinguere un maschio da una femmina potrebbe essere utile considerare la grandezza relativa degli occhi, mentre invece sarebbe inutile considerare il colore della pelle. Queste astrazioni vengono scoperte in automatico dalla rete neurale, in un processo detto allenamento. Per raccogliere i dati necessari siamo andati a direttamente sul campo.

Raccolta delle immagini

Sono state raccolte circa 2000 fotografie, tramite due macchine fotografiche digitali: una per le femmine, ed una per i maschi. In questo modo siamo stati sicuri di effettuare una classificazione già all’origine, cosa non banale da fare a posteriori con un operatore umano.

Modifica della rete

2000 fotografie non sono assolutamente sufficienti per allenare una rete neurale robusta, ma per nostra fortuna esiste una tecnica chiamata Transfer Learning che permette un ulteriore allenamento di un modello già allenato in precedenza.   

Il modello MobileNet è stato allenato con il database di immagini classificate ImageNet, composto da più di 14 milioni di immagini con le relative classi, cosa che ha permesso al modello di apprendere quali sono quelle caratteristiche di base che fanno distinguere un entità da un altra. Caratteristiche come le forme geometriche ad esempio. Al termine del caricamento avevamo un modello con 89 strati sequenziali.

Allenamento

A questo punto abbiamo effettuato un ulteriore allenamento sugli ultimi 20 strati del modello, per aggiustarlo al nostro contesto ed alle nostre immagini.

Le immagini raccolte sul campo attraversano in sequenza tutti 89 filtri, diventando sempre più astratte, perdendo senso per noi umani, ma acquistando senso per la rete neurale.

Risultati

I nostri risultati si aggirano su un’accuratezza del 94%. Ci aspettiamo comunque di migliorare questo risultato raccogliendo più dati in fase di esecuzione del progetto. Di seguito il risultato su un insieme di 183 immagini mai viste dal modello in fase di allenamento.

Di seguito alcuni esempi:

I numeri sopra le immagini indicano il grado di confidenza del modello, che passa dallo 0 (confidenza minima) all’1 (confidenza massima)

Femmine con la massima confidenza

 

Maschi con la massima confidenza

Soggetti dove il modello si è confuso maggiormente