深度学习中的各种不变性

不变性

  • 平移不变性(Translation Invariance)
  • 旋转不变性(Ratation Invariance)
  • 尺度不变性(Size Invariance)
  • 光照不变性(Illumination Invariance)
  • 仿射不变性(Affine Invariance)
  • 投影不变性(Projected Invariance)

不变性:指的是即使目标外观发生了某种变化(平移、旋转、尺度缩放、光照变化等),依然可以将它识别出来。不变性对于图像分类来说是一种很好的特性,因为我们希望图像中的目标无论是发生平移、旋转、缩放,还是在不同的光照条件或视角下,都可以被成功地识别出来。

平移不变性(Translation Invariance)

卷积神经网络具有平移不变性。具体而言,图像发生平移,经过卷积网络后得到的相应特征图上的表达也是平移的。如果输入图像的左上角有一个人脸,经过卷积后,人脸的特征会位于特征图的左上角;此时将人脸位置平移到了图像的右上角,则经过卷积后,人脸的特征也会位于特征图的右上角。

在欧几里得几何中,平移是一种几何变换,表示把一幅图像或一个空间中的每一个点在相同方向移动相同距离。比如对图像分类任务来说,图像中的目标不管被移动到哪个位置,得到的结果(标签)应该是相同的,这就是卷积神经网络中的平移不变性。

平移不变性意味着系统产生完全相同的响应(输出),不管它的输入是如何平移的。平移等变性(translation equivariance)意味着系统在不同位置的工作原理相同,但它的响应随着目标位置的变化而变化 。比如,实例分割任务,就需要平移等变性,目标如果被平移了,那么输出的实例掩码也应该相应地变化。

有人认为CNN中的平移不变性是由卷积层和全连接层共同作用导致的。

在这里插入图片描述

旋转不变性(Ratation Invariance)

CNN不具有旋转不变性。

在这里插入图片描述

对于上面这幅图来说,小白和小黑看到的并不是一个东西。
小白:我的一个特征左边是三角形,右边是圆形,上面是菱形,下面是正方形。
小黑:我的一个特征左边是正方形,右边是菱形,上面是三角形,下面是圆形。
于是小黑和小白就认为他们看到的并不是同一个图片,但事实上他们看的确实是同一幅图像。于是我们就说这种特征不具有旋转不变性。

在这里插入图片描述

对于上面这幅图来说,小白和小黑看到的就是一个东西。
小白:我的一个特征西边是三角形,东边是圆形,北边是菱形,南边是正方形。
小黑:我也有一个特征西边是三角形,东边是圆形,北边是菱形,南边是正方形。
这时候两个特征的描述就一致了,即拥有了旋转不变性。所以只要对特征定义方向,然后在同一个方向上进行特征描述就可以实现旋转不变性。

尺度不变性(Size Invariance)

CNN不具有尺度不变性。

在这里插入图片描述

对于上面这幅图来说,小白和小黑看到的并不是同一个东西。
小白:我的一个特征东边5个像素的地方有个圆形。
小黑:我的一个特征东边7个像素的地方有个圆形。
这就是尺度变化造成的特征不匹配,为了实现尺度不变性,就需要给特征加上尺度(缩放)因子,那么在进行特征描述的时候,将尺度统一就可以实现尺度不变性了。

所谓的旋转不变性和尺度不变性,就是我们在描述一个特征之前,将两张图像都变换到同一个方向和同一个尺度上,然后再在这个统一标准上来描述这个特征。同样的,如果在描述一个特征之前,将图像变换到同一个仿射尺度或者投影尺度上,那么就可以实现仿射不变性和投影不变性。

光照不变性(Illumination Invariance)

仿射不变性(Affine Invariance)

投影不变性(Projected Invariance)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/12952.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

springcloud2.1.0整合seata1.5.2+nacos2.10(附源码)

springcloud2.1.0整合seata1.5.2nacos2.10(附源码) 1.创建springboot2.2.2springcloud2.1.0的maven父子工程如下,不过多描述: 搭建过程中也出现很多问题,主要包括: 1.seataServer.properties配置文件的组…

第二部分——长难句——第一章——并列句

conjunction(and,but,if,when(while)) 想把两个句子(多件事)连在一块,就必须加上连词。 所以长难句到底是啥? 所以长难句(直白表达,并不是语法表述)就是几个简单句多家上几个连接词就齐活了&am…

【vue2】使用vue-admin-template动态添加路由的思路/addRoutes的使用

😉博主:初映CY的前说(前端领域) ,📒本文核心:用原生js实现省市区联动 【前言】在通用的后台管理项目的开发中,不仅仅是会涉及到对表单数据等的增删改查操作还会涉及到一些关于权限管理的问题。我们将基于一个RBAC的思维…

C++STL大全----容器篇(上)

(一)概念 STL,英文全称 standard template library,中文可译为标准模板库或者泛型库,其包含有大量的模板类和模板函数,是 C 提供的一个基础模板的集合,用于完成诸如输入/输出、数学计算等功能。…

2023-04-21 学习记录--C/C++-实现升序降序(冒泡法/沉底法)

合抱之木,生于毫末;九层之台,起于累土;千里之行,始于足下。💪🏻 一、冒泡法(沉底法) —— 升序 ⭐️ (一)、思路 从左到右: 1、第一个与第二个比较&#xff0…

RK3568平台开发系列讲解(调试篇)IS_ERR函数的使用

🚀返回专栏总目录 文章目录 一、IS_ERR函数用法二、IS_ERR函数三、内核错误码沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇将介绍 IS_ERR 函数的使用。 一、IS_ERR函数用法 先看下用法: 二、IS_ERR函数 对于任何一个指针来说,必然存在三种情况: 一种是合…

微信小程序开发(学习记录1.0)

首先,把遇到的问题贴出来,主要是这个解决问题的思路,供大家参考。 现在的问题是将下面的导航栏做出来,但是在自己做的时候 遇到的问题 在app.json文件中输入tarBar,就会生成模板代码,默认会生成一个list的模…

树莓派 QT项目开机自启动

我自己用qt设置了一个界面,如何让他开机自启动呢? 目录 1.生成qt项目的可执行文件 2. 编写一个自启动脚本 3.重启树莓派 1.生成qt项目的可执行文件 QT项目的可执行文件就是.exe文件。首先在qt中打开,点击红色方框图标,选择Re…

Oracle函数记录

一、各个函数介绍 1.OVER(PARTITION BY… ORDER BY…)--开窗函数 1.开窗函数用于为行定义一个窗口(这里的窗口是指运算将要操作的行的集合),它对一组 值进行操作,不需要使用GROUP BY子句对数据进行分组,能够在同一…

软件测试?月薪20k+?不会自动化测试的我真的很难....

做自动化测试后悔吗? 后悔,真的后悔! 后悔没有早点学..... 虽然现在网上到处都在散播35的焦虑,姑且信之,那么反问你,如果你30岁了,那么给你5年,能够在某个领域成为专家呢&#xf…

《花雕学AI》ChatGPT跟人类的思考方式有什么不同?

一、ChatGPT是一个基于GPT-3.5的对话语言模型,它可以根据用户的输入生成多轮对话,也可以生成文本、代码、音乐等内容。ChatGPT的思考方式是利用大量的数据和强大的算力来学习语言的联合概率分布,从而能够根据上下文和目标生成合理和有趣的回复…

python文本自动伪原创-ai一键伪原创

chatgpt批量伪原创的优势 ChatGPT是一个由OpenAI开发的强大的自然语言处理模型,它具有批量伪原创的优势,以下是这些优势: 模型能够处理大量的数据:ChatGPT通过训练大规模的语言模型来生成伪原创文本。这个模型拥有一个庞大的语料…

GaussDB工作级开发者认证—第二章GaussDB数据库应用程序开发指引

一. 驱动概述 GaussDB客户端接入认证,GaussDB支持以下三种认证方式:基于主机的认证口令认证SSL加密 二. JDBC接口介绍 1. JDBC概述 Java数据库连接(JDBC)是Java标准,它提供了从Java连接到关系数 据库的接口&#x…

数据挖掘:心脏病预测(测评指标;EDA)

目录 一、前期准备 二、实战演练 2.1分类指标评价计算示例 2.2数据探索性分析(EDA) 2.2.1 导入函数工具箱 2.2.2 查看数据信息等相关数据 判断数据缺失和异常 数字特征相互之间的关系可视化 类别特征分析(箱图,小提琴图&am…

5.2 中心极限定理

学习目标: 要学习中心极限定理,我会采取以下几个步骤: 学习基本概念:了解什么是随机变量、样本、总体、概率密度函数等基本概念,为学习中心极限定理打下基础;学习正态分布:中心极限定理的核心…

windows搭建ftp及原理(小白向)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 环境一、实验步骤1.1安装ftp 二、ftp实验引发的思考1.简单阐述ftp的原理2.ftp建立的流程 总结 环境 windwos任意环境不需要server windows10 提示:以下…

【Linux】System V IPC-命名管道共享内存消息队列

System V IPC-命名管道&共享内存&消息队列 命名管道共享内存创建共享内存附加和分离共享内存 消息队列消息队列的接口 命名管道 使用mkfifo命令,创建一个命名管道,通过ll可以查看当前命名管道的类型 p类型,也就是pipe管道类型。 之…

Vector - CAPL - Panel面板_01

前面有过简单的介绍panel面板的功能,不过终究感觉有点简陋,最近也在搞PyQT5,发现如果对于这块了解不多的情况下,想要做一些东西的话,简直无从下手,因此专门翻阅了之前的文章,查看了下确实缺少了…

json for modern c++

目录 json for modern c概述编译问题问题描述问题解决 读取JSON文件demo json for modern c GitHub - nlohmann/json: JSON for Modern C 概述 json for modern c是一个德国大牛nlohmann写的,该版本的json有以下特点: 1.直观的语法。 2.整个代码由一个…

机器学习——L1范数充当正则项,让模型获得稀疏解,解决过拟合问题

问:使用L2范数正则项比L1范数正则项得到的是更为稀疏的解。 答:错误,L1范数正则项得到的是更稀疏的解。因为在L1正则项中,惩罚项是每个参数绝对值之和;而在L2正则项中,惩罚项是每个参数平方的和。L1正则项…