尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

信号处理与AI中的卷积的关系

信号处理与AI中的卷积的关系 一、卷积在前面的文章中引用了知乎上的经典说明“卷积就是平移、叠加”其物理意义就是加权叠加。卷积的数学定义如下(f∗g)(t)∫f(τ)g(t−τ)dτ它包含两个步骤即反转将g(τ)变为g(-τ)和平移相乘再求和积分。也可以将其分为四步即反转、平移、相乘和求和。它在信号处理和图像处理中应用非常广泛。特别是现代的AI的底层框架深度学习中卷积更是无法避开的一个核心的概念。二、工程中用到的卷积在实际开发的工程为了处理超声采集的信号也应用到了卷积。但在工程中卷积的目的是为了实现包络和滤波。也就是说卷积是用于对信号进行线性不变系统的输出。不过在工程代码中并没有实现显示的“反转”这个动作但在应用的希尔伯特和Fir中都进行了隐式的“反转”实现。不过从上层应用来看更接近于“cross-correlation”互相关有过深度学习经验的可能会对其更容易理解。其应用的公式H{x}[n] sum_{k0}^{L-1} x[n - L/2 k] * h[k] 和 y[n] sum_{k0}^{N-1} x[n - D k] * g[k]三、深度学习中的卷积深度学习中的卷积从数学意义上看就是“cross-correlation”。它不进行反转主要原因在于其卷积核是训练学习出来的而不是预设的。如果反转其实意义不大。毕竟在深度学习中可以自由调整权重来适应运算反而是采用互相关更简单快捷。所以说深度学习中卷积并不是严格的数学意义上的卷积。四、二者的关系从工程实践来看信号处理和深度学习中的卷积目的都是相同的。但在实现的细节上有着明显的不同。以本次开发的工程为例它们的联系如下一相同之处都需要在局部的窗口中进行相乘叠加窗口会在范围内进行滑动重复使用相同的一组系数都可以对相同的参数进行计算二不同之处卷积核来源不同。工程中来自于解析设计有着明确的物理意义而深度学习则来自训练用途不同。工程中用来进行希尔伯特变换等操作而深度学习用来进行牲提取维度不同。工程中的维度是单维度线性的而深度学习是多维度平面的操作的具体方式不同。工程中需要进行反转而深度学习不用也就是说工程中的卷积是固定核的数字信号的处理而深度学习中则是训练核的特征提取。五、工程中实现的相关代码下面看一下工程中的相关代码看一下滤波相关卷积intsPointsIdxIn-gDelay;for(inttap0;taptCount;tap){intidxsPointtap;sumin[scanlineIdxidx*nScanlines]*taps[tap];}这段代码对应着前面的第二个公式看上去没有明显的反转。但在TAPS数组中是以中心对称的所以其实现的结果与标准的卷积是相同的。这也算是一种隐式的反转吧。六、总结在前面的“卷积及其物理意义”中对卷积进行过初步的分析。作为非专业算法人员重点是对算法的理解和应用希望通过上面的对比能够总结经验并能给大家以借鉴。
返回列表