-
神经网络的Lipschitz估计:matlab代码sqrt-LipSDP实现LipSDP
资源介绍
Matlab代码sqrt
LipSDP
该存储库包含Mahyar
Fazlyab,Alexander
Robey,Hamed
Hassani,Manfred
Morari和George
J.
Pappas引入的Lipschitz常数估计半定编程框架的代码。
这项工作将作为论文发表在NeurIPS
2019上。
与文献中的其他方法相比,这种用于计算神经网络的Lipschitz常数的半定程序设计方法更具可伸缩性和准确性。
通过将激活函数视为凸电位函数的梯度,我们使用增量二次约束来公式化LipSDP
,这是一个估计Lipschitz常数的凸程序。
我们提供三种形式的SDP:
LipSDP网络对所有可能的激活函数对施加约束,并具有O(n²)个决策变量,其中n是网络中隐藏神经元的数量。
它是可伸缩性最低但最准确的方法。
LipSDP-Neuron忽略了不同神经元之间的交叉耦合约束,并具有O(n)个决策变量。
与LipSDP网络相比,它具有更高的可扩展性和准确性。
对于这种情况,我们有T
=诊断(λ11,...,λNN)。
LipSDP-Layer每层仅考虑一个约束,从而产生O(m)个决策变量,其