深度学习(二)神经网络中的卷积和反卷积原理
原文作者:aircraft
原文地址:https://www.cnblogs.com/DOMLX/p/9579392.html
一.卷积
在深度学习的过程中,很多神经网络都会用到各种卷积核来进行操作,那么我们就简单讲一下卷积的原理和实现过程。
那么卷积在神经网络中的作用是什么呢?一开始的传统神经网络是没有卷积层的,都是隐藏层加生全连接层的结构,这样在中间得到的特征都是线性的,不能提取到一个局部的特征。而卷积神经网络的出现解决了这个问题,通过对一个局部区域进行卷积操作得到这个局部区域的特征值传入下层大大提升了神经网络提取特征的能力,并且还减小了数据的大小。
那么看看卷积的过程:
可以看到这是一个3*3的卷积核在步长为1的方式遍历这个矩阵,卷积核与其遍历的覆盖区域进行一个点乘(其实是协相关)的运算得到一个值存入后面的矩阵,这样通过卷积核与数据矩阵的遍历运算就可以直接提取(局部感受野)一小块区域的特征,而不必像传统神经网络一样一个值一个值的提取。
卷积操作的计算方式如下:
已知:
- input size i
- kernel size k
- stride s
- padding size p
则输出大小为:
同样的上面这种具有缩放功能的卷积操作,如果这时候我们需要的是跟原来的数据一样大小矩阵传出要怎么做呢?这就是Padding的意义:
可以看到上图输入和输出都是一样大小的矩阵,因为我们在其外围加了一个大小为1 的Padding,这样就可以满足输入输出都是一样的。同理想要扩大或者缩小只要对外围Padding参数根据上面的公式进行调节即可。
二.反卷积
既然有卷积过程那么肯定也有反卷积的过程对不对。不然怎么进行卷积神经网络的反向传导呢?嘿嘿
反卷积通常用于将低维特征映射成高维输入,与卷积操作的作用相反。还是看图比较舒服是吧:
上图就是将卷积后的区域,反卷积后变成原来的矩阵,其实看推导看原理肯定是很烦很枯燥的,这里就不细说推导和原理了,那都是(线性代数)里的知识了,我们这里就讲讲怎么反卷积回去。
其实说来一句话就好了。-------对于反卷积过程,采用卷积过程转置后的滤波器(参数一样,只不过把参数矩阵水平和垂直方向翻转了一下),这样反着乘回去就行了。大家好好动笔体会一下这反卷积的神奇。嘿嘿
好了今天得深度学习笔记就到这里了,飞机我得去拿快递了嘿嘿。
最后我这是一列的学习笔记,有兴趣入门深度学习的可以看看在下后面的深度学习系列的笔记。
参考博客:https://blog.csdn.net/u011447369/article/details/78721574
转载于:https://www.cnblogs.com/DOMLX/p/9579392.html
深度学习(二)神经网络中的卷积和反卷积原理相关推荐
- 深度学习:神经网络中的激活函数
http://blog.csdn.net/pipisorry/article/details/71157037 激活函数 神经网络神经元中,输入的 inputs 通过加权,求和后,还被作用了一个函数, ...
- 【深度学习】神经网络中几个常用的求导公式
亲爱的朋友们,多多有一段时间没有更新啦,主要是我在学习transformers突然开始思考几个神经网络相关的基本问题(模型结构越写越复杂,调包效果越来越好,是否还记得为什么而出发呢?),读者朋友 ...
- 【深度学习】神经网络中的蒸馏技术,从Softmax开始说起
作者:Sayak Paul 编译:ronghuaiyang 导读 从各个层次给大家讲解模型的知识蒸馏的相关内容,并通过实际的代码给大家进行演示. 本报告讨论了非常厉害模型优化技术 -- 知识 ...
- [深度学习]人工神经网络中激励函数作用详解
前言 业余时间,看了关于深度学习方面的知识,对人工神经网络中激励函数存在疑惑,查阅资料,总结给大家,一起学习. 激励函数作用 不使用激励函数的话,神经网络的每层都只是做线性变换,多层输入叠加后也还是线 ...
- 深度学习——人工神经网络中为什么ReLu要好过于tanh和sigmoid function?
参考吴恩达的深度学习课程. 先看看各个激活函数图: 第一个问题:为什么引入非线性激励函数? 如果不用激励函数(其实相当于激励函数是f(x) = x),在这种情况下你每一层输出都是上层输入的线性函数,很 ...
- 【深度学习】——神经网络中常用的激活函数:sigmoid、Relu、Tanh函数
激活函数 实际中的很多事情并不能简单的用线性关系的组合来描述.在神经网络中,如果没有激活函数,那么就相当于很多线性分类器的组合,当我们要求解的关系中存在非线性关系时,无论多么复杂的网络都会产生欠拟 ...
- 深度学习:神经网络中的前向传播和反向传播算法推导
1. 神经网络 这是一个常见的神经网络的图: 这是一个常见的三层神经网络的基本构成,Layer L1是输入层,Layer L2是隐含层,Layer L3是隐含层,当我们输入x1,x2,x3等数据时,通 ...
- 推荐系统遇上深度学习(二十一)--贝叶斯个性化排序(BPR)算法原理及实战
笔者是一个痴迷于挖掘数据中的价值的学习人,希望在平日的工作学习中,挖掘数据的价值,找寻数据的秘密,笔者认为,数据的价值不仅仅只体现在企业中,个人也可以体会到数据的魅力,用技术力量探索行为密码,让大数据 ...
- 深度学习入门笔记(十九):卷积神经网络(二)
欢迎关注WX公众号:[程序员管小亮] 专栏--深度学习入门笔记 声明 1)该文章整理自网上的大牛和机器学习专家无私奉献的资料,具体引用的资料请看参考文献. 2)本文仅供学术交流,非商用.所以每一部分具 ...
最新文章
- Maven学习笔记(二) :Maven的安装与配置
- python3 requests content和text 区别
- 关于Excel导入的问题记录
- JAVA 解析xml字符串
- mysql连接报错:The server time zone value ‘Öйú±ê׼ʱ¼ä‘ is unrecognized or represents more than one time
- MySQL运维知识点_mysql运维必备知识点(转载至其他作者)
- LVSHAproxyNginx区别
- Oracle DB 优化-AWR及相关内容
- 首席翻译的英语学习方法
- PR更改视频画布大小。PR剪裁视频。PR导出视频时的适应视屏大小都是啥意思啊?
- vim插件管理利器:pathogen
- weui.js slider的使用笔记
- Google Voice 语音搜索
- 5G网络时钟:ePRTC
- 文本分类之降维技术之特征抽取之SVD矩阵的分解的原理的介绍
- Latex 参考文献格式
- mac一体机win7下调节亮度方法
- Java面试官最爱问的垃圾回收机制,mysqlssl连接
- java遍历文件_Java 遍历文件夹的几种方式
- 单链表输出倒数第k个元素
热门文章
- 常州儿童计算机培训,常州推荐儿童编程培训班哪几家靠谱
- usb3.0导入工具pe_BlackHat大会上,BlackBerry宣布开源逆向工具PE Tree
- linux上数据库导入与导出(mysql)
- velocity(vm)模板引擎学习介绍及语法
- 人脸对齐(二十)--PRN
- 人脸检测(五)--adaboost总结,整理
- vue使用ajax库,Vue 中使用Ajax请求
- python测试脚本 进制转换_[python] 转换python脚本程序为二进制ELF
- 小白记事本--链表--loading
- Hive启动的三种方式