使用 escnn 实现组等变神经网络

Escnn 是基于 PyTorch 构建的库,它本着几何深度学习的精神,为设计和训练组等变神经网络提供了一个高级接口。这篇文章介绍了重要的数学概念、库的关键参与者以及库的基本用途。

来源:RStudio AI博客

今天,我们继续探索组等变性。这是本系列的第三篇文章。第一篇是高层次的介绍:这到底是什么;等变性是如何操作的;以及为什么它与许多深度学习应用相关。第二篇试图通过从头开始开发组等变 CNN 来具体化关键思想。这很有启发性,但对于实际使用来说太过繁琐,今天我们来看看一个精心设计的高性能库,它隐藏了技术细节并实现了便捷的工作流程。

第一 第二

不过,首先让我再次设置背景。在物理学中,一个非常重要的概念是对称性,只要某个量被守恒,就会出现对称性。但我们甚至不需要依靠科学。例子出现在日常生活中,以及——否则为什么要写它——在我们应用深度学习的任务中。

在日常生活中:想想说话——例如,我说“天气很冷”。从形式上或从外延上讲,这句话现在和五个小时后的含义相同。(另一方面,内涵可能会有所不同!)。这是一种翻译对称的形式,即时间上的翻译。

在深度学习中:以图像分类为例。对于通常的卷积神经网络,图像中心的猫就是猫;底部的猫也是。但是一只睡着的猫,舒适地蜷缩成半月形“向右打开”的猫,与一只处于镜像位置的猫“不一样”。当然,我们可以通过提供两种姿势的猫的训练图像来训练网络将两者视为等同,但这不是一种可扩展的方法。相反,我们希望让网络意识到这些对称性,因此它们会在整个网络架构中自动保留。

这篇文章的目的和范围

escnn escnn 第一本笔记本 心盲症

话虽如此,让我们从软件开始吧。

使用 escnn

escnn Escnn torch 网状 网状 escnn escnn pip install git+https://github.com/QUVA-Lab/escnn ) ( ) (