您如何确定张量流中激活层的尺寸

时间:2019-11-02 21:02:11

标签: tensorflow tensorflow-hub

tensorflow中心文档具有以下用于文本分类的示例代码:

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层的正确幻数。有人可以解释一下吗?

1 个答案:

答案 0 :(得分:0)

在隐藏层中选择16个单位并不是唯一确定的魔法值。正如Shubham所评论的那样,这全都在于试验和寻找对您的问题有效的价值。以下是一些民间传说来指导您的实验:

  • 隐藏层中单位数量的通常范围是几十到数千。
  • 两个的幂可以更有效地利用特定的硬件(例如GPU)。
  • 像上面那样的简单前馈网络通常会减少连续层之间的单元数。一个常被引用的直觉是从许多基本功能发展为更少,更抽象的功能。 (隐藏层往往会产生密集的表示形式,如嵌入,而不是离散的特征,但推理类似地适用于特征空间的维度。)
  • 以上代码段未显示正则化。在尝试更多隐藏单元是否有帮助时,请注意培训和验证质量之间的差距。差距的扩大可能表明有必要进一步规范化。