本文的主要思路如下:

1 从测量飞船的例子开始

假设

表示第
时刻测量到的宇宙飞船位置。由于信号存在干扰,我们取该时刻的前
次测量结果的期望作为该次测量的最终结果。我们用
表示这
次测量里的一个时刻,我们假设
时刻对应的权重为
,则
越接近
,它应越重要。这里所有的值都是标量。求
时刻前
次测量的期望

则,期望求解如下:

上面的积分运算过程被定义为卷积运算,标记为

,其中
对应卷积核(概率密度函数),
对应输入。

在计算机科学中离散卷积更符合实际情况,即上诉第一个公式,此时

对应概率质量函数。

直观理解:卷积运算表示前

次输入的加权平均,这里的
表示关注范围

2 卷积运算

2.1 卷积核翻转

飞船的例子描述的是1D的情况,如果扩展到2D,考虑采用2D卷积核,那么:

其中:

  • :输入的2D数据,例如一张灰度图片
  • :2D卷积核,如果卷积核下标超出卷积核范围那么设置为得到的值恒为0

假设

,即:

那么:

从结果上看,卷积操作为:卷积核分别沿着45°、135°轴翻转180°,然后沿着输入的左上角依次滑动,每移动一次,计算一次加权平均值。

翻转卷积核之后的过程如下:

2.2 卷积核不翻转

上述卷积操作需要对卷积核进行翻转再运算,这样的操作满足卷积运算的交换律。但是在神经网络中,交换律不是很重要的性质。通常神经网络库会实现一个互相关函数,和卷积运算几乎一样,除了没有对卷积核翻转。

通过互相关函数,卷积核在滑动操作时不需要翻转。现在主流框架实现的方法都是上述互相关函数。后面值的卷积也都是互相关函数

2.3 卷积运算的特点

  1. 稀疏交互

如图2.3.1 所示,卷积操作中,一个输入单元只和部分输入单元发生交互,一个输出单元也之和部分输出单元发生交互;而如图2.3.2所示,全连接操作中,每个输入单元都和所有输出单元发生交互

图2.3.1 卷积操作
图2.3.2 全连接操作

2. 参数共享

卷积运算中多个运算使用相同的参数(同一个卷积核)。而全连接中每个运算都使用自己的参数,每个参数都只使用一次

3. 等变表示

假设有平移函数

(例如:
)、卷积函数
、卷积结果
。根据卷积公式,卷积操作满足
,即:

如果输入数据向某个方向平移多少个单位,卷积操作输出数据同样向同一个方向移动同样的单位长度

图2.3.3 平移等变,卷积操作向右(蓝->红)减小输入,输出同样向右减小输出

3 卷积的变体

3.1 多通道卷积

针对多通道输入以及多通道输出,卷积操作变体如下:

其中:

  • :第
    通道的
    列的输出值
  • :第
    通道的
    列的输入值
  • :第
    个卷积核的第
    通道的
    列的输入值

3.2 调整卷积步幅

调整步幅,假设stride=s,那么卷积公式变体如下:

3.3 原始图象不同填充方法

  1. valid卷积:卷积核只允许访问V中能够完整包含卷积核的位置,这种操作会缩小输出尺寸,缩小大小为

    ,例如卷积核为3x3,那么长宽分别缩小2,2
  2. same卷积:为了保证输出尺寸不变,输入的图像先用0填充,保证输出的shape和输入的实际shape一样
  3. full卷积:上面的操作都会导致边缘像素被访问的次数变少,也就相当于忽略了弱化了边缘像素的作用,所以full卷积就是保证每个像素被访问次数都是一致的。所以输出图像的宽度=m+k-1

4 卷积求导

结合以上几种卷积变体,卷积前向通用公式如下:

在反向传播过程中会得到该输出的误差为:

4.1 针对卷积核求导

为了更好理解,这里假设输入输出通道数=1,stride=1,所以:

所以,上述也是卷积操作,输入

,卷积核
,过程类似下图:
图4.1.1 误差为输入,前向输入为卷积核的卷积操作示意图

4.2 针对输入求导

为了更好理解,这里假设输入输出通道数=1,stride=1,所以:

同样也属于卷积操作,上述过程类似下图:

图4.2.1 以误差为输入,翻转后的卷积核为卷积核的卷积操作

阶跃函数卷积自己_详细推导卷积算法相关推荐

  1. pca各个向量之间的相关度_详细推导PCA算法

    本文主要思路如下: 1 PCA优化目标 PCA(主成分分析)是一种数据降维的方法,即用较少特征地数据表达较多特征地数据(数据压缩,PCA属于有损压缩).PCA推导有两种主要思路: 最大化数据投影后的的 ...

  2. 04.卷积神经网络_第一周卷积神经网络

    04.卷积神经网络_第一周卷积神经网络 1.1 计算机视觉 上面这张图是64x64像素的图像,它的数据量是12288,下图是1000x1000像素的图像,它的数据量是3百万.如果用全连接网络去处理这张 ...

  3. python如何实现小车行走_[详细推导]基于EKF的小车运动模型的python编程实现

    一.任务介绍 在本任务中,您将使用可用的测量值和运动模型来递归估计车辆沿轨迹的位置.车辆有了非常简单的LIDAR传感器,可以返回与环境中各个地标相对应的范围(range)和方位测量值(bearing) ...

  4. 医学图像处理医学图像处理-卷积神经网络卷积神经网络_基于深度卷积神经网络的刀具磨损量自动提取方法...

    ⬆点击上方蓝色字体,关注<工具技术>官方微信~ 数控加工实质上是刀具和毛坯的相互运动,包含众多的不可控因素,在工件成型的过程中,刀具不可避免发生磨损.为了提高加工效率,实际加工中一般采用高 ...

  5. 矩阵一维卷积c++_深度神经网络卷积层计算加速与优化

    01 传统卷积层计算 首先我们定义符号F()函数为卷积函数 一维卷积:F(n,m) n代表输出的维度,m代表滤波器的维度 二维卷积:F(n*m,r*s) n*m代表输出的维度,r*s代表滤波器的维度 ...

  6. 机器学习:详细推导EM算法

    EM算法可以说是一个非常经典的算法,至今仍在广泛地被使用(如强化学习领域等等). 网上介绍该算法的文章也很多,比如如何通俗理解EM算法.[机器学习基础]EM算法.但是我认为这些文章讲的太多,反而显得乱 ...

  7. 一维卷积层_使用一维卷积层的创新Chatbot

    一维卷积层 虚拟助手项目 (Virtual Assistant Project) The popularity of chatbots has been on the rise since the p ...

  8. 详细推导PCA算法(包括算法推导必备的知识)

    文章目录 1. PCA优化目标 2.理论依据 2.1 矩阵换基底 2.2 拉格朗日乘子法 2.3 协方差矩阵 2.4 特征向量和奇异值分解 2.4.1 特征向量 2.4.2 奇异值分解 2.4.3 特 ...

  9. Kalman滤波算法详细推导及简单匀速直线运动程序仿真(matlab)

    Kalman滤波算法详细推导及简单匀速直线运动程序仿真(matlab) 起初只是知道Kalman滤波的核心公式和会用,没有仔细研究,最近老师让讲Kalman算法,所以系统的学习了该算法,并结合匀速直线 ...

最新文章

  1. 构建根文件系统启动(1)
  2. Wireshark抓取RTP包,还原语音
  3. 李丽娟c语言第四版教师书_来,把自学C语言经历的那些苦,都踩在脚下
  4. 1090 Highest Price in Supply Chain (25 分)【难度: 一般 / 知识点: 树的遍历】
  5. Filter_细节_过滤器拦截路径配置
  6. thinkpad笔记本散热风扇_极致的散热体验,ORICO 全铝DIY双风扇笔记本散热垫评测...
  7. php 微信证书,【微信支付】企业付款开发者文档
  8. import keras的错误module ‘tensorflow.compat.v2‘ has no attribute ‘__internal__‘
  9. 新版标准日本语高级_第13课
  10. 【职场新贵】告诉你如何在压力下高效工作
  11. 黑帽SEO网站优化常用的14种技巧
  12. 书籍《阅读的方法》读后感
  13. ibm邮箱连接不到服务器,IBM i 安全邮件配置和常见故障排除方法
  14. python皮卡丘字符打印代码,python画皮卡丘的代码
  15. java常见的命名规则
  16. hdu 1983 Kaitou Kid - The Phantom Thief (2)【Bfs+暴力枚举】
  17. 燕十八 php经典,燕十八PHP传世经典第1部视频教程(后半部分)_PHP教程
  18. linux删除eth2设备_如何添加删除子网卡eth0:1(linux案例)
  19. 软件测试岗位英文自我介绍,软件测试工程师面试英文自我介绍范文
  20. 2021-05-23unity【组件的Enable / Disable】(组件的启用/禁用)-(即可控制组件显示/隐藏)

热门文章

  1. 7-7 人以类聚 (20 分)
  2. 阿里云OSS存储基于JAVA基本使用
  3. C# NX二次开发 NX6.0获取视图中心绝对坐标
  4. GitHub博客的搭建
  5. 21世纪科技竞争的核心是超级智能的控制权
  6. Matlab中function函数的使用
  7. 45个必备的JavaScript Web开发工具
  8. 基于java的汽车销售管理系统
  9. oracle flashback database,Flashback Database
  10. 软件测试入门之软件测试的概念与过程(精辟干货)