论文提出类特定管制门CSG来疏导网络学习类特定的卷积核,并且退出正则化办法来稠密化CSG矩阵,进一步保障类特定。从试验后果来看,CSG的稠密性可能疏导卷积核与类别的强关联,在卷积核层面产生高度类相干的特色表白,从而晋升网络的性能以及可解释性
起源:晓飞的算法工程笔记 公众号
论文: Training Interpretable Convolutional Neural Networks by Differentiating Class-specific Filters
- 论文地址:https://arxiv.org/abs/2007.08194
- 论文代码:https://github.com/hyliang96/CSGCNN
Introduction
卷积神经网络尽管在多个视觉工作中有很好的体现,但可解释性的欠缺导致其在须要人类信赖或互动的利用中受到限制,而论文认为类别与卷积核间的多对多关系是造成卷积网络可解释性差的次要起因,称之为filter-class entanglement。如上图所示,卷积网络通常提取蕴含多个语义概念的混合特色,比方类别、场景和色彩等,去除entanglement可能更好地解释每个卷积核的作用。
受细胞分化的启发,论文提出在最初的卷积层中学习类特定卷积核,心愿卷积核可能"分化"成针对不同类别的分组,如图1右所示,单个卷积核专门负责特定类别的辨认。为了实现这个想法,论文设计了可学习的类特定门控CSG(Class-Specific Gate)来疏导将卷积核调配给不同的类别,只有当特定类别作为输出时,对应卷积核输入的特色能力被应用。
论文的次要奉献如下:
- 提出新的训练策略来学习更灵便的卷积核与类别的关系,每个卷积核仅提取一个或大量类别的相干特色。
- 提出通过卷积特色和类别预测的互信息来验证卷积核与类别的关系,并且基于此设计了一个度量办法来测量网络的filter-class entanglement。
- 通过试验证实论文提出的办法可能打消卷积核的冗余以及加强可解释性,可利用于指标定位和反抗样本检测。
Ideally Class-Specific Filters
如图2所示,现实的类特定卷积核应该只对应一个类别,为了明确定义,应用矩阵$G\in [0, 1]^{C\times K}$来示意卷积核和类别的相关性,矩阵元素$G^k_c\in [0,1]$代表$k$卷积核和$c$类别的相关性。对于输出样本$(x,y)\in D$,取矩阵$G$的行$G_y \in [0, 1]^K$作为管制门,将不相干的卷积核输入置为零。定义$\tilde{y}$为失常网络结构(STD)间接预测的类概率向量,$\tilde{y}^G$为退出矩阵$G$(解决倒数第二层的特色图)后的网络(CSG)预测的类概率向量,若存在$G$(所有列为one-hot)使得$\tilde{y}^G$和$\tilde{y}$简直不存在差别时,称该卷积核为现实的类特定卷积核。
Problem formulation
为了让网络在训练中分化类特定卷积核,论文在规范的前行推理(standard path, STD)中引入可学习的类特定管制门(Class-Specific Gate path, CSG) ,用来有选择性地阻隔不相干特色维度。
The Original Problem
如上图所示,论文的指标是训练蕴含现实类特定卷积核的网络,网络参数为$\theta$,蕴含两条前向推理门路:
- 规范门路STD预测$\tilde{y}_{\theta}$。
- 蕴含矩阵$G$的类特定门门路(CSG)预测$\tilde{y}^G_{\theta}$。
CSG将倒数第二层的输入乘以可学习管制门$G_y$,$y$为输出样本的标签。 为了找到精确形容类别与卷积核关系的管制门矩阵$G$,须要在二值空间中搜寻$G$使得CSG门路有最好的分类成果,即优化问题$\Phi_0(\theta)=\underset{G}{min}CE(y||\tilde{y}^G_{\theta}), \forall k\in{1,2,\cdots, K}$,$G_k$是one-hot编码,$\Phi_0$用来验证网络中分化的卷积核的性能,将$\Phi_0$退出到训练损失中作为正则化项,失去整体网络的优化指标:
$CE(y||\tilde{y}_{\theta})$保障准确率,$\lambda_1 \Phi_0(\theta)$疏导$G$的稠密性。但公式1其实是很难优化的,首先很难保障每个卷积核是相对地只对应一个类别,通常都是多类别共享特色,其次,非间断空间的二值向量很难通过梯度降落优化。
Relaxation
为了解决下面提到的两个问题,论文将one-hot向量$G^k$放宽为稠密间断向量$G^k\in [0, 1]^C$,束缚其蕴含至多一个等于1的元素($||G^k||_{\infty}=1$)。另外,退出正则项$d(||G||_1, g)$来疏导$G$的尽量稠密,当L1向量范数$||G||_1$小于上界$g$时,则不进行惩办。$d$的惯例设计是$d(a,b)=\psi(ReLU(a-b))$,$\psi$能够是各种范数,包含L1、L2和smooth-L1范数。$g$的设置需满足$g\ge K$,因为$||G^k||_{\infty}=1$,共有K个$G^k$。综合下面的办法,$\Phi_0$从新定义为:
$V_G={G\in [0,1]^{C\times K}:||G^k||_{\infty}=1}$,$\mu$为均衡因子,$\Phi$可看作是filter-class entanglement的损失函数,将$\Phi$替换公式1的$\Phi_0$失去放松后的残缺的优化问题:
公式3可通过梯度降落联结优化$\theta$和$G$失去类特定卷积核,而且$G$能精确地形容卷积核与类别间的相关性,比优化本来离散的优化问题要简略得多。
Optimization
针对CSG算法的场景,论文提出PGD(approximate projected gradient descent)梯度降落来解决公式3的优化问题,当$G$进行梯度更新后,$G^k$会通过$||G^k||_{\infty}$进行归一化,保障$||G^k||_{\infty}=1$,而后裁剪到$[0,1]$。
因为CSG门路阻隔了大部分的特色,所以CSG门路的梯度回传比STD门路弱很多,如果按失常的形式进行训练,收敛成果会很个别。为此,论文提出alternate training scheme,在不同的周期交替地应用STD/CSG门路的梯度。如算法1所示,在CSG门路的周期,应用梯度$\lambda_1 CE(y||\tilde{y}^G_{\theta})+\lambda_2d(||G||_1, g)$更新$G$和$\theta$进行更新,而在STD门路的周期,则应用梯度$CE(y||\tilde{y}_{\theta})$进行更新。依据试验验证,这种训练方法在训练初期的分类成果会周期性稳定,但最终的训练成果比失常的训练方法要好,同时卷积核也能逐步分化成类特定卷积核。
Experiment
Quantitative Evaluation Metrics
论文试验应用了3种指标来验证CSG的有效性:
- classification accuracy,用来计算分类性能。
- mutual information score,应用互信息矩阵$M\in \mathbb{R}^{K\times C}$来计算类与卷积核的关系,矩阵元素$M_{kc}=MI(a_k||1_{y=c})$为卷积核$k$的特征值与类别$c$间的互信息。为了计算互信息,在多个数据集中采样$(x,y)$,$a_k$由所有样本的对应输入全局均匀池化得来,$1_{y=c}$为类别,$MI$的计算间接调用“sklearn.feature selection.mutual_info_classif”办法。互信息分数$MIS=mean_k max_c M_{kc}$,分数越高,则filter-class entanglement景象越少。
- L1-density,用来度量CSG的稠密性,计算方法为$\frac{||G||_1}{KC}$
后果如表1所示,能够看到CSG网络在分类体现上仅比STD网络要略微好一点,但其它指标要高出很多。
Visualizing the Gate/MI Matrices
为了展现卷积核与类别间的相关性,对管制门矩阵$G$和互信息矩阵$M$进行可视化:
- 图a表明CSG训练能失去稠密的CSG矩阵,每个卷积核仅对应一个或大量类别。
- 图b1和b2则表明CSG网络比STD网络有更高的互信息得分。
- 图c表明图a和图b1的最大元素简直是重叠的,卷积核可能依照稠密的CSG矩阵进行学习。
Application
定位工作上的性能比照,这里的定位是间接通过特色图的大小进行定位,非Faster-RCNN之类的。
反抗样本检测工作上的性能比照。
Conclustion
论文提出类特定管制门CSG来疏导网络学习类特定的卷积核,并且退出正则化办法来稠密化CSG矩阵,进一步保障类特定。从试验后果来看,CSG的稠密性可能疏导卷积核与类别的强关联,在卷积核层面产生高度类相干的特色表白,从而晋升网络的性能以及可解释性。
如果本文对你有帮忙,麻烦点个赞或在看呗~
更多内容请关注 微信公众号【晓飞的算法工程笔记】