美文网首页大数据,机器学习,人工智能
理解神经网络是否有更好的姿势?

理解神经网络是否有更好的姿势?

作者: AI研习社 | 来源:发表于2019-07-23 10:35 被阅读12次

    DeepMind 研究科学家 Timothy P. Lillicrap,宾夕法尼亚大学教授 Konrad P. Kording 近期发表了一篇文章《What does it mean to understand a neural network?》(arxiv.org/abs/1907.06374)。正如文章标题提出的,「理解神经网络」到底意味着什么?我们当前的研究是否走入了误区以至于忽略了某些很有价值的东西?这是一篇视角独特的讨论,雷锋网 AI 科技评论把文章主要内容介绍如下。

    神经网络可解释性之路面临困境

    自从现代神经网络被证明能解决复杂问题并开始蓬勃发展以来,如何理解这些网络就一直是一个未解之谜。网络中少则数千、多则数万的连接和权重都分别如何影响网络的表现、如何理解对抗性样本之类的意外行为,有许多问题目前都还没有完整的理论可以说清。

    但毫无疑问,我们对神经网络是有高度的掌控能力的。即便 AlphaGo、OpenAI Five 等已经在游戏中展现出了超人类水平的神经网络,它们也只是来源于人类编写的上百行代码而已。我们理解这些代码,我们知道它们将会如何转化为计算流程,在网络训练完毕以后也能够知道网络的所有权重。

    从这个意义上说,我们对网络的结构和其中的运算都有完全的了解。但我们真正希望获得的是一种介于人类思维语言以及计算机运算细节之间的中转语言,我们可以借助这种语言直接构建可以分类 ImageNet 图像或者能够下围棋的神经网络,而不需要经过繁琐、消耗资源的迭代学习过程;可以借助这种语言直接获得网络表现的清晰完整的描述,而不需要通过反复的测试进行经验总结。目前我们还没有找到这样的中转语言,甚至都不确定是否存在这样的语言。

    神经网络能被紧凑地表达吗?

    一个值得深入思考的角度是,在机器学习的理论框架下设计的人工智能系统,都是一些「学习系统」,它们在人类编写的学习规则下学习(从数据中提取信息)。这些学习规则的表达非常紧凑,几十、几百行高级编程语言代码(比如 Pytorch 代码)就足以描述。

    对于我们广大的机器学习科研和应用人员来说,这种紧凑的表达显然能帮助我们获得一些有价值的理解。这样的紧凑表达也给我们提供了许多便利:我们可以为同一个想法创造许许多多的不同变体,然后用它们解决一大批问题。

    既然学习规则可以被紧凑地表达,那么神经网络本身可以被紧凑地表达吗?不见得。近几年随着知识蒸馏和计算复杂度的研究增多,我们对数据和网络的可压缩性的理解也在增加。我们已经知道,在 ImageNet 上训练完毕的网络是无法被压缩到 10 万个独立参数之内的;即便是用来识别 MNIST 数字的网络也无法被压缩为人类可以理解的格式。但同时,能存储超过三万个类别的知识并进行分辨的人类大脑,作为一类十分高级的神经网络,想要在其中找到,或者想要压缩为某种紧凑的表征,也是几乎不可能的事情。

    跳出压缩技巧之外,我们其实可以问这样一个问题:在任务中表现出了人类水准的网络,应当是容易压缩的吗?不难得到答案:越是处理复杂任务、能存储并处理越多信息的网络,就越难以压缩。

    更重要、也更长远的一件事是,完全掌握某一个可以正常工作的 AI 系统的网络架构和权重、但不了解学习规则和执行技巧,对于解决其它的任务就起不到任何帮助。也就是说,了解训练系统用到的学习规则、网络架构、损失函数,对于后续的更改和拓展要远比了解直接存在于网络之中的连接权重重要。

    与神经科学的类比

    虽然人脑的神经网络和如今的人工神经网络有诸多不同,但是相同点也不少,尤其是极高的可塑性以及难以准确了解网络内的表征。说到底,人脑在具有极强的持续学习能力、有高超的任务解决能力的同时,可解释性并不比人工神经网络好到哪里去,但同时人类在学习和发展方面有诸多理论研究成果和实用技巧,不仅容易理解,也能切实起到帮助改善个人状况、提升个人能力的作用。我们似乎可以说,为神经网络(不论人脑还是人工神经网络)找到人类可以理解的紧凑表达不仅不是唯一的目标,甚至它的作用也不如网络架构、学习规则、发展规律的研究的作用更大。

    正如 Hinton 等人在 AlexNet 论文中,以及 DeepMind 在 AlphaGo 论文中展示的,一个人工神经网络可以被清晰地分成先天(原理)与后天(参数)两部分:为网络提供任务和有关的数据源(供网络从其中提取出绝大部分无法压缩也难以描述的参数值),同时记录下使用的网络架构(卷积网络 / 残差网络)、损失函数(L2 / 交叉熵)、学习规则(SGD / Adam)、优化手段(蒙特卡洛树搜索)。后面的这四点可以简单且严谨地表达为人类能够理解的方程,而且可以指导我们开发未来更多的人工神经网络系统。

    在统计物理中,一团气体可以由温度、压强等不多的几个变量描述,然后在这几个变量基础之上继续进行的预测和控制也都可以准确地进行。神经科学研究中也倾向于相信人类大脑中也存在这样的描述方式。但气体分子互相都是一样的、可交换的、只有短期记忆,而人类大脑中的细胞是各自具有独特性、具有长期记忆能力的(这也从另一个角度印证了上文提到的「难以被压缩」)。所以,神经科学研究中期待的这种描述方法很可能起到了误导的作用。

    总结

    看起来可行的事情到了最后才证明此路不通,这样的故事在历史上反复重演。也许以后我们会发现人工神经网络便于实验所以更容易理解,也有可能我们首先证明了人类大脑的强模态性、近似线性和高噪声特性;也有可能我们最终都无法完全理解任一种网络。

    目前热门的研究大脑的方法已经可以单独研究其中的先天成分;从行为学的角度讲,我们也可以提问学习是如何改变了行动的。当我们研究表征的时候,我们可以研究是哪个损失函数、哪个网络架构、哪个学习特性可能导致了检测到的表征的变化。当我们尝试研究大脑如何运行而遇到困难的时候,我们完全可以研究大脑是如何学习运行的

    阅读原论文见:https://arxiv.org/abs/1907.06374

    PS:谷歌大脑研究员 Adam Gaier 和 David Ha 近期也对神经网络的结构和可解释性做出了新的探索,他们尝试避开难以解释的连接权重,直接创建具有可理解的结构的网络。这也是非常有趣的研究思路,详细介绍请见《神经网络的气宗与剑宗之争:先验强大的网络甚至不需要训练》

    福利大放送——满满的干货课程免费送!

    「好玩的Python:从数据挖掘到深度学习」该课程涵盖了从Python入门到CV、NLP实践等内容,是非常不错的深度学习入门课程,共计9节32课时,总长度约为13个小时。。

    课程页面:https://ai.yanxishe.com/page/domesticCourse/37

    「计算机视觉基础入门课程」本课程主要介绍深度学习在计算机视觉方向的算法与应用,涵盖了计算机视觉的历史与整个课程规划、CNN的模型原理与训练技巧、计算机视觉的应用案例等,适合对计算机视觉感兴趣的新人。

    课程页面:https://ai.yanxishe.com/page/domesticCourse/46

    现AI研习社将两门课程免费开放给社区认证用户,只要您在认证时在备注框里填写「Python」,待认证通过后,即可获得该课程全部解锁权限。心动不如行动噢~

    认证方式:https://ai.yanxishe.com/page/blogDetail/13999

    相关文章

      网友评论

        本文标题:理解神经网络是否有更好的姿势?

        本文链接:https://www.haomeiwen.com/subject/amznlctx.html