Torna al blog
MatematicaReti neuraliManutenzione

Reti neurali per la manutenzione predittiva

MUSTNODE SRL13 min di lettura

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 xx in un output yy. L'unita di base, il neurone, calcola una combinazione lineare degli ingressi seguita da una funzione di attivazione non lineare:

y=σ ⁣(i=1nwixi+b)y = \sigma\!\left( \sum_{i=1}^{n} w_i x_i + b \right)

dove wiw_i sono i pesi, bb il bias e σ\sigma una funzione come la sigmoide o la ReLU:

σReLU(z)=max(0,z)\sigma_{\text{ReLU}}(z) = \max(0, z)

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 LL, ad esempio l'errore quadratico medio:

L=1mj=1m(y^jyj)2L = \frac{1}{m} \sum_{j=1}^{m} \left( \hat{y}_j - y_j \right)^2

L'ottimizzazione avviene con la discesa del gradiente: si aggiornano i pesi nella direzione opposta al gradiente della perdita:

wwηLww \leftarrow w - \eta \, \frac{\partial L}{\partial w}

dove η\eta 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.