【问题标题】:What does Dense do?丹斯是做什么的?
【发布时间】:2017-10-01 00:06:42
【问题描述】:

这段代码中的两个Dense是什么意思?

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()

【问题讨论】:

    标签: keras convolution keras-layer


    【解决方案1】:

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

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

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

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

    【讨论】:

      【解决方案2】:

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

      f(W.X + b)

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

      来自 keras 文档:

      Dense 实现操作:output = activation(dot(input, kernel)

      • bias) 其中激活是作为激活参数传递的逐元素激活函数,内核是创建的权重矩阵 由层创建,bias 是层创建的偏置向量(仅 如果 use_bias 为 True,则适用)。

      【讨论】:

      • 在这种情况下,tf.keras.layers.DenseFeatures 是什么。 DenseFeatures 也适用非线性吗?
      猜你喜欢
      • 1970-01-01
      • 2013-03-23
      • 1970-01-01
      • 2015-05-12
      • 2016-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多