社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

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

人工智能学家 • 4 年前 • 437 次点击  
来源: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智能系统智商评测体系,开展世界人工智能智商评测;开展互联网(城市)云脑研究计划,构建互联网(城市)云脑技术和企业图谱,为提升企业,行业与城市的智能水平服务。


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

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/106944
 
437 次点击