如何构建可控滤波器和可控卷积神经网络
1) 简介
本文是教程“温和介绍可控神经网络”的第二部分,也是最后一部分。这是继第一篇文章之后的文章。第一篇文章提供了可控神经网络(S-CNN)的易于理解的概述,解释了它们的目的和应用。它还深入探讨了相关形式主义和关键概念,包括等变性和可控滤波器的定义。虽然下一段将简要回顾形式主义,但我们建议您阅读第一篇文章以完全理解。
在本教程的最后部分,我们将提供有关如何构建可控滤波器以及如何构建可控神经网络的指南。
快速术语回顾:
图3A:遵循该形式主义的神经网络表示。
- S:输入域空间。物体存在的空间(通常是ℝ³或ℝ²)。
- f ₙ:一个映射/函数,f ₙ:S → ℝ ͨ ʿⁿ ʾ(Fₙ),它描述了NN的第n个特征图。请注意,f ⁰是描述输入的函数(输入层),而对于n > 0,fₙ表示第n个特征图。
- Fₙ= ℝ ͨ ʿⁿ ʾ,它是映射f ₙ的值域。
- Φₙ:Fₙ→ F ₙ₊₁, n-th ͑是NN的特征图,通过核函数kⁿ:S → ℝ ͨ ʿⁿ ʾ ˟ ͨ ʿⁿ⁺ ¹ ʾ来描述。卷积的定义可在上面的第二个方程中看到。
- G:变换组(单个元素g)。
考虑到所有这些概念,我们已经能够定义卷积如下:
2) 可控卷积神经网络滤波器的设计
2.1 问题的形式化
如果对于每个G中的g,当一个输入函数f₀变换为Π₀(g)时,第n层的输出函数将被变换为Πn(g),则可以声明具有n层的CNN在相对于变换组G是等变的。
使此声明成立的一个充分条件是每个连续层对其直接输入的变换是等变的(见图3A)。网络的等变性通过归纳得到。根据第二篇文章中给出的定义,如果一个滤波器Φ满足以下条件,则它是等变的:
现在可以宣称可操纵神经网络理论的主要结果。
假设k是连接层f ₙ和f的内核,使得fₙ₊₁ = k* f ₙ。
如果卷积k* f ₙ对于变换g等变,则当且仅当:
或更简单
在更广泛的文献中[2,3],遵循这一限制的内核被称为g等变内核。由于内核约束以线性方式操作,所产生的解构成常规CNN中常用的无约束内核的线性子空间。经过更详细的研究,这个定义与上一篇文章中第2段介绍的可操控滤波器的概念密切相关。在实际操作中,为了得到这个结果,我们需要一个满足Eq.1的内核子空间的基础,表示为{k_1, …k_D}。这个基础的大小,表示为D,可以计算为D = cʿⁿ ʾ ˟ cʿⁿ⁺¹ʾ。随后通过对这个基础进行线性组合来得到内核k(x),网络通过学习这个过程中的权重:
在训练过程中,我们的方法涉及将输入层和输出层的尺寸设置为特定值,即cʿⁿ ʾ和cʿⁿ⁺¹。然后,根据我们希望的等变变换来解方程并确定内核基础。随后在训练过程中,我们学习与这些内核相关联的权重。
2.2 解方程
方程Eq.1的解决并非简单。它取决于三个主要因素:
- 空间S,无论是S= ℝ³还是S= ℝ²。
- 群G。
- 层的输入输出维度:cʿⁿ ʾ 和 cʿⁿ⁺ ¹ ʾ。
更具体地说,我们可以说群G的选择定义了网络的类型。具体而言,我们主要关注以下类型的网络:
- SO网络:等变于特殊正交群(SO)中的旋转。
- SE网络:等变于特殊欧氏群(SE)中的旋转和平移。
- E网络:等变于欧氏群(E)中的旋转、平移和反射。
如果我们在一个二维输入域中操作,我们有SO(2),SE(2),和E(2)网络[4]。相反,对于一个三维输入域,我们使用SO(3),SE(3),和E(3)网络[1],而且实际上这可以扩展到任何E(n)空间[6]。
将这项工作扩展到其他空间和对称性是一个持续研究的领域,鼓励感兴趣的读者调查数学研究领域中的希尔伯特空间和格林函数,本文不涉及此讨论范围。
然而,可以看出,在SE(n)网络的情况下,方程式1的一般解是在S = ℝⁿ中的谐波基函数。上图(图3B)展示了左边是在ℝ²中的谐波函数,右边是在ℝ³中的谐波函数。
考虑一个更多滤波器设计的场景,在下图图3C中,例如,我们可以看到对于输入层f₀: ℝ²->ℝ³和输出层f₁:ℝ²->ℝ²,如何构建一个SO2可转变等变核。该核是一个函数k: ℝ²->ℝ³ˣ²。矩阵的每个单个元素是通过对D基础在位置(x₁,x₂)进行线性加权组合所得的函数得到的。我们以x=(1,2)作为示例。
接下来,我们将展示一些简单的解,考虑S=ℝ²和G作为旋转变换集合的情况。
2.3 实用解决方案
– Case1A:SO2网络,k: S=ℝ² → ℝ
让我们想象一个实际情况,输入是一个灰度图像,我们想要构建一个可转变的滤波器来处理它。首先,我们必须决定输出层的维度(特征数量)。为了简单起见,我们取维度为1。在这个设置中,我们有一个输入函数f: ℝ²-> ℝ和一个类似的输出函数f₁: ℝ²-> ℝ。因此,核函数是k: ℝ² -> ℝ。我们希望我们的CNN层对一组变换G保持等变性,这组变换表示角度范围在[0,2π)内的旋转(SO网络)。对于这个问题,核函数的基础需要使用方程式1。鉴于f和f¹都是标量,Pi_out = 1,Pi_in = 1。这导致k[g_θ(x)] = k[x],如方程式3所写。如果x = (x₁,x₂)在ℝ²中,g(theta)与2D欧拉矩阵对齐。
可以轻松看出,这由每个各向同性函数在(x₁,x₂)处解决。具体来说,这解决了由各项同性(旋转不变)核的一维基础组成的问题(即k(x₁,x₂) = x₁² +x₂²)。
案例2: SO2滤波器,k: ℝ² → ℝ²
现在我们来看一个更复杂的情况。输入函数是f: ℝ² → ℝ²,输出层是一个函数f ₁: ℝ² → ℝ²。核函数可以被写成k: S= ℝ² → ℝ² ˣ ²的形式;换句话说,对于ℝ²中的每个位置x,我们有一个二维矩阵2×2(见下面的方程)。我们想要构建SO2滤波器,所以要考虑的变换组仍然是G={g(θ)}={r(θ)},其中θ ∈ [0,2Π[。由于f和f ₁的值域都是ℝ²,我们有Π_out=Π_θ和Π_in=Π_θ,其中Π_θ是ℝ²中的Euler矩阵。考虑到所有这些条件,我们可以将上述的方程1重新写成如下形式:
有关此方程的解以及其他见解的更全面理解,请参考该论文[4]的附录部分。
2.4 网络非线性
到目前为止,我们只考虑了卷积操作的等变性,未考虑由函数σ(f(x))给出的非线性部分:ℝ=ℝ ͨ →ℝ ͨ’。在论文[1]的第4.3部分和论文[4]的第2.6部分对此进行了广泛的讨论。给定函数f(x),等变性的条件可以总结如下:
正如在相关的YouTube讲座中提到的,可以通过使用所谓的基于范数的激活函数(如σ(u) = σ(||u||))来创建满足这个条件的激活函数。这样做的动机是标量范数是透明不变的,所以对其应用任何非线性函数都将得到一个不变的输出。为了证明这一点,当我们将这个公式应用到上述方程中时(即方程(5)的条件),我们得到以下方程:
如果’g’属于E变换组,范数保持不变。因此,当Π’(g)等于Identity时,该方程是普遍有效的。这意味着特别设计的激活函数在旋转不变性方面是一致的。一个例子是Norm-ReLUs,由η(|f(x)|) = ReLU(|f(x)| − b)定义
研究论文和讲座也提出了其他非线性激活函数,例如非门控激活函数。我们建议读者参考这些来源以获得进一步的解释。
3) 设计一个可控的卷积神经网络(CNN)
在之前的课程中,我们掌握了构建单个可操纵滤波器的基础知识。在这个结束的部分,我们将深入探讨将这些滤波器有机地集成在一起以建立完全功能的可操纵神经网络的方法。
在上面的图片中,我们可以看到文章[3]中的一个例子。我们对第2层特别感兴趣,这里使用了可操纵滤波器。在这里,每个水平表示都是一个可操纵滤波器,是加权谐波函数的组合,产生一个独特的输出,表示为single fⁿ。观察结构,显然无论滤波器如何变化,谐波函数都保持一致,但它们的定向性却不同。这是G卷积技术的象征,这是一种复杂的方法,有助于构建对变换不变的网络(您可以在此处找到有关该技术的更多信息)。该网络利用最大池化的强大功能,将来自可操纵滤波器阵列中最强大的响应引导到后续层中。这种选择性传输的原则确保了最强的特征在网络中的进一步处理过程中被保留和增强。这种方法与其他作品中实施的方法相似,例如参考[5]中成功构建的一个尺度不变的可操纵网络。此类可操纵卷积神经网络的架构受益于这种技术,因为它自然地融合了尺度和旋转不变性,从而丰富了网络识别模式和特征的能力,以更加抽象而又稳健的方式。
无论如何,从图片上可以看出,最终结果是一个对旋转等变的网络。
这个链接包括了一个关于设计可操纵神经网络的详细的逐步解释,这个链接可以在Github repo“e2cn”(link)中找到。在这个repo中,可以找到设计SE2可操纵网络的PyTorch代码。相反,在这个链接中可以找到设计SE3网络的有用代码,而有关3D等变网络的快速课程可以在这里找到。
文献:
[1] “三维可操纵卷积神经网络:学习体积数据中的旋转等变特征”,Weilier 等人,(link);
[2] “可操纵卷积神经网络”,Cohen 等人。(link);
[3] “学习对旋转等变的卷积神经网络的可操纵滤波器”,Weilier 等人,(link)
[4] “通用 E(2)-等变可操纵卷积神经网络”,Weilier 等人,(link)
[5] “用于局部尺度不变卷积神经网络的尺度可操纵滤波器”,Ghosh 等人。(link)
[6] “构建 E(n)-等变可操纵卷积神经网络的程序”,Cesa 等人。(link)
✍️ 📄 关于作者:
1️⃣ Matteo Ciprian,机器学习工程师/研究员
- 在帕多瓦大学获得电信工程硕士学位。目前在传感器融合、信号处理和应用人工智能领域工作。在电子健康和可穿戴技术领域的与AI应用相关的项目经验(学术研究和企业领域)。专注于开发异常检测算法,以及推动深度学习和传感器融合技术的技术。着迷于哲学。在Youtube上内容创作者。🔗 链接:💼Linkedin📹Youtube👨💻Instagram
2️⃣ Robert Schoonmaker, 信号处理/机器学习研究员
- 持有杜伦大学计算凝聚物理学博士学位。专攻应用机器学习和非线性统计学,目前研究合成孔径雷达和类似系统上使用GPU计算方法的应用。经验包括开发用于传感器融合和定位技术的对称机器学习方法。🔗 链接:💼 Linkedin