前言
权值共享是一种减小深度网络中参数数量的方法,常见于卷积神经网络(CNN)。在CNN中每一个特征图是一组相同的参数对图像进行卷积中,每一组参数对应着图像每个局部的特征。这样的的权值共享叫做硬权值共享。而某些场景下,我们并不能这样使用同一组参数作,而使用相似的参数,这叫做软权值共享。软权值共享以一种正则化的形式给出。
软权值共享
我们常见的正则化形式是 λwwT ,如果将权值看作是符合高斯分布,那么正则化可以看作是权值负对数(最大似然估计)。我们现在将权值分为若干组,而不是将所有权值分为一组。分组的方法是使用混合高斯分布,每个高斯分布的均值、方差、以及混合权重都是待定且可以学习的。对于模型权值 w 的概率密度为:
p(wi)=∑j=1MπjN(wi|uj,σ2j)
πj
是高斯混合系数,取负对数,则可得到正则化函数
Ω(w)=−∑i=1ln(∑j=1MπjN(wi|uj,σ2j))
从而最终的损失函数可以写作:
E^(w)=E(w)+λΩ(w)
可以看到,这个损失函数是包括权值
w
、均值为了更方便的讨论,我们将
γj(w)=πjN(w|uj,σ2j)∑kπkN(w|uk,σ2k)
则最终损失函数关于
wi
和均值
uj
的导数为:
∂E^(w)∂wi=∂E(w)∂wi+λ∑jγj(wi)wi−uiσ2j
∂E^(w)∂ui=λ∑iγj(wi)uj−wiσ2j
可以看到,对于
wi
,是将它拉向第
j
个分布的中心,拉力正比与给定权值的后验概率。而对于第
∂E^(w)∂σi=λ∑iγj(wi)(1σj−wi−uj2σ3j)
它将
σj
拉向权值在对应的中⼼
µj
附近的偏差的平⽅的加权平均。对于混合系数
πi
,考虑到
∑iπi=1,0<πi<1
,将
πi
写作softmax的形式:
πi=exp(ηi)∑Mk=1exp(ηk)
求导后有:
∂E^(w)∂ηj=∑i(πj−γj(wi))
我们看到,
πj
被拉向第
j
<script type="math/tex" id="MathJax-Element-15826">j</script>个⾼斯分量的平均后验概率。
总结
软权值共享是利用高斯混合模型来对模型实施正则化,从而对损失函数进行最优化,得出权值和混合模型的参数,正则化借助简单的高斯分布变成了混合高斯,区别就此而已,在理论推导过程中使用了一些技巧。