el3ment / spectral_representations_for_convolutional_neural_networks

41 stars 10 forks source link

run on any practical dataset? #3

Open askerlee opened 7 years ago

askerlee commented 7 years ago

hi @el3ment , thanks for your contribution. Just a quick question, what's the speed of spectral CNN? Have you tried to train it on imagenet or similar large scale data sets? You know mnist or CIFAR10 is toyish.

Actually I'm quite attracted by the property that spectral CNN keeps more essential information than max pooling. I'd like to apply it on other tasks. But I have to train a practical model first.

Thank you again in advance.

el3ment commented 7 years ago

Originally I had thought that doing purely spectral CNN would be faster than convolution, but in practice this didn't seem to be the case (but it might still be with more work). The initial "constant" of the FFT meant that you could only see the gain of a w x h x f pointwise multiply over a 3x3xf convolution (if they existed at all) if you had a number of layers

The major problem in my implementation is that you need to parameterize your filters in the spectral domain... this is an issue because the filters will be complex - but structured since the original image is real-valued. Enforcing that structure was hard in tensorflow and required me to create thousands of 1x1 variables and merge them together instead of a single variable per filterbank.