Qual è la differenza tra "equivariante alla traduzione" e "invariante alla traduzione"


38

Ho difficoltà a comprendere la differenza tra equivariante alla traduzione e invariante alla traduzione .

Nel libro Deep Learning . MIT Press, 2016 (I. Goodfellow, A. Courville e Y. Bengio), si possono trovare sulle reti convoluzionali:

  • [...] la particolare forma di condivisione dei parametri fa sì che il layer abbia una proprietà chiamata equivalenza alla traduzione
  • [...] il pooling aiuta a rendere la rappresentazione approssimativamente invariante rispetto a piccole traduzioni dell'input

C'è qualche differenza tra loro o i termini sono usati in modo intercambiabile?


2
Ai vecchi tempi della Statistica, come ai tempi di Pitman, invariante era usato nel significato di equivariante.
Xi'an,

Risposte:


39

L'equivalenza e l'invarianza sono talvolta usate in modo intercambiabile. Come sottolineato da @ Xi'an , puoi trovare usi nella letteratura statistica, ad esempio sulle nozioni dello stimatore invariante e in particolare dello stimatore di Pitman .

Tuttavia, vorrei menzionare che sarebbe meglio se entrambi i termini fossero separati , poiché il prefisso " in " in invariante è privativo (che significa "nessuna varianza"), mentre " equi- " in equivariante si riferisce a "variabile in proporzione simile o equivalente ". In altre parole, uno non si muove, l'altro no .

Partiamo da semplici funzioni di immagine e supponiamo che l'immagine I abbia un unico massimo m nella posizione spaziale dei pixel (xm,ym) , che è qui la principale caratteristica di classificazione. In altre parole: un'immagine e tutte le sue traduzioni sono "uguali" . Una proprietà interessante dei classificatori è la loro capacità di classificare allo stesso modo alcune versioni distorte I di I , ad esempio le traduzioni di tutti i vettori (u,v) .

Il valore massimo m di I è invariante : m=m : il valore è lo stesso. Mentre la sua posizione sarà a (Xm',ym')=(Xm-u,ym-v) , ed è equivalente , il che significa che varia "equamente" con la distorsione .

Le formulazioni precise fornite in matematica per l'equivalenza dipendono dagli oggetti e dalle trasformazioni che si considerano, quindi preferisco qui la nozione che viene più spesso utilizzata nella pratica (e potrei ottenere la colpa da un punto di vista teorico).

Qui, le traduzioni (o qualche altra azione generica) possono essere equipaggiate con la struttura di un gruppo sol , g essendo un operatore di traduzione specifico. Una funzione o caratteristica f è invariante in sol se per tutte le immagini di una classe e per qualsiasi g ,

f(g(io))=f(io).

Diventa equivalente se esiste un'altra struttura matematica o azione (spesso un gruppo) sol' che riflette le trasformazioni in sol in modo significativo . In altre parole, tale che per ogni g ne hai uno unico g'sol' tale che

f(g(io))=g'(f(io)).

Nell'esempio sopra sul gruppo di traduzioni, g e g' sono uguali (e quindi sol'=sol ): una traduzione intera dell'immagine riflette come la stessa identica traduzione della posizione massima.

Un'altra definizione comune è:

f(g(io))=g(f(io)).

Sono tuttavia usato potenzialmente diverso sol e sol' perché a voltef(io) eg(io) non sono nello stesso dominio. Ciò accade ad esempio nelle statistiche multivariate (si vedano, ad esempio, leproprietà di equivalenza e invarianza delle funzioni quantili e correlate multivariate e il ruolo della standardizzazione). Ma qui, l'unicità della mappatura trag eg' consente di tornare alla trasformazione originaleg .

Spesso, le persone usano il termine invarianza perché il concetto di equivarianza è sconosciuto, o tutti gli altri usano l'invarianza e l'equivalenza sembrerebbe più pedante.

Per la cronaca, altre nozioni correlate (in particolare in matematica e fisica) sono chiamate covarianza , contraddizione , invarianza differenziale .

Inoltre, l'invarianza della traduzione, come approssimativa o approssimativa, è stata alla ricerca di numerosi strumenti di elaborazione di segnali e immagini. In particolare, le trasformazioni multi-rate (filtro-bank) e multi-scale (wavelet o pyramids) sono state progettate negli ultimi 25 anni, ad esempio sotto il cofano di invarianti di spostamento, rotazione del ciclo, stazionario, complesso, doppio albero trasformazioni wavelet (per una recensione su wavelet 2D, un panorama su rappresentazioni geometriche multiscala ). Le wavelet possono assorbire alcune variazioni di scala discrete. Tutte le invarianze (approssimative) di queste tesi spesso hanno il prezzo di ridondanza nel numero di coefficienti trasformati. Ma hanno maggiori probabilità di produrre caratteristiche invarianti a turni o equivalenti a turni.


4
Grande! Ammiro davvero i tuoi sforzi per la risposta dettagliata @Laurent Duval
Aamir il

25

I termini sono diversi:

  • Equivalente alla traduzione significa che una traduzione delle caratteristiche di input comporta una traduzione equivalente di output. Quindi se il tuo modello 0,3,2,0,0 sull'input risulta in 0,1,0,0 nell'output, allora il pattern 0,0,3,2,0 potrebbe portare a 0,0,1, 0

  • Invariante alla traduzione significa che una traduzione delle funzioni di input non modifica affatto gli output. Quindi se il tuo pattern 0,3,2,0,0 sull'input risulta in 0,1,0 nell'output, allora anche il pattern 0,0,3,2,0 porterebbe a 0,1,0

Affinché le mappe delle caratteristiche nelle reti convoluzionali siano utili, in genere hanno bisogno di entrambe le proprietà in equilibrio. L'equivalenza consente alla rete di generalizzare il bordo, la trama, il rilevamento della forma in diverse posizioni. L'invarianza consente di localizzare con precisione le funzionalità rilevate per avere meno importanza. Questi sono due tipi complementari di generalizzazione per molte attività di elaborazione delle immagini.


La funzione tradotta produce output tradotto in alcuni livelli. Si prega di approfondire il rilevamento di un intero oggetto considerevolmente tradotto. Sembra che verrà rilevato anche se la CNN non è stata addestrata con immagini contenenti posizioni diverse? In questo caso vale l'equivarianza (sembra più simile all'invarianza)?
VladimirLenin,

@VladimirLenin: Non penso che l'elaborazione sia necessaria per questa domanda, non è sicuramente qualcosa che l'OP ha chiesto qui. Ti suggerisco di porre una domanda separata, se possibile con un esempio concreto. Anche se visivamente è stato tradotto un "intero oggetto", ciò non significa che le mappe delle caratteristiche in una CNN stiano monitorando la stessa cosa che ti aspetti.
Neil Slater,

4

Sto solo aggiungendo i miei 2 centesimi

f:ioLioL

  • f:ioL
  • f:LL

ed è eseguito usando le seguenti proprietà

  • equivarianza spaziale, per quanto riguarda ConvLayer (Convoluzione spaziale 2D + NonLin ad es. ReLU) poiché uno spostamento nell'Input di livello produce uno spostamento nell'output di Livello (Nota: riguarda lo strato, non il singolo operatore di convoluzione)
  • invarianza spaziale, per quanto riguarda l'operatore di pooling (ad esempio, il pooling massimo supera il valore massimo nel suo campo ricettivo indipendentemente dalla sua posizione spaziale)

Più si avvicina al livello di input, più si avvicina al dominio puramente spaziale io

Più si avvicina al frontend, più si avvicina al dominio latente puramente semantico L

L'uso di layer completamente connessi nel frontend rende il classificatore sensibile alla posizione della funzione in una certa misura, a seconda della struttura del backend: più è profondo e più l'operatore invariante di traduzione (Pooling) utilizzato

È stato dimostrato nella quantificazione dell'invarianza della traduzione nelle reti neurali convoluzionali che per migliorare l'invarianza della traduzione del classificatore CNN, invece di agire sulla distorsione induttiva (architettura quindi profondità, pooling, ...) è più efficace agire sulla distorsione del set di dati (aumento dei dati )

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.