【发布时间】:2021-09-27 21:28:47
【问题描述】:
我希望限制我的神经网络的一层,以专门找到其输入的最佳旋转,以满足目标。 (我的最终目标是R 是旋转层,格式为R.transpose() @ f(R @ z))。
我希望通过梯度下降来训练这个(+其他组件)。如果 z 只是二维的,那我只能说
R = [ cos(theta) -sin(theta)
sin(theta) cos(theta)]
并让theta 成为可学习的参数。但是,我不知道如何为 d 维空间(其中 d>10)实际设置它。我已经尝试查看有关如何制作 d 维旋转矩阵的资源,它在线性代数中变得很重要,并且超出了我的想象。感觉这应该比看起来容易,所以我觉得我忽略了一些东西(比如也许 R 应该只是一个没有任何非线性激活的普通线性层)。
有人有什么想法吗?提前谢谢你:)
【问题讨论】:
-
抱歉,我不确定这是否适合 StackOverflow 或交叉验证,所以我发布了这两个地方。我相信经过交叉验证的答案很好,所以我应该将它复制到这里(附上信用),还是应该删除这篇文章?
标签: neural-network linear-algebra rotational-matrices