Quando le persone parlano di reti neurali, cosa significano quando dicono "dimensione del kernel"? I kernel sono funzioni di somiglianza, ma cosa dice sulla dimensione del kernel?
Quando le persone parlano di reti neurali, cosa significano quando dicono "dimensione del kernel"? I kernel sono funzioni di somiglianza, ma cosa dice sulla dimensione del kernel?
Risposte:
Le reti neurali profonde, le reti neurali più concretamente convoluzionali (CNN), sono fondamentalmente una pila di strati che sono definiti dall'azione di un numero di filtri sull'input. Questi filtri sono generalmente chiamati kernel.
Ad esempio, i kernel nello strato convoluzionale sono i filtri convoluzionali. In realtà non viene eseguita alcuna convoluzione, ma una correlazione incrociata. La dimensione del kernel qui si riferisce alla larghezzaxheight della maschera di filtro.
Il layer pool massimo, ad esempio, restituisce il pixel con il valore massimo da un set di pixel all'interno di una maschera (kernel). Quel kernel viene spazzato attraverso l'input, sottocampionandolo.
Quindi nulla a che fare con il concetto di kernel nelle macchine vettoriali di supporto o nelle reti di regolarizzazione. Puoi pensarli come estrattori di funzioni.
Come puoi vedere sopra, il kernel, noto anche come matrice del kernel è la funzione in mezzo e la sua dimensione, qui 3, è la dimensione del kernel (dove la larghezza del kernel è uguale a altezza del kernel).
Si noti che il kernel non deve necessariamente essere simmetrico e possiamo verificarlo citando questo testo dal documento di Conv2D in Tensorflow :
kernel_size: un numero intero o tupla / elenco di 2 numeri interi, che specifica l'altezza e la larghezza della finestra di convoluzione 2D. Può essere un singolo numero intero per specificare lo stesso valore per tutte le dimensioni spaziali.
Ma di solito, facciamo semplicemente la larghezza e l'altezza uguali e, in caso contrario, la dimensione del kernel dovrebbe essere una tupla di 2. Il kernel può essere asimmetrico, ad esempio in Conv1D (vedi questo esempio e la dimensione del kernel può essere più di 2 numeri, per esempio (4, 4, 3) nell'esempio seguente Conv3D :