密集有什么影响

时间:2017-05-03 08:47:23

标签: keras convolution keras-layer

这段代码的两个密集是什么意思?

self.model.add(Flatten())
self.model.add(Dense(512))
self.model.add(Activation('relu'))
self.model.add(Dropout(0.5))
self.model.add(Dense(10))
self.model.add(Activation('softmax'))
self.model.summary()

2 个答案:

答案 0 :(得分:2)

Dense是该模型中唯一的实际网络层。

Dense层将前一层的所有输出提供给其所有神经元,每个神经元将一个输出提供给下一层。

它是神经网络中最基本的层。

Dense(10)有十个神经元。 Dense(512)有512个神经元。

答案 1 :(得分:2)

此外,dense层应用A非线性变换:

  

f(W.X + b)

关于效果,在W和X是2D张量的情况下,WX + b是向量而f是像tanh那样的元素非线性,因此结果只是数字中的大小向量神经元

来自keras docs:

  

密集实现操作:output = activation(dot(input,kernel)   + bias)其中激活是作为激活参数传递的元素激活函数,内核是创建的权重矩阵   通过该层,偏差是由该层创建的偏向量(仅   适用于use_bias为True的情况。)