1
本文作者: 张利 | 2017-05-11 18:31 |
AI掘金志(公众号):雷锋网旗下只专注于报道AI商业化与落地的垂直内容频道。助力“AI技术输出者”寻找商业潜力大的落地场景,服务“AI技术消费者”选择适合自身的技术供应商。
AI掘金志主要推送两类文章:
1.深入挖掘AI公司与传统机构的合作案例。
2.剖析各地医院、银行、制造企业、零售商、政府部门等传统机构对AI的需求与实际应用情况。
雷锋网按:本文转载于肖恩大侠的个人公众号:肖恩大侠(ID:xiaoendaxia1)。
人工智能,路在何方?今天,带来某医疗行业人工智能创业公司的部分思考。供大家参考。
最近几个月,无论是媒体中人工智能第N次战胜人类医生,跨国科技巨头挺进医疗人工智能,AI创业公司宣布高额融资,还是政府发文鼓励人工智能相关的医疗器械发展,医疗人工智能方面的新闻铺天盖地袭来。
单以医学图像为例,CT、核磁、超声、病理、内窥镜、眼底等,都可以开发人工智能。医疗图像的计算机处理向来是一个很大的产业,计算机辅助诊断(CAD)也不是一个新概念,只是人工智能技术手段的进步赋予了这个行业更多可能性。当然,我们要承认20世纪60年代发展的模式识别技术其实也解决了一些医学图像计算机辅助诊断方面的问题。
由于新闻报道的真实性不好评估,我们仅在学术论文层面来讨论医学图像人工智能的临床价值。过去几个月以来比较受人瞩目的学术成果,也就是在高分学术期刊上发表的医学图像人工智能的部分论文有:
1. 《美国医学会杂志》,谷歌:糖尿病视网膜病变的定级
《Development and Validation of a Deep Learning Algorithm for Detection of Diabetic Retinopathy in Retinal Fundus Photographs》, 发表于2016年12月的美国医学会期刊JAMA上。作者使用12.8万张的眼底照片训练了模型,主要的测试数据是来自4997名病人的9963张眼底照片集EyePACS-1。敏感度为90.3%时特异度为98.1%,敏感度为97.5%时特异度为93.4%。
2. 《自然》,斯坦福:两种皮肤病变的诊断
《Dermatologist-level classification of skin cancer with deep neural networks》, 发表于2017年1月的Nature期刊。作者使用12.9万张含有两千多种病灶的临床皮肤照片训练出模型,在分类上皮癌变和黑色素瘤两种目标的任务上与21位皮肤病专家的表现一致。与病理结果比较,作者分别测试了200-1000+张照片,获得的敏感度与特异度绘制的ROC曲线的AUC均大于0.94 (AUC是曲线下面积,敏感度和特异度均逼近100%时,AUC逼近1)。
当然还有其他领域的科研进展,我在这里就不逐一分析了。
无论是识别病灶还是判断癌变程度,最基本的,是要同时讨论敏感度和特异度,前者代表正确的识别阳性的能力,反映了系统的漏诊率;后者代表正确的判定阴性的能力,反映了系统的误报率。当然,医学论文也经常直接使用平均每帧误报数这个指标来反映系统的特异度。
这和计算机工程领域的精确率Precision和召回率Recall说的是一个事情,并非是医学界特有的评价指标,但是偏偏在很多软文中有一些哗众取宠的表达,比如“精确率已经达到了95%,完美PK掉了人类医生”。那么我们让一个初中生写一段程序,对所有的输入都报阳性,精确率肯定是100%。所以,任何单谈敏感度或者特异度的成果发布,都是在耍流氓。
由于笔者早些年对谷歌的深入密切了解和在斯坦福的经历,对这两家机构领先的技术和严谨的态度非常认可,这两篇学术成果的发表也是实至名归。然而,具体到临床思考,这两项人工智能辅助诊断的成果并没有涉及能让人完全信服的临床验证。
谷歌,“Further research is necessary to determine the feasibility of applying this algorithm in the clinical setting”;斯坦福,“Further research is necessary to evaluate performance in a real-world, clinical setting, in order to validate this technique across the full distribution and spectrum of lesions encountered in typical practice.” 这两篇顶级学术文章的自谦虽说有些客套,笔者认为临床验证的确可以在下述方向上努力。
更大的测试规模
谷歌和斯坦福的两篇论文都使用了接近13万张的训练样本,分别测试了不到一万张和一千张左右。前者看似绝对数量不少,但实际上比起训练样本数量,仅仅不到8%。计算机辅助诊断的临床验证是要证明算法具有推断力,至少应该满足测试集与训练集规模相当,这样才能规避算法过拟合的风险。
从商业的角度思考,医生标注了近13万张训练样本数据,那么做出的成果至少应该在更大规模的测试集上验证有效,才能说明人工智能的开发成本与医生劳动付出在商业上是可以打平的。笔者认为,临床的测试集是几倍于训练样本时,会很有说服力。
百度百科:前瞻性研究(prospective study)是把研究对象选定,研究方式预定好,相关的影响因素纳入统计范围,在这些条件下,根据这些因素去做持续的追踪研究,分析判断,最后在原订计划的时间内做出评估,把符合原来设计的方法的所有例子都要列入统计,(这个阶段,不只是选有效的来统计),全部结果都要呈现出。最终,选择的结果经过计算,得出纳入统计范围中,相关影响波动有效的因素构成重点目标,继而对这些因素进行深入研究,这就是前瞻性研究。
这两篇论文都不是前瞻性研究,验证人工智能算法的效果,采用前瞻性研究的方法并不会增加多少成本和复杂度,但临床意义将凸显。从计算机工程的角度出发,很多人工智能算法成果的开发,包括谷歌在上述科研中,是预先选定了测试集,然后不停的增加训练样本数量,直至得出在测试集上优秀的表现。这个方法在实际操作层面与前瞻性研究是有一定距离的。
临床产品化的现实可行性
谷歌该团队的产品经理在一次公开演讲中表示,“现在的瓶颈主要在硬件层面,如何做一个轻量级的模型可以放在硬件设备里”(而不是靠云计算)。斯坦福论文中展望了未来在手机等移动终端应用的场景,但是从公开资料上看,这个团队并没有像谷歌一样从产品角度继续工作。
总之,人们脑补的人工智能替代医生,哪怕仅仅是辅助,在产品层面尚未出现。
认识深度学习本身的局限性。
神经网络不是“神经”,那只是一个个节点的分段线性函数;深度学习也不是“学习”,那只是一个强大的拟合函数。从数学角度去看,卷积神经网络是一组表达能力很强的函数,它可以用来拟合很多数据对象,当然,包括图像。
1. 什么是拟合?
百度百科:所谓拟合是指已知某函数的若干离散函数值{f1,f2,…,fn},通过调整该函数中若干待定系数f(λ1,λ2,…,λn),使得该函数与已知点集的差别(最小二乘意义)最小。比如平面中有几个点,可以用直线来拟合,可以用二次函数来拟合,当然也可以用五角星,甚至用奥特曼来拟合。
拟合函数的解释(直线-曲线.-五角星)
选择不同函数来拟合这些已知点集,会产生完全不同的结果,而这个选择就是在揭示问题的抽象本质;反观现在很多论调,用深度学习来解决一切问题,其实是做了一个很不科学的假设:所有问题的本质都可以用分层网络结构的拟合函数来表达,而且这个网络的每个节点都是简单的分段线性函数。
2. 是不是数据量足够就一定可以拟合出好用的模型?
答案当然是否定的,否则就不会有一个概念:过拟合(overfitting)。拟合一个特定的函数,会有对应的数据量区间能够比较准确的呈现这个函数。而函数本质还不确定的时候,比如不清楚拟合目标是线性函数、抛物线还是奥特曼,完全靠拟合来生成一种函数表达,过拟合的风险是普遍存在的。
与过拟合相对,还有个概念叫欠拟合(underfitting),很多所谓人工智能的从业者其实并没有能力判断欠拟合和过拟合,所以往往在识别结果不达预期的时候,唯一的判断是,需要加训练样本数据量(欠拟合)。而当随着训练样本增多,识别效果不升反降的时候,他们会说,是训练样本的标注质量出了问题(过拟合了一些错误样本)。殊不知,是拟合本身的问题。
3. 正确对待深度学习这种拟合函数
揭示事物的本质、并用以计算机工程实现为有价值的产品离不开数学建模。并非所有的数学工具都是拟合,也并非所有表达能力强的函数都是深度学习。真正的算法开发在于剖析问题本质来设计数学模型,而不是在深度学习这个拟合函数的范畴内去调参数。
我们不妨可以把深度学习叫做“深度拟合”,这样可以减少大家对“学习”这两个字的错觉。
从“学习”的角度说开去,一个三岁小孩学习辨别男女,识别猫狗,以及认出七大姑八大姨,是很正常的;这个孩子长到十几岁的时候,一眼分辨出奔驰和宝马应该不难,也许可以一眼分辨奥迪A6和A8;可如果成长为一名优秀的医生,他需要接受若干年的知识学习和临床实践,拿下博士学位并在岗训练几年,也许才能够算合格。
识别猫狗,辨别车辆,和做医学判断,这个学习的过程是有本质区别的,前两者都可以通过不断重复来训练(可能分辨奥迪A6和A8需要一点点知识);而医学,本身就是有强知识结构的学科,医科专业不是谁都能考上的,也不是谁都能轻易拿到医学博士的,这个过程必然不是靠机械重复的训练。医学知识相关的抽象思维体系的建立是临床实践的前提。
1. 医学问题的难度和纵深
如果说深度学习神经网络是一定程度模拟了人的视神经构造,那也只在纯视觉领域,比如识别人脸猫狗等,取得了不错的识别效果。同样的逻辑并不适合其它一切识别对象。对医学对象性质的判别,包含非常复杂的逻辑分析和对抽象概念的理解,与判别猫狗等所需的对视觉特征的统计归纳有本质区别。受过良好基础训练的医生,并不需要多么海量的病例就能准确判别。而基础比较差的医生,并不能靠接触病例多而提高其判别的准确率。
脱离医学的逻辑知识体系,即使人的神经也无法正确拟合经验对象从而达到正确的预测,更不要说几层分段线性函数了。医学识别的是对象的性质,而非对象的外观的相似性,大量的情况是外观形态相似但性质迥异,或外观差距很大但性质一致。例如如何让计算机时而精确地抓住显著的视觉特征,时而忽略那些显著特征而抓住细节,就不是单纯照搬识别猫狗的方法论能够实现的。
2. 医学数据的相对稀缺性
与人脸、猫狗、车辆动辄几十万上百万的训练样本相比较,如果考虑了医学问题的难度和复杂的维度,即使是在中国这样的医疗数据大国,拿出的数据量恐怕也是不够一根筋的深度学习神教来挥霍的。这个过程中,获得大量精确标注也是耗时费力的事情,而没有依照合适的数学模型设计的标注工作,其实也浪费了大量的医疗资源。
从问题本身入手,发掘其内在逻辑,而不是手里拿着一个榔头的时候,看什么都像钉子。若干年以后,大家回望深度学习的感觉,也许就像现在看待模式识别。开发医学图像的人工智能辅助诊断的算法和系统要尊重临床指南,将具体问题中知识逻辑的部分和统计拟合的部分区分开,让深度学习去完成它最擅长的工作。
让上帝的归上帝,凯撒的归凯撒。
更多关于人工智能升级传统行业的文章,请关注雷锋网AI商业化垂直微信公众号:AI掘金志(ID:HealthAI)。
雷峰网版权文章,未经授权禁止转载。详情见转载须知。