【问题标题】:What should the second to last dense layer be?倒数第二个密集层应该是什么?
【发布时间】:2017-08-05 14:51:03
【问题描述】:

在网上查看 Keras CNN 示例时,我总是看到最后两层是全连接层,例如..

model.add(Flatten()) 
model.add(Dense(64))
model.add(Activation('relu'))
model.add(Dropout(0.5))
model.add(Dense(3))

我了解最后一个 Dense 层以及数字为 3 的事实,因为在这种特定情况下,这是可供选择的可能类的数量。

我不明白为什么倒数第二个 Dense 层是 64。有时是 64,或 128 或 512。

我的问题是model.add(Dense(64)) 中的 64 是什么意思,是什么决定了这个数字?

【问题讨论】:

  • 反复试验……经验数据……奇思妙想……随你便。
  • 这个问题不适合 SO,因为它与 keras 编码无关,请在 cross validation 上尝试。
  • 表示一个全连接的神经层(不是 CNN 层),里面有 64 个节点。

标签: python keras conv-neural-network


【解决方案1】:

64 是该层中神经元的数量。为什么是64?隐藏层中的神经元数量没有“确切”规则。可能是调整参数的结果,或者是因为他们的机器无法运行 100 个神经元,或者其他原因。

当您创建神经网络时,层中的神经元数量是您应该调整的众多超参数之一,以找到最佳结果。还有隐藏层的个数(你不问为什么有1个全连接的隐藏层吗?)或者激活函数。

我从https://stats.stackexchange.com/a/1097/105981 读到:'隐藏层的最佳大小通常介于输入层的大小和输出层的大小之间',但在很多情况下,我'曾经做过,这不会发生

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-09
    • 2018-10-23
    • 1970-01-01
    • 1970-01-01
    • 2012-10-12
    • 1970-01-01
    相关资源
    最近更新 更多