Machine learning 基于三元组训练时Tensorflow CNN网络中的辍学

Machine learning 基于三元组训练时Tensorflow CNN网络中的辍学,machine-learning,tensorflow,neural-network,deep-learning,Machine Learning,Tensorflow,Neural Network,Deep Learning,我使用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是来自前一层的三个数据样本的输出。这带来了一个潜在的问题,

我使用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是来自前一层的三个数据样本的输出。这带来了一个潜在的问题,即辍学是概率性的,因此,即使我提供了相同的辍学概率,三个输出中的每一个都可能会丢弃不同的神经元集,而理想情况下,我希望每个输出都使用相同的神经元集。那么,在这种情况下,实施辍学的正确方式是什么

假设所有东西都有相同的形状,设置相同的种子应该使它们完全相同

实际上,尽管数据样本是小批量的,而tf.nn.dropout将在整个小批量中删除相同的单元,因此切换到堆叠示例可能是一个好主意