【问题标题】:Questions about keras example pretrained_word_embeddings关于keras例子pretrained_word_embeddings的问题
【发布时间】:2017-02-24 07:59:25
【问题描述】:
我有几个关于 Keras 示例 pretrained_word_embeddings 的问题,以提高对其工作原理的理解程度。
-
在这种模型中使用dropout层是否合理?
-
最后MaxPooling1D 层每次都必须覆盖所有输出形状?在原始模型中,最后一个 conv 层输出为 35,我们将 maxpool 设置为相同的 35 值。
-
如果说增加值 128(内核数)会提高准确性,我说得对吗?
-
放置额外的卷积层来提高准确率是否有意义?即使它会减少模型训练阶段。
谢谢!
【问题讨论】:
标签:
machine-learning
tensorflow
neural-network
keras
conv-neural-network
【解决方案1】:
所以基本上你的问题有一个简单的答案 - 你需要测试它:
- 添加
dropout 通常是件好事。它引入了合理数量的随机化和正则化。缺点是您需要设置其参数的正确值 - 这有时可能需要一段时间。
- 在我看来——最后一个池化层中
MaxPooling1D的值是这样设置的,目的是降低下一层输入的维数。可以检查例如像前一层中数字的一半这样的值(在一个呈现的情况下 - 例如18) - 只会使下一层的输入大小加倍 - 可能会带来任何改进。
- 很难说 - 如果你例如拥有少量结构非常严格的数据 - 过多的参数可能会严重损害您的训练。最好的方法是在 grid 或 random 搜索范式中测试不同的参数值。相信random search 做得更好:)