首页 > 其他分享 >深入理解卷积

深入理解卷积

时间:2023-03-18 23:56:14浏览次数:46  
标签:infty right 卷积 求和 理解 深入 滑动 翻转

一、深入理解积分

\[\int_{ - \infty }^\infty  {f\left( t \right)} dt\]

\[\sum\nolimits_{ - \infty }^\infty  {f(t)}  \cdot 1\]

       对比积分和求和可知,积分就是连续版本的求和,或者更本质的说,积分就是求和

二、深入理解卷积

       连续形式:

\[\left( {f * g} \right)(n) = \int_{ - \infty }^\infty  {f(t)g(n - t)dt} \]

  离散形式:

\[\left( {f * g} \right)(n) = \sum\nolimits_{ - \infty }^\infty  {f(t)g(n - t)} \]

       “卷”:先对g函数进行翻转,然后再把g函数平移到n。

       “积”:对两个函数的对应点相乘,然后求和。或者看成对f进行加权(g)求和。

 

       整体看来是这么个过程:

  翻转——>滑动——>叠加——>滑动——>叠加——>滑动——>叠加.....

  多次滑动得到的一系列叠加值,构成了卷积函数

三、应用场景

  1. 信号分析

 

  2. 图像处理(例如卷积神经网络)

       实际在计算的时候,都是用翻转以后的矩阵(或者理解成省略了翻转步骤),直接求矩阵内积。

四、参考资料

1.知乎. Tetradecane. 《如何通俗易懂地解释卷积?》. https://www.zhihu.com/question/22298352/answer/637156871

 

 

 

 

标签:infty,right,卷积,求和,理解,深入,滑动,翻转
From: https://www.cnblogs.com/syhui/p/17232235.html

相关文章

  • 给我说说你对Java GC机制的理解?
    JVM的运行数据区方法区不止是存“方法”,而是存储整个class文件的信息,JVM运行时,类加载器子系统将会提取class文件里面的类信息,并将其存放在方法区中。例如类的名称、类......
  • #yyds干货盘点#对于babel的一些理解
    Babel是一个JavaScript编译器Babel是一个工具链,主要用于将采用ECMAScript2015+语法编写的代码转换为向后兼容的JavaScript语法,以便能够运行在当前和旧版本的浏览器......
  • 带你深入Java Log框架,彻底搞懂Log4J、Log4J2、LogBack,SLF4J
    最近系统被扫出来还在使用老旧的log4j,需要升级到最新的log4j。但是在升级的发现,Java相关的日志处理库有log4j,log4j2,slf4j和logback,初一看确实有点头大,那么区别是啥呢?......
  • 如何理解strcpy函数中的赋值语句?
    关于strcpy函数的赋值语句如何理解while(*s++=*t++)?voidstrcpy(char*s,char*t){while(*s++=*t++);}该语句等价于while(*(s++)=*(t++))。赋值......
  • 谈谈你对Java中常用的几种线程池的理解
    为什么使用线程池为每个请求创建一个新线程的开销很大容易引起资源不足,造成浪费使用线程池的风险死锁、资源不足和线程泄漏。死锁当一组进程或线程中的每一个都在......
  • 再谈编程范式(3):理解面向过程/面向对象/函数式编程的精髓
    面向过程(PO)面向过程是随着VB一起来到我的世界,那个时候会的非常有限,感觉能把程序写出来自己就非常棒了,VB是做那种可视化界面,在工具栏拖个框框放到面板上,然后就在各个事件上写......
  • 深入浅出QPS、RT和最佳线程数
    1什么是QPS:QPS是每秒钟处理完请求的次数。这里的请求不是指一个查询或者数据库查询,是包括一个业务逻辑的整个流程,也就是说每秒钟响应的请求次数。2什么是响应时间(RT):......
  • 再谈编程范式(3):理解面向过程/面向对象/函数式编程的精髓
    面向过程(PO)面向过程是随着VB一起来到我的世界,那个时候会的非常有限,感觉能把程序写出来自己就非常棒了,VB是做那种可视化界面,在工具栏拖个框框放到面板上,然后就在各个事件上......
  • 开发模型的理解:瀑布模型/增量式/迭代/敏捷开发——笔记
    首先,不管采用何种开发模型。软件开发都至少具有以下的周期,包括:需求获取/分析(系统分析、软件分析)设计实现测试发布(运行)维护既然所有的开发模型都具......
  • C++ const的理解
    const​const修饰的变量不能再作为左值,初始化后值不能被修改C和C++const的区别​C语言中const修饰的值是常变量,不是常量,只是不能作为左值被修改voidmain(){......