Return to site

脉搏波模式识别:人机互动的主动学习

“假设你带领一支舰队来到某个未知星球,星球上有足够的食材,但食材的毒性未知,且只能通过试吃来确定其是否有毒。食材的特征与其毒性有关,那么怎么才能用最小代价找到获取无毒食材的最佳方法呢?”

上文引用的剧情是本文要讲的故事的一个抽象,只不过主角变成了脉搏波。这是一种由心脏跳动产生的生理信号,自传统医学的总结归纳,到现在科技原理探寻[1],都认为其能够反映部分生理状态信息,进而对健康状况给出指示。然而,利用脉搏波推算生理状态不是无条件的,最基础也是最重要的条件就是脉搏波质量,只有在较量较好的脉搏波上才能给出有意义的分析。如何判断一段脉搏波的质量,这个问题可以转化为“质量好的脉搏波有什么内在模式”,如果采集的脉搏波具备这类模式,就可以判断为质量合格。最显而易见的模式便是动脉脉搏波随心脏节律而相应产生的周期性变化。这些有节律的节点便类似于例子中的无毒食材,而混杂在规律波形中的各种噪声干扰便是那些有毒食材。脉搏波的节律模式看似简单,但由于个体特征的千差万别,测量环境与设备的动态误差,最终被数字化的脉搏波信号也各式各样,海量数据已经证实质量较好的脉搏波所具备的模式不是简单规则所能概括。本文将由基于规则的专家系统展开,并进一步介绍如何在此基础上开展主动学习式的机器学习,本方法精度可超越之前专家系统且标注成本远低于传统机器学习,最终保证可靠的脉搏波模式识别。

图一. 标准脉搏波波形[1]

在学术、技艺等方面有专门技能或专业知识全面的人可称为专家,而这些技能与知识的积累离不开不断学习。虽然人力可见的数据有限,但大脑的长处恰恰在于可以举一反三,在学习少量样本后便能理解到其中的内在规律。人类确实可以通过神农尝百草式的冒险探索来总结规律,专家系统便是这样一种基于专家经验定制规则的有效方法,这不需要大量数据,但需要专家的智慧。但有时专家的智慧无法准确的翻译成规则,在诊脉这个领域,很多时候存在“运用之妙,存乎一心”的智慧型经验,无法用机械的规则表达。在这种场景下,“专家系统”是否能100%还原专家的智慧是要打折扣的。在少量样本下,专家系统还是能够解决大部分问题的,但随着数据的积累,异常情况不断增加,总会有超过“百草”之外的情况。 这时需要不断增改规则来处理新的情况,整个系统会变得越发复杂,牵一发而动全身,甚至不断修改,却发现其实初版更好。这也导致了专家系统的瓶颈,难以达到更高精度。。

而好的方面是随着数据丰富度与数据量的不断增大,机器学习算法得以应用。人为制定的规则,转化为基于数据所学习到的模型。在所学习到的模型表征能力足够强的情况下,如深度学习(DL)模型,这种“机械脑”可以超越人脑制定出的精密规则。在我们的任务中便是这种情况,大规模的信号采集,为我们提供丰富多样的脉搏波数据,随之而来的问题是,如何才能得到效果佳且训练成本低的模型?

前面已经提到,需要数据量要足够大,模型表征能力要足够强,这两点看似已经满足。但对于监督式机器学习,还有更为重要的一点:准确的数据标注。也就是数据标签的一致性要足够好,好比最初例子中,如果只是拿到很多食材,但没有标明有毒无毒,对于获得食材是否有毒的经验作用并不大。这时便存在一个悖论,数据丰富才有训练机器学习模型的基础,但数据量很大时又很难(要花大量人力物力)获得可靠标签。人工标注上百万的脉搏波信号几乎没有可能,但是基于专家系统与DL的主动学习(active learning)方法,却可以通过标注少量,达到与标注大量样本等同的效果,下面将详细介绍我们的实现方法和结果。

所谓主动学习是相对于传统的“被动”学习,其通过不断的假设检验进行交互式的学习[2]。在到星外来客的例子中,这种假设检验的对象是食材毒性的强弱,而在脉搏波的例子中,则可以是DL模型给出的置信度高低。交互的过程则需要“专家”参与,人在这个过程中需要对模型产出的给予反馈,标定新的标签或进行标签校正,从而使模型不断优化。在最初的迭代中,专家系统便是最初的假设。通过专家系统可以生成原始的脉搏波数据标签,保证初始DL模型的训练。这里需要注意的是,最初假设需要有较强的可解释性,专家系统中的规则正好满足这一要求,根据经验调整阈值可以为初始的DL模型提供相对可靠数据,这便保证了对于初始模型的基本控制。简单举例,如果使用专家系统的规则严苛,那么理论上会出现更多漏识,反之,如果规则宽松,则会出现更多误识。

图二:主动学习整体流程示意图

用此方法,在识别脉搏波模式任务中便有了两套输出,一套基于专家系统,另一套则是基于专家系统训练出的深度神经网络。由于神经网络特殊结构,理论上其可表征任何函数[3],DL模型也就可以学到专家系统中的主要规律,但由于专家系统本身细节上漏洞,两模型在具体数据上必然存在差异。实际的结果也确实如此,在脉搏波识别中D系统与专家系统有90%以上的一致性,由此印证了两系统的一致性,最为重要的交互便发生在这小于10%冲突的数据之中。

这10%的冲突数据意味着专家系统给出的标签与DL给出的推测不同,而真实值需要人工标注。虽然这部分数据比例很小,但数据量依然很大。DL系统输出的置信度便可以当作筛选指标得出两套系统的最大冲突点。即专家系统标定为某类,但DL系统推测此类概率极低的数据。另一方面,还可按此分数寻找DL模型本身最不确定的点,如二分类时,两类置信度接近的数据。这样可以大大降低需要人工标注的数据量,之后基于新的标签再次训练DL模型,经过多轮迭代后,DL模型便可在测试样本的两模型冲突数据上获得与人工标注很高的一致性。这样,基于最初专家系统可解释性很强的控制,再经过几轮主动学习对异常样本进行重新标注,最终我们获得了表现更为稳定精度更高的模型。

图三:典型主动学习起效数据

如上图所示,是一条被专家系统排除的脉搏波波形,蓝线是原始信号,这与标准的脉搏波形相差甚远。而橙线是原始信号的一阶差分波形,可发现其周期性很好,能提取出规律的周期性数据,通过主动学习后的这条数据中的波形可以识别,为后续的计算提供了稳定支持。而另一方面,调整少量关键数据的标签,可对模型整体产生很大影响,这类似于调整SVM分界面处数据。故可根据实际任务需求,调整出与之对应的模型。如下图中最后一个波形(绿点处,第四个规整波形之后的双峰区域),其左侧上升沿斜率最大点与前面的波形基本一致,如要求高recall则可以判定为目标点,反之则不能。那么次波形在对recall与precision需要不同的模型中其标签也应不同。这时,通过不同标注便可产出不同模型,以满足不停的需求。

图四:类似“分界面”上的数据

回顾整个流程,本文介绍的主动学习方法基于较为完善专家系统,并应用了表征性能极强,且可评估后验概率的深度神经网络。通过研究者主动进行假设检验,校正少量数据,多轮迭代DL模型,以较低成本获得超越最初专家系统的高精度模型。那么在最初的例子中,如果你是舰长,将如何开展探索呢?

[1] Paolo Salvi. Pulse Waves, How Vascular Hemodynamics Affects Blood Pressure. ISBN: 978-88-470-2438-0 (Print) 978-88-470-2439-7.

[2] Settles, Burr. "Active learning." Synthesis Lectures on Artificial Intelligence and Machine Learning 6.1 (2012): 1-114.

[3] Hornik, Kurt, Maxwell Stinchcombe, and Halbert White. "Multilayer feedforward networks are universal approximators." Neural networks 2.5 (1989): 359-366.

All Posts
×

Almost done…

We just sent you an email. Please click the link in the email to confirm your subscription!

OKSubscriptions powered by Strikingly