溯洄从之,一波三折.docxVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

溯洄从之,一波三折

蒹葭苍苍,白露为霜。所谓伊人,在水一方。

筆者何以突发雅兴,大家且看下面发生在实际教学中的需求。

在人工智能的图像或声音识别任务中,常会遇见卷积运算的环节。所谓卷积运算,是将特定的卷积核与卷积区域进行点乘然后取和,从计算过程上看并不复杂,而不同卷积核对图像特征提取的效果,也可以很直观地展现出来,网络上很容易找到大量的卷积运算及特征提取的实际案例,也可以下载卷积运算的代码,手动更改卷积核,并观察特征提取的效果。

例如,在GitHub上可以找到名为“python-conv2d”的代码,下载后就能轻松定制卷积核提取图像特征,图1和图2所展示的就是对图片进行边缘提取前后的画面,而图3则是用来进行边缘提取的卷积核。

卷积核的点乘计算过程简单,相关资料很容易找到,本文不做展开,然而,教学中可能遇到的一个大问题,是解释“何以各种卷积核能达到特定的特征提取的效果”。这个问题并不容易回答,因为在解释过程中,必然要回溯到滤波器的概念,进而再回溯到与信号处理相关的若干数学概念。这便让笔者想起《蒹葭》中的诗句来:

溯洄从之,道阻且长。溯游从之,宛在水中央。

尽管道阻且长,但抱着不惧波折、追根究底的精神,尽可能亲自回溯源头,哪怕是远观佳人绰约风姿,总好过道听途说、人云亦云。本文将要介绍的几个小实验,或可成为溯源之舟。

●简单的叠加,不简单的分离

为了能够更简单地展现出特征提取的原理,就要先创造出尽可能简单的数据。相较于数据量庞大的图像和声音,可以试着创建一系列项目数有限又能展现出波的图样的数据,将数据放置在一维的存储空间中,利用数据的变化,来解释特征提取的意义与方法。这里使用电子表格这种简单且直观的工具,创建两个频率不同的正弦波,然后再将两个波进行叠加。

①使用拖拽功能,在电子表格的第一行生成一个差值为10的等差数列,数列项可以略多一些,如从0、10、20、3一直到720,此数据用以反映正弦波在横轴上角度的变化。

②使用公式“=A1*3.14159/180”,

在第二行拖拽生成对应第一行角度值的弧度值。

③使用公式“=2*SIN(A2)”,在第三行拖拽生成正弦波Y=2*SIN(X)的函数的值,为叙述方便,称为正弦波A。以上过程的部分数据和波形图如图4、图5所示。

④使用与上面类似的方法,生成正弦波B的数据和图像,正弦波B的角度数据项差值为60,函数为Y=SIN(X),也就是说,生成的正弦波B的频率是正弦波A的6倍,振幅是正弦波A的一半。由于角度数值的差值比较大,所以这个正弦波看上去不太平滑,但不影响后续操作。部分数据和波形图如图6、图7所示。

⑤使用拖拽功能对两个正弦波相加,得到如图8所示的部分数据和如图9所示的波形,称为波C,当然,这不再是一个正弦波。

接下来的任务,当然就是假装不知道波C是如何产生的,而要想办法对波C进行某种操作,使得波C中不同频率的波形(特征)能重新显现出来。可以发现,虽然两个波的叠加产生新的波形很容易,但若要将一个叠加而成的波分离开来,却麻烦多了。例如,为了让高频率的波形(即正弦波B)重新呈现出来,就要过滤掉低频率的波,反之亦然。可以很容易看出,所谓特征提取,其实与滤波有关。因篇幅有限,本文只围绕高频信号的提取,讨论相关教学策略。

●简单的假设,不简单的过程

想一想,为了实现高频信号提取的任务,可以采用哪些方法?教学中,不妨鼓励学习者展开一番头脑风暴。

一个容易想到的解决思路是:既然当前波C是两个波的叠加,那么,只要将当前的波C减去一个低频的平滑的波形,就可以获得高频的波B的图样了。从直观上看,这个低频的波的形态大致如下页图10中的虚线所示。

虽说大家心知肚明,这个低频波的图样应当和Y=2*SIN(X)函数图像有关,但这里却只能继续玩假装不知道的游戏,因为要设法让计算机自己找到能契合图样的数据,而计算机当前可以利用的,就只有波C的数据。

开展头脑风暴所获得的解决方案可能有:对邻近连续的几个数据取平均值,或许能获得一个低频的平滑的波X;不停地执行将“波峰”削除、“波谷”填满的操作,或许能获得一个低频的平滑的波X;找出当前波的局部最大值和局部最小值,取局部最大值和局部最小值的平均值,利用这些平均值或许可以描画出一个低频的平滑的波X……然后,将波C减去这个新生成的低频的波X,观察能否提取出高频的信号。

第一个方案实现起来比较简单,但较难获得平滑的低频波形。下页图11分别是通过用邻近5个数据取平均值获得的低频波,以及用波形数据相减提取出来的高频波,提取后,高频的波形形态较好,但仍然有一定量的低频信号混杂其中(宏观起伏仍较明显),总体效果尚可。

第二个方案中,为了削峰填谷,对每三个数据,取左侧和右侧的数据计算平均值,对获得的新的数据再反复进行迭代操作获得低频波。图12是进行四次削峰填谷的迭代操作后,获得的低频波和提

文档评论(0)

ZC强 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档