Glossario del machine learning: modelli di immagine

Questa pagina contiene i termini del glossario dei modelli di immagine. Per tutti i termini del glossario, fai clic qui.

R

realtà aumentata

#image

Tecnologia che sovrappone un'immagine generata dal computer alla vista di un utente del mondo reale, fornendo così una vista composita.

autoencoder

#language
#image

Un sistema che impara a estrarre le informazioni più importanti dall'input. Gli autoencoder sono una combinazione di un encoder e un decoder. Gli autoencoder si basano sulla seguente procedura in due passaggi:

  1. L'encoder mappa l'input a un formato (in genere) con perdita di dimensioni inferiori (intermedie).
  2. Il decoder crea una versione con perdita dell'input originale mappando il formato a dimensione inferiore al formato originale con dimensioni superiori.

Gli autoencoder vengono addestrati end-to-end facendo in modo che il decoder tenti di ricostruire il più possibile l'input originale dal formato intermedio del codificatore. Poiché il formato intermedio è più piccolo (dimensione inferiore) rispetto al formato originale, l'autoencoder è costretto ad apprendere quali informazioni nell'input sono essenziali e l'output non sarà perfettamente identico all'input.

Ad esempio:

  • Se i dati di input sono grafici, la copia non esatta sarebbe simile all'immagine originale, ma leggermente modificata. Forse la copia non esatta rimuove il rumore dalla grafica originale o riempie alcuni pixel mancanti.
  • Se i dati di input sono testo, un autoencoder genererà un nuovo testo che imita (ma non è identico) il testo originale.

Vedi anche autoencoder variabili.

modello autoregressivo

#language
#image
#generativaAI

Un model che deduce una previsione in base alle proprie previsioni precedenti. Ad esempio, i modelli linguistici autoregressivi prevedono il token successivo in base a quelli previsti in precedenza. Tutti i modelli linguistici di grandi dimensioni basati su Transformer sono autoregressivi.

Al contrario, i modelli di immagine basati su GAN di solito non sono autoregressivi poiché generano un'immagine in un singolo passaggio in avanti e non in passaggi iterativi. Tuttavia, alcuni modelli di generazione di immagini sono regressivi perché generano un'immagine in passaggi.

B

riquadro di delimitazione

#image

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

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

C

convoluzione

#image

In matematica, casualmente, una combinazione di due funzioni. Nel machine learning, una convoluzione mescola il filtro convoluzionale e la matrice di input per addestrare le ponderazioni.

Il termine "convoluzione" nel machine learning è spesso un modo breve per fare riferimento all'operazione convoluzionale o al livello convoluzionale.

Senza le convoluzioni, un algoritmo di machine learning dovrebbe imparare una ponderazione separata per ogni cella in un grande tensore. Ad esempio, l'addestramento di un algoritmo di machine learning su immagini 2000 x 2000 sarebbe costretto a trovare 4 milioni di pesi separati. Grazie alle convoluzioni, un algoritmo di machine learning deve trovare solo i pesi per ogni cella nel filtro convoluzionale, riducendo drasticamente la memoria necessaria per l'addestramento del modello. Quando viene applicato, il filtro convoluzionale viene semplicemente replicato tra le celle in modo che ciascuna venga moltiplicata per il filtro.

filtro convoluzionale

#image

Uno dei due attori di un'operazione convoluzionale. (L'altro attore è una sezione di una matrice di input.) Un filtro convoluzionale è una matrice che ha lo stesso ranking della matrice di input, ma una forma più piccola. Ad esempio, data una matrice di input 28 x 28, il filtro potrebbe essere qualsiasi matrice 2D più piccola di 28 x 28.

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

livello convoluzionale

#image

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

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 sezione 3 x 3 diversa della matrice di input. La matrice 3 x 3 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,70], [31,70]
          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]] su 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 è composta da una combinazione dei seguenti livelli:

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

operazione convoluzionale

#image

La seguente operazione matematica in due passaggi:

  1. Moltiplicazione per elemento del filtro convoluzionale e di una sezione di una matrice di input. (La sezione della matrice di input ha lo stesso ranking e la stessa dimensione del filtro convoluzionale.)
  2. Somma di tutti i valori nella matrice dei prodotti risultante.

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

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

Ora immagina il seguente filtro convoluzionale 2 x 2:

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

Ogni operazione convoluzionale coinvolge una singola sezione 2x2 della matrice di input. Ad esempio, supponi di utilizzare la sezione 2 x 2 in alto a sinistra nella matrice di input. Quindi, l'operazione di convoluzione su questa sezione ha il seguente aspetto:

Applicando il filtro convoluzionale [[1, 0], [0, 1]] alla sezione 2x2 in alto a sinistra della matrice di input, ovvero [[128,97], [35,22]].
          Il filtro convoluzionale lascia intatti i valori 128 e 22, ma azzera
          i valori 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 che agisce su una sezione diversa della matrice di input.

D

aumento dei dati

#image

Aumento artificiale dell'intervallo e del numero di esempi di addestramento trasformando gli esempi esistenti per crearne altri. Ad esempio, supponiamo che le immagini siano una delle tue funzionalità, ma il tuo set di dati non contiene esempi di immagini sufficienti per consentire al modello di apprendere associazioni utili. Idealmente, dovresti aggiungere al set di dati un numero sufficiente di immagini etichettate per consentire l'addestramento corretto del modello. Se ciò non è possibile, l'aumento dei dati può ruotare, estendere e riflettere ogni immagine per produrre molte varianti dell'immagine originale, generando potenzialmente dati etichettati sufficienti per consentire un addestramento eccellente.

rete neurale convoluzionale separabile in profondità (sepCNN)

#image

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

Una convoluzione separabile in profondità (abbreviata anche come convoluzione separabile) suddivide una convoluzione 3-D standard in due operazioni di convoluzione separate e più efficienti dal punto di vista computazionale: prima una convoluzione in profondità con una profondità di 1 (n x n x 1), poi una seconda convoluzione punto a punto, con lunghezza e larghezza pari a 1 (1 x).

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

sottocampionamento

#image

Termine sovraccarico che può indicare una delle seguenti condizioni:

  • 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 delle immagini, eseguire il downgrade delle immagini ad alta risoluzione a un formato a risoluzione inferiore.
  • Addestramento su una percentuale sproporzionatamente bassa di esempi di classe sovrarappresentata per migliorare l'addestramento del modello in classi sottorappresentate. Ad esempio, in un set di dati non bilanciato, i modelli tendono ad apprendere molto sulla classe di maggioranza e non abbastanza sulla classe di minoranza. Il downsampling aiuta a bilanciare la quantità di formazione per le classi di maggioranza e di minoranza.

F

messa a punto

#language
#image
#generativaAI

Un secondo pass per l'addestramento specifico per le attività eseguito su un modello preaddestrato per affinarne i parametri per un caso d'uso specifico. Ad esempio, la sequenza completa di addestramento per alcuni modelli linguistici di grandi dimensioni è la seguente:

  1. Pre-addestramento: addestra un modello linguistico di grandi dimensioni (LLM) su un vasto set di dati generale, ad esempio tutte le pagine di Wikipedia in lingua inglese.
  2. Perfezionamento: addestra il modello preaddestrato per eseguire un'attività specifica, ad esempio rispondere a domande mediche. Il perfezionamento richiede in genere centinaia o migliaia di esempi incentrati sull'attività specifica.

Come un altro esempio, la sequenza completa di addestramento per un modello con immagini di grandi dimensioni è la seguente:

  1. Pre-addestramento: addestra un modello di immagine di grandi dimensioni su un vasto set di dati di immagini generali, come tutte le immagini in Wikimedia Commons.
  2. Perfezionamento: addestra il modello preaddestrato per eseguire un'attività specifica, ad esempio la generazione di immagini di orche.

Il perfezionamento può prevedere qualsiasi combinazione delle seguenti strategie:

  • Modifica di tutti i parametri esistenti del modello preaddestrato. Questa operazione viene a volte chiamata ottimizzazione completa.
  • Modificare solo alcuni dei parametri esistenti del modello preaddestrato (in genere i livelli più vicini al livello di output), mantenendo invariati gli altri parametri esistenti (in genere i livelli più vicini al livello di input). Consulta la sezione Ottimizzazione efficiente dei parametri.
  • Aggiunta di più livelli, in genere sopra quelli esistenti più vicini al livello di output.

Il perfezionamento è una forma di apprendimento trasferito. Di conseguenza, il perfezionamento potrebbe utilizzare una funzione di perdita diversa o un tipo di modello diverso rispetto a quelli utilizzati per addestrare il modello preaddestrato. Ad esempio, potresti ottimizzare un modello di immagine di grandi dimensioni preaddestrato per produrre un modello di regressione che restituisce il numero di uccelli in un'immagine di input.

Confronta il perfezionamento con i seguenti termini:

G

l'IA generativa

#language
#image
#generativaAI

Un campo trasformativo emergente senza una definizione formale. Detto questo, la maggior parte degli esperti concorda sul fatto che i modelli di AI generativa possono creare ("generare") contenuti che soddisfano tutti i seguenti requisiti:

  • complesso
  • coerente
  • originale

Ad esempio, un modello di AI generativa può creare saggi o immagini sofisticati.

Anche alcune tecnologie precedenti, tra cui LSTM e RNN, possono generare contenuti originali e coerenti. Alcuni esperti considerano queste tecnologie precedenti come AI generativa, mentre altri ritengono che la vera AI generativa richieda risultati più complessi di quanto non sia possibile produrre con le tecnologie precedenti.

Contrasto con il ML predittivo.

I

riconoscimento immagine

#image

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

Per ulteriori informazioni, consulta la pagina ML Practicum: Image Classification.

intersezione sopra l'unione (IoU)

#image

L'intersezione di due insiemi divisa per la loro unione. Nelle attività di rilevamento di immagini di machine learning, IoU viene utilizzata per misurare l'accuratezza del riquadro di delimitazione previsto del modello rispetto al riquadro di delimitazione dati empirici reali. In questo caso, l'IoU per i due riquadri è il rapporto tra l'area sovrapposta 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 dei dati empirici reali hanno le stesse coordinate).

Ad esempio, nell'immagine seguente:

  • Il riquadro di delimitazione previsto (le coordinate che delimitano il punto in cui il modello prevede il comodino nel dipinto) è evidenziato in viola.
  • Il riquadro di delimitazione dei dati empirici reali (le coordinate che delimitano il punto in cui si trova effettivamente il tavolo notturno nel dipinto) è evidenziato in verde.

Il dipinto di Van Gogh "La camera da letto di Vincent ad Arles", con due diversi riquadri di delimitazione intorno al comodino accanto al letto. Il riquadro di delimitazione dei dati empirici reali (in verde) circoscrive perfettamente il comodino. Il riquadro di delimitazione previsto (in viola) è spostato del 50% verso il basso e a destra del riquadro di delimitazione dei dati empirici reali; racchiude il quarto in basso a destra del comodino, ma manca il resto del tavolo.

Qui, l'intersezione dei riquadri di delimitazione per la previsione e i dati empirici reali (in basso a sinistra) è 1 e l'unione dei riquadri di delimitazione per la previsione e i dati empirici reali (in basso a destra) è 7, quindi l'IoU è \(\frac{1}{7}\).

Stessa immagine di cui sopra, ma con ogni riquadro di delimitazione diviso in quattro quadranti. Ci sono sette quadranti in totale, poiché il quadrante in basso a destra del riquadro di delimitazione dei dati empirici reali e quello 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. Stessa immagine di cui sopra, ma con ogni riquadro di delimitazione diviso in quattro quadranti. Ci sono sette quadranti in totale, poiché il quadrante in basso a destra del riquadro di delimitazione dei dati empirici reali e quello 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 pari a 7.

K

punti chiave

#image

Le coordinate di particolari elementi in un'immagine. Ad esempio, per un modello di riconoscimento delle immagini in grado di distinguere le specie di fiori, i punti chiave potrebbero essere il centro di ogni petalo, dello stelo, dello stame e così via.

L

punti di riferimento

#image

Sinonimo di keypoints.

L

MNIST

#image

Un set di dati di dominio pubblico compilato da LeCun, Cortes e Burges contenente 60.000 immagini, ciascuna delle quali mostra come una persona ha scritto manualmente una determinata cifra da 0 a 9. Ogni immagine è archiviata come array 28 x 28 di numeri interi, dove ogni numero intero corrisponde a 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 i dettagli, consulta il sito The MNIST Database of Handwriting Digits.

P

pooling

#image

Ridurre una matrice (o delle matrici) creata da un precedente livello convoluzionale a una matrice più piccola. Il pooling di solito comporta l'applicazione del valore massimo o medio all'intera area. Ad esempio, supponiamo di avere la seguente matrice 3 x 3:

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

Un'operazione di pooling, proprio come un'operazione convoluzionale, divide la matrice in sezioni e quindi fa scorrere l'operazione convoluzionale per passi. Ad esempio, supponi che l'operazione di pooling divida la matrice convoluzionale in sezioni 2 x 2 con un passo di 1 x 1. Come illustra il seguente diagramma, si verificano quattro operazioni di pooling. Immagina che ogni operazione di pool scelga il valore massimo dei quattro in quella sezione:

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 tra 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 restituisce il valore
 5. In sintesi, l'operazione di pooling restituisce la matrice 2x2
          [[8,5], [9,5]].

Il pooling aiuta ad applicare l'invarianza traduzionale nella matrice di input.

Il pooling per le applicazioni di visione artificiale è noto più formalmente come pooling spaziale. In genere, le applicazioni delle serie temporali fanno riferimento al pooling come pooling temporale. Il pooling viene spesso chiamato sottocampionamento o downsampling.

modello preaddestrato

#language
#image
#generativaAI

Modelli o componenti del modello (come un vettore di incorporamento) già addestrati. A volte, invii vettori di incorporamento preaddestrati in una rete neurale. Altre volte, il modello addestrerà autonomamente i vettori di incorporamento, invece di affidarsi agli incorporamenti preaddestrati.

Il termine modello linguistico preaddestrato si riferisce a un modello linguistico di grandi dimensioni che è stato sottoposto a pre-addestramento.

pre-addestramento

#language
#image
#generativaAI

L'addestramento iniziale di un modello su un set di dati di grandi dimensioni. Alcuni modelli preaddestrati sono giganti goffi e in genere devono essere perfezionati tramite addestramento aggiuntivo. Ad esempio, gli esperti di ML potrebbero preaddestrare un modello linguistico di grandi dimensioni su un ampio set di dati di testo, come tutte le pagine in inglese di Wikipedia. In seguito all'addestramento, il modello risultante potrebbe essere ulteriormente perfezionato tramite una delle seguenti tecniche:

R

invarianza di rotazione

#image

In un problema di classificazione delle immagini, la capacità di un algoritmo di classificare correttamente le immagini anche quando cambia l'orientamento dell'immagine. Ad esempio, l'algoritmo può comunque identificare una racchetta da tennis se è rivolta verso l'alto, di lato o in basso. Tieni presente che l'invarianza di rotazione non è sempre desiderabile; ad esempio, un 9 capovolto non deve essere classificato come 9.

Vedi anche invarianza della traduzione e invarianza delle dimensioni.

S

invarianza di dimensioni

#image

In un problema di classificazione delle immagini, la capacità di un algoritmo di classificare correttamente le immagini anche quando le dimensioni delle immagini cambiano. Ad esempio, l'algoritmo è comunque in grado di identificare un gatto se consuma 2 milioni di pixel o 200.000 pixel. Tieni presente che anche i migliori algoritmi di classificazione delle immagini presentano comunque limiti pratici relativi all'invarianza di dimensioni. Ad esempio, è improbabile che un algoritmo (o umano) classifichi correttamente un'immagine di gatto che consuma solo 20 pixel.

Vedi anche invarianza traduttiva e invarianza rotazionale.

pooling spaziale

#image

Vedi pooling.

stride

#image

In un'operazione convoluzionale o in pool, il delta in ogni dimensione della serie successiva di sezioni di input. Ad esempio, la seguente animazione mostra un passo (1,1) durante un'operazione convoluzionale. Di conseguenza, 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 si avvicina completamente a sinistra, ma una posizione in basso.

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

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

sottocampionamento

#image

Vedi pooling.

T

temperatura

#language
#image
#generativaAI

Un iperparametro che controlla il grado di casualità dell'output di un modello. Le temperature più alte generano un output più casuale, mentre le temperature più basse generano un output meno casuale.

La scelta della temperatura migliore dipende dall'applicazione specifica e dalle proprietà desiderate dell'output del modello. Ad esempio, probabilmente aumenteresti la temperatura durante la creazione di un'applicazione che genera un output di creatività. Al contrario, è probabile che abbassi la temperatura quando crei un modello che classifica immagini o testo per migliorarne l'accuratezza e la coerenza.

La temperatura viene spesso utilizzata con softmax.

invarianza di traduzione

#image

In un problema di classificazione delle immagini, la capacità di un algoritmo di classificare correttamente le immagini anche quando la posizione degli oggetti all'interno dell'immagine 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 delle dimensioni e invarianza rotazionale.