提出了CCNN(Constrained CNN):一种具有崭新的代价方程来优化卷积网络。有任意线性约束(arbitrary linear constraints)于像素标签的结构化输出空间(structured output space of pixel labels)。卷积网络非凸性让直接优化约束很困难,本文亮点就是对ground truth 标签做了一个分布模型,让深度网络的输出与这个潜伏模型越接近越好。最终的目标是一个关于线性模型的两面凸问题(a biconvex problem for linear models)。对于深度非线性模型,变成了一个交替优化的问题(可以用SGD解决)
Preliminaries
普通方法如下:
定义一张图的像素级分类为
共有m类
CNN模型的概率分布为
每一个边界代表一个softmax概率:
标准的语义分割要求有完整的groundtruth信息,然而我们没有。
Constrained Optimization
让
简写成
CCNN的优化可以写成:
在输出分布上强化了k个独立的线性约束
许多QI满足这个约束,然而所有网络都用一组向量参数θ,因此将不同QI输出空间链接到了一起,这样导致输出同时与输入图片和弱标签一致
作者继续简化它的写法。。。:
接下来说了直接优化很困难,可以用拉格朗日对偶,但是空间耗费很多。因此作者介绍了一种概率分布p(x) over X label 的语义分割 。作者约束P(X)在合适的约束目标,同时移除输出Q的约束,让P,Q有相同的概率分布,通过最小化KL-divergence. :
这相当于 P(X)可以是一个独立分布
对于一个固定的θ,去优化P;对于一个固定的P,去优化θ
上述问题可以用标准交叉熵损失,SGD优化
4.1. Latent distribution optimization
首先优化P,固定输出 (用对偶方程)
目标方程是凸的而且有线性约束,满足Slaters条件
Slater 条件是:
[我还不能理解怎么满足了。。。仿佛CS229在说对偶讲过,记不得了]
只有支持向量才对应不为0的拉格朗日乘子
反正本文是个强对偶问题
对偶方程是凹的,可以用projected gradient ascent优化(投影梯度上升)
对偶方程的梯度是
因为投影梯度上升算法增加所有约束的对偶变量是不被满足的,因此分布p会去调整,让它逐渐满足约束。
4.2. SGD
对一个固定的分布P,问题3可转化为标准的交叉熵损失
算法总图
4.3 Constraints with slack variable
这一部分主要是在上部分基础上引入了一个松弛变量,这个松弛变量用hinge loss来规范。