【深度学习基本概念】上采样、下采样、卷积、池化
上采样
概念
上采样(upsampling):又名放大图像、图像插值;
主要目的是放大原图像,从而可以显示在更高分辨率的显示设备上;
上采样有3种常见的方法:双线性插值(bilinear),反卷积(Transposed Convolution),反池化(Unpooling);
原理
上采样原理:
图像放大几乎都是采用内插值方法,即在原有图像像素的基础上在像素点之间采用合适的插值算法插入新的元素。
插值算法还包括了传统插值,基于边缘图像的插值,还有基于区域的图像插值。
下采样
概念
下采样(subsampled):又名降采样、缩小图像;
主要目的有两个:1、使得图像符合显示区域的大小;2、生成对应图像的缩略图;
其实下采样就是池化;
原理
下采样原理:
对于一副图像Ⅰ尺寸为M*N,对其进行s倍下采样,即得到(M/s)*(N/s)尺寸的分辨率图像,当然,s应该是M和N的公约数才可以;
如果考虑是矩阵形式的图像,就是把原始图像s*s窗口内的图像变成一个像素,这个像素点的值就是窗口内所有像素的均值或者最大值(也就是Pooling池化操作等)。
对图像的缩放操作并不能带来更多关于该图像的信息, 因此图像的质量将不可避免地受到影响。然而,确实有一些缩放方法能够增加图像的信息,从而使得缩放后的图像质量超过原图质量的。
Pk = Σ Ii / s2
其实下采样就是池化。
采样层是使用 pooling 的相关技术来实现的,目的就是用来降低特征的维度并保留有效信息,一定程度上避免过拟合;
但是pooling的目的不仅仅是这些,他的目的是保持旋转、平移、伸缩不变形等。采样有最大值采样,平均值采样,求和区域采样和随机区域采样等;
池化也是这样的,比如最大值池化,平均值池化,随机池化,求和区域池化等。
卷积
一次卷积运算指的是:如下图,当我们有一个过滤器(黄色矩阵块,又称卷积核,也是矩阵);
移动卷积核,将这个方块对应要处理的输入矩阵的一部分,位置一一对应相乘,然后把结果再相加得到一个数;
图源:Convolution schematic
上面这幅图是对一个5*5的矩阵进行3*3的矩阵的卷积;
那么就从左上角到右下角,生成卷积之后的矩阵的大小是(5-3+1)*(5-3+1)的矩阵,生成之后的矩阵的元素值,是之前的两个矩阵对应元素的乘积之和;
池化
池化最直观的作用便是降维,常见的池化有最大池化、平均池化和随机池化;池化层不需要训练参数;
- 最大池化可以获取局部信息,可以更好保留纹理上的特征;如果不用观察物体在图片中的具体位置,只关心其是否出现,则使用最大池化效果比较好。
- 平均池化往往能保留整体数据的特征,能凸出背景的信息。
- 随机池化中元素值大的被选中的概率也大,但不是像最大池化总是取最大值。随机池化一方面最大化地保证了Max值的取值,一方面又确保了不会完全是max值起作用,造成过度失真;除此之外,其可以在一定程度上避免过拟合。
如下图,左侧是4*4的矩阵,要进行大小为2*2的池化;
Max pooling,即对邻域内特征点只求最大值;
Average pooling,即对邻域内特征点只求平均值;
Reference:
- https://www.cnblogs.com/fengli9998/p/7827812.html
- https://blog.csdn.net/quiet_girl/article/details/84579038
【深度学习基本概念】上采样、下采样、卷积、池化相关推荐
- 【深度学习之美】激活引入非线性,池化预防过拟合(入门系列之十二)
12.1 两个看似闲扯的问题 在开讲本章内容之前,先请你思考两个问题呗:第一个问题,你能用直线画出一张漂亮的笑脸吗?第二个问题是,你知道那副著名的对联:"诸葛一生唯谨慎,吕端大事不糊涂&qu ...
- 深度学习(十九)基于空间金字塔池化的卷积神经网络物体检测-ECCV 2014
基于空间金字塔池化的卷积神经网络物体检测 原文地址:http://blog.csdn.net/hjimce/article/details/50187655 作者:hjimce 一.相关理论 本篇博文 ...
- 深度学习(十九)基于空间金字塔池化的卷积神经网络物体检测
基于空间金字塔池化的卷积神经网络物体检测 原文地址:http://blog.csdn.net/hjimce/article/details/50187655 作者:hjimce 一.相关理论 本篇博文 ...
- 深度学习上采样下采样概念以及实现
#pic_center =400x 系列文章: 文章目录 参考博客 概念 上采样 下采样 实现 上采样 下采样 参考博客 [深度学习]上采样,下采样,卷积 torch.nn.functional.in ...
- 理解卷积神经网络的利器:9篇重要的深度学习论文(上)
摘要: 为了更好地帮助你理解卷积神经网络,在这里,我总结了计算机视觉和卷积神经网络领域内许多新的重要进步及有关论文. 手把手教你理解卷积神经网络(一) 手把手教你理解卷积神经网络(二) 本文将介绍过去 ...
- 基于keras的深度学习基本概念讲解
基于keras的深度学习基本概念讲解 Tensorflow1.0正式发布,谷歌首届Tensorflow开发者大会在山景召开,深度学习迎来新的高潮和狂欢.随着深度学习框架的普及和推广,会有越来越多人加入 ...
- 【降维打击,带你深度学习CPU(上)】
系列文章目录 1.<带你深挖计算机底层逻辑,打通你计算机基础知识的任督二脉> 2.<深度学习计算机底层原理,深度剖析存储器> 3.<基于内存全面理解高速缓冲存储器> ...
- 降采样,下采样,池化
概念 缩小图像(或称为下采样(subsampled)或降采样(downsampled))的主要目的有两个:1.使得图像符合显示区域的大小:2.生成对应图像的缩略图. 放大图像(或称为上采样(upsam ...
- 深度学习模型轻量化(下)
深度学习模型轻量化(下) 2.4 蒸馏 2.4.1 蒸馏流程 蒸馏本质是student对teacher的拟合,从teacher中汲取养分,学到知识,不仅仅可以用到模型压缩和加速中.蒸馏常见流程如下图所 ...
- 化学人学python有前途吗-Java之父点赞的开源Java深度学习框架,你不学下吗?
深度学习领域中有很多面向Python开发者的资源与教程,比如使用NumPy进行数据分析.使用MatPlotlib进行可视化等:深度学习框架方面,TensorFlow.PyTorch.MXNet等常用框 ...
最新文章
- 【世界上最优秀的逆向分析工具】IDA Pro6.1绿色版
- 将企业安全基线复制上云,实现云上IT运维的持续风控
- linux源代码安装程序
- swift - 使用系统app导航
- 如何掌握所有的程序设计语言?
- 社交软件上“你可能认识的人”到底是怎么找到你的?
- weblogic多次连接后tcp服务堵塞_网络编程——服务器篇
- rust笔记11 生命周期引用有效性
- Codeforces 869C The Intriguing Obsession
- iOS App常用的宏
- 超级好用的网站整站下载工具
- 学习日志day44(2021-09-08)(1、Ajax跨域操作 2、Ajax接收json数据 3、JQuery和Ajax 4、使用JavaScript模板简化操作)
- Kafka生产者、消费者的消息可靠性方案实现
- 学做衣服论坛 -服装DIY教程,缤纷服装网,裁剪教程,家用缝纫机,买布料
- 摩尔定律、安迪-比尔定律、反摩尔定律
- 计算机应用基础教程在线阅读,计算机应用基础教程
- android 横屏竖屏设置,Android中强制设置横屏与竖屏,与横竖屏生命周期的设置
- 程序包xxx不存在 问题的完美解决
- java do while 循环语句用法
- Visual Studio 2010 简体中文旗舰、专业版(MSDN原版下载)