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.
L’algoritmo quindi ripete tre step consecutivi:
- Guarda una parte di condizioni operative (input) e prova a fare una previsione di consumo (output).
- Confronta il consumo predetto con il reale e calcola l’errore che ha commesso
- 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.
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
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.
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.
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.