我的卷积神经网络应该有多少个输出节点?

时间:2017-12-04 13:11:15

标签: neural-network conv-neural-network convolution mxnet softmax

我正在使用 Kaggle 网站上的乘客筛选挑战来进行课程项目。

我已经在本教程中实现了一个开箱即用的卷积神经网络https://www.r-bloggers.com/image-recognition-tutorial-in-r-using-deep-convolutional-neural-networks-mxnet-package/

以下是架构教程中的代码:

# 1st convolutional layer
conv_1 <- mx.symbol.Convolution(data = data, kernel = c(5, 5), num_filter = 20)
tanh_1 <- mx.symbol.Activation(data = conv_1, act_type = "tanh")
pool_1 <- mx.symbol.Pooling(data = tanh_1, pool_type = "max", kernel = c(2, 2), stride = c(2, 2))
# 2nd convolutional layer
conv_2 <- mx.symbol.Convolution(data = pool_1, kernel = c(5, 5), num_filter = 50)
tanh_2 <- mx.symbol.Activation(data = conv_2, act_type = "tanh")
pool_2 <- mx.symbol.Pooling(data=tanh_2, pool_type = "max", kernel = c(2, 2), stride = c(2, 2))
# 1st fully connected layer
flatten <- mx.symbol.Flatten(data = pool_2)
fc_1 <- mx.symbol.FullyConnected(data = flatten, num_hidden = 500)
tanh_3 <- mx.symbol.Activation(data = fc_1, act_type = "tanh")
# 2nd fully connected layer
fc_2 <- mx.symbol.FullyConnected(data = tanh_3, num_hidden = 40)
# Output. Softmax output since we'd like to get some probabilities.
NN_model <- mx.symbol.SoftmaxOutput(data = fc_2)

但是,我对num_hidden上的fc_2有疑问。在本教程中,这个数字是40,因为有40个类。

在我的例子中,我正在确定图像上是否存在威胁。我的num_hidden在最后一个完全连接的层中是2(威胁存在或没有威胁)还是1(存在威胁的可能性?我是否过度思考?

非常感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

是的,如果你要对二进制问题进行分类,那么fc2层中的神经元数量应该是2而不是40。