0

我已经在Tensorflow中使用CNN使用三元组数据实现了远程学习。为此,我为每个图层都有一组共同的权重。我想用失落技术来补偿过度贴合。我想通过以下方式这样做的: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是从先前层三个数据样本的输出。这就产生了一个潜在的问题,因为退出是概率性的,因此即使我提供了相同的退出概率,对于三个输出中的每一个都可能丢弃不同组的神经元,而理想情况下我希望同一组神经元被用于每个。那么在这种情况下实施退出的正确方法是什么?

回答

1

假设一切都具有相同的形状,设置相同的种子应使它们全部相同。

实际上,虽然数据样本是小型化的,并且tf.nn.dropout将在整个小型化中丢弃相同的单位,所以切换到堆叠示例可能是一个好主意。

相关问题