我有一个神经网络,它涉及到输入矩阵x的QR分解的计算,这样一个矩阵是矩形的,它有最大秩。
我的问题是,这个操作是否仍然允许在训练期间使梯度向后传播,或者是否可能存在一些问题。
你的怀疑是对的。它并不总是可微的。根据mode
参数的不同,您需要考虑三种不同的情况。
来自文档;
参数模式在全QR和约简QR之间选择分解。若A具有形状(*,m, n),表示k = min(m, n)
模式="减少"(默认):返回(Q, R)的形状(, m, k), (kn)。总是可微的.
模式= '完成':返回(Q, R)的形状(, m, m), (, m, n)分别。对于m <= n可微.
mode= ' r ':只计算约简后的r。返回(Q, r)时Q为空形状为(*,k, n)的R。永远不可导.