阶跃函数卷积自己_详细推导卷积算法
本文的主要思路如下:
1 从测量飞船的例子开始
假设
则,期望求解如下:
当
上面的积分运算过程被定义为卷积运算,标记为
在计算机科学中离散卷积更符合实际情况,即上诉第一个公式,此时
直观理解:卷积运算表示前
2 卷积运算
2.1 卷积核翻转
飞船的例子描述的是1D的情况,如果扩展到2D,考虑采用2D卷积核,那么:
其中:
- :输入的2D数据,例如一张灰度图片
- :2D卷积核,如果卷积核下标超出卷积核范围那么设置为得到的值恒为0
假设
那么:
从结果上看,卷积操作为:卷积核分别沿着45°、135°轴翻转180°,然后沿着输入的左上角依次滑动,每移动一次,计算一次加权平均值。
翻转卷积核之后的过程如下:
2.2 卷积核不翻转
上述卷积操作需要对卷积核进行翻转再运算,这样的操作满足卷积运算的交换律。但是在神经网络中,交换律不是很重要的性质。通常神经网络库会实现一个互相关函数,和卷积运算几乎一样,除了没有对卷积核翻转。
通过互相关函数,卷积核在滑动操作时不需要翻转。现在主流框架实现的方法都是上述互相关函数。后面值的卷积也都是互相关函数
2.3 卷积运算的特点
- 稀疏交互
如图2.3.1 所示,卷积操作中,一个输入单元只和部分输入单元发生交互,一个输出单元也之和部分输出单元发生交互;而如图2.3.2所示,全连接操作中,每个输入单元都和所有输出单元发生交互
2. 参数共享
卷积运算中多个运算使用相同的参数(同一个卷积核)。而全连接中每个运算都使用自己的参数,每个参数都只使用一次
3. 等变表示
假设有平移函数
如果输入数据向某个方向平移多少个单位,卷积操作输出数据同样向同一个方向移动同样的单位长度
3 卷积的变体
3.1 多通道卷积
针对多通道输入以及多通道输出,卷积操作变体如下:
其中:
- :第通道的行列的输出值
- :第通道的行列的输入值
- :第个卷积核的第通道的行列的输入值
3.2 调整卷积步幅
调整步幅,假设stride=s,那么卷积公式变体如下:
3.3 原始图象不同填充方法
- valid卷积:卷积核只允许访问V中能够完整包含卷积核的位置,这种操作会缩小输出尺寸,缩小大小为
,例如卷积核为3x3,那么长宽分别缩小2,2
- same卷积:为了保证输出尺寸不变,输入的图像先用0填充,保证输出的shape和输入的实际shape一样
- full卷积:上面的操作都会导致边缘像素被访问的次数变少,也就相当于忽略了弱化了边缘像素的作用,所以full卷积就是保证每个像素被访问次数都是一致的。所以输出图像的宽度=m+k-1
4 卷积求导
结合以上几种卷积变体,卷积前向通用公式如下:
在反向传播过程中会得到该输出的误差为:
4.1 针对卷积核求导
为了更好理解,这里假设输入输出通道数=1,stride=1,所以:
所以,上述也是卷积操作,输入
4.2 针对输入求导
为了更好理解,这里假设输入输出通道数=1,stride=1,所以:
同样也属于卷积操作,上述过程类似下图:
阶跃函数卷积自己_详细推导卷积算法相关推荐
- pca各个向量之间的相关度_详细推导PCA算法
本文主要思路如下: 1 PCA优化目标 PCA(主成分分析)是一种数据降维的方法,即用较少特征地数据表达较多特征地数据(数据压缩,PCA属于有损压缩).PCA推导有两种主要思路: 最大化数据投影后的的 ...
- 04.卷积神经网络_第一周卷积神经网络
04.卷积神经网络_第一周卷积神经网络 1.1 计算机视觉 上面这张图是64x64像素的图像,它的数据量是12288,下图是1000x1000像素的图像,它的数据量是3百万.如果用全连接网络去处理这张 ...
- python如何实现小车行走_[详细推导]基于EKF的小车运动模型的python编程实现
一.任务介绍 在本任务中,您将使用可用的测量值和运动模型来递归估计车辆沿轨迹的位置.车辆有了非常简单的LIDAR传感器,可以返回与环境中各个地标相对应的范围(range)和方位测量值(bearing) ...
- 医学图像处理医学图像处理-卷积神经网络卷积神经网络_基于深度卷积神经网络的刀具磨损量自动提取方法...
⬆点击上方蓝色字体,关注<工具技术>官方微信~ 数控加工实质上是刀具和毛坯的相互运动,包含众多的不可控因素,在工件成型的过程中,刀具不可避免发生磨损.为了提高加工效率,实际加工中一般采用高 ...
- 矩阵一维卷积c++_深度神经网络卷积层计算加速与优化
01 传统卷积层计算 首先我们定义符号F()函数为卷积函数 一维卷积:F(n,m) n代表输出的维度,m代表滤波器的维度 二维卷积:F(n*m,r*s) n*m代表输出的维度,r*s代表滤波器的维度 ...
- 机器学习:详细推导EM算法
EM算法可以说是一个非常经典的算法,至今仍在广泛地被使用(如强化学习领域等等). 网上介绍该算法的文章也很多,比如如何通俗理解EM算法.[机器学习基础]EM算法.但是我认为这些文章讲的太多,反而显得乱 ...
- 一维卷积层_使用一维卷积层的创新Chatbot
一维卷积层 虚拟助手项目 (Virtual Assistant Project) The popularity of chatbots has been on the rise since the p ...
- 详细推导PCA算法(包括算法推导必备的知识)
文章目录 1. PCA优化目标 2.理论依据 2.1 矩阵换基底 2.2 拉格朗日乘子法 2.3 协方差矩阵 2.4 特征向量和奇异值分解 2.4.1 特征向量 2.4.2 奇异值分解 2.4.3 特 ...
- Kalman滤波算法详细推导及简单匀速直线运动程序仿真(matlab)
Kalman滤波算法详细推导及简单匀速直线运动程序仿真(matlab) 起初只是知道Kalman滤波的核心公式和会用,没有仔细研究,最近老师让讲Kalman算法,所以系统的学习了该算法,并结合匀速直线 ...
最新文章
- 构建根文件系统启动(1)
- Wireshark抓取RTP包,还原语音
- 李丽娟c语言第四版教师书_来,把自学C语言经历的那些苦,都踩在脚下
- 1090 Highest Price in Supply Chain (25 分)【难度: 一般 / 知识点: 树的遍历】
- Filter_细节_过滤器拦截路径配置
- thinkpad笔记本散热风扇_极致的散热体验,ORICO 全铝DIY双风扇笔记本散热垫评测...
- php 微信证书,【微信支付】企业付款开发者文档
- import keras的错误module ‘tensorflow.compat.v2‘ has no attribute ‘__internal__‘
- 新版标准日本语高级_第13课
- 【职场新贵】告诉你如何在压力下高效工作
- 黑帽SEO网站优化常用的14种技巧
- 书籍《阅读的方法》读后感
- ibm邮箱连接不到服务器,IBM i 安全邮件配置和常见故障排除方法
- python皮卡丘字符打印代码,python画皮卡丘的代码
- java常见的命名规则
- hdu 1983 Kaitou Kid - The Phantom Thief (2)【Bfs+暴力枚举】
- 燕十八 php经典,燕十八PHP传世经典第1部视频教程(后半部分)_PHP教程
- linux删除eth2设备_如何添加删除子网卡eth0:1(linux案例)
- 软件测试岗位英文自我介绍,软件测试工程师面试英文自我介绍范文
- 2021-05-23unity【组件的Enable / Disable】(组件的启用/禁用)-(即可控制组件显示/隐藏)