你如何决定张量流中激活层的尺寸

How do you decide on the dimensions for a the activation layer in tensorflow

tensorflow hub 文档有这个文本分类示例代码:

hub_layer = hub.KerasLayer("https://tfhub.dev/google/tf2-preview/nnlm-en-dim50/1", output_shape=[50],
                           input_shape=[], dtype=tf.string)

model = keras.Sequential()
model.add(hub_layer)
model.add(keras.layers.Dense(16, activation='relu'))
model.add(keras.layers.Dense(1, activation='sigmoid'))

model.summary()

我不明白我们如何确定 16 是否是 relu 层的正确幻数。有人可以解释一下吗?

隐藏层16个单元的选择并不是唯一确定的魔法值。就像 Shubham 评论的那样,这一切都是关于试验和寻找适合您的问题的价值观。这里有一些民间传说可以指导您的实验:

  • 隐藏层的单元数通常在几十到几千之间。
  • 2 的幂可以更有效地利用特定硬件(如 GPU)。
  • 像上面这样的简单前馈网络通常会减少连续层之间的单元数量。一个常被引用的直觉是从许多基本特征发展到更少、更抽象的特征。 (隐藏层倾向于产生像嵌入这样的密集表示,而不是离散特征,但推理类似于特征的维度 space。)
  • 上面的代码片段没有显示正则化。在尝试更多隐藏单元是否有帮助时,请注意训练和验证质量之间的差距。不断扩大的差距可能表明需要进行更多调整。