深度学习?不一定非得搞“黑箱”

杜克大学科学家提出了一种名为「概念白化」的技术,旨在引导深度神经网络学习特定概念,提高模型的可解释性,而不牺牲性能。传统深度学习模型的内部工作机制难以理解,而概念白化通过对模型的潜在空间进行调整,使其与学到的概念相匹配,从而降低解释难度。这种方法适用于卷积神经网络,对于理解和修正模型的偏差有潜在帮助,尤其在医学成像等对可解释性要求高的领域有广阔的应用前景。
摘要由CSDN通过智能技术生成

来源:TechTalks

作者:Ben Dickson

编译:科技行者

深度神经网络的参数网络极其庞大复杂,也因此让机器得以实现以往难以想象的各类功能。然而,这种复杂性也成为制约其广泛应用的祸根:神经网络的内部工作机理一直是个谜,就连创建者自己也搞不清它到底怎么做出决策。自深度学习在2010年初全面流行以来,这个难题一直困扰着人工智能业界。 

随着深度学习在各个领域及应用中的拓展,人们对根据神经网络的结果以及学习到的参数组合来解释神经网络技术原理的兴致也越来越高。然而,这些解释方法往往并不靠谱,甚至充满种种误导性。更要命的是,这一切对于在训练过程中修复深度学习模型内的偏差/偏见几乎没有任何实际意义。 

最近,《自然:机器智能》杂志发表了一篇经过同行评审的论文,杜克大学的科学家们在其中提出了“概念白化(concept whitening)”技术,希望在不牺牲性能的前提下引导神经网络学习特定概念。概念白化将可解释性引入深度学习模型,而不再由模型自主在数百万训练得出的参数中寻找答案。这项技术适用于卷积神经网络,展示出令人鼓舞的结果,亦有望为人工智能的未来发展及研究产生重大影响。 

深度学习模型的特征与潜在空间 

面对质量过硬的训练示例,拥有正确架构的深度学习模型应该有能力区分不同类型的输入素材。例如,在计算机视觉任务场景下,经过训练的神经网络能够将图像的像素值转换为相应的类别。(由于概念白化主要适用于图像识别,因此我们这里主要讨论机器学习任务的这一特定子集。当然,本文涉及的很多内容同样适用于整个深度学习领域。) 

在训练期间,深度学习模型的每一层都会将训练图像的特征编码为一组数值,并将其存储在参数当中。这个过程,即AI模型的潜在空间。通常,多层卷积神经网络中的较低层负责学习基本特征,例如角度和边界。神经网络的较高层则学习检测更复杂的特征,例如人脸、物体、完整场景等。 

图注:神经网络中的各层都会对输入图像中的特定特征进行编码。 

在理想情况下,神经网络的潜在空间应代表与待检测图像类别相关的概念。但我们并不确定,因为深度学习模型往往倾向于学习最具区分性的特征——即使这些特征与结论并无因果关联。

例如,以下数据集中包含小猫的每一张图像,右下角都恰巧有个徽标。人类能够很快发现,徽标跟小猫没有任何关系。但深度学习模型却很可能选择取巧路线,即认定右下角有徽标的就是包含小猫的图像。同样的,如果训练集中所有包含绵羊的图像都有草地背景,那么神经网络学会的很可能是检测草地、而非绵羊。

图注:在训练期间,机器学习算法会搜索最容易将像素与标签关联起来的访问模式。

因此,除了深度学习模型在训练与测试数据集上的实际表现之外,更重要的是理解模型到底学会检测出哪些概念与特征。经典解释技术也正是从这个角度试图解决问题。

神经网络的事后解释 

大部分深度学习解释技术都具有事后特性,意味着只能通过检查输出结果及参数值对经过训练的神经网络加以评估。例如,目前一种用于确定神经网络在图像中到底在观察哪些对象的流行技术,就尝试遮挡住输入图像中的不同部分,并观察这些变化会给深度学习模型的输出造成哪些影响。这项技术有助于创建热图,突出显示与神经网络相关度最高的各项图像特征。

图注:显著性图示例 

其他事后技术还包括开启及关闭不同人工神经元,检查这些调整如何影响AI模型的输出。这些方法同样有助于找到相关特征与潜在空间之间的映射关系。

虽然这些方法效果不错,但本质上仍是在以“黑箱”形式看待深度学习模型,无法真正描绘出神经网络的确切情况。

白皮书作者写道,“「解释」方法通常属于性能的摘要统计信息(例如局部逼近、节点激活的总体趋势等),而非对模型计算的实际解释。” 

例如,显著性图的问题在于,它们往往无法发现神经网络学习到错误信息的问题。当神经网络的特征分散在潜在空间中时,解释单一神经元的作用将变得极为困难。

图注:显著性图解释,无法准确表示黑箱AI模型如何做出最终判断。

杜克大学计算机科学专业学生、概念白化论文第一作者在采访中表示,“深度神经网络(NN)在图像识别方面非常强大,但由于极为复杂,我们无法理解神经网络隐藏层中的学习过程。这种可解释性缺失,导致神经网络变得不可信且难以实际应用。以往大部分事后解释只是在努力分析模型学到了什么,例如各个神经元具体学到了什么概念。但这些方法仍然严重依赖于这样一个假设:这些概念已经被网络所学会(并不一定),而且只集中在一个神经元上(同样并不一定)。” 

杜克大学计算机科学教授、概念白化论文联合作者Cynthia Rudin之前曾就信任黑箱解释技术的危险性发出警告,并表示此类方法有可能给出错误的神经网络解释。在之前发表在《自然:机器智能》杂志上的另一篇论文中,Rudin鼓励使用并开发天然具有可解释性的AI模型。作为博士导师,Rudin领导着杜克大学的预测分析实验室(此实验室专注于研究机器学习的可解释性课题)。

概念白化的目标在于开发神经网络,其潜在空间将与训练过程中学会的概念相匹配。这种方法使深度学习模型真正具有可解释性,同时也极大降低了在输入图像的特征与神经网络输出之间建立关系映射的难度。

Rudin在采访中表示,“我们的工作直接改变了神经网络处理潜在空间的方式,让关系轴真正与已知概念对应起来。” 

将概念融入神经网络 

深度学习模型通常会在经过标记的单一数据集上完成训练。概念白化则引入了包含概念示例的第二套数据集。这些概念与AI模型的核心任务有关。例如,如果您的深度学习模型给出“卧室”这一检测结果,则相关概念将涵盖床、冰箱、灯、窗户及门等。

Chen指出,“代表性样本可以手动选择,因为它们有望构建我们对可解释性的定义。机器学习从业者可以通过任何方式收集这些样本,借此建立起适合自身应用的具体概念数据集。例如,我们可以要求医师选择具有代表性的X光片来定义各项医学概念。” 

通过概念白化,深度学习模型将经历两个并行的训练周期。神经网络会调整自身总体参数以表示主要任务中的类,而概念白化技术则调整各层中的特定神经元,使其与概念数据集中包含的类对齐。

这样的结果,就是造成一个纠缠的潜在空间,其中各个概念将在每层中整齐分布,神经元的激活也与其各自概念相对应。Chen表示,“这种纠缠使我们能够对网络如何一层层学习概念拥有更清晰的理解。” 

为了评估这项技术的有效性,研究人员通过深度学习模型(在不同层上插入概念白化模块)运行一系列验证图像。接下来,他们根据每一层上激活的概念神经元对图像进行分类。在较低的层中,概念白化模块能够捕捉到低级特征,例如颜色及纹理。举例来说,网络能够通过较低层意识到蓝色背景下的白色物体可能与“飞机”概念紧密相关,而带有暖色的图像则更可能包含“床”的概念。在较高层中,网络将学习如何对代表该概念的对象进行分类。

图注:概念白化会在较低层学习低级信息(例如颜色、纹理),在较高层学习高级信息(例如对象、人)。

概念纠纷与对齐的一大优势,是保证神经网络不会犯下太过低级的错误。当图像通过网络运行时,较高层中的概念神经元会纠正较低层中可能发生的钷。例如,在下图当中,由于密集存在大量蓝色与白色像素,因此神经网络的较低层错误将图像与“飞机”概念关联了起来。但当图像转移到较高层中时,概念神经元开始帮助模型将结果导向正确的方向(右图为可视化纠正过程)。

图注:当图像从神经网络的较低层转移至较高层时,概念白化有助于纠正误解和错误。

以往的模型可解释性尝试往往强调创建分类器,利用这些分类器通过神经网络潜在空间中的值推理概念。但根据Chen的解释,在不存在纠缠潜在空间的情况下,通过这类方法学习到的概念并不纯粹,很可能将概念神经元的预测分数关联起来。“以往人们虽然尝试用监督方式破解神经网络之谜,但他们并没有真正解开谜题本身。另一方面,概念白化则通过白化转换对各关系轴进行关联性分解,借此真正理解模型的概念映射思路。” 

将概念白化引入深度学习应用 

概念白化是一类能够插入卷积神经网络的模块,而非批量归一化模块。批量归一化技术诞生于2015年,这是一种流行技术,能够调整用于神经网络训练的数据分布,借此加快训练速度并避免出现过度拟合等问题。目前最流行的卷积神经网络均已在各层中使用批量归一化技术。

除了批量归一化功能之外,概念白化还能让数据沿着代表相关概念的多条轴实现对齐。

概念白化架构的优势在于,它能够轻松被集成至多种现有深度学习模型当中。通过研究,科学家们使用概念白化替代批量归一化模块,借此修改了多种经过预训练的流行深度学习模型,并仅用一轮训练就达到了预期效果。(一个轮次,代表深度学习模型通过完整训练集进行训练的整个周期。深度学习模型在从零开始进行训练时,往往需要经历多个轮次。)

Rudin指出,“概念白化有望被广泛应用于医学成像等高度强调可解释性的领域。” 

在实验当中,研究人员将概念白化应用于皮肤病变诊断深度学习模型当中。他们在论文中写道,“概念白化潜在空间上测量出的概念重要性评分能够提供重要的洞见,帮助我们了解哪些概念在皮肤病变诊断中更具意义。” 

Chen表示,“为了未来的持续发展,我们认为可能应该脱离预定义的概念,转而从数据集中发现这些概念——特别是那些尚未被发现的重要概念。以此为基础,我们能够以纠缠方式在神经网络的潜在空间内明确表示这些概念,进一步提高模型的可解释性。” 

目前研究的另一个重要方向,是在分层结构中组织概念,由此建立起概念集群以替代彼此孤立的个体概念。

深度学习研究带来的启示 

随着深度学习模型变得越来越庞大、越来越复杂,业界对于如何实现神经网络透明性也开始产生明显的意见分歧。

一种意见强调观察AI模型的行为,而非徒劳地观察黑箱内部。这种方法也是人们研究动物乃至人类大脑、设计实验并记录激活方式时采取的思路。这种理论的支持者们认为,任何对神经网络施加可解释性设计约束,都必然会导致模型质量下降。如果大脑能够从无到有经过数十亿次迭代进化出智能,神经网络也应该可以通过这种纯进化途径达成相同的效果。

概念白化的出现反驳了这一理论,并证明我们能够在不造成任何性能损失的前提下,对神经网络施加自上而下的设计约束。有趣的是,实验表明深度学习模型在引入概念白化模块后确实能够提供可解释性,且核心推理任务的准确性不会发生任何显著下降。

Rudin总结道,“概念白化以及我们乃至更多其他研究实验室的成果已经全面证明,构建可解释模型又不损害其性能确有客观可行性。我们希望这项工作能够改变人们对黑箱模型机制的盲目推崇,吸引更多参与者立足各自领域建立起具备可解释性的机器学习模型。”

未来智能实验室的主要工作包括:建立AI智能系统智商评测体系,开展世界人工智能智商评测;开展互联网(城市)云脑研究计划,构建互联网(城市)云脑技术和企业图谱,为提升企业,行业与城市的智能水平服务。

  如果您对实验室的研究感兴趣,欢迎加入未来智能实验室线上平台。扫描以下二维码或点击本文左下角“阅读原文”

Cynthia是个问题管理/BUG管理/任务管理/项目管理系统。 Cynthia提供了一个基于Web的、开源的、跨平台的软件项目管理和问题管理的解决方案。通过极大的灵活度,实现了特殊性和普遍性的统一。它提供了强大的自定义配置功能,用户能够根据自己的实际情况配置问题的流转和数据模板,它同时内置了强大的Cache模块提高数据的访问效率。 Cynthia的优势: 1、巨大的灵活性,任何东西都是可以配置的,甚至包括整个流程、表单和人员角色,所以Cynthia不仅仅只用于问题管理,还可以用于需求管理、运维管理等各种工作流程系统 2、丰富的统计报表,可以根据不同类型的统计方式获取报表 3、强大的数据筛选功能,包括对任何字段及历史记录的筛选,并能够长期保存 4、详细的日志信息,对于每次修改系统都会详细的记录 5、数据标记功能,对于系统中的数据可以方便的打标记 6、丰富的快捷操作,在实际项目中总结出来的一些常用的批量操作,例如批量修改,批量导出等功能 7、方便部署,直接打war包部署到tomcat resin等web服务器上即可 8、简洁漂亮的UI,采用Google风格的样式,看起来比较清爽 9、开源的软件,用户团队可以方便的进行二次开发  10、强大的技术支持,我们有专业的团队维护和定期升级系统,您的反馈我们都会认真评估并在后面的版本中发布 …… Cynthia部署: 本单主要介绍如何部署cynthia服务(以tomcat为例); 1、线上下载cynthia.war包 2、将下载的cynthia.war包解压后,放在tomcat的webapps目录下面 3、新建数据库命名为cynthia,导入docs目录下的cynthia.sql文件 4、打开config目录下的config.properties 根据docs目录下的cynthia参数配置说明进行配置。(必须配置driverClassName、url、username、password参数!!) 5、启动tomcat 6、打开网址 localhost:8080/Cynthia 即可访问! 默认系统管理员帐号:admin 密码:admin 如何开始 本章主要介绍在一个全新的环境下如何开始使用Cynthia管理项目和问题,只是做一个简单的介绍,主要从流程定义,表单定义,用户管理和问题处理等步骤介绍,每个步骤的详情在后面的章节会进行介绍。 1、定义一个流程 Cynthia是管理问题的工作流系统,问题由谁处理,处理完之后如何往下传递,整个流程里面都有哪些角色,这些问题Cynthia里面都没有规定死,而是交给用户根据实际情况去配置,有的小项目可能只有开发和测试,而有的大项目可能还有产品,运维,项目经理等各种复杂的角色,所以我们把权力交给用户,这样可能会增加配置时的复杂度,但是也更灵活了。开始时可以由管理员来创建流程。 2、定义一个表单 测试人员在定义问题的时候需要填写一些字段,而这些字段对于不同的项目来说肯定也是不一样的,基于移动端的项目肯定要有移动终端的型号,移动操作系统或者网络状态等字段,而在PC端的项目来说这些字段则完全没有必要存在,因此我们也把定义字段的权利交给用户,用户针对不同的项目来定义不同的字段。 3、增加用户 每个流程中都有定义的角色,这个也是用户根据不同的项目定义的,针对不同的角色用户可以添加不同的人员,这样项目之间和角色之间没有任何影响,权限也更清晰。 4、新建和处理问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值