![Rilevamento di anomalie in TensorFlow e Keras utilizzando il metodo Autoencoder | di Rashida Nasrin Sucky | Settembre 2023
| Intelligenza-Artificiale Rilevamento di anomalie in TensorFlow e Keras utilizzando il metodo Autoencoder | di Rashida Nasrin Sucky | Settembre 2023
| Intelligenza-Artificiale](https://intelligenza-artificiale.eu/wp-content/uploads/2023/09/Rilevamento-di-anomalie-in-TensorFlow-e-Keras-utilizzando-il-metodo.jpeg)
Un metodo all’avanguardia senza supervisione per la rimozione del rumore, la riduzione della dimensionalità, il rilevamento delle anomalie e altro ancora
Tutti i tutorial su TensorFlow e sulle reti neurali che ho condiviso fino ad ora riguardavano l’apprendimento supervisionato. Questo riguarderà l’Autoenocder che è una tecnica di apprendimento non supervisionato. Se voglio esprimerlo semplicemente, autoencoder ridurre i rumori dai dati di comprimendo i dati di inpute codificare e ricostruire i dati. In questo modo i codificatori automatici possono farlo ridurre la dimensionalità o il rumore dei dati e concentrarsi sul vero punto focale dei dati di input.
Come puoi vedere dall’introduzione agli autoencoder, qui è richiesto più di un processo.
- Innanzitutto, un modello per comprimere i dati di input che è il modello dell’encoder.
- Quindi un altro modello per ricostruire i dati compressi che dovrebbe essere il più vicino possibile ai dati di input che è un modello di decodificatore.
In questo processo, è possibile rimuovere il rumore, ridurre la dimensionalità e chiarire i dati di input.
In questo tutorial spiegherò in dettaglio come funziona un autoencoder con un esempio funzionante.
Per questo esempio, ho scelto di utilizzare a set di dati pubblici (Licenza Apache 2.0) denominata deep_weeds.
import tensorflow as tf
import tensorflow_datasets as tfds
ds = tfds.load('deep_weeds', split='train', shuffle_files=True)
Preparazione dei dati
Dobbiamo preparare un set di dati per questo esempio di rilevamento di anomalie non supervisionato. Solo una classe verrà presa come classe principale e sarà considerata valida. E inserirò alcuni dati di un’altra classe come anomalia. Quindi svilupperemo il modello per vedere se riusciamo a trovare quei pochi dati di anomalia.
Ho scelto la classe 5 come classe valida e la classe 1 come anomalia. Nel blocco di codice seguente, prendo prima tutti i dati delle classi 5 e 1 e creo elenchi delle immagini e delle etichette corrispondenti.
import numpy as np
images_main = ()
images_anomaly = ()
labels_main= ()
labels_anomaly = ()
ds = ds.prefetch(tf.data.AUTOTUNE)
for example in ds…
Fonte: towardsdatascience.com