x

x

Machine learning

Machine learning
Machine learning

Indice:

1. Definizione

2. Origini

3. Modalità di apprendimento

4. Utilizzo dell’apprendimento

5. Apprendimento automatico e data-mining

6. Evoluzione

 

1. Definizione

Machine learning (apprendimento automatico) è una branca dell’informatica nell’ambito dell’intelligenza artificiale.

È un ramo molto vasto che prevede differenti modalità, tecniche e strumenti per essere implementato. Inoltre, le differenti tecniche di apprendimento e sviluppo degli algoritmi danno vita ad altrettante possibilità di utilizzo che allargano il campo di applicazione dell’apprendimento automatico rendendone difficile una definizione specifica. In breve, quando si parla di machine learning si parla di tutti i meccanismi che permettono ad una macchina intelligente (dotata di PLC o CNC o più in generale dotata di sistemi computerizzati) di migliorare autonomamente le proprie capacità e prestazioni.

La macchina, inizialmente programmata per svolgere una determinata attività, sarà in grado di migliorare i propri compiti tramite l’esperienza, le proprie capacità, le risposte che rileva sul campo nell’esecuzione dell’attività stessa. Alla base dell’apprendimento ci sono una serie di algoritmi che permetteranno alla macchina di prendere decisioni differenti in base all’esperienza del lavoro svolto fino a quel momento.

Fra gli esempi di machine learning vi sono le tecnologie di riconoscimento vocale presenti negli smartphone, gli apparecchi di domotica delle smart home e la guida autonoma delle automobili. Anche a livello di marketing e comunicazione è possibile utilizzare macchine che sfruttano l’apprendimento automatico, come nel caso dell’elaborazione di big data con machine learning, dei risultati presenti nelle SERP (Search Engine Results Page) dei motori di ricerca, dei filtri antispam delle mail e delle pubblicità personalizzate.

 

2. Origini

Le prime sperimentazioni per realizzare macchine intelligenti risalgono agli anni Cinquanta sulla base di modelli probabilistici al fine di realizzare macchine che fossero in grado di auto apprendere in base alle probabilità di accadimento di uno specifico evento. Gli studi di Alan Turing ipotizzarono i primi algoritmi che permettessero di sviluppare macchine in grado di apprendere.

Gli studi proseguirono nell’ambito dell’intelligenza artificiale, sui sistemi esperti e sulle reti neurali; difficoltà sul reperimento delle risorse in questo campo della scienza che considerava ancora con scetticismo il progetto di realizzare macchine che fossero in grado di apprendere rallentarono gli sviluppi. Solo negli anni Ottanta il rinnovato interesse su questi progetti permise di definire un programma di investimenti tale da assicurare le risorse necessarie.

Alla fine degli anni Novanta il progetto di autoapprendimento divenne prioritario anche in considerazione dell’applicazione di nuovi modelli statistici e probabilistici; questo permise quello sviluppo che ha portato, oggi, l’apprendimento automatico ad essere un ramo della ricerca pienamente riconosciuto ed altamente richiesto dal mercato.

 

3. Modalità di apprendimento

Oggi esistono differenti modalità di apprendimento che differiscono fra loro per gli algoritmi utilizzati e per lo scopo per cui sono realizzate le macchine stesse. A seconda del tipo di algoritmo utilizzato per permettere l’autoapprendimento, ovvero a seconda della modalità con cui la macchina apprende e accumula dati e informazioni si possono classificare tre principali sistemi di apprendimento:

  1. supervisionato;
  2. non supervisionato;
  3. per rinforzo.

L’apprendimento supervisionato consiste nel fornire al sistema informatico della macchina una serie di nozioni di base e di esempi che popoleranno inizialmente il database di informazioni ed esperienze. Quando la macchina si troverà di fronte ad un problema analizzerà le informazioni presenti nel proprio database e deciderà quale azione intraprendere in base al modello codificato.

Questo tipo di apprendimento, fornito inizialmente con un pacchetto di informazioni confezionate permetterà di agire scegliendo fra le esperienze codificate e presenti nel database. Gli algoritmi che fanno uso dell’apprendimento supervisionato vengono utilizzati in molti settori dal campo medico al riconoscimento vocale; per mezzo quindi di ipotesi induttive, ovvero ipotesi che possono essere ricavate dalla macchina analizzando il proprio database è possibile arrivare alla soluzione del problema che si pone.

Ovviamente più è ricco il database preconfezionato fornito alla macchina maggiore sarà la probabilità per la macchina stessa di trovare la soluzione. Ad esempio, questo tipo di apprendimento viene usato soprattutto per problemi di classificazione: un esempio di applicazione sono i sistemi antispam 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.

L’apprendimento non supervisionato prevede che le informazioni inserite all’interno del database della macchina non siano codificate, ossia la macchina può attingere a tali informazioni ma non ci sarà alcun esempio del loro utilizzo e quindi non conoscerà il risultato atteso a seconda della scelta individuata. Sarà quindi compito della macchina catalogare tutte le informazioni in suo possesso, organizzarle, impararne il significato, l’utilizzo e il risultato a cui portano in base alla scelta effettuata.

Tale apprendimento offre maggiore libertà di scelta alla macchina che dovrà utilizzarle con “intelligenza” imparando quale sia il risultato migliore per le differenti situazioni che si presentano. È 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.

L’apprendimento per rinforzo è il più complesso; prevede infatti che la macchina sia dotata di sistemi e strumenti che le consentano di migliorare il proprio apprendimento e di comprendere le caratteristiche dell’ambiente di contesto. A tale scopo nella macchina vengono installate specifiche apparecchiature quali telecamere, sistemi GPS etc. che permetteranno di rilevare il contesto ed effettuare la scelta appropriata per il proprio adeguamento alle varie situazioni.

Ad esempio, nei progetti di auto con guida autonoma vengono analizzati ed elaborati una serie di dati raccolti dall’auto durante il suo percorso: il tipo di strada che si sta percorrendo, la segnaletica, le condizioni ambientali, il traffico intorno e il percorso programmato. In base all’elaborazione dei dati l’auto procederà nel suo percorso in condizioni di sicurezza, ma sarà pronta a cedere il controllo al pilota appena questi azionerà i comandi manualmente. Questo tipo di apprendimento è utilizzato frequentemente nella robotica, per controllare i movimenti degli automi, e anche in ambiti industriali nella produzione e nel controllo qualità.

 

4. Utilizzo dell’apprendimento

Come anticipato precedentemente le applicazioni di machine learning non sono utilizzate solo in ambienti scientifici, per particolari applicazioni nei campi dell’ingegneria, della scienza, della medicina. Le apparecchiature che utilizzano algoritmi di apprendimento automatico sono diffuse nelle più comuni applicazioni di uso quotidiano.

Uber: ha un team dedicato che sviluppa algoritmi di apprendimento automatico e li distribuisce in modalità “as-a-service” ai suoi sviluppatori di applicazioni mobili, esperti di mappe e di guida autonoma. Uber utilizza queste capacità per prevedere in modo sempre più accurato le abitudini di viaggio degli utenti all’interno della sua applicazione mobile, migliorare le sue mappe utilizzando la computer vision e creare algoritmi per i suoi veicoli a guida autonoma.

Expedia: i servizi di Expedia, il sito di ricerca e prenotazione voli e hotel, sono stati sviluppati sull’apprendimento automatico, algoritmi necessari di continui aggiornamenti  poichè gli itinerari e gli orari dei voli sono in continua evoluzione. Per questo il servizio proprietario “ricerca la tariffa migliore” deve “continuamente imparare e adattarsi”.

Expedia utilizza la sua notevole risorsa di apprendimento automatico in-house, un team di 700 persone, anche per creare algoritmi per rilevamento delle frodi. Il prossimo passo è consentire ai clienti di eseguire ricerche di viaggio utilizzando il linguaggio naturale.

Royal Bank of Scotland: all’inizio del 2018, la Royal Bank of Scotland ha annunciato il lancio di Luvo – un bot di elaborazione del linguaggio naturale, basato sull’intelligenza artificiale, che risponde alle domande dei clienti ed esegue semplici attività bancarie, come trasferimenti di denaro. Se Luvo non è in grado di soddisfare la richiesta di un cliente la gira al personale della banca, l’obiettivo è “rendere il supporto digitale ai clienti efficace quanto il servizio diretto” RBS è la prima banca che ha lanciato un servizio di questo tipo nel Regno Unito, ma altre banche offrono simili assistenti virtuali come la svedese Swedbank e la banca spagnola BBVA.

Amazon: ha un motore di consigli sui prodotti tra i più popolari nel settore dell’e-commerce. E a giusto titolo. I suoi algoritmi di apprendimento automatico funzionano così bene che il 55% delle vendite è generato da queste raccomandazioni di machine learning.

Ma il motore ha un duplice scopo. Non è utile solo a generare entrate aggiuntive con upselling e prodotti consigliati. Le informazioni acquisite dagli algoritmi di apprendimento automatico possono anche aiutare Amazon a prevedere la domanda dei prodotti. In sostanza, facilitano le decisioni di rifornimento dell’inventario in base a stagionalità e tendenze.

 

5. Apprendimento automatico e data-mining

Una delle principali caratteristiche del machine learning è la sua stretta correlazione con altri rami dell’informatica, della statistica, dell’ottimizzazione e di molti altri settori delle moderne scienze intelligenti. L’interrelazione fra questi diversi rami è fondamentale per poter realizzare strutture in grado di risolvere i più differenti problemi che permettono ad una macchina di apprendere secondo le tre differenti modalità tipiche dell’apprendimento intelligente.

Ad esempio, quando si parla di data mining, ovvero delle tecniche e metodologie che hanno per oggetto l'estrazione di informazione da grandi quantità di dati, si parla sempre di una forma di apprendimento, ma limitata al solo apprendimento non supervisionato. Il data mining, infatti, punta all’estrazione di informazioni e dati per il miglioramento delle conoscenze della macchina; esso punta esclusivamente ad incrementare la quantità di informazioni disponibili contribuendo al miglioramento della macchina tramite conoscenze sempre nuove.

Il machine learning invece ha come scopo quello di un apprendimento sempre più profondo, che partendo dalla disponibilità di nuove conoscenze, si propone di riprodurre tali conoscenze, con lo scopo di un miglioramento sempre più avanzato della macchina per utilizzi sempre più specifici. Similmente, anche con altri rami della ricerca del machine learning si possono avere sovrapposizioni di metodologie e risultati. Tra questi, ad esempio, vi è l’ottimizzazione, ossia il miglioramento dell’efficienza del sistema che permette di ottenere risultati in maniera più rapida e meno dispersiva.

 

6. Evoluzione

Le possibilità di sviluppo futuro di questo ramo sono ancora molte, soprattutto sono legate a diversi settori di applicazione, non solo scientifici e legati alla ricerca, ma anche di uso comune. La domotica per esempio ha già fatto uso di alcuni dei più semplici sistemi di apprendimento automatico, la disponibilità commerciale di apparecchiature che colloquiano con l’utente al fine di gestire l’ambiente domestico ne sono un esempio Amazon Alexa, Microsoft Cortana, Apple Siri, Google Home etc. Nel campo automobilistico va segnalato il sistema MBUX installato da Mercedes Benz nelle sue auto.

Quindi la ricerca si propone di integrare la vista quotidiana e i processi industriali più specifici con strumenti che siano di aiuto nell’esecuzione di attività che fino ad oggi necessitano dell’uomo. La disponibilità di un immenso patrimonio di dati ed informazioni costituisce la base per affinare algoritmi e tecniche di analisi che permetteranno alle macchine, ai PC, alla Domotica di fornirci un aiuto sempre più qualificato ed efficace.