I would like to know the layer with best performance in feature extraction. Its official paper suggests that:
The strong performance of shallower networks on this task suggests that the features produced by the layers in the middle of the network should be very discriminative.
There is also a project deepdream suggests that:
The complexity of the details generated depends on which layer's activations we try to maximize. Higher layers produce complex features, while lower ones enhance edges and textures, giving the image an impressionist feeling.
Searching the web, I found a github page suggesting
pool5/7x7_s1layer as feature extractor without specific convincing reasons.
What I am doing now is quite cumbersome in which I extract features from each individual layer, apply scipy euclidean distance measurement to find a query in the reference database and the judgment is based on
precision-recall curve and my
top 3 results are as follows for one dataset:
Considering large number of convolutional layers in GoogleNet, my approach is undoubtedly quite inefficient and can be changed to another dataset!
Can anyone suggest an efficient way to figure out the layers with the best performance as feature extractors in GoogleNet?