Estratto del documento

D X Y

nuovi dati.

Classificazione: È un tipo di apprendimento supervisionato in cui l'output y è una classe discreta o

un'etichetta (es. "gatto", "cane", "orso") .

Features: L'input non è solitamente l'immagine grezza, ma un vettore di "features" (caratteristiche)

x

estratte da essa.

L'apprendimento (o stima) è il processo di selezione dei parametri più appropriati per la funzione , mentre

θ f

l'inferenza è l'atto di usare il modello addestrato per fare previsioni.

Regressione Logistica Binaria

La regressione logistica è un modello lineare di classificazione. Nel caso più semplice, quello binario, si hanno

∈ {0, 1}

solo due classi (es. ).

y

Dal Logit alla Sigmoide

Riassunto Computer Vision 17

Invece di prevedere direttamente 0 o 1, il modello stima la probabilità che un input x appartenga alla classe

= 1 (y = 1 ∣

"positiva" (es. ), indicata come o .

y μ(x) P x)

L'assunzione fondamentale è che il log-odds (o logit) sia una funzione lineare delle features:

(P (y = 1 ∣ x) μ(x)

) = ) = T +

log( log( w b

x

(P (y = 0 ∣ 1 −

x) μ(x)

+ = 0

T

Questa equazione lineare definisce il decision boundary, ovvero l'iperpiano che separa le due

w x b

classi nello spazio delle features. (y = 1 ∣

Risolvendo l'equazione per (cioè ), si ottiene la funzione logistica (o sigmoide), indicata con

μ(x) P x)

σ(⋅): 1

T

= (y = 1 ∣ = =

+

μ(x) P x) σ(w b)

x 1 + +

exp(−(wT x b))

+ −∞ +∞

T

Il logit prende un input che può variare da a e la funzione sigmoide lo "schiaccia" in un

w x b [0, 1]

intervallo di probabilità valido .

= {w.b}

Per trovare i parametri ottimali , si usa il principio della massima verosimiglianza Maximum

θ

Likelihood). Si cercano i parametri che massimizzano la probabilità di osservare i dati di training che abbiamo

effettivamente osservato. n

= ∣ ,

Questa probabilità è la produttoria L(D, θ) P r(y x θ).

i i

i=1

Per stabilità numerica (evitando prodotti di numeri molto piccoli), si preferisce minimizzare la "negative log-

likelihood" NLL, che è matematicamente equivalente.

n

− ∣

= ,

nll(D, θ) logP r(y x θ)

i i

i=1

Nel caso binario (processo Bernoulliano), questa formula si semplifica nella binary cross-entropy, che funge da

nostra funzione di costo: , ^ ) = −[y ⋅ ^ + (1 − ) ⋅ − ^ )]

Cost(y y log y y log(1 y

i i i i i i

^ (P (y = 1 ∣ ,

Dove è l'etichetta vera 0 o 1 e è la probabilità predetta dal modello . Questa funzione

y y x θ))

i i i

0.1

penalizza il modello quando la sua previsione (es. ) è lontana dalla realtà (es. 1.

Classificazione Multi-classe (Softmax)

Quando le classi sono più di due (es. k classi), il modello cambia leggermente:

 Logits: Si calcola un logit (un punteggio lineare) separato per ogni classe. Avremo k vettori di pesi e

w k

bias b.

Riassunto Computer Vision 18

 Softmax: Per trasformare questi k punteggi in una distribuzione di probabilità (dove la somma è 1, si usa la

funzione softmax. exp(logit (x , θ))

j i

^ = (y = , =

y P j∣x θ)

i,j i i k exp(logit (x ,

∑ θ))

h i

h=1

 Costo: La funzione di costo (NLL) diventa la categorical cross-entropy, che confronta la distribuzione

i

predetta con l'etichetta vera (spesso rappresentata come un vettore one-hot, es. ).

y y 0, 1, 0

i k

, ^ ) = log ^

Cost(y y y y

i i i,j i,j

j=1

2. Regressione (Target Numerici)

Se l'output non è una classe ma un valore numerico (regressione), si può usare lo stesso framework. Si

y = T

assume un processo Gaussiano e si modella la media μ come una funzione lineare: . Applicando lo

μ w x

stesso principio di NLL, la funzione di costo da minimizzare diventa il minimo scarto quadratico (least squares

error): ∑ 2

n T

∝ = 1 (y −

nll(D, ϑ) i w x)

i

Ottimizzazione: Gradient Descent

Una volta definita la funzione di costo (la NLL su tutti i dati), dobbiamo trovare i parametri che la

l(θ) θ

minimizzano. Il metodo più comune è il Gradient Descent Discesa del Gradiente).

È un processo iterativo che si basa su un'approssimazione di Taylor al primo ordine. L'obiettivo è trovare una

Riassunto Computer Vision 19

) ≤ )

sequenza di aggiornamenti tale che la loss diminuisca a ogni passo: .

l(θ l(θ

e+1 e

L'algoritmo funziona così:

 Si inizializzano i parametri casualmente.

θ 0 ∂l(θ )

 Si calcola il gradiente (la derivata) della funzione di costo. Il gradiente indica la direzione di massima

e

∂θ

crescita della funzione.

 Si aggiornano i parametri muovendosi nella direzione opposta al gradiente, usando un learning rate λ

(lambda) che controlla la dimensione del passo.

∂l(θ )

← −

La regola di aggiornamento è: .

 e

λ

θ θ

e+1 e ∂θ ∂l(θ ) 2

) ≈ ) − ∣∣

 Questo aggiornamento garantisce (teoricamente) che , assicurando che la loss

e

l(θ l(θ λ∣∣

e+1 e ∂θ

diminuisca.

 Si ripete per un numero N di epoche (passaggi).

Varianti del Gradient Descent

Calcolare il gradiente sull'intero dataset (chiamato Batch GD) è computazionalmente "pesante" e costoso. Per

n

questo si usano delle varianti più efficienti:

Minibatch Stochastic) GD Calcola il gradiente non su tutti gli campioni, ma solo su un piccolo

n

sottoinsieme (batch ). È un'approssimazione (proxy) della funzione di costo reale.

B

Stochastic GD SGD È un caso limite del minibatch in cui si usa un sottoinsieme molto piccolo (o un singolo

= 1

campione, ).

B

Trade-off: Il Batch GD converge in modo fluido ma ogni passo è molto lento. L'SGD è molto più efficiente (ordini

di grandezza più veloce per passo) ma il suo percorso è "rumoroso" e meno accurato, poiché approssima il

gradiente.

Features

Abbiamo definito la (l'output), ma cosa usiamo come input ?

y x

L'Approccio Classico Pre-2012

In passato, era un vettore di features estratte manualmente dall'immagine. Queste includevano:

x

Istrogrammi dei colori.

Local features come bordi e angoli.

Descrittori come SIFT, che trovano punti chiave e li clusterizzano per creare un istogramma (noto come

"Bag of Visual Words").

Questo approccio manuale si è rivelato "fallimentare" e non forniva risultati soddisfacenti.

L'Approccio Moderno Deep Learning)

Dal 2012 circa, l'approccio dominante è quello di apprendere le features automaticamente tramite una rete

neurale.

Input: Invece di un vettore di features, si fornisce l'immagine grezza alla rete.

Output: La rete stessa si occupa di trovare la rappresentazione vettoriale ottimale.

Riassunto Computer Vision 20

Questo è un processo gerarchico, analogo alla visione umana:

Rete Neurale:

◦ Primi Layer: Elaborano l'immagine grezza per estrarre informazioni basilari (es. bordi e angoli).

◦ Layer Successivi: Rielaborano l'output dei layer precedenti, combinando le features semplici per

costruire rappresentazioni via via più complesse, astratte e informative (es. "bordi" diventano "forme",

"forme" diventano "oggetti").

Intuizione Geometrica

Possiamo immaginare questo processo in 2D

 Un singolo "neurone" (come la regressione logistica) definisce un iperpiano (una linea) che separa i

dati. Questa è un'informazione basilare.

Riassunto Computer Vision 21

 Un layer con tre neuroni può definire tre linee diverse, ognuna che separa i dati in un modo diverso.

Riassunto Computer Vision 22

 Un secondo layer può combinare queste informazioni basilari. Può imparare una funzione che dice:

"attivati solo se l'input è sopra la linea A, sotto la linea B e a destra della linea C".

Riassunto Computer Vision 23

 In questo modo, la rete ha creato un'astrazione: partendo da semplici linee, ha costruito una

rappresentazione di alto livello più informativa (un triangolo).

Riassunto Computer Vision 24

Il problema di ottimizzazione (come il Gradient Descent) consiste nel trovare la configurazione

ottimale di tutti questi parametri (linee) per definire le forme geometriche che meglio separano i dati di

training.

Questo approccio, che aumenta il potere espressivo del modello, porta naturalmente alla computazione tramite

gradiente (nello specifico, il gradiente discendente). La connessione di più perceptron crea un grafo, ovvero un

insieme di nodi e archi.

Un esempio di rete a due livelli (uno di input) non è altro che la rappresentazione di un'espressione algebrica.

Riassunto Computer Vision 25

Queste reti sono tipicamente strutturate in modo feedforward: i dati fluiscono in una sola direzione, con un

primo livello, un secondo che prende informazioni solo dal primo, un terzo dal secondo, e così via.

Qualsiasi espressione algebrica può essere visualizzata come un flusso operativo o un grafo di computazione.

 Forward Pass: È il calcolo del valore dell'espressione (ad esempio, calcolare il valore di partendo da e

e a b

).

Riassunto Computer Vision 26

 Backward Pass: A questo flusso di calcolo si associano operatori di differenziazione. Il passo all'indietro

(backward pass) comporta il calcolo delle derivate (gradienti) dell'output rispetto agli input (ad esempio).

Quando l'input è un vettore e l'output è un valore reale, la derivata è il gradiente. Queste regole di

differenziazione si applicano anche ai tensori.

Riassunto Computer Vision 27

cv_notebooks/7.Neural_networks.ipynb at master · gmanco/cv_notebooks

Contribute to gmanco/cv_notebooks development by creating an account on GitHub.

https://github.com/gmanco/cv_notebooks/blob/master/7.Neural_networks.ipynb

: ⟹

f R R

3 3

: ⟹

g R R

Il Problema del Gradiente Evanescente Vanishing Gradient)

Nei grafi di computazione, gli input sono gli elementi rispetto ai quali vogliamo calcolare i gradienti (i parametri

Anteprima
Vedrai una selezione di 7 pagine su 30
Computer Vision: Guida completa (Elaborazione Immagini, CNN, Feature Extraction), parte 1 Pag. 1 Computer Vision: Guida completa (Elaborazione Immagini, CNN, Feature Extraction), parte 1 Pag. 2
Anteprima di 7 pagg. su 30.
Scarica il documento per vederlo tutto.
Computer Vision: Guida completa (Elaborazione Immagini, CNN, Feature Extraction), parte 1 Pag. 6
Anteprima di 7 pagg. su 30.
Scarica il documento per vederlo tutto.
Computer Vision: Guida completa (Elaborazione Immagini, CNN, Feature Extraction), parte 1 Pag. 11
Anteprima di 7 pagg. su 30.
Scarica il documento per vederlo tutto.
Computer Vision: Guida completa (Elaborazione Immagini, CNN, Feature Extraction), parte 1 Pag. 16
Anteprima di 7 pagg. su 30.
Scarica il documento per vederlo tutto.
Computer Vision: Guida completa (Elaborazione Immagini, CNN, Feature Extraction), parte 1 Pag. 21
Anteprima di 7 pagg. su 30.
Scarica il documento per vederlo tutto.
Computer Vision: Guida completa (Elaborazione Immagini, CNN, Feature Extraction), parte 1 Pag. 26
1 su 30
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher stefano-brusco2001 di informazioni apprese con la frequenza delle lezioni di Computer vision e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università della Calabria o del prof Marco Rossi.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community