【论文阅读18】Meta-Learning Symmetries by Reparameterization——利用元学习学习保持运算等变性的结构

这个文章可是难到我了,谁让年轻的时候抽🐘代数学得菜呢?

好在可以举例子明白其中的道理┭┮﹏┭┮

为什么读

  • 元学习新作
  • 作者之一是Finn啊doge

文献链接:Meta-Learning Symmetries by Reparameterization,原作者提交于2020/07,挂出来了。

文献总结

用强大的神经网络去学习一些参数,它们表示某种变换(如卷积),能对特定的任务(如图像相关)满足某种等变性。

其实就是重参数化网络的隐层,学习像卷积这样的运算的模式pattern,可以满足像对图像平移变换的等变性,并利用元学习进一步学习此pattern

文献内容

目的

和文献总结一致!

背景

背景一方面是CNN,可以认为卷积满足对图像平移变换的等变性,如果像卷积这样的运算可以推广,并满足各种特定运算的等变性,那一定是很🐂🍺。

另一方面是文章里的related work,不过我暂时不感兴趣没看。

方法

说实话我感觉不好总结,姑且分两个部分,一部分讲等变性对应的代数基础,另一部分讲网络参数设置的形式(以使用元学习训练)。

等变性的代数理论

3.2节提到了群卷积是什么,我不(代)太(数)明(太)白(差),举个例子吧。

网络隐层的输入输出都是空间 $X$ 的函数。比如是 $R^n$ 中一个向量,它相当于一个映射,从指标集 $X={1, \cdots, n}$ 映射到对应的 $n$ 个实数。

$X$ 上的实值函数集合定义为 $F_X$ ,群 $G$ 作用在 $F_X$ 上,通过 $\pi:G\rightarrow GL(F_X)$,这个 $\pi$ 称为representation,把群 $G$ 中的元素 $g$ 映为 $F_X$ 中的一个可逆线性变换。

注意 $G$ 对 $X$ 的作用是一个 $g\rightarrow F_X$ 的映射,

即 $F_X$ 中的可逆线性变换 $f$,当然 $f$ 作用的元素是 $X$ 中的元素 $x$ ,因为 $f$ 是 $X$ 上的实值函数嘛,现在 $\pi(g)$ 是一个可逆线性变换,假设就是 $f$ 的逆变换,所以 $\pi(g)$ 复合 $f$ 是一个函数且是恒等映射,即 $(\pi(g)f)(x) = I(x) = x$

文章写的符号我没看懂,但是看例子懂了, $G=X$ 时,定义作用为 $R^2$ 上的加法平移,则 $g^{-1}x$ 是 $x-g$ , $gx$ 是 $x+g$ ,

3.3节表示,定义网络隐层为一个函数 $\phi:F_X\rightarrow F_Y$, $G$ 有等变性,举个简单例子, $X$ , $Y$ 是输入图片网格和输出特征图的网格,所以, $F_X$ 中的元素就是网格大小的图片, $F_Y$ 中的元素就是特征图大小的图片;3式左边就是先对隐层输入做一个平移变换,再输出特征图,右边相当于先输出特征图,再做输出空间上对应的平移变换。

一个特例是,如果 $\pi$ 是id恒等映射,即 $X$ 、 $Y$ 空间上平移是一致,一样的,那么就叫不变性,先平移再映射和先映射再平移是一样的;注意这里的两个平移现在是数值上相等,但空间是其实分别是 $X$ 和 $Y$ 。

由于等变性对于函数复合可以保持,那么如果所有隐层都有等变性,那么整个网络也有。

线性层是基本的层,希望用它学习参数的共同pattern,达到使之有等变性(像群卷积)。

最后重述一下MSR方法吧,即学习和编码等变性,这个学习就是学习隐层参数的共享pattern,编码是指在代数上找到上文所述的一个灵活的representation。

网络参数形式

其实具体的例子参考文中的图1即可。

4.1节表示,隐层权重矩阵是图1那样形式叠加的矩阵,这就是一种constraint,就是一种pattern,结果是对平移有等变性。现在希望推广到其它的变换,旋转,镜像什么的,但是咱们没有思路怎么去做,所以就用简单的FC层模拟,设置 $y=\phi(x)=Wx, W\in \mathbb{R}^{m\times n}$ ,然后学习 $W$ 就是在学习这个pattern了。

接着阐释了这个pattern不是直接去学习 $W$ ,这样也看不出有什么pattern。我猜是参考了矩阵分解的概念, $vec(W)=Uv, v\in\mathbb{R}^k, U\in\mathbb{R}^{mn\times k}$ , $W$ 分解为伪对称矩阵 $U$ 和滤波参数向量 $v$ 的积, $U$ 的维度就是 $W$ 完全展开,再复制个 $k$ 份, $k$ 就是参量 $v$ 的维度,应该可以自行设置。所以pattern实际上就是 $U$ , $U$ 可以限制最后 $W$ 的形式,滤波参数 $v$也要根据实际任务训练。

For example, the sharing pattern of standard convolution guarantees that the weight matrix is constant along any diagonal, reducing the number of per-task parameters

显然 $U$ 的维度会很高,怎么办?Kronecker factorization,就是参数化的方式,和我之前看的文章和做的实验都是一致的想法!

4.2节继续,那么 $U$ 具体怎么设置呢?和输入的形式有一些关系…举例子吧,从基本的网格空间 $X$ 上选位置,得到输入 $f$ ,即 $f:X\rightarrow R^c$ ,这个输入是向量(矩阵或者矩阵展开应该也行)。假定 $f$ 是 $s$ 维的, $\bar{f}\in\mathbb{R}^s$ ,其中 $\bar{f}_i=f(x_i)$ 。引理就是保证了可以由这个 $U$ 保持群的作用,即保持某种运算的等变性;引理分两部分,一部分是给定群后,群的作用就定了,即运算定了,该运算的等变性存在 $U$ 来保持;第二部分是此 $U$ 存在时,任何 $G$ 卷积都可以由 $vec(W)$ 表示出来。所以 $U$ 就设置成一个固定长度的参数向量,把它参数化为矩阵或者向量本身都可以,进一步得到pattern的形式,这样就是能训练的。证明估计我也看不懂了…

优缺点

优点:

  • 优点:学习保持等变量性质的参数pattern—>泛化,减少参数用量,适用小样本
  • 从卷积的应用开始,等变性很重要—>是未来发展的方向之一
  • 未来自动寻找潜在的特殊结构的算子?像卷积这样的带有等变性的
  • quickly discovering symmetries的应用

缺点:

  • 我也不知道,可能要根据等变性做监督,训练得到 $U$ 具体的形式,这算不算一种手动设置呢。好吧我其实在杠,还是暂时挑不出毛病

附录——“快乐”的阅读体验

我的阅读历程😭😥😪😵,仅个人记录于此,不建议看官阅读…应该看不懂的,只是一些个人阅读思路。和上文基(是)本(水)重(字)叠(数)

  • 标题中什么叫元学习的对称性?

    这里应该不是指“元学习有对称性”,而是一个广泛的概念,是要学习某种对称性,包括数据本身性质、任务之间关联性,以及某些对数据运算的性质(如旋转镜像这样的运算算子)

  • 摘要中:

    • 等变量equivariances是什么意思?

      参考链接CNN 中等变性(equivariant)与不变性(invariant)的关系即可,确实是,经过某些特定运算,特定的输入模式能够保持不变

    • 感觉文章的卖点是从数据(含某种对称性)中(元)学习这个所谓的等变量,学习的方式是用网络学习等变量对应的parameter sharing patterns,用参数化形式学习表达出这种模式!

  • 引言中:

    • 等变量的起源——CNN,利用等变量做了某种对称变换,来保护参数,提高泛化能力。什么意思?大概就是卷积(层)这个操作,这个变换允许输入输出的对应变化(平移)有不变性,叫做translation equivariant,即输入(图像)经过特定的平移变换后输出也会经过类似的变换。
    • 第一段提到了translation equivariant,这是个名词,专指平移不变性,不是混淆为广泛的变化!知乎CNN 中等变性(equivariant)与不变性(invariant)的关系讲得很好!
    • 上面的指CNN利用的卷积,其本身有这种平移不变性,因此在特定任务上(图像相关)表现很好。现在本文试图找其它的内在的等变量。
    • 目的出现!引言第3段,在神经网络中自动学习等变量。有利于迁移,不需手动设计像卷积这样有平移等变性的算子,直接去寻找等变量。怎么自动学习?重参数化网络的隐层,以学习表示共享的pattern,并利用元学习进一步学习共同的pattern
    • 引言最后一段讲的什么?网络怎么等价于有限对称群?这对称性和拓扑怎么关系上了?抽🐘代数🐕表示很淦…
  • 相关工作看不懂,现在懒得看

  • 先修知识章节表示3.2、3.3节会给出等变量和群卷积的定义…早说啊

    • 3.1回顾MAML,这是典型的元学习,MAML也是这样么,和我记的不太一样啊?我要回去重看MAML了,我就记得它是学一个好的初始参数,具体怎么学的忘了

    • 3.2,对称性和等变性是群对集合作用的性质…复习一堆拓扑代数知识hahaha…群的定义,加法群…同态,从群 $G$ 映到 $X$ 的自同构群…自同构群,是群 $X$ 到自己的同构变换,且双射…

    • 3.2,群卷积是什么,隐层的输入输出都是空间 $X$ 的函数。比如说 $R^n$ 中一个向量相当于一个映射,从指标集 $X={1, \cdots, n}$ 映射到对应的 $n$ 个实数。

      $X$ 上的实值函数集合定义为 $F_X$ ,群 $G$ 作用在 $F_X$ 上,通过 $\pi:G\rightarrow GL(F_X)$,这个 $\pi$ 称为representation,把群 $G$ 中的元素 $g$ 映为 $F_X$ 中的一个可逆线性变换。

      注意 $G$ 对 $X$ 的作用是一个 $g\rightarrow F_X$ 的映射,

      即 $F_X$ 中的可逆线性变换 $f$,当然 $f$ 作用的元素是 $X$ 中的元素 $x$ ,因为 $f$ 是 $X$ 上的实值函数嘛,现在 $\pi(g)$ 是一个可逆线性变换,假设就是 $f$ 的逆变换,所以 $\pi(g)$ 复合 $f$ 是一个函数且是恒等映射,即 $(\pi(g)f)(x) = I(x) = x$

      文章写的符号我没看懂,但是看例子懂了, $G=X$ 时,定义作用为 $R^2$ 上的加法平移,则 $g^{-1}x$ 是 $x-g$ , $gx$ 是 $x+g$ ,

    • 3.3,定义网络隐层为一个函数 $\phi:F_X\rightarrow F_Y$, $G$ 等变性,举个简单例子, $X$ , $Y$ 是输入图片网格和输出特征图的网格,所以, $F_X$ 中的元素就是网格大小的图片, $F_Y$ 中的元素就是特征图大小的图片;3式左边就是先对隐层输入做一个平移变换,再输出特征图,右边相当于先输出特征图,再做输出空间上对应的平移变换。

      如果pi_2是id恒等映射,即 $X$ 、 $Y$ 空间上平移是一致一样的,那么就叫不变性,先平移再映射和先映射再平移是一样的;注意这里的两个平移现在是数值上相等,但空间是其实分别是 $X$ 和 $Y$ 。

    • 3.3,等变性对于函数复合可以保持,所以如果所有隐层都有等变性,那么整个网络也有。

    • 3.3,线性层,研究基本的层,怎么学习参数的共同pattern,达到使之有等变性(群卷积)。

    • 3.3,4式什么意思?没细看了,和之前写的3.2的式子应该是一致的

    • MSR方法干什么的:学习和编码等变性,这个学习就是学习隐层参数的共享pattern,编码是指在代数上找到一个灵活的representation

  • 讲方法了:

    • 4.1,FC层,权重矩阵是那样叠加的矩阵,这就是一种constraint,就是一种pattern,结果是对平移有等变性。现在希望推广到其它的变换,旋转,镜像什么的,但是咱们没有思路怎么去做,所以就用FC层模拟,设置 $y=\phi(x)=Wx, W\in \mathbb{R}^{m\times n}$ ,然后学习 $W$ 就是在学习这个pattern了。

    • 接着阐释了这个pattern不是直接去学习 $W$ ,这样也看不出有什么pattern,我猜是参考矩阵分解的概念, $vec(W)=Uv, v\in\mathbb{R}^k, U\in\mathbb{R}^{mn\times k}$ , $W$ 分解为伪对称矩阵 $U$ 和滤波参数向量 $v$ 的积, $U$ 的维度就是 $W$ 完全展开,再复制个 $k$ 份, $k$ 就是参量 $v$ 的维度,应该可以自行设置。所以pattern实际上就是 $U$ , $U$ 可以限制最后 $W$ 的形式,滤波参数 $v$也要根据实际任务训练。

      For example, the sharing pattern of standard convolution guarantees that the weight matrix is constant along any diagonal, reducing the number of per-task parameters

    • 显然 $U$ 的维度会很高,怎么办?Kronecker factorization,就是参数化的方式,和之前看的文章和做的实验都是一致的想法!

    • 4.2,那么 $U$ 具体怎么设置呢?输入的形式…举例子吧,从基本的网格空间 $X$ 上选位置,得到输入 $f$ ,即 $f:X\rightarrow R^c$ ,这个输入是向量(矩阵或者矩阵展开应该也行)。假定 $f$ 是 $s$ 维的, $\bar{f}\in\mathbb{R}^s$ ,其中 $\bar{f}_i=f(x_i)$ 。引理就是保证了可以由这个 $U$ 保持群的作用,即保持某种运算的等变性;引理分两部分,一部分是给定群后,群的作用就定了,即运算定了,该运算的等变性存在 $U$ 来保持;第二部分是此 $U$ 存在时,任何 $G$ 卷积都可以由 $vec(W)$ 表示出来。反正就是能训练的。证明估计我也看不懂

  • 实验日常不想看,但是说实话还是得康康代码的

  • 结论:

    • 优点:学习保持等变量性质的参数pattern—>泛化,减少参数用量,适用小样本
    • 从卷积的应用开始,等变性很重要—>是未来发展的方向之一
    • 未来自动寻找潜在的特殊结构的算子?像卷积这样的带有等变性的
    • quickly discovering symmetries的应用