Quali sono i significati del secondo argomento della convoluzione?


8

Stavo cercando di capire meglio la convoluzione e le sue proprietà matematiche e interpretazioni in ingegneria (specialmente nel contesto della visione artificiale). Ricorda la convoluzione:

S(t)=(X*w)(t)=X(un')w(t-un')dun'

il primo argomento (alla convoluzione) X di solito viene chiamato input ma il secondo argomento w(alla convoluzione) è generalmente chiamato " kernel ". Tuttavia, nella visione artificiale e nelle reti neurali convoluzionali, il secondo argomento è di solito chiamato " modello " (forse l'immagine di un bordo o di una ruota, o una parte di un oggetto). Tuttavia, in altre aree, penso che siano segnali e sistemi, di solito si chiama " filtro ".

Come ingegnere informatico, credo che la denominazione sia estremamente importante perché ci dà il potere di pensare a concetti specifici. Avere nomi cattivi può portare a pensieri sciatti. Pertanto, supponevo che probabilmente questi nomi tecnici fossero stati scelti tenendo conto di queste idee. Qualcuno sa o capisce perché questi nomi sono stati usati per il secondo argomento della convoluzione?

I nomi specifici di cui sono a conoscenza sono:

  1. Kernel (dalla matematica pura?)
  2. Filtro (segnali e sistemi?)
  3. Template (Computer vision / Machine Learning)

Non sono sicuro che mi manchi qualcuno, ma mi piacerebbe capire meglio questi nomi e possibilmente (eventualmente) capire intuitivamente meglio cosa fa l'operatore di convoluzione e la sua interpretazione in ingegneria e matematica.

Risposte:


6

Penso che la diversa gamma di nomi per il secondo argomento derivi dal fatto che l'operazione di convoluzione è così utile in così tanti campi diversi.

È utile ricordare cosa fa l'operazione di convoluzione prima di affrontare i termini specifici. Citando da Wolfram Mathworld , "una convoluzione è un integrale che esprime la quantità di sovrapposizione di una funzioneg poiché viene spostato su un'altra funzione f"Espressa in un altro modo, la convoluzione è un modo matematico di controllare per vedere quanta parte di una funzione esiste in un'altra funzione, dato che le due sono passate l'una accanto all'altra. Gli esempi visivi di convoluzione di Wikipedia hanno delle belle illustrazioni di come funziona.

  1. Kernel: questo è il termine più generale e deriva dalla matematica. In matematica, una trasformazione integrale è una trasformazione generale definita da

    g(α)=un'Bf(t)K(α,t)dt.
    La funzione K(α,t)in questa trasformazione integrale si chiama kernel. L'operazione di convoluzione è solo una sottoclasse di questa trasformazione più generale e quindi la seconda funzione è giustamente chiamata kernel. Sfortunatamente, non conosco l'origine del termine kernel nella trasformazione integrale generale.
  2. Filtro: Nell'elaborazione del segnale digitale un filtro corrispondente "si ottiene correlando un segnale noto, o modello, con un segnale sconosciuto per rilevare la presenza del modello nel segnale sconosciuto." In questo senso la seconda funzione funge da filtro per la prima funzione, indicando quali parti della prima hanno le proprietà della seconda.

  3. Template: Questo mi è meno familiare, ma penso che tu possa vedere come nasce dallo stesso posto del termine 'filtro'. Il modello è un segnale noto a priori per il quale si sta cercando un segnale sconosciuto. La convoluzione dei due indica quali parti del segnale sconosciuto hanno le stesse caratteristiche del modello.

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.