首页 > 其他分享 >图上平移不变性问题

图上平移不变性问题

时间:2023-11-03 09:34:52浏览次数:35  
标签:平移 卷积 神经网络 图上 图像 不变性 数据

平移不变性问题

1.数据域

随着网络时代的发展,生活中产生的数据量越来越多,但数据大体分为两类欧几里得数据、非欧几里得数据。如下图为两类常见的数据:

1.1 欧几里得数据

它是一类具有很好的平移不变性的数据。对于这类数据以其中一个像素为节点,其邻居节点的数量相同。所以可以很好的定义一个全局共享的卷积核来提取图像中相同的结构。常见这类数据有图像、文本、语言。

数据特点:具有规则的空间结构,数据序列有序性、维数一致性

  1. 图像中的平移不变性:即不管图像中的目标被移动到图片的哪个位置,得到的结果(标签)应该相同的。
  2. 卷积被定义为不同位置的特征检测器

图像:图像是一种2D的网格类型数据,通常用矩阵进行存储。

文本:文本是一种1D的网格类型数据,通常可以用向量进行存储。对于文本,我们通常做法是去停用词、以及高频词(DIFT),最后嵌入到一个一维的向量空间。

1.2 非欧几里得数据

它是一类不具有平移不变性的数据。这类数据以其中的一个为节点,其邻居节点的数量可能不同。常见这类数据有知识图谱、社交网络、化学分子结构等等。

这类数据由于其不具备平移不变性,不能利用卷积核去提取相同的结构信息,所以卷积神经网络对于这类数据无能为力。所以衍生出了处理这类数据的网络,即图神经网络

数据特点:不具备规则的空间结构序列无序性、维数可变性

1.3 卷积神经网络数据域特点

CNN等传统卷积

数据对象:欧几里得空间数据

数据特点:具有规则的空间结构,数据序列有序性、维数一致性

局限性

​ •只能输入固定维度的数据

​ •局部输入数据必须有序

​ •语音、图像、视频等数据满足以上两条,但是并不适用于图结构数据

GNN等图卷积

数据对象:非欧几里得空间图结构数据

数据特点:不具备规则的空间结构序列无序性、维数可变性

图卷积神经网络则弥补了传统卷积网络难以处理非欧空间数据的不足

2.平移不变性

2.1 平移不变性定义

平移不变性(Translation Invariance):在图像分类任务中,不变性意味着,当所需要识别的目标出现在图像的不同位置时,模型对其识别所得到的标签应该相同。即当输出进行变换后,还能得到相同的输出。

\[F(x)=F[transform(x)] \]

2.2 平移相等性

平移相等性(Translation Equivariance):指在目标检测任务中,如果输入的图像中,对应的目标发生了平移,那么最终检测出的候选框也应发生相应的变化。即对输入进行变换后,输出也会发生相应的变换。

\[transform[F(x)]=F[transform(x)] \]

3.平移不变与同变的讨论

平移不变性意味着系统产生完全相同的响应(输出),不管它的输入是如何平移的 。平移同变性(translation equivariance)意味着系统在不同位置的工作原理相同,但它的响应随着目标位置的变化而变化 。

4. 为什么卷积神经网络具有平移不变性

卷积神经网络中的平移相等性(Translation Equivariance)是由卷积操作带来的:卷积具有局部连接参数共享的特性,当移动输入图像中的目标时,由于局部连接和参数共享的特点,对于移动后的目标,经过卷积操作后,也能得到同样的特征输出。

简单地说,卷积+最大池化约等于平移不变性。

卷积:简单地说,图像经过平移,相应的特征图上的表达也是平移的。下图只是一个为了说明这个问题的例子。输入图像的左下角有一个人脸,经过卷积,人脸的特征(眼睛,鼻子)也位于特征图的左下角。

假如人脸特征在图像的左上角,那么卷积后对应的特征也在特征图的左上角

在神经网络中,卷积被定义为不同位置的特征检测器,也就意味着,无论目标出现在图像中的哪个位置,它都会检测到同样的这些特征,输出同样的响应。比如人脸被移动到了图像左下角,卷积核直到移动到左下角的位置才会检测到它的特征。

池化:比如最大池化,它返回感受野中的最大值,如果最大值被移动了,但是仍然在这个感受野中,那么池化层也仍然会输出相同的最大值。这就有点平移不变的意思了。

所以这两种操作共同提供了一些平移不变性,即使图像被平移,卷积保证仍然能检测到它的特征,池化则尽可能地保持一致的表达。

参考链接

卷积神经网络为什么具有平移不变性? | Tina's Blog (zhangting2020.github.io)

关于平移不变性与平移相等性的理解与讨论 - 知乎 (zhihu.com)

AI面试题之深入浅出卷积网络的平移不变性-CSDN博客

标签:平移,卷积,神经网络,图上,图像,不变性,数据
From: https://www.cnblogs.com/jzYe/p/17806875.html

相关文章

  • 在MATLAB中将两条曲线画在同一个图上
    在MATLAB中将两条曲线画在同一个图上,如果直接采用下面的代码,那么画的第二个图会将第一个图覆盖plot(x,p1,'LineWidth',2);plot(x,p2,'LineWidth',2);正确的做法是在两条语句中间添加holdon;plot(x,p1,'LineWidth',2);holdon;plot(x,p2,'LineWidth',2);———————————......
  • 如何判断一个点在地图上?如何判断一个点在多边形内?
    highlight:a11y-dark近期,有接手到一个echarts地图图表项目,因为采集的散点数据很多打不到准确的地图点上,故有了这个问题。一般而言,标题的两个问题其是同一个问题,因为对与一个地图数据,也就是geoJson来说,其实就是一个有很多个点的多边形。目前来说判断点是否在一个多边形内,江......
  • Solution Set - 图上问题
    CF360ELink&Submission.首先显然可以选择的边的权值一定会取端点值。事实上,第一个人经过的边选最小,第一个人不经过的边选最大,这样一定不劣。进一步,如果\(s_1\)到点\(u\)的距离小于等于\(s_2\),则\((u,v)\)这条边应该取最小值。所以可以初始全部当作最大值,不断选择一条边修......
  • 可持久化非确定状态AC自动分块维护线段平衡仙人掌优化最小费用最大流预处理混合图上莫
    P8946TheLostSymbol这种类型的dp的特点就是大部分转移形如\(f(i,j)\rightarrowf(i+1,j+1)\)之类的,并且当以上转移出现时原数组被清空,这就可以用一个deque来维护,然后对于全局赋值/全局加,需要对每个位置维护一个时间戳,并记录上一次赋值/加是什么时候,以便标记下传。(貌似......
  • 2023支持截图上传的免费图床有哪些
    1.华趣图床是一个新型自研图床,图片是储存在阿里云oss多份附件储存,稳定保障。、因为图床作者原本也是一个小站长,也因为是自研平台,所以更加的懂得站长们的需求。就在刚刚华趣免费图床支持了,截图上传,拖拽上传等功能。......
  • Odoo Integer 字段类型在视图上不显示千分位
    OdooInteger字段类型会在视图上显示千分位。但我们有时候不需要显示千分位,可以如下处理:<fieldname="field"options="{'format':false}"/>这样就不会显示千分位了。......
  • 矩阵乘法指数的基域不变性
    昨天意识模糊的时候突然想到了这个东西如何证明,重新发明了一遍.对于域\(F\),我们记\(\omega(F)\)为在域\(F\)上的矩阵乘法的张量秩给出的\[\omega(F)=\inf_{n}\frac{\logR(\langlen,n,n\rangle)}{\logn},\]我们知道,对于无限域\(F\)来说,这本质刻画了矩阵乘......
  • 如何将GIS矢量数据叠加到在线地图上?
    ​    通过以下方法可以将GIS矢量数据(dwg、shp、mdb、kml、geojson、gpx等格式)叠加到在线地图上。 方法/步骤下载GIS地图转换器(含地图浏览器)http://www.geosaas.com,下载并安装GIS数据转换器(含地图浏览器)。注册会员即可免费使用。2、点击【加载文件】菜单,选择要加......
  • 如何将数据库中的空间数据叠加到在线地图上?
    ​    通过以下方法可以将数据库中的空间数据叠加到在线地图上,支持SQLServer、MySQL、PostgreSQL。 方法/步骤下载GIS地图转换器(含地图浏览器)http://www.geosaas.com,下载并安装GIS数据转换器(含地图浏览器)。注册会员即可免费使用。2、点击【加载数据库】菜单,连接......
  • 【echarts】柱状图上方显示数值
    使用官网的例子,只不过加了itemStyle属性<!DOCTYPEhtml><head> <metacharset="utf-8"> <title>ECharts</title></head><body> <!--为ECharts准备一个具备大小(宽高)的Dom--> <divid="main"style="width......