如何确定tensorflow中激活层的尺寸

如何确定tensorflow中激活层的尺寸,tensorflow,tensorflow-hub,Tensorflow,Tensorflow Hub,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

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所评论的,这一切都是关于实验和找到适合你的问题的价值观。以下是一些民间传说来指导你的实验:

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

通过尝试几种型号,使用不同数量的单元、功能提取器等,可以获得这些值。