2017-03-29 5 views
4

Quelqu'un peut-il m'expliquer ce qui se passe quand une couche Keras Conv1D est alimentée en entrée 2D? Tels que:Conv1D sur l'entrée 2D

model=Sequential() 
model.add(Conv1D(input_shape=(9000,2),kernel_size=200,strides=1,filters=20)) 

la taille Varier d'entrée entre (9000,1) et (9000,2) et appeler model.summary(), je vois que la forme de sortie reste le même, mais le nombre de paramètres changements. Donc, cela signifie-t-il que différents filtres sont formés pour chaque canal, mais que la sortie est additionnée/moyennée sur la deuxième dimension avant de sortir? Ou quoi?

Répondre

1

In the doc Vous pouvez lire que l'entrée DOIT être 2D. Conv1D peut être vu comme une fenêtre temporelle passant au-dessus d'une séquence de vecteurs.

Le noyau aura 2dimensions fenêtre, aussi grande que la longueur des vecteurs (donc la 2ème dimension de votre entrée) et sera aussi longtemps que la taille de votre fenêtre ...

Donc en effet, il est parfaitement normal que vos deux réseaux ont le même forme de sortie ... et le nombre de paramètres est plus élevé car les noyaux sont 2 fois plus gros en raison de la deuxième dimension.

J'espère que cette aide :-)

+0

Donc, nous devrions penser que « 1D » ne se réfère pas à filtrer la forme, mais pour filtrer « mouvement »? – Kaare

+0

Oui, en effet, c'est la dimension de la convolution, pas la taille du filtre –

2

Voici une illustration visuelle

kernel_size = (2,) 

------------- 
| 1 1 1 1 1 |    <---- kernel dim = kernel_size X 5 
| 2 2 2 2 2 | 
------------- 
    3 3 3 3 3 



-------------------------- 
| 1 1 1 1 1 1 1 1 1 1 1 1 | <---- kernel dim = kernel_length X 12 
| 2 2 2 2 2 2 2 2 2 2 2 2 |  i.e more params! but after 
--------------------------   you apply say MaxPool1D(pool_size=(2,2)) 
    3 3 3 3 3 3 3 3 3 3 3 3   in both cases, then layer shapes from here 
            on out are the same, thus same outputs! 
+0

Est-il correctement compris que "l'axe des temps" pointe dans votre visualisation? – Kaare

+0

Oui! Je vais mettre à jour la réponse pour refléter cela – putonspectacles