我使用Tensorflow中的CNN使用三重数据实现了远程学习。为此,我为每一层都有一组共享的权重。我想采用辍学技术来弥补过度拟合。我想通过以下方式做到这一点:
h_fc1_drop = tf.nn.dropout(h_fc1, keep_prob)
h_fc2_drop = tf.nn.dropout(h_fc2, keep_prob)
h_fc3_drop = tf.nn.dropout(h_fc3, keep_prob)
这里, h_fci 是来自前一层的三个数据样本的输出。这就产生了潜在的问题,即丢失是概率性的,因此即使我提供相同的丢失概率,也可能为三个输出中的每一个输出不同的神经元组,而理想情况下我希望同一组神经元用于每个。那么在这种情况下实施辍学的正确方法是什么呢?
答案 0 :(得分:1)
假设一切都具有相同的形状,设置相同的种子应该使它们完全相同。
在实践中虽然数据样本是小批量的,{{1}}将丢弃整个小批量中的相同单位,因此切换到堆叠您的示例可能是个好主意。