深度学习时代,数字信号处理的前端已经过时了吗?

泻药,很高兴参加此次"心动信号"圆桌。

我正好是信号处理背景出身,现在也做比较多机器学习/深度学习的工作,与本题的scope比较相关。

在题主的描述中,认为"深度学习和数字信号处理的关系不大",先说我的结论,正好相反,深度学习与信号处理在方法和应用上都高度相关:深度学习是一种先进的,基于数据以及运算资源的信号处理体系;但深度学习的研究,最终将回归到信号处理的体系下进行。


1.咱们先把信号处理和深度学习的具体是什么理清楚:

从方法和理论层面来讲,信号处理是一个相对"历史悠久"的课题最经典的手段是通过设定好的(pre-defined)固定operator或者滤波器,来采集,分析,增强,编码,以及合成信号。因为是使用固定的模型,经典的信号处理体系有比较完备的理论体系,包括但不限于采样理论,信息论,算法收敛分析,噪音以及分布建模。经典的信号处理中大部分手段还是rule-based的,算法基于某种对数据或者噪声的假设先验(例如稀疏,低维,平滑或者非局部相似),少部分的自适应滤波(包括你们熟知的主动降噪耳机)有涉猎到优化和广义上的参数学习。相反的,现在流行的机器学习/深度学习是一个基于data-driven的对数据进行分析以及处理的体系,与经典信号处理方法相比,机器学习尽量减少了算法对数据/信号的假设,特别是深度学习,几乎可以认为是一个generic的信号模型。这样的算法只需要设定operator的形式(比如卷积对应的CNN,linear combination对应的FCN,迭代操作对应的RNN,等等),以及算法所追求的优化的目标(比如信号修复和重建任务中常用的MSE,分类和分割里常用的cross entropy等等),再利用基于BP的优化算法就可以通过一个特定的训练数据进行模型优化了。根据问题的复杂度,以及训练数据的量级,Deep Learning提供了灵活地调高模型的复杂度(比如神经网络里的层数,通道数,卷积核维度)的可能性,从而拟合更加复杂的Input/Output关系。

那么从方法论的角度出发来对比,比较两者,基本的对信号操作的手段都类似,比如线性变化,卷积,非线性阈值等。不同的这类操作的参数从固定变成了可学习,例如信号处理里对数据的卷积,常用low-pass或者band-pass这类滤波,而卷积神经网络变为了可学习的kernel,但归根到底都是在做卷积。可学习的滤波方式增加了算法的灵活性,对某个数据集可以做到更好的效能优化。从这个意义上来说,机器学习是信号处理体系的自然进化。


从应用和问题的层面,他们解决的问题大多都是相似的。拿我比较熟悉的图像和视觉领域来说,Image Processing现在被认为是Low-level computer vision。信号处理里面的Image Synthesis进化为Generative Model.变化比较大的应该是High-level computer vision这类应用,过去传统的hand-crafted feature的手段往往没法达到很好的效果,我认为归根到底,还是过去在feature中使用的信号假设,太过局限。结果当进化到feature learning之后,这类应用的效果得到飞速的提升.学习的方式在拿掉了局限性太大的假设之后,弥补了和实际问题之间的gap.


总结一下,我认为深度学习的这类数据处理的方法,可以看作经典信号处理体系的进化。通过学习和优化这类数据驱动的方式,使得算法依赖更少的对数据的假设,变得更加灵活和scalable


2.说了深度学习相对于经典信号处理的优势,咱们再来看看现在深度学习体系下的局限性:


信号处理从经典的rule-based体系,进化到如今的data-driven的体系,信号模型变得更加丰富以及强力,可以拟合更加复杂的实际问题和信号关系。

但是不是现有的深度学习体系就是完美无瑕,百利无害了呢?我认为不是。那么深度学习体系目前的问题和挑战,

主要体现在3个方面:(1)算法和模型可分析性比较弱。(2)对训练数据的利用效率低,(3)模型对Data和Label的noise鲁棒性差。


(i) 可分析性比较弱:

因为弱化了对数据的假设(比如稀疏,低维空间,概率模型等等),很多经典信号处理使用的理论分析工具也不再适用,可学习的模型增加了分析的难度。当下的很多深度学习的理论研究,都只利用优化和随机理论在进行,能够得到的结论变得更加有限。这就出现了很多问题,比如算法的performance很难有guarantee,结果无法特定参数来定量和准确地调整,以及对错误的结果无法追踪错误来源。


(ii) 数据的利用效率低:

因为深度学习使用非常generic的信号和问题模型,强调end-to-end的优化,这就意味着模型学习的过程中,几乎不使用对数据的先验和问题本身的数学/物理模型,因为深度学习继续需要对所有的信号关系都重新拟合,这样比较激进的态度可以是好事也可以是坏事:当问题的某个部分已经知道exactly true的关系了,那么任何的拟合都只能是次优解。举个例子,在很多成像问题中,图像形成有他固有的数学模型,这是基于恒定的物理成像原理而定的,我们认为是exact的关系。那么如果深度学习来处理这一类问题,往往会重新用数据来拟合一次这种关系,这一方面造成了数据的浪费,一方面也无法达到最优解。再比如,很多图像的分布会随着外界情况变化而变化,再比如不同成像系统封(比如不同地相机,或者不同地的参数)导致的相片分布差异,如果有先验的话,很难有效地加入到深度网络中,而不得不强行拿大量数据去拟合,导致先前训练地模型无法复用,造成数据浪费。


(iii) 鲁棒性差:

深度学习不光会去拟合你想要的数据,同时也会去拟合你不想要的数据退化。因为深度学习没有充分利用系统或者数据的先验来做regularization,导致训练出来的模型对各种图像退化,比如图像噪音强度的变化,比如图像的失焦或者模糊,比如分辨率的变化,特别敏感。不光是数据层面的退化,深度学习也对数据的标注噪声(标得不准或者标注错误)高度敏感。这也催生了各种数据侠花费时间做数据清洗,也导致深度学习在应用安全上的弱点,使针对deep model的adversarial attack更加容易实现。在深度学习落地方面,更多的批评声音出现在了AI Healthcare和自动驾驶,这类问题复杂又人命关天的应用上。


3.如何解决这类深度学习的挑战?

先说我的结论:等深度学习在应用效能上的突飞猛进的实践狂欢结束后,建立类似于经典信号处理的研究和理论体系,就可以着手进一步分析并且解决这类问题。

目前人工智能和机器学习方向的科研(以及其他一些CS领域的科研)因为太高速的迭代和发展,导致很多科研模式已经不同于经典的科研体系了:比如为了要时效性(i.e.,快速占坑)而产生的重会议论文,轻刊物论文的评价体系;比如大家在同一个标准开源数据集上进行效果比赛;比如深度学习科研被工业界资本加持,重实际效果落地轻理论研究;等等。

当然,我并没有要否定这种新的科研体系尝试,相反的,我认为这些新的体系是很好的,加快了深度学习研究的速度和科研人员的积极性。正式这样一个开放,公平,可复现,开源,以及低门槛的环境,让更多的人都参与到深度学习中来,产生了产业与学术的快速迭代。

但我只是觉得,这种形式的研究有点类似于改革开放的精神:让一部分先富起来。同理,深度学习的研究也是先把实际的应用效果刷上去。但别忘了后半句:再来带动其他人一起富起来:同样的,当深度学习的效果把群以后,也可以把其他方面不可或缺的研究也都带动起来,才是真正的和谐发展。

其实现有的科研体系也有他的合理和必要性:

期刊发表虽然评审机制冗长,但多轮的修改和意见可以保证工作的完整性和严密性;差异与多样的数据和实验报告,可以减小算法有效性对某些数据分布的过拟合,以及检验在真实场景下的通用性;学术界相对工业界的独立研究,可以着眼于更加长期的科研impact。

这些目前机制下的缺失点,都值得我们来思考,如何在未来的成熟机器学习领域进一步完善。



来源:知乎 www.zhihu.com
作者:Bihan Wen

【知乎日报】千万用户的选择,做朋友圈里的新鲜事分享大牛。 点击下载

此问题还有 12 个回答,查看全部。
延伸阅读:
语音前端和语音识别哪个更有研究价值?
为什么 Deep Learning 最先在语音识别和图像处理领域取得突破?

没有评论:

发表评论