pdf code

Deep Declarative Networks: A New Hope

这个概念类似于深度均衡paper里面的 implicit deep learning,也就是网络模块的定义的是由对输出结果的定义来决定的。

MDEQ考虑的是实现一个无穷深的网络,更多情况下这类网络层使用的是优化问题,如EPnP, OptNet, SS3D

这篇paper则给出一类基于优化的 declarative networks 的求导训练方法。

以无约束的优化问题为例,输入为, 输出为,

在最优的点上,, 且这个不由变化,再次求导可得

对于带等式与不等式的约束,本文分别给出了求导的计算方式。

代码

本文开源了前文所有类型的节点的求导方法。代码上只要实现主函数,约束函数以及优化过程(与反向无关)即可。

其次在本文的代码中看到了pytorch自带的一个完整的优化函数 torch.optim.LBFGS。本文利用这个函数实现了一个很通用的PnP非线性优化