Machine learning e data scientist: il dialogo del futuro

Machine learning e data scientist: il dialogo del futuro

Il Machine Learning e l’Intelligenza Artificiale hanno fatto passi da giganti negli ultimi anni. Quasi senza accorgercene, delle macchine intelligenti sono entrate nella nostra quotidianità e ci aiutano in diversi ambiti della nostra vita.  Un esempio sono gli assistenti personali, di cui sempre più persone non riescono a fare a meno. Oppure i chatbot, usati come problem solver e che in molti casi sono indistinguibili dagli operatori umani.

Sull’argomento, abbiamo fatto quattro chiacchiere con Alessandro Cucci, giovane autore del libro “A tu per tu con il machine learning” edito da Edizioni thedotcompany e fondatore del PyRe di Reggio Emilia.

Alessandro ci ha raccontato che cosa significa avere a che fare con le macchine che imparano da sole e ci ha regalato un punto di vista entusiasta sul futuro prossimo di questa disciplina.

Alessandro Cucci è un data scientist appassionato di machine learning. Gli abbiamo chiesto cosa ne pensa del dialogo tra sviluppatore e macchina
Alessandro durante lo speech tenuto al Pycon 2019

Ciao Alessandro, secondo te quando si può definire una macchina intelligente?

Credo che una macchina non si possa definire “intelligente”. Una macchina in realtà è un’entità molto semplice, quasi stupida, non fa altro che eseguire dei compiti. L’intelligenza sta nelle persone, che con la loro fantasia e abilità riescono a creare sistemi sempre più complessi. La macchina è un mezzo, lo scopo invece è ambizioso: creare sistemi che compiono operazioni indistinguibili da quelle di un umano. Oppure risolvere problemi in maniera ottimale con i dati a disposizione. Queste sono le sfide che oggi ci poniamo nella nostra professione.

 

Ancora oggi per molte persone l’idea che una macchina possa imparare da sé sembra fantascienza. Come avviene nello specifico il “dialogo” tra sviluppatore e macchina? E in che modo lo sviluppatore ne segue i progressi?

Mi piace pensare che questo processo sia molto simile a quello compiuto dai bambini nella loro fase di apprendimento. Infatti, quasi mai imparano una cosa immediatamente, ma provano e riprovano sotto la guida attenta dei genitori finché non riescono nel loro intento. Un modello di apprendimento automatico funziona allo stesso modo. Vengono eseguite delle operazioni molte volte, mai in maniera uguale, ma variando alcuni parametri ad ogni esecuzione. Ogni volta viene misurato l’errore rispetto a quello che ci si aspetterebbe. Più un modello riesce a ridurre questo errore, più “apprende”. Lo sviluppatore, o il Data Scientist, ha il compito di scegliere e pulire i dati, selezionare gli algoritmi migliori in base ai dati che ha a disposizione e combinarli per formare un modello matematico che possa apprendere quanto più possibile, con lo scopo di sfruttarlo poi su nuovi dati futuri, in modo da avere risposte in tempi brevi, cosa essenziale in molti ambiti industriali.

 

Che cosa potremo insegnare alle macchine nel futuro prossimo secondo te?

Oddio, purtroppo non sono un indovino. Ci sono già oggi innumerevoli applicazioni in campo finanziario, nel marketing, nella sanità. Gli assistenti personali sono entrati nel nostro quotidiano e non sarei sorpreso di vedere automobili guidare da sole nei prossimi anni. Sono convinto che gli studi nel campo dell’Intelligenza Artificiale porteranno a nuove scoperte, sicuramente alcune delle quali volte alla semplificazione di molte attività che oggi vengono svolte da persone.  Mi aspetto un cambiamento radicale di quello che sarà il mondo del lavoro, alcune professioni non esisteranno più e altre prenderanno il loro posto. Sono molto curioso di vedere come sarà, ma questa è un po’ una deformazione professionale, noi sviluppatori siamo sempre alla ricerca della novità.

 

Puoi parlarmi di Victor? Alla fine sei riuscito a farlo diventare “intelligente”?

Victor (Versatile Intelligent Construct Trained for Online Research) è stato un side project che mi ha tenuto impegnato per diversi mesi, ma qui andiamo indietro di 5-6 anni ormai. All’epoca i vari Google Home, Alexa, Siri, ecc. non erano così diffusi come oggi (alcuni non esistevano ancora), ma già allora volevo assolutamente avere un assistente virtuale in casa (sono un fan dei film Marvel e se Iron Man aveva il suo Jarvis, dovevo averne uno anch’io). Realizzai un’applicazione che tramite uno smartwatch android trasformava dei comandi vocali in testo scritto, il quale veniva inviato prima al mio telefono e poi al computer che eseguiva effettivamente l’operazione. Avevo scritto dei comandi per attivare la sveglia, leggere le email, controllare le notifiche Facebook, ascoltare musica, cercare informazioni su internet. È grazie a Victor che ho iniziato ad interessarmi di Machine Learning, volevo renderlo autonomo, doveva essere lui a sapere quando avevo bisogno di qualcosa ed eseguire così attività di sua spontanea iniziativa. Purtroppo (o per fortuna) il boom degli assistenti personali ha reso Victor obsoleto, ma mi sono divertito a realizzarlo, è stato un buon hobby.

 

Alla fine del 2017 è uscito “A tu per tu con il Machine Learning”, libro che scritto di tuo pugno e edito da Edizioni thedotcompany. A chi consiglieresti di leggere il tuo libro?

Ho scritto il mio libro pensando ai developer, i “pigiatasti”. Il Machine Learning fino a pochi anni fa è sempre stato appannaggio quasi esclusivo di ricercatori e matematici. Questi ultimi di libri ne hanno a cascate, ma noi sviluppatori facciamo fatica a stare al passo. Ho voluto scrivere un libro semplice, senza troppe formule, tecnico sì, ma non teorico. Ho cercato di includere molti esempi, casi d’uso pratici, in modo che il lettore potesse iniziare a sporcarsi le mani subito, e magari approfondire da solo gli argomenti a lui più utili o che ritenesse interessanti. Sottovoce aggiungo che è anche un libro un po’ autobiografico, molti aneddoti sono successi veramente e spero di aver trasmesso anche una piccola parte della passione che ho per il mio lavoro.

5 libri (targati Edizioni tdc) che dovresti leggere sotto l’ombrellone

11 Settembre 2019

Trattato di non proliferazione nucleare: perché è così importante.

11 Settembre 2019