这是一个假设的问题。
假设
'conv_5'
的卷积层,其特征映射大小为90 x 45 x 512。让我们假设我也决定(在训练期间)我将地面真相掩码连接到'conv_5'
。这将产生一个新的顶部,我们可以调用'concat_1'
,它将是一个90 x 45 x 513维度的特征图。
假设网络的其余部分遵循正常模式,如更多的卷积层,完全连接和softmax损失。
我的问题是,完全连接的层能够学会对前512个特征通道进行非常低的权重,并将最后一个特征通道(我们知道这是一个完美的基础事实)称得非常高吗?
如果这是真的那么原则上是这样的,如果特征维度是1,000,000个通道并且我将最后一个通道添加为完美的基础事实,它仍然会学会有效地忽略所有以前的1,000,000个特征通道吗?
我的直觉是,如果有一个非常好的特征通道传入,那么网络应该能够学习比其他通道更多地利用这个通道。我还想认为这与频道数量无关。
(在实践中,我有一个场景,我传递了一个近乎完美的地面事实作为第513个特征图,但它似乎没有任何影响。然后当我检查所有513个特征通道的权重的大小时,大小在所有渠道中大致相同。这让我相信“近乎完美的面具”只被利用了它的潜力的1/513。这就是促使我提出问题的动机。)
假设,如果你有一个“杀戮功能”,网络应该学会使用它并忽略其余功能的“噪音”。
顺便说一句,为什么使用完全连接的层进行语义分割?我不确定这是语义分段网络的“正常模式”。
什么可能阻止网络识别“杀戮功能”?
- "conv_5"
上面的图层弄乱了:如果它们降低了分辨率(采样/汇集/跨步......),那么信息就会丢失,并且很难利用这些信息。具体来说,我怀疑完全连接的层可能会全局搞乱。
- 一个错误:添加“查杀功能”的方式与图像不对齐。是否添加了转置掩码,或者您错误地将一个图像的掩码添加到另一个图像(您是否“洗牌”训练样本?)
一个有趣的实验:
您可以检查网络是否至少具有使用“查杀功能”的局部最佳权重:您可以使用net surgery手动设置权重,使得"conv_5"
对于所有功能都为零,但“杀戮功能”和结果的权重层不是搞砸了。那么你应该具有非常高的准确性和低损失。从这一点开始训练网应该产生非常小的(如果有的话)梯度,并且即使在多次迭代之后,权重也不应该显着改变。