Reti neurali per la manutenzione predittiva
Dalla reazione alla previsione
La manutenzione tradizionale e reattiva (si ripara quando si rompe) o programmata (si interviene a intervalli fissi). Entrambe sono subottimali: la prima causa fermi imprevisti, la seconda spreca risorse sostituendo componenti ancora buoni. La manutenzione predittiva punta a un terzo modello: intervenire solo quando i dati indicano che un guasto e probabile. Le reti neurali sono uno degli strumenti piu efficaci per questo scopo.
Cos'e una rete neurale, in breve
Una rete neurale e una funzione parametrica che mappa un input in un output . L'unita di base, il neurone, calcola una combinazione lineare degli ingressi seguita da una funzione di attivazione non lineare:
dove sono i pesi, il bias e una funzione come la sigmoide o la ReLU:
Impilando molti neuroni su piu livelli si ottiene una rete capace di approssimare funzioni estremamente complesse.
Come impara: la discesa del gradiente
L'addestramento consiste nel trovare i pesi che minimizzano una funzione di perdita , ad esempio l'errore quadratico medio:
L'ottimizzazione avviene con la discesa del gradiente: si aggiornano i pesi nella direzione opposta al gradiente della perdita:
dove e il learning rate. Il calcolo efficiente dei gradienti su tutti i livelli avviene tramite l'algoritmo di backpropagation.
Applicazione: prevedere i guasti
In manutenzione predittiva, l'input della rete sono le feature estratte dai sensori: vibrazione, temperatura, corrente assorbita, ore di funzionamento. L'output puo essere:
- una classificazione (guasto imminente si/no);
- una regressione sulla vita residua utile (RUL, Remaining Useful Life).
import torch
import torch.nn as nn
class PredittoreGuasti(nn.Module):
def __init__(self, n_feature):
super().__init__()
self.net = nn.Sequential(
nn.Linear(n_feature, 64), nn.ReLU(),
nn.Linear(64, 32), nn.ReLU(),
nn.Linear(32, 1) # vita residua stimata
)
def forward(self, x):
return self.net(x)
model = PredittoreGuasti(n_feature=8)
loss_fn = nn.MSELoss()
optimizer = torch.optim.Adam(model.parameters(), lr=1e-3)
Il dato e il vero collo di bottiglia
Un errore comune e concentrarsi sul modello trascurando i dati. In pratica:
- servono dati storici etichettati con guasti reali, spesso rari;
- le feature vanno normalizzate e pulite dal rumore;
- bisogna gestire lo sbilanciamento delle classi (i guasti sono pochi);
- il modello va validato su dati che non ha mai visto, evitando il data leakage.
Non sempre serve il deep learning
Per molti problemi industriali modelli piu semplici (alberi, gradient boosting) offrono prestazioni paragonabili con maggiore interpretabilita e meno dati. Le reti neurali brillano quando i pattern sono complessi e i dati abbondanti. La regola e sempre la stessa: il modello piu semplice che risolve il problema.
Conclusione
Le reti neurali trasformano i dati di campo in previsioni azionabili, riducendo fermi e costi. In MUSTNODE integriamo modelli predittivi nelle soluzioni di monitoraggio come iMoon, scegliendo di volta in volta l'approccio piu adatto ai dati disponibili e agli obiettivi del cliente.
Articoli correlati
Altri approfondimenti dalla categoria Dati & AI.
Inferenza bayesiana e modelli probabilistici nell'industria
Come usare il teorema di Bayes e i modelli probabilistici per stimare lo stato di processi industriali, aggiornare le previsioni e gestire l'incertezza dei dati di campo.
La matematica del monitoraggio energetico
Le formule e i modelli alla base del monitoraggio energetico: potenza, energia, fattore di potenza e analisi dei consumi, con esempi applicati a QTEP.
Serie temporali e previsione della domanda
Componenti di trend, stagionalita e rumore: i modelli per analizzare le serie temporali e prevedere consumi e domanda in ambito industriale.