Machine learning: così le macchine imparano ad essere migliori di noi.

Data
24 Mag 2018
Categoria
Articoli
Machine learning: così le macchine imparano ad essere migliori di noi.

L’intelligenza artificiale (AI) è l’abilità di un computer di svolgere funzioni e ragionamenti tipici della mente umana.

Ieri, nel non lontanissimo 1997, il computer della IBM conosciuto come DeepBlu batteva alla sesta partita il campione di scacchi Garry Kasparov, dopo un allenamento -o meglio apprendimento- durato (solo) 5 partite; oggi, le auto che ci assistono alla guida, intervenendo dove necessario, non sono più fantascienza ma la base di uno standard del nostro futuro.

Da un lato c’è chi è a favore (e sono tanti) come Google che ha recentemente affermato che “L’intelligenza artificiale sarà al centro di tutto”, messaggio rafforzato con la recentissima presentazione di Duplex, la nuova funzione che permetterà a Google Assistant di effettuare chiamate al posto degli operatori in maniera autonoma, oppure come Facebook che sostiene che “L’intelligenza artificiale è la base di tutto quello che facciamo ed è il miglior strumento per tenere la nostra comunità al sicuro”. O ancora come Microsoft che spinge fortemente sull’intelligent cloud, il cloud potenziato dall’intelligenza artificiale, annuncio arrivato proprio nei primi giorni di maggio con la nuova partnership con l’azienda cinese di droni Dji ed il colosso americano dei semiconduttori Qualcomm, confermando che “il cambiamento verso l’intelligenza artificiale è in corso”.

Dall’altro, però, c’è chi ne sottolinea i rischi, tirando in ballo l’etica, come Stephen Hawking, “ai benefici dei cambiamenti che verranno, dobbiamo tenere conto dei pericoli (…) Ogni aspetto della nostra vita verrà trasformato”, o il filosofo Nick Bostrom, che con il suo libro “Superintelligenza. Tendenze, pericoli, strategie” ha allarmato diverse menti suggerendo che “prima di correre a capofitto verso la realizzazione di un’intelligenza artificiale generale, in grado di superare le capacità cognitive umane, bisognerebbe affrontare il problema di come renderla sicura e inoffensiva”.

E infine c’è chi sta a guardare, come noi, ignari di essere già fruitori di un’intelligenza artificiale che, come qualsiasi nuova tecnologia, ha dei vantaggi e degli svantaggi.

Per esempio, chiunque possieda uno smartphone ha già in tasca uno strumento che permette l’apprendimento automatico, tipicamente rappresentato dagli assistenti vocali come Siri, Cortana o Google Assistant. E’ molto semplice: noi chiediamo, loro rispondono.

Ma oltre a dirci quello che vogliamo sapere, usano le informazioni che gli forniamo per consigliarci e persino organizzarci la giornata, elaborano il linguaggio naturale e più li si usa più diventano performanti.

Il che significa che imparano a conoscere chi li usa.

 

MACHINE LEARNING: COS’E’

Il machine learning è definito come l’abilità delle macchine, intese come computer, di apprendere: in pratica, non si dice al computer di eseguire una specifica azione, ma gli si chiede di apprendere conoscenza dall’esperienza, grazie alla quale potrà poi eseguire delle azioni.

Quindi, c’è apprendimento quando le prestazioni del programma migliorano dopo lo svolgimento di un compito o il completamento di un’azione, anche errata, partendo dall’assunto che vale il principio “sbagliando si impara”.

In termini più informatici, solitamente i programmatori scrivono un codice attraverso il quale si dice alla macchina cosa fare: ogni volta che si clicca su un punto dello schermo con il mouse, automaticamente viene generato un comando che fa rispondere il computer in un certo modo predeterminato. Ad esempio, se si clicca sull’icona di Word, automaticamente si apre un nuovo documento, perché qualcuno ha creato una sorta di reazione automatica alla nostra azione di click.

Questo non accade quando si parla di apprendimento automatico: il programmatore, in tal caso, crea degli algoritmi in cui vengono inseriti set di dati e da questi dati, il computer cerca di capire di cosa si tratta e rispondere di conseguenza.

Un esempio?

Immaginatevi la cassa di una mensa, di un autogrill o di un fast-food. Ogni volta che un cliente riempie il suo vassoio, il cassiere osserva le pietanze e digita i prezzi di ciascuna di queste. Il cervello umano riconosce immediatamente se in un piatto c’è del pasticcio, della carne o un tiramisù perché ha appreso con anni e anni di esperienza che quello che vede nel vassoio è esattamente pasticcio, carne o tiramisù.

Gli algoritmi di apprendimento non dicono al programma “se ha quattro lati uguali, allora è un pasticcio”, ma attraverso i dati, dicono al computer che esiste un qualcosa e che questo qualcosa ha quattro lati, è giallo, ha qualcosa di rosso scuro sopra, ecc.

Il compito della macchina, in questo esempio, sarà quello di trovare un modello abbastanza generale per poter descrivere le figure presenti in ogni vassoio che dovrà leggere, in modo tale da poter stabilire, in presenza di nuovi esempi che non ha mai visto, se si tratta di un pasticcio, di carne, di tiramisù o altro.
Il computer, così facendo, cercherà di capire perché quello che sta “vedendo” è un pasticcio e non qualcos’altro.

Allo stesso modo, distinguerà le mele dalle pere e non gli darà mai lo stesso prezzo, perché avrà imparato che sono frutti diversi.

Dunque, riassumendo, nell’apprendimento automatico si passano esempi alla macchina e, da questi esempi, la macchina costruisce le regole che descrivono gli esempi e capirà da sola se un nuovo caso risponde o meno alla regola che ha ricavato.

 

COME FUNZIONA IL MACHINE LEARNING: I METODI DI APPRENDIMENTO

Ad oggi, non esiste un modo unico in cui le macchine imparano.

Abbiamo appena detto che gli algoritmi di machine learning partono dall’analisi di esempi per estrarre delle regole che li descrivano; questi esempi sono costituiti da dati che possono essere strutturati o non-strutturati e possono essere definiti come l’input del processo d’analisi.

I dati strutturati sono dati organizzati in tabelle in cui le colonne rappresentano una variabile e le righe il suo valore; invece, i dati non-strutturati sono quelli che non hanno questa associazione diretta variabile-valore, poiché sono ad esempio audio, testi, video o immagini.

Questi dati vengono manipolati, analizzati e trasformati grazie all’algoritmo di apprendimento e forniscono dei risultati, dando l’output.

A seconda del tipo di “conoscenza” che ci attendiamo, gli algoritmi possono utilizzare quattro metodologie di apprendimento:

  1. machine learning con apprendimento supervisionato (supervised learning);
  2. machine learning con apprendimento non supervisionato (unsupervised learning);
  3. machine learning con apprendimento semi supervisionato (semi-supervised learning);
  4. machine learning con apprendimento per rinforzo (reinforcement learning).

MACHINE LAERNING CON APPRENDIMENTO SUPERVISIONATO (SUPERVISED LEARNING)

Con questo approccio vengono forniti al computer non solo dei dati come input ma anche delle informazioni relative ai risultati desiderati con l’obiettivo che il sistema identifichi una regola generale che colleghi i dati in ingresso con quelli in uscita.

In pratica gli si forniscono degli esempi di input e output in modo che la macchina trovi un collegamento tra loro in modo che possa individuare una regola da riutilizzare per altri compiti simili.

Questo tipo di apprendimento viene usato soprattutto per problemi di classificazione: un esempio di applicazione sono i sistemi anti-spam delle e-mail. Infatti, all’arrivo di una nuova e-mail, il sistema riesce a decidere se questa debba essere etichettata come spam o meno.

MACHINE LEARNING CON APPRENDIMENTO NON SUPERVISIONATO (UNSUPERVISED LEARNING)

In questo caso, al sistema vengono forniti solo set di dati e non informazioni relative al risultato desiderato, non sapendo a che categoria essi appartengano. Perciò alla macchina viene chiesto di trovare una regola che raggruppi i casi presentati secondo caratteristiche che deve ricavare dai dati stessi.

Lo scopo è “risalire” a schemi e modelli nascosti, ossia identificare negli input una struttura logica senza che questi siano preventivamente etichettati.

L’apprendimento non supervisionato è spesso utilizzato nelle discipline mediche o di biologia per l’analisi diagnostica o per l’individuazione di gruppi genetici; inoltre, trova grande applicazione oggi nell’ambito dei Big-Data quando è necessario correlare diversi dati ed estrarre informazioni non note.

MACHINE LEARNING CON APPRENDIMENTO SEMI SUPERVISIONATO (SEMI-SUPERVISED LEARNING)

Questo approccio potrebbe essere definito come un modello “ibrido”, dato che al computer viene fornito un set di dati, come nel caso dell’apprendimento supervisionato, ma incompleto: alcuni esempi presentano anche l’output e sono etichettati, altri no.

Questo approccio viene utilizzato per migliorare le previsioni fatte dalla macchina sui dati non etichettati e richiede, normalmente, l’intervento di un esperto/analista.

L’approccio è principalmente usato nei problemi di classificazione e di clustering o nella descrizione delle relazioni causa-effetto tra le variabili.

MACHINE LEARNING CON APPRENDIMENTO PER RINFORZO (REINFORCEMENT LEARNING)

In questo caso, il sistema deve interagire con un ambiente dinamico in cui ci sono tutti gli input e deve raggiungere un obbiettivo.

Il comportamento e le prestazioni del sistema sono determinati da una routine di apprendimento basata su ricompensa e punizione:
una volta raggiunto riceve una sorta di ricompensa imparando anche dagli errori, identificati medianti “punizioni”.
Con un modello del genere, il computer impara per esempio a battere un avversario in un gioco o a guidare un veicolo, concentrando gli sforzi sullo svolgimento di un determinato compito mirando a raggiungere il massimo valore della ricompensa.
In altre parole, il sistema impara giocando o guidando e dagli errori commessi, migliorando le prestazioni proprio in funzione dei risultati raggiunti in precedenza.
L’apprendimento per rinforzo è utilizzato in tutti quei campi in cui è essenziale che la macchina risponda ai cambiamenti dell’ambiente. Per questo è utilizzato frequentemente nella robotica, per controllare i movimenti degli automi, ma anche nella guida senza conducente (le così dette driverless car). Trova anche applicazione in ambiti industriali nella produzione e nel controllo qualità e in diversi altri settori.

 

MACHINE LEARNING, DATA MINING, DEEP LEARNING: OBIETTIVI COMUNI, APPROCCI DIFFERENTI

Spesso si crea della confusione attorno all’uso dei termini: alcuni media utilizzano “machine learning”, “deep learning” e “data mining” come sinonimi, quando in realtà questi non lo sono affatto.

Nonostante ci sia l’obiettivo comune di estrarre informazioni, schemi e relazioni che possono essere usati per prendere decisioni, i tre hanno approcci ed abilità differenti.

Il data mining può essere considerato come un super assortimento di molti metodi diversi.

Infatti, coinvolge molte aree differenti, tra cui proprio il machine learning, ed applica metodi diversi, come algoritmi statistici, analytics di testo, analisi delle serie temporali ed altre aree degli analytics per estrarre informazioni e comprende anche lo studio e l’allenamento sull’archiviazione dei dati e sulla loro manipolazione.

Il deep learning (o apprendimento profondo, talvolta tradotto con apprendimento approfondito) è, invece, quel caso particolare di feature learning, branca del machine learning, supervisionato o meno, che caratterizza i processi di reti neurali artificiali dotate di due o più strati capaci di processare informazioni in modo non-lineare.

Il deep learning combina computer sempre più potenti a speciali tipi di sistemi neuronali per apprendere i complicati schemi dei grandi volumi di dati.

I ricercatori stanno cercando di applicare gli esempi riusciti di riconoscimento di schemi a compiti più complessi come traduzione linguistica automatica, diagnosi mediche e altri innumerevoli problemi sociali ed aziendali.

MACHINE LEARNING: ESEMPI NEL QUOTIDIANO

Le applicazioni di machine learning sono ormai molto diffuse e fanno stabilmente parte del nostro quotidiano.

Pensiamo all’utilizzo dei motori di ricerca: chiunque al giorno d’oggi scrive una parola su Google. Una volta scritta nella barra di ricerca il motore restituisce liste di risultati che non sono altro che il risultato di algoritmi di machine learning con apprendimento non supervisionato.

Ed oltre che nel quotidiano, questa tecnologia è già utilizzata da metà delle aziende e contribuisce attivamente al lavoro di ogni giorno: questo è il dato che emerge da una ricerca commissionata da ServiceNow a Oxford Economics, intitolata “The Global CIO Point of View”, che ha coinvolto 500 CIO in tutto il mondo di cui 318 in Europa.

È inoltre risultato che i settori che lavorano con grandi volumi di dati riscontrano miglioramenti nell’ambito lavorativo sia in termini di efficienza che di vantaggio competitivo da quando utilizzano il machine learning.

È il caso di Mastercard, leader nelle soluzioni di pagamento digitale, che lo utilizza per automatizzare ciò che definisce “fatica”, ovvero attività ripetitive e manuali, e liberare gli esseri umani per impiegarli in altre attività che aumentano la produttività.

L’azienda americana utilizza questa tecnologia anche per aumentare il change management in tutto il suo ecosistema di prodotti e servizi: per esempio, gli strumenti di machine learning aiutano a determinare quali sono le modifiche meno rischiose e quelle che richiedono controlli supplementari.

In più, viene impiegato per rilevare anomalie nel suo sistema che suggeriscono tentativi di intrusione da parte di hacker. Infatti, quando vengono rilevati comportamenti sospetti si attivano interruttori che proteggono la rete: i sistemi assegnano un punteggio alle truffe e osservano costantemente le transazioni per aggiornare tale punteggio e valutare le successive transazioni.

Ma quello di Mastercard non è certo l’unico esempio di applicazione nelle aziende:

UPS, la compagnia internazionale di corriere espresso, ha applicato il Machine learning nel settore della logistica, mettendo in campo la cosiddetta navigazione intelligente che ha portato all’ottimizzazione dei percorsi. In questo modo UPS ha potuto identificare che, in alcune città americane, la svolta a destra è sempre quella più conveniente, quella che fa risparmiare più tempo per arrivare a destinazione;

Amazon sta sperimentando ‘Amazon Go’, una tipologia di negozio senza casse: le telecamere sono in grado di riconoscere i prodotti comprati, addebitando l’importo al cliente una volta arrivato all’uscita;

nel settore assicurativo questa tecnologia permette di riconoscere eventuali frodi: alle compagnie vengono riproposte sempre le stesse fotografie di incidenti e l’analisi permette di identificare i tentativi di truffa;

nel settore del gas e petrolio il machine learning viene utilizzato per trovare nuove risorse energetiche, analizzare i minerali nel suolo, prevedere un guasto dei sensori in raffineria, snellire la distribuzione di petrolio per renderla più efficiente e redditizia.

Ed ancora, il machine learning, ha reso possibile:

il check in real-time della qualità dei prodotti presenti sugli scaffali dei negozi e segnalazione agli addetti degli articoli da sostituire;
l’analisi del comportamento di determinati soggetti per attività di prevenzione al terrorismo e
la creazione dispositivi medici a sensori indossabili che utilizzano i dati per verificare in tempo reale lo stato di salute di un paziente.

PERCHE’ IL MACHINE LEARNING È IMPORTANTE?

L’uso dei dati è molto importante, non solo per interpretare il passato e monitorare il presente, ma anche per estrarre da essi valore per il futuro.

La capacità del machine learning di ridurre in modo estremo i tempi decisionali e migliorare l’efficienza delle nostre scelte può sembrare ora qualcosa di poco sensazionale, ma sono proprio tecnologie come queste che cambiano il nostro modo di vivere.

Le aziende che sfruttano il potere del Machine Learning faranno passi avanti in breve tempo, grazie alla velocità e all’efficienza dei processi decisionali che esso consente. Nessuno può permettersi di stare ad aspettare: chi lo farà resterà indietro.

Anche perché, la bellezza del Machine Learning è che i suoi usi sono quasi illimitati. Dove c’è valore nel poter analizzare rapidamente e derivare comprensione dai dati o dove c’è valore nell’identificare trend o anomalie in vaste quantità di dati, può avere un effetto trasformativo ed ha un ruolo da giocare.

A tutto questo, beanTech può dare un valore aggiunto: unire la teoria alla pratica.
Dagli aspetti di modellazione statistica, alle performance computazionali consentite dalle nuove tecnologie (cloud e non), oltre che all’integrazione degli output del Machine Learning ai processi aziendali esistenti: beanTech è il partner tecnologico con maturate competenze ed esperienze, in grado di realizzare soluzioni personalizzate per il business del Cliente.

Del machine learning e delle altre tecnologie legate all’Intelligenza Artificiale parleremo nel prossimo evento che si terrà martedì 12 giugnodalle 17.30, nell’Auditorium dell’Orto Botanico di Padova, e che presenterà le idee e le esperienze di protagonisti provenienti dal mondo accademico e del business. Per saperne di più ed iscriverti all’evento clicca qui.

Vuoi saperne di più?

Siamo a tua disposizione

    Cliccando su “Contattaci” acconsenti al trattamento dei tuoi dati personali in merito all'informativa sulla privacy.

    oppure puoi chiamarci al numero +39 0432 889787