这个问题遵循chainer的切片或索引。在chainer中获取项目的变量是否具有向后能力? 考虑一个典型的示例问题:假设我有卷积层 + FC 层,我的最后一个 FC 层输出一个向量。
因为在某些情况下我必须对向量进行切片来计算损失函数,例如,在多标签分类中,ground truth 标签向量大部分元素为 0,只有少数为 1,这种情况下,直接使用 F.sigmoid_cross_entropy 可能会导致标签不平衡问题,所以我决定使用 a[0, 1]( a is chainer.Variable output by last FC layer) 对特定元素进行切片来计算损失函数。
在这种情况下,最后一个FC层是如何进行梯度流(BP)的,它是如何更新其权重矩阵的?