Quattro modi in cui l’AI impara dai tuoi dati, e come sfruttarli al meglio

Robot enjoyin life

Modi di imparare che gli algoritmi usano

Gli algoritmi imparano osservando dati rappresentativi di uno specifico sistema.

In particolare, i dati possono essere raccolti in parallelo con il training, oppure in un momento separato.

In base alla struttura dei dati da cui l’algoritmo impara, si delineano quattro modalità di apprendimento.

Nei dati raccolti per l’allenamento, l’output, che è oggetto della previsione, potrebbe essere disponibile oppure non noto a priori.

Si delineano quindi quattro modalità di apprendimento:

  • Apprendimento supervisionato
  • Apprendimento semi-supervisionato
  • Apprendimento non supervisionato
  • Aprpendimento per rinforzo

Apprendimento supervisionato: quando l’output è disponibile nel tempo

Immaginiamo un set di dati da un PLC di una linea di processo: portata, pressione, temperatura, frequenza, vibrazione e consumo.

Vogliamo monitorare quanto la linea consuma alle diverse condizioni opertive, attraverso un modello di deep learning che prevede l’energia consumata. Come si fa? Avendo a disposizione nello storico il dato di consumo, che diventa l’output del modello, è possibile allenare un modello di apprendimento supervisionato.

This image has an empty alt attribute; its file name is 0_76A80tjAva9kQKfX.gif
Allenamento di una regressione lineare, copyright di Sabeeh Hassany (qui il post originale)

L’algoritmo quindi ripete tre step consecutivi:

  1. Guarda una parte di condizioni operative (input) e prova a fare una previsione di consumo (output).
  2. Confronta il consumo predetto con il reale e calcola l’errore che ha commesso
  3. Modifica la sua struttura per diminuire l’errore nella previsione successiva.

L’apprendimento supervisionato può essere utilizzato per prevedere valori continui come il consumo o la temperatura (si parla di algoritmi di regressione) o valori discreti come lo stato della macchina o i modi di guasto (in questo caso si parla di classificazione).

Questa modalità di apprendimento è la più diffusa in industria.

Apprendimento semi-supervisionato: quando l’output è disponibile ma non per tutto il periodo di storico

Ipotizziamo ora un caso reale: abbiamo i dati dal gestionale di manutenzione (CMMS) di un anno, e i dati di processo dal PLC di 5 anni. Ci chiedono se sappiamo identificare nei cinque anni di dati le anomalie pregresse. Come si fa?

In questo caso, abbiamo a disposizione un numero ristretto di dati collegati ad un guasto, i dati nell’anno in cui abbiamo installato il CMMS. L’output quindi è disponibile, ma non per tutte le osservazioni.

Apprendimento semi-supervisionato, Post originale: https://jason718.github.io/project/semi/main

Si può procedere con un algoritmo semi-supervisionato, che sfrutta le osservazioni in cui abbiamo un guasto (si chiamano osservazioni etichettate) per interpretare le osservazioni di cui non ci sono informazioni sui guasti (queste sono osservazioni non etichettate).

Tutte le condizioni operative sono valutate in base alla loro somiglianza in termini di parametri, si trovano dei raggruppamenti simili (cluster), e si usano le etichette disponibili per ampliare la valutazione. In questo modo è possibile associare ad un gruppo caratteristico di condizioni operative un guasto.

Questa strategia si usa spesso nella pulizia dei dati.

Apprendimento non supervisionato: quando l’output non è noto a priori

In una terza ipotesi abbiamo un set di dati di processo di cui alcuni anomali, non noti a priori. Vogliamo pulire il dato, ma non abbiamo l’indicazione di quali osservazioni sono anomale e quali no. Come procediamo?

In questo caso, l’output (l’anomalia) non è noto a priori: procediamo quindi con un algoritmo di apprendimento non supervisionato

Apprendimento non supervisionato, Copyright di David Sheenan, da qui

Nell’apprendimento non supervisionato, l’algoritmo trova dei gruppi simili tra le condizioni operative, chiamati cluster. Ogni cluster può quindi essere gestito in base alla competenza di dominio: osservazioni caratterizzate da alte temperature e pressioni o punti troppo lontani dalla cruva nominale potrebbero essere anomalie, pertanto da pulire o gestire.

Questa modalità è utilizzata spesso per una prima valutazione e etichettatura dei dati disponibili, per trovare modalità di funzionamento, assetti non registrati o pulire il dato.

Apprendimento per rinforzo: quando l’output dipende dalle scelte del modello

L’apprendimento per rinforzo è molto simile alle modalità con cui impariamo noi: se un’azione porta ad un guadagno o un beneficio, la ripeteranno, perfezionandola, se un’azione porta a un danno, eviteranno di replicarla.

L’apprendimento per rinforzo prevede l’utilizzo di un agente, un’entità in grado di controllare un sistema con l’obiettivo di completare un’azione.

Come noi quando proviamo per la prima volta a fare qualcosa di nuovo, anche l’agente nei primi tentativi sbaglia, ha una pessima performance e si demoralizza percependo tutto il suo senso di inadeguatezza, chiedendosi come faceva a mparare così velocemente quando era bambino.

La soluzione deve far atterrare il lander sulla luna. L’agente non è allenato, è goffo e poco performante, come me sullo snowboard. Fonte: https://imgur.com/gallery/OVvOuYZ

Man mano che fa esperienza, l’agente trova però modalità sempre più ottimizzate per completare il task nel miglior modo possibile. C’è speranza per tutti, insomma.

Il ‘miglior modo possibile‘ è valutato attraverso un premio, o reward, equivalente alla performance dell’apprendimento supervisionato.

Dopo 50 tentativi, l’agente impara ad atterrare sulla luna.

In industria, l’apprendimento per rinforzo si può utilizzare per insegnare ad un sistema a replicare le attività di regolazione di un umano (con l’attenzione che necessita di imparare!), in ambito di robotica, guida autonoma o controllo di processo e risorse.

Quindi?

Ogni modalità di apprendimento può essere utilizzata per raggiungere obiettivi diversi.

L’apprendimento supervisionato è di gran lunga la modalità più utilizzata in industria per le soluzioni di ottimizzazione, monitoraggio o manutenzione predittiva.

L’apprendimento semi-supervisionato e non supervisionato sono invece utili negli step di pulizia dei dati.

Infine, l’apprendimento per rinforzo è utile per insegnare ad un algoritmo a governare un sistema o un processo.