Rilevamento di anomalie in TensorFlow e Keras utilizzando il metodo Autoencoder |  di Rashida Nasrin Sucky |  Settembre 2023

 | Intelligenza-Artificiale

fotografato da Leiada Krojhen SU Unsplash

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.

  1. Innanzitutto, un modello per comprimere i dati di input che è il modello dell’encoder.
  2. 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

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *