mdeff / cnn_graph

Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering
https://arxiv.org/abs/1606.09375
MIT License
1.34k stars 390 forks source link

Are theta is a vector or matrices? #54

Closed SeongJinAhn closed 4 years ago

SeongJinAhn commented 4 years ago

image

In the paper, the theta is said to be a vector of polynomial coefficients. Hence, I understood that theta_k should be a constant.

However, it seems that theta_k is a matrix in complemented codes. Is there any reason to complement in this way? Or theta should be revised to matrices in R^KxMxN?

mdeff commented 4 years ago

θ is indeed a vector of K polynomial coefficients describing a filter. For computational efficiency, MxN filters (which compute N output feature maps from M input feature maps) are applied at the same time to the input. Hence θ is implemented as an array of shape KxMxN.

SeongJinAhn commented 4 years ago

Thanks. I understand that theta can be extended for computational efficiency. However, then there is another question.

Then is it right that ChebConvs assume that coefficients of L^k (theta) depend on the features. rather then the same thetas do work to every input feature and output feature. Is it right??

mdeff commented 4 years ago

Yes. Filters are learned to compute output feature maps from input feature maps, hence are specific to a pair of input-output features. Say the input is an RGB image (3 features) and the output a vegetation segmentation mask (1 feature). You'd want the 3x1=3 filters to be different, because the input features have a different meaning.