当前位置:   article > 正文

[论文理解]群卷积神经网络Group Equivariant Convolutional Networks(G-CNN)

group equivariant convolutional networks

在这里插入图片描述

0.前言

0.1 借鉴来源

仿照了这个博主的方法,读每一篇文献的时候都要问自己
它做了什么?用什么方法做的?效果如何?有什么缺点?
这些几个问题,以加深自己的理解。

参考了外网一个博主的博客几何深度学习:群等变卷积网络

参考了知乎回答:从群等变卷积网络到球面卷积网络

参考了一个lecture的PPT,链接一时没找到,有需要的话我再去找找。
在这里插入图片描述

0.2 后续代码解读

这篇博客主要是对G-CNN的原理进行讲解,后续可能还会有对github源代码的解读,敬请期待!届时链接会贴在这里。

0.3 卷积和相关的“等价性”

回顾一下“卷积/自相关”的公式 [ f ∗ g ] ( s ) = ∫ − ∞ + ∞ f ( x ) g ( s − x ) d x {\left[ {f*g} \right]\left( s \right) = \int_{ - \infty }^{ + \infty } {f\left( x \right)} g\left( {s - x} \right)dx} [fg](s)=+f(x)g(sx)dx

[ f ⋆ g ] ( s ) = ∫ − ∞ + ∞ f ( x ) g ( s + x ) d x {\left[ {f \star g} \right]\left( s \right) = \int_{ - \infty }^{ + \infty } {f\left( x \right)} g\left( {s + x} \right)dx} [fg](s)=+f(x)g(s+x)dx
这里s都是Z^2上的点。可见要实现卷积/自相关,函数 f f f g g g有一个必须进行翻转或平移,而 s s s放在哪里,代表哪个函数要进行相应的翻转或平移操作。G-CNN的思想在于,它把图像可能存在的各种旋转、对称等操作丢给了滤波器,让输入保持不变,而滤波器进行各种变换,二者在数学上是等价的。

这个等价性非常重要,因为论文中的卷积运算,其实都是“相关”运算。卷积是 ∗ * ,而相关是 ⋆ \star 。前面我都有注意区分,但是3.5.2之后我有些地方的 ∗ * 没有改成 ⋆ \star ,大家注意下就好。(论文作者反正就是最开始声明下二者是可以互换的,然后就混用起来了,无语)

1. 几个问题

做了什么

  1. 提出了群等变卷积神经网络(Group equivariant Convolutional Neural Networks,G-CNNs),通过采取对称性减低了采样复杂度
  2. G-CNN将CNN对平移群的等变性(下文会解释)推广到更大的对称群,包括旋转反射

工作原理

将图的变换等价为滤波器的变换,借鉴了群论思想。

输入图像经过G-CNN卷积层后的特征图具有群的结构,对输入图像进行任何在群中的变换,输出特征图都是不变的,因而对群中的操作具有鲁棒性。将输出特征图进行全连接层回归,进行预测即可。

特点/优点

  1. 比常规卷积层有更高的权重共享程度。
  2. 卷积层易于使用,对于由平移、反射和旋转产生的离散组,可以用可忽略的计算开销来实现。
  3. 在不增加参数的情况下,G-CNN提高了网络的表达能力。

2. 论文的一些论点

  1. 虽然目前缺乏设计神经网络的优秀理论,但大量的经验证据表明,实现卷积权值共享(weight sharing)、加深网络深度(depth)可以提高神经网络预测性能。(博主注:权值共享相当于在layer之间加入信号流通机制,或者是添加约束,使神经网络能适应特定的任务;加深深度可以一定程度增加函数的拟合能力。)
  2. 很多cv任务中的lable和data都具有平移对称性。意思是, 这些lable和data进行平移,他要表达的意思是不变的。
  3. CNN在深层次网络中很有用,因为它具有平移等变性(translatoin equivariant)。(什么是平移等变性呢?作者的解释是:将图片平移后再送入若干卷积层得到的结果,与将原图直接送入相同卷积层得到结果后再对特征图进行平移所得到的结果一样。也就是说,对原图进行平移,和对原图的特征图进行平移,得到的输出是一样的。)
  4. 在深度学习中, 等变性(equivariance)不变性(invariance) 更有用,因为如果特征不变,就不可能确定特征是否处于正确的空间配置中。
  5. 除了提高统计效率和促进几何推理外,在对称变换下保持等变性约束了网络,从而有助于网络性能的泛化。

3. 数学部分

3.1 不变性(Invariance)和等变性(equivariance)

不变性指的是,对输入进行一定的变换,输入会保持不变。以毕加索的画为例,无论输入的画风多么艺术化,如果网络的识别结果都是“人”,则说明该网络具有不变性

在这里插入图片描述

等变性是函数上的概念。

在变换群 G G G和域 X X X下,函数 Φ \Phi Φ被认为是等变的,当下式成立:

Φ ( T g 1 ( x ) ) = T g 2 ( Φ ( x ) )      ∀ ( x , g ) ∈ ( X , G ) \Phi \left( {T_g^1\left( x \right)} \right) = T_g^2\left( {\Phi \left( x \right)} \right)\;\;\forall \left( {x,g} \right) \in \left( {X,G} \right) Φ(Tg1(x))=Tg2(Φ(x))(x,g)(X,G)

注:一般而言,这里的 x ∈ Z 2 x \in Z^2 xZ2。其实 x x x代表的是一张图像,写成 f ( x ) f(x) f(x)会更容易理解。 f ( x ) f(x) f(x)的意思是,在坐标 x x x处,像素的值为 f ( x ) f(x) f(x)。此时 Φ ( T g 1 ( x ) ) = T g 2 ( Φ ( x ) )    \Phi \left( {T_g^1\left( x \right)} \right) = T_g^2\left( {\Phi \left( x \right)} \right)\; Φ(Tg1(x))=Tg2(Φ(x))就可以写成 Φ [ T g 1 [ f ( x ) ] ] = T g 2 [ Φ [ f ( x ) ] ]    \Phi \left[ {T_g^1\left[ {f\left( x \right)} \right]} \right] = T_g^2\left[ {\Phi \left[ {f\left( x \right)} \right]} \right]\; Φ[Tg1[f(x)]]=Tg2[Φ[f(x)]]

其中 x x x属于域 X X X,比如平面实数域 R 2 R^2 R2,整数域 Z Z Z等等; g g g属于群 G G G T g 1 T_g^1 Tg1 T g 2 T_g^2 Tg2都是 g g g的算子形式。举个例子,如果 G G G p 4 p4 p4群, g g g就可以 r r r,也就是旋转 90 90 90度。而 T g T_g Tg是对 g g g的算子实现,根据作用对象的不同可以有很多形式。作为具体的算子形式, T g 1 T_g^1 Tg1 T g 2 T_g^2 Tg2不一定完全一样,但是他们实现的“效果”是一样的。下图就是旋转的一种矩阵实现,也可以有很多其他方法。
在这里插入图片描述
等变其实就是算符和函数间能够互相交换,存在对易性。

通俗点解释就是,对原图进行 T g T_g Tg变换,和对原图的特征图进行 T g T_g Tg变换,得到的输出是一样的。

二者对比:

不变性: Φ ( T g ( x ) ) = Φ ( x ) \Phi \left( { {T_g}\left( x \right)} \right) = \Phi \left( x \right) Φ(Tg(x))=Φ(x)
等变性: Φ ( T g 1 ( x ) ) = T g 2 ( Φ ( x ) )    \Phi \left( {T_g^1\left( x \right)} \right) = T_g^2\left( {\Phi \left( x \right)} \right)\; Φ(Tg1(x))=Tg2(Φ(x))

3.2 CNN的等变性

CNN对平移具有等变性
CNN对旋转不具有等变性

稍后会进行更详细的解释和证明。

3.3 群的概念

3.3.1 对图像的一些基本操作

在这里插入图片描述
假设有一个仙人掌的照片, r r r代表顺时针旋转90°, m m

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/346270
推荐阅读
相关标签
  

闽ICP备14008679号