TNNLS-2021-P-16342_Proof_hi.pdf

Journal: IEEE Transactions on Neural Networks and Learning Systems Manuscript ID TNNLS-2021-P-16342 Manuscript Type: Regular Paper Date Submitted by the Author: 28-Jan-2021 Complete List of Authors: Manaswini, Piduguralla; Indian Institute of Information Technology Vadodara Bhatt, Jignesh; Indian Institute of Information Technology Vadodara, Keywords: interpretable learning system, analytical convolutional neural network, glass-box neural network, equivariance representation

摘要

提出AlexNet的内部表示的一种等价表示,这种表示架构被称为glass-box,其可更好地理解和传播结果。在未来,该机构可用于构建一个可解释的复杂任务的glass-box cnn结构。

1. 介绍

对cnn的黑盒模式提出挑战

  1. cnn依赖梯度下降(原文minimal preprocessing)。
  2. cnn需要大量的超参数。
  3. cnn的架构需要人为设计。etc.卷积核、激活函数等。

    论文的上下文: 作者列举了knn、svm、gan、cnn、决策树、随机森林的出现,尤其赞美了cnn的表现。指出了cnn通过三种类型的层(卷积层、池化层、全连接层)搭建了类似于f(f(f(…)))的表达架构,赞同了cnn的强大的表达能力。

论文目标:肩比CNN架构的可解释架构

以SOTA的黑盒架构(cnn)为目标,实现了一个名为glass-box cnn的可解释架构。

2. 相关工作

cnn中的不变性与等变性是研究的热点问题。

cnn的等变性equivariance是指输出随输入而变化,这增加了表达能力。被训练的卷积核甚至获得了等效于传统的平移、旋转等变换。
cnn的不变性invariance是诸如平移不变性等。

读者补充v1: 等变性和不变性并不矛盾,它们是在不同的尺度上的概念。个人认为等变是客观内容上的变化,不变是主观语义上的不变。另外,等变性为cnn提供了表达能力,而在等变性的基础上,不变性为cnn增加了泛化能力。比如在识别猫的任务中,两张内容相同的猫的图片,它们仅旋转度不同。那么对于cnn中的一个卷积核而言,由于输入不同,那么输出也不同(等变性),但是对于整个任务而言,只要训练得好,那么识别结果是一样的(不变性)。

读者补充v2: cnn的卷积核参数共享使其具备了平移不变性, 而cnn的池化操作,尤其是最大池化, 对平移有近似不变性。 换句话说cnn具备不变性和等变性,等变性体现在输入平移则输出也平移,不变性体现在“虽然输出不同,但是不影响最终结果”, 这两个特性提高了cnn的泛化能力。

  • Invariant scattering convolution networks(ISCN)。

简单说:在cnn架构中采用旋转滤波器来代替卷积核,并保留了池化层。缺点在于:旋转滤波器的不变性不够,导致ISCN架构不足以处理复杂表示。

论文的上下文:ISCN论文认为,不同旋转度的小波作为过滤器(无需训练),可以获得图像对平移和旋转变换的不变表示。同时保留了池化层。作者的架构可解释,且类似cnn的架构(ffff(…)),使问题得到了不同尺度上线性化表示。

  • group equivariant convolutional networks(G-CNNs)

在传统CNN中存在的平移不变性的基础上,将旋转不变性和反射对称性包括在内(群组等变方差非扩张算子GENEOs)。优点:在相同参数的情况下,G-CNNs表达能力优于cnn。

读者补充: 在cnn之前,常采用HOG等的滑动窗口 + SVM的方式来解决任务。

方法

对复杂任务的分解方式(网络架构)

  1. 相比直接分离任务,作者采用了类似cnn架构的线性化的分解方式(ffff(…))。
  2. 提出浅层的网络架构,先后分为三层:表示层 -> 降维层 -> 分类层 。
    1. 表示层:获得输入数据的等变表示和不变表示。
      1. 使用scattering wavelet transform (SWT)作为过滤器来实现不变性;
      2. 使用IENEOs来作为过滤器来实现等变性。
    2. 降维层:获得特征。
      1. 使用PCA实现。(作者:保留80%的主成分时最好)
    3. 分类层:输出分类结果。
      1. 使用传统机器学习的svm等实现或神经网络的mlp实现。

image.png

SWT来实现不变性

glass-box cnn的作者使用了散射层数为1的小波散射变换来作为cnn架构中过滤器,具体使用Morlet小波。
image.png
J-散射层数;L-散射数量。

读者补充1: SWT和IENEOs作为过滤器,做卷积操作。

读者补充2: scattering wavelet transform 小波散射变换(相关介绍): image.png

scattering wavelet transform 也出现2012年的Invariant scattering convolution networks(ISCN)论文中,其中参数不被训练。

在数学上,莫莱小波(Morlet wavelet)(或是Gabor wavelet)是一种由复数指数(载波)乘以高斯窗(包迹)组成的小波。 这种小波和人类的感知相关,包含视觉以及听觉。

使用IENEOs来实现等变性

下面,H函数来实现空间变换,这个空间变换由多个不同参数p的高斯函数g所构成。
image.png
image.png
IENEOs实现了欧几里得空间上的等变性。等变性是稳定的,且同类的图像的等变也更相似:

image.png

读者意见: 作者衡量等变性的标准是:增加类间距离和减少类内距离、减少数据变化的同时保留类信息。这相当于站在降维的角度、站在聚类的角度,所以这个等价性的变换是否被局限在特殊的分类任务上?

如下是否使用等变表示的对比。可以发现等变表示之后,增加类间距离和减少类内距离。 image.png

MLP带来灵活性。

image.png

实验结果

比较AlexNet CNN。

image.png
结果分析

  • 小数据上(植物数据、癌症数据、皮肤数据),glass-box好于AlexNet。AlexNet会过拟合。
  • 大数据上(猫狗数据、Cifar10),AlexNet好于glass-box。
  • glass-box的分类层使用SVM好于使用mlp。

比较传统的分类器(KNN、RF和SVM)

image.png
结果分析

  • 比直接使用knn和svm等好。

比较cnn的平移不变性和旋转不变性

image.png

结果分析

  • glass-box更好

读者意见: 平移不变性和旋转不变性的实验结果真的能说明glass-box的优势吗?这里不讨论Alex代表cnn的问题或者Alex的训练问题。在其他方面,作者一直在建立了只要搞好不变性和等价性就能效仿cnn成功的假设,我认为这个假设极其错误。另外,见下图,小波分析是一种“稀疏”表示,其本身就不能充分利用数据本身的几何特征。作者的实验,只能说明这个小波的缺点使得它比AlexNet更有不变性,但是这种不变性到底能有多大潜力呢?在复杂语义的不变性上是否有效呢? image.png

作者展望

研究等变表示和创建这样的网络,该网络有潜力超越ResNet-50等深度cnn架构。希望更全面地理解多类视觉复杂任务的内部数学结构。

读者意见:

  • 在大数据集上,glass-box模型与Alex还是差距很大。
  • 在小数据集上,作者提到AlexNet的过拟合问题,在AlexNet之后被大幅地缓解了。
  • 作者专门提出可伸缩版本的glass-box cn(结合mlp),但是实验结果并不好。
  • 作者对比AlexNet,但是cnn的发展早已非AlexNet能比肩。
  • 网络架构受限(三层:表示、降维、分类),这不足以应对其他任务,作者也只做了分类数据的实验。
  • 这种不变表示和等变表示到底起到了多大优势?

下面jun一句话:()

  1. 总结工作(可解释的思路:模拟cnn的工作机制)。 (2小句)。
  2. 实验结果欠缺说服性。仅在小数据集上,达到alex水平,并不能说明。。。补充:就算不用cnn,在传统方法该水平。如果在大数据上有所证明?

下面是读者的胡扯:

  • 作者对比Alex,试图将glass-box暗示为一个有cnn潜力的新事物。
    • 在读者看来,文章大幅内容不是很有新意,无论在解释和实现cnn的等变性与不变性上,都太多借鉴ISCN和G-CNNs的内容。而事实上,ISCN论文在2012年被提出正是因为AlexNet的影响。
  • 可解释论文不应该只讨论cnn的表达能力,cnn的表达的灵活性也是很大优势。
    • 能在cnn架构的基础上预设的过滤器来代替卷积核,也未必能解决类似resnet带来的网络深度和泛化能力,以及宽泛的任务解决能力。就算这一切都行,那么在其他复杂任务上时,预设过滤器的网络架构会不会也有过拟合问题,如果有过拟合问题,什么办法能有效解决呢?