Glossario del machine learning: modelli di immagini

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

Questa pagina contiene termini di glossario relativi ai modelli di immagini. Per tutti i termini del glossario, fai clic qui.

A

realtà aumentata

#image

Una tecnologia che sovrappone un'immagine generata al computer alla visione del mondo reale da parte di un utente, offrendo così una visione composita.

B

riquadro di delimitazione

#image

In un'immagine, le coordinate (x, y) di un rettangolo intorno a un'area di interesse, come il cane nell'immagine sottostante.

Fotografia di un cane seduto sul divano. Un riquadro di delimitazione verde con coordinate in alto a sinistra di (275, 1271) e in basso a destra di (2954, 2761) circoscrive il corpo del cane

C

evoluzione

#image

In matematica, in modo informale, un mix di due funzioni. Nel machine learning, una convoluzione mescola il filtro convoluzionale e la matrice di input in modo da addestrare i pesi.

Il termine "convoluzione" nel machine learning è spesso un modo abbreviato per fare riferimento a operazioni convoluzionali o a livelli convoluzionali.

Senza convoluzioni, un algoritmo di machine learning dovrebbe apprendere una ponderazione separata per ogni cella in un tensore di grandi dimensioni. Ad esempio, un algoritmo di machine learning di addestramento su immagini 2K x 2K sarebbe costretto a trovare 4 milioni di pesi separati. Grazie alle convoluzioni, un algoritmo di machine learning deve solo trovare i pesi per ogni cella nel filtro convoluzionale, riducendo drasticamente la memoria necessaria per addestrare il modello. Il filtro convoluzionale viene applicato semplicemente alle celle in modo che venga moltiplicato per il filtro.

filtro convoluzionale

#image

Uno dei due attori di un'operazione convoluzionale. L'altro attore è una fetta di una matrice di input. Un filtro convoluzionale è una matrice con la stessa posizione della matrice di input, ma di forma più piccola. Ad esempio, data una matrice di input 28 x 28, il filtro potrebbe essere qualsiasi matrice 2D inferiore a 28 x 28.

Nella manipolazione fotografica, in genere tutte le celle di un filtro convoluzionale sono impostate su un pattern costante di zeri. Nel machine learning, i filtri convoluzionali vengono in genere inseriti con numeri casuali e quindi la rete addestra i valori ideali.

livello convoluzionale

#image

Un livello di rete neurale profonda in cui un filtro convoluzionale passa lungo una matrice di input. Ad esempio, considera il seguente filtro convoluzionale 3x3:

Una matrice 3x3 con i seguenti valori: [[0,1,0], [1,0,1], [0,1,0]]

La seguente animazione mostra un livello convoluzionale composto da 9 operazioni convoluzionali che coinvolgono la matrice di input 5x5. Nota che ogni operazione convoluzionale funziona su una porzione diversa di 3 x 3 della matrice di input. La matrice 3x3 risultante (a destra) è composta dai risultati delle 9 operazioni convoluzionali:

Un'animazione che mostra due matrici. La prima matrice è la matrice 5x5: [[128,97,53,201,198], [35,22,25,200,195],
 [37,24,28,197,182], [33,28,92,195,179],[31,40
          La seconda matrice è la matrice 3x3:
          [[181,303,618], [115,338,605], [169,351,560]].
          La seconda matrice viene calcolata applicando il filtro convoluzionale [[0, 1, 0], [1, 0, 1], [0, 1, 0]] in diversi sottoinsiemi 3x3 della matrice 5x5.

rete neurale convoluzionale

#image

Una rete neurale in cui almeno un livello è un livello convoluzionale. Una tipica rete neurale convoluzionale è costituita da una combinazione dei seguenti livelli:

Le reti neurali convoluzionali hanno riscosso grande successo in determinati tipi di problemi, come il riconoscimento delle immagini.

operazione convoluzionale

#image

La seguente operazione matematica in due fasi:

  1. Moltiplicazione in base agli elementi del filtro convoluzionale e una porzione di una matrice di input. (la sezione della matrice di input ha lo stesso ranking e le stesse dimensioni del filtro convoluzionale).
  2. Sommatoria di tutti i valori nella matrice di prodotto risultante.

Ad esempio, considera la seguente matrice di input 5x5:

La matrice 5x5: [[128,97,53,201,198], [35,22,25,200,195],
          [37,24,28,197,182], [33,28,92,195,179], [31,40,100,107,107

Ora immagina il seguente filtro convoluzionale 2x2:

La matrice 2x2: [[1, 0], [0, 1]]

Ogni operazione convoluzionale comporta una singola sezione 2x2 della matrice di input. Ad esempio, supponiamo di utilizzare la sezione 2 x 2 in alto a sinistra della matrice di input. L'operazione di convoluzione in questa sezione ha il seguente aspetto:

Applicazione del filtro convoluzionale [[1, 0], [0, 1]] alla sezione 2x2 in alto a sinistra della matrice di input, che è [[128,97], [35,22]].
          Il filtro convoluzionale lascia intatti il 128 e il 22, ma azzera 97 e 35. Di conseguenza, l'operazione di convoluzione restituisce il valore 150 (128 + 22).

Un livello convoluzionale è costituito da una serie di operazioni convoluzionali, ciascuna delle quali agisce su una porzione diversa della matrice di input.

D

potenziamento dei dati

#image

Aumento artificiale dell'intervallo e del numero di esempi di addestramento mediante la trasformazione degli esempi esistenti per creare ulteriori esempi. Ad esempio, le immagini supporre sono una delle funzionalità, ma il tuo set di dati non contiene un numero sufficiente di esempi di immagini per consentire al modello di apprendere associazioni utili. Idealmente, dovresti aggiungere un numero sufficiente di immagini etichettate al tuo set di dati per consentire l'addestramento corretto del modello. Se non è possibile, l'aumento dei dati può ruotare, estendere e riflettere ogni immagine per produrre molte varianti dell'immagine originale, fornendo potenzialmente dati etichettati sufficienti per consentire un'addestramento eccellente.

rete neurale convoluzionale separabile (sepCNN) in profondità

#image

Un'architettura di rete neurale convoluzionale basata su Inception, ma dove i moduli Inception vengono sostituiti con convoluzioni separabili in profondità. Chiamato anche Xception

Una convoluzione separabile in profondità (anche abbreviata come convoluzione separabile) tiene conto di una convoluzione standard in 3D in due operazioni di convoluzione separate più efficienti dal punto di vista computazionale: la prima è una convoluzione di profondità, con una profondità di 1 (n x n x 1) e, successivamente, una convoluzione pungente, con lunghezza e larghezza di 1.

Per scoprire di più, consulta Xception: Deep Learning with Depthless Separable Convolutions.

sottocampionamento

#image

Termine sovraccarico che può indicare i seguenti problemi:

  • Ridurre la quantità di informazioni in una funzionalità per addestrare un modello in modo più efficiente. Ad esempio, prima di addestrare un modello di riconoscimento di immagini, riduci le dimensioni delle immagini ad alta risoluzione a un formato a risoluzione più bassa.
  • Addestramento su una percentuale sproporzionatamente bassa di esempi di classi troppo rappresentate per migliorare l'addestramento del modello in classi sottorappresentate. Ad esempio, in un set di dati non bilanciato, i modelli tendono a imparare molto sulla classe di maggioranza e non abbastanza sulla classe di minoranza. Il sottocampionamento consente di bilanciare la quantità di formazione relativa ai corsi di maggioranza e di minoranza.

I

riconoscimento immagini

#image

Un processo che classifica oggetti, pattern o concetti in un'immagine. Il riconoscimento delle immagini è noto anche come classificazione delle immagini.

Per ulteriori informazioni, consulta la pagina ML Practicum: Classificazione delle immagini.

incrocio su Union (IoU)

#image

L'intersezione di due insiemi diviso per la loro unione. Nelle attività di rilevamento di immagini tramite machine learning, lo IoU viene utilizzato per misurare l'accuratezza del riquadro di delimitazione previsto del modello rispetto al riquadro di basato su dati empirici. In questo caso, l'IoU per le due caselle è il rapporto tra l'area che si sovrappone e l'area totale e il suo valore va da 0 (nessuna sovrapposizione del riquadro di delimitazione previsto e del riquadro di delimitazione dei dati empirici reali) a 1 (il riquadro di delimitazione previsto e il riquadro di delimitazione della velocità reale hanno le stesse coordinate).

Ad esempio, nell'immagine seguente:

  • Il riquadro di delimitazione previsto (le coordinate che segnalano il punto in cui si trova il tavolo notturno nel dipinto) è evidenziato in viola.
  • Il riquadro di delimitazione dei dati empirici reali (le coordinate che indicano dove si trova la tavola notturna nel dipinto) è evidenziato in verde.

La pittura di Van Gogh, la camera da letto di Arles, con due diverse scatole di delimitazione attorno al tavolino della notte accanto al letto. Il riquadro di delimitazione dei dati empirici reali (in verde) circoscrive perfettamente il tavolino notturno. Il riquadro di delimitazione previsto (in viola) è spostato di 50% verso il basso e a destra del riquadro di delimitazione dei dati empirici reali; racchiude il quarto in basso a destra del tavolino notturno, ma non il resto della tabella.

In questo caso, l'intersezione dei riquadri di delimitazione per la previsione e la verità di base (in basso a sinistra) è 1, mentre l'unione dei riquadri di delimitazione per la previsione e i dati empirici reali (in basso a destra) è 7, quindi lo IoU è \(\frac{1}{7}\).

La stessa immagine riportata sopra, ma con ciascun riquadro di delimitazione diviso in quattro quadranti. Ci sono sette quadranti in totale, in quanto il quadrante in basso a destra del riquadro di delimitazione dei dati empirici reali e il quadrante in alto a sinistra del riquadro di delimitazione previsto si sovrappongono. Questa
 sezione sovrapposta (evidenziata in verde) rappresenta
 l'intersezione e ha un'area pari a 1. La stessa immagine riportata sopra, ma con ciascun riquadro di delimitazione diviso in quattro quadranti. Ci sono sette quadranti in totale, in quanto il quadrante in basso a destra del riquadro di delimitazione dei dati empirici reali e il quadrante in alto a sinistra del riquadro di delimitazione previsto si sovrappongono.
          L'intero interno, racchiuso da entrambi i riquadri di delimitazione (evidenziati in verde), rappresenta l'unione e ha un'area di 7.

K

punti chiave

#image

Le coordinate di alcuni elementi in un'immagine. Ad esempio, per un modello di riconoscimento dell'immagine che distingue le specie di fiori, i punti chiave potrebbero essere il centro di ogni petalo, lo stelo, lo stame e così via.

S

punti di riferimento

#image

Sinonimo di keypoint.

M

MNIST

#image

Un set di dati di dominio pubblico compilato da LeCun, Cortes e Burges contenente 60.000 immagini, ciascuna delle quali mostra il modo in cui un essere umano ha scritto manualmente una determinata cifra da 0 a 9. Ogni immagine viene archiviata come un array di numeri interi 28 x 28, dove ogni numero intero è un valore in scala di grigi compreso tra 0 e 255 inclusi.

MNIST è un set di dati canonico per il machine learning, spesso utilizzato per testare nuovi approcci al machine learning. Per maggiori dettagli, consulta Il database MNIST di cifre scritte a mano.

R

piscina

#image

Ridurre una matrice (o matrici) creata da un livello convoluzionale precedente a una matrice più piccola. Il pooling di solito comporta il valore massimo o medio nell'area del pool. Ad esempio, supponiamo di avere la seguente matrice 3x3:

La matrice 3x3 [[5,3,1], [8,2,5], [9,4,3]].

Un'operazione di pooling, come un'operazione convoluzionale, divide la matrice in sezioni e quindi la scorre per passi. Ad esempio, supponiamo che l'operazione di pooling divida la matrice convoluzionale in fette 2x2 con un passo di 1x1. Come illustrato nel diagramma seguente, sono in corso quattro operazioni di pooling. Immagina che ogni operazione di pooling selezioni il valore massimo dei quattro in quella fetta:

La matrice di input è 3x3 con i valori: [[5,3,1], [8,2,5], [9,4,3]].
          La sottomatrice 2x2 in alto a sinistra della matrice di input è [[5,3], [8,2]], quindi
          l'operazione di pooling in alto a sinistra restituisce il valore 8 (che è il massimo
          di 5, 3, 8 e 2). La sottomatrice 2x2 in alto a destra della matrice di input è [[3,1], [2,5]], quindi l'operazione di pooling in alto a destra restituisce il valore 5. La sottomatrice 2x2 in basso a sinistra della matrice di input è
          [[8,2], [9,4]], quindi l'operazione di pooling in basso a sinistra restituisce il valore
          9.  La sottomatrice 2x2 in basso a destra della matrice di input è
          [[2,5], [4,3]], quindi l'operazione di pooling in basso a destra produce il valore
          5.  In breve, l'operazione di pooling restituisce la matrice 2x2
          [[8,5], [9,5]].

Il pool consente di applicare variazioni di traduzione nella matrice di input.

Il pooling per applicazioni di visione è noto in modo più formale come pooling spaziale. Le applicazioni di serie temporali in genere si riferiscono al pool come pooling temporaneo. Meno formale, il pool è spesso chiamato sottocampionamento o downsampling.

R

varianza di rotazione

#image

In un problema di classificazione delle immagini, un algoritmo può classificare correttamente le immagini anche quando l'orientamento delle immagini cambia. Ad esempio, l'algoritmo può ancora identificare una racchetta da tennis puntando, di lato o in basso. Tenete presente che l'invarianza rotazionale non è sempre auspicabile, ad esempio un 9 capovolto non dovrebbe essere classificato come 9.

Vedi anche invarianza di traduzione e invarianza di dimensioni.

S

variazione di taglia

#image

In un problema di classificazione delle immagini, un algoritmo può classificare correttamente le immagini anche quando le dimensioni delle immagini cambiano. Ad esempio, l'algoritmo può comunque identificare un gatto che consuma 2 M pixel o 200.000 pixel. Tieni presente che anche i migliori algoritmi di classificazione delle immagini presentano comunque limiti pratici per l'variazione delle dimensioni. Ad esempio, è improbabile che un algoritmo (o umano) classifichi correttamente un'immagine gatto che consuma solo 20 pixel.

Vedi anche invarianza di traduzione e invarianza di rotazione.

pooling spaziale

#image

Vedi pooling.

stride

#image

In un'operazione convoluzionale o un pooling, il delta in ogni dimensione della serie di input successiva. Ad esempio, la seguente animazione mostra un passo (1,1) durante un'operazione convoluzionale. Pertanto, la sezione di input successiva inizia una posizione a destra della sezione di input precedente. Quando l'operazione raggiunge il bordo destro, la sezione successiva viene completamente spostata a sinistra, ma una posizione in basso.

Una matrice di input 5x5 e un filtro convoluzionale 3x3. Poiché
     il passo è (1,1), verrà applicato 9 volte un filtro convoluzionale. La prima sezione convoluzionale valuta la sottomatrice 3x3 in alto a sinistra della matrice di input. La seconda fetta valuta la sottomatrice 3x3 medio-alto. La terza fetta convoluzionale valuta la sottomatrice 3x3 in alto a destra.  La quarta fetta valuta la sottomatrice 3x3 centrale-sinistra.
     La quinta sezione valuta la sottomatrice 3x3 centrale. La sesta fetta valuta la sottomatrice 3x3 centrale-destra. La settima fetta valuta la sottomatrice 3x3 in basso a sinistra.  L'ottava sezione valuta la sottomatrice 3x3 in basso al centro. La nona fetta valuta la sottomatrice 3x3 in basso a destra.

L'esempio precedente mostra un passo bidimensionale. Se la matrice di input è tridimensionale, anche l'andamento è tridimensionale.

sottocampionamento

#image

Vedi pooling.

T

invarianza traduzione

#image

In un problema di classificazione delle immagini, un algoritmo può classificare correttamente le immagini anche quando la posizione degli oggetti al suo interno cambia. Ad esempio, l'algoritmo può comunque identificare un cane, sia che si trovi al centro del frame o all'estremità sinistra del frame.

Vedi anche invarianza taglia e invarianza rotazione.