How to create a layer using Neural Network like the C3 Layer of LeNet?

2 views (last 30 days)
the C3 Layer of LeNet-5,is not a fully connect convolutional layer. every filter of this layer only take 4~5 feature map as a input from the previous layer. how could I build this kind of layer on Matlab? Using the Neural Network ToolBox or other function?

Answers (1)

Carl
Carl on 25 Jul 2017
Hi Lingjun. Using the Neural Network Toolbox, you can create a convolutional neural net, and specify the number of filters to apply at each convolutional layer. The number of filters is analogous to the number of output channels, or feature maps. The following page has a good explanation of how this fits into the overall conv net structure:
https://www.mathworks.com/help/nnet/ug/layers-of-a-convolutional-neural-network.html
And here is the documentation for the convolution2dLayer function that you can use to specify the convolutional layer and the feature maps:
https://www.mathworks.com/help/nnet/ref/convolution2dlayer.html
  3 Comments
Carl
Carl on 26 Jul 2017
Thank you for the follow up, I seem to have misunderstood your original question. As of MATLAB R2017a, this feature is not supported. See the documentation here on the 'NumChannels' property:
https://www.mathworks.com/help/nnet/ref/convolution2dlayer.html#input_argument_d0e56199
It states that "this parameter is always equal to the channels of the input to this convolutional layer," meaning that any subsequent layer will be connected to all the channels (feature maps) of the previous layer.
LINGJUN KONG
LINGJUN KONG on 27 Jul 2017
Thanks for your reply. Hope the Matlab Group could let this software more suitable for ML

Sign in to comment.

Categories

Find more on Deep Learning Toolbox in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!