Cos’è il Machine Learning

Il Machine Learning (o apprendimento automatico) è una branca dell’Intelligenza Artificiale che utilizza metodi statistici per migliorare la performance di un algoritmo nell’identificare dei pattern nei dati.
In poche parole, il Machine Learning applica degli algoritmi che, attraverso un modello matematico, utilizzano i dati per effettuare delle previsioni. Questi dati sono chiamati “training data” poiché consentono al programma di apprendere e svolgere previsioni senza dover essere programmato in maniera esplicita.

Il Machine Learning è la scienza che dà l’abilità al computer di imparare senza essere esplicitamente programmato.
Arthur Samuel, 1959

Come funziona esattamente?

Il Machine Learning offre il grande vantaggio di semplificare il processo di programmazione e test rispetto a quello di un programma tradizionale. Viene utilizzato in quei campi dell’informatica in cui progettare e programmare algoritmi espliciti è molto oneroso, come ad esempio:

  • Filtri antispam per le email
  • Individuazione di intrusioni all’interno di una rete con lo scopo di violare dati
  • Riconoscimento ottico dei caratteri
  • Motori di ricerca

Tipologie di apprendimento

SUPERVISED LEARNING
Ovvero apprendimento supervisionato, in cui all’algoritmo vengono forniti degli esempi nella forma di possibili input e i rispettivi output desiderati.
L’obiettivo è quello di estrarre una regola generale che associ l’input all’output corretto.

UNSUPERVISED LEARNING
Ovvero apprendimento non supervisionato, in cui i dati forniti all’algoritmo di machine learning contengono solo dati di input(Instance), senza dati di output.
Il modello ha lo scopo di trovare una struttura negli input forniti a seconda delle caratteristiche che l’algoritmo è in grado di identificare, senza che gli input vengano etichettati in alcun modo.

SEMI-SUPERVISED LEARNING
Ovvero apprendimento semi-supervisionato. Alcuni algoritmi di machine learning possono lavorare con dati semi-completi, ovvero in cui ci sono sia dati etichettati (labeled data) i che alcuni dati non etichettati (unlabeled data).
In sostanza, l’algoritmo non farà altro che utilizzare i labeled data che ha a disposizione per identificare gli unlabeled data.

REINFORCEMENT LEARNING
Ovvero apprendimento per rinforzo, un sistema di apprendimento in cui l’algoritmo viene applicato ad un agente che inserito in un ambiente, ottiene delle ricompense se ha svolto correttamente alcune azioni, oppure riceve delle penalità nel caso non le abbia svolte in maniera corretta.
L’agente quindi sarà in grado di apprendere autonomamente qual è la strategia corretta da applicare, chiamata policy, per ottenere il maggior numero di ricompense possibile.

Gli impieghi e i vantaggi del Machine Learning per le aziende

Sicurezza

Il Machine learning consente di incrementare il livello di sicurezza informatica non solo con i filtri antispam, ma anche con sistemi di identificazione di siti o profili a rischio e sistemi di identificazione delle frodi e di tentativi di furto di dati.

Previsioni per pianificare al meglio il business

Un altro utilizzo del Machine Learning è quello dell’analisi predittiva, che consiste nell’ elaborare informazioni per identificare regole di causa/effetto tra fenomeni. L’analisi predittiva è utile in diversi ambiti, come ad esempio la previsione della domanda per la produzione e la gestione degli ordini, il riassortimento delle materie prime, la pianificazione della logistica, l’identificazione del miglior periodo per la raccolta di un prodotto o per la semina.
Ma non solo: il Machine Learning è in grado di effettuare previsioni che possono essere utili anche per la manutenzione degli impianti: la cosiddetta manutenzione predittiva, che consente di prevedere un malfunzionamento o un guasto e correre ai ripari prima che questo si verifichi.

Identificazione rapida di oggetti, immagini e suoni

Il Machine Learning può essere impiegato anche per analizzare, decodificare e catalogare forme, immagini e suoni. Un impiego concreto all’interno delle aziende può essere ad esempio quello del controllo della qualità dei prodotti o per le gestione delle merci negli stabilimenti. Ad esempio può essere utilizzato per la selezione della frutta o per il monitoraggio del bestiame.

Marketing e vendite

Il Machine Learning è utile anche per strategie di marketing in diversi modi. Un esempio? I siti web che consigliano articoli che potrebbero interessarti, utilizzano il machine learning per analizzare la cronologia degli acquisti fatti in precedenza e li analizzano per offrirti qualcosa che possa corrispondere ai tuoi gusti.
Questo è solo uno degli innumerevoli utilizzi del Machine Learning per personalizzare l’esperienza di acquisto, ottimizzare le strategie di marketing e incrementare quindi le vendite.

Migliore gestione della Supply Chain

Il Machine Learning consente di ottimizzare la gestione della catena di approvvigionamento, semplificando i processi e consentendo di gestirli in maniera integrata, dal magazzino alle vendite, dalla produzione ai trasporti. L’analisi dei dati consente infatti non solo di identificare i flussi di lavoro più efficienti, ma anche di prevedere eventuali in cui si potrebbe incorrere, identificando preventivamente delle soluzioni o delle alternative.
Un esempio concreto può essere quello della scelta della rotta migliore o della strada più rapida per un trasporto e la previsione di eventuali code.

80%

incremento della produttività nelle imprese che hanno adottato dei sistemi di Machine Learning
(Fonte: ricerca di School of Management del Politecnico di Milano in collaborazione con Google.)


Come affrontiamo il tema del Machine Learning in smeup

In smeup affrontiamo il tema del Machine Learning attraverso l’integrazione.
Dopo aver studiato come funzionano i vari sistemi di Machine Learning abbiamo identificato due approcci:

  1. Asset-driven:
    – Invio a un servizio di AI un Asset digitale (immagini, testi, dati materializzati, ecc)
    – Il Servizio AI elabora i dati e restituisce i risultati
    Si tratta di un approccio a servizio. Il pattern è Request-response: a fronte di una richiesta, il servizio fornisce una risposta.
  2. Dataset-driven: questo approccio prevede un flusso di dati che è continuamente prodotto dal sistema di partenza, ad esempio da un sistema gestionale, e che deve essere utilizzato dal sistema di Ai in maniera continua, quindi con un approccio orientato al processo.
    Questo approccio si comprende bene ad esempio su un processo produttivo: mentre il processo sta avvenendo può essere utile sapere se sta avvenendo nel modo corretto o se è necessario correggere il modo in cui il processo sta avvenendo.
    – Il dato è costantemente prodotto dal sistema.
    – Il Servizio AI lavora continuamente.

Quindi abbiamo creato due Approval Concepts che testano questi due approcci. Abbiamo isolato i componenti riutilizzabili di queste applicazioni nell’ottica dell’architettura di smeup erp in cui ci sono delle API quindi dei componenti lato backend riutilizzabili che possono essere esternalizzati. Dietro ci sono sempre gli oggetti, che sono quelli che permettono di sfruttare veramente queste tecnologie.


Approccio Asset-driven

AutoMachine Learning Vision

Per testare l’approccio Asset-driven, come sistema di AI abbiam utilizzato AutoMachine Learning Vision di Google. Come funziona? La prima parte del lavoro svolto consiste nella parte di Tuning del cosiddetto modello, quindi del sistema di apprendimento.
Ad, esempio, avendo a disposizione una serie di immagini (AutoMachine Learning Vision serve per riconoscere immagini), è sufficiente fare l’upload su AutoMachine Learning e  insegnargli a riconoscere tutte le persone con gli occhiali all’interno delle immagini.

smeup machine learning asset driven

Successivamente seguono la fase di execution e prediction, cioè l’esecuzione vera e propria e che una volta che il sistema è stato addestrato può avvenire in maniera continua all’infinito perché è possibile richiamarlo. Come? L’applicazione prende un’immagine qualunque dagli IFS e tramite una /copy posso richiamare Google utilizzando le tecnologie di smeup e il sistema mi risponde con un tag che indica se nell’immagine la persona ha gli occhiali oppure no. In fase di test, il sistema insieme alla risposta fornirà anche una percentuale relativa all probabilità dell’esattezza della risposta fornita.


Approccio Dataset-driven

H2o.ai

Per testare l’approccio Dataset-driven abbiamo integrato h20, un prodotto IBM.
Anche in questo caso c’è una prima fase che è di learning e tuning del progetto, ma diversamente rispetto all’approccio Asset-driven, i dati risiedono sul sistema gestionale. Segue un processo di ETL (Extract, Transform, Load) quindi di estrazione dei dati e di costruzione di una flat table, ovvero di quello che generalmente viene definito come un dataset. È una tabella che mette in relazione più informazioni, un po’ come avviene nella Business Intelligence quando si creano i Data Warehouse. Facendo l’upload del modello sul servizio Cloud, che nel caso di h2o può essere installato anche on premise rispetto a quello di Google, è possibile continuare a modificare l’ETL in base alle informazioni che h2o fornisce rispetto al contenuto del dataset. H2o potrebbe ad esempio suggerire di cancellare una colonna, perché non è significativa in quanto ci sono dei dati mancanti.
Una volta che il modello viene ritenuto completo, viene scaricato sottoforma di file zip che viene caricato su IFS. Il file zip contiene tutta l’intelligenza che h2o ha costruito per eseguire quello che avviene dopo, ovvero la previsione.
Un esempio concreto di previsione può essere quello della vita residua di una turbina in numero di cicli: quindi accedendo ad un dataset di turbine, sarà possibile vedere diverse informazioni come il numero ID della turbina, varie informazioni relative ai sensori e a quante volte la turbina ha girato e infine la previsione di quanti giri potrà ancora fare una specifica turbina prima del termine del suo ciclo di vita.

smeup machine learning dataset driven
Published On: Aprile 19th, 2021 / Categories: Business Analytics, Machine learning / Tags: , /