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

标签: 人工智能学术 | 发表时间:2019-07-22 22:57 | 作者:
出处:https://www.leiphone.com

雷锋网 AI 科技评论按: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 近期也对神经网络的结构和可解释性做出了新的探索,他们尝试避开难以解释的连接权重,直接创建具有可理解的结构的网络。这也是非常有趣的研究思路,详细介绍请见 《神经网络的气宗与剑宗之争:先验强大的网络甚至不需要训练》

雷锋网 AI 科技评论报道。

相关 [理解 神经网络 姿势] 推荐:

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

- - 雷锋网
雷锋网 AI 科技评论按:DeepMind 研究科学家 Timothy P. Lillicrap,宾夕法尼亚大学教授 Konrad P. Kording 近期发表了一篇文章《What does it mean to understand a neural network?》(arxiv.org/abs/1907.06374).

在理解通用近似定理之前,你可能都不会理解神经网络

- - 机器之心
此前,图灵奖得主、深度学习先驱 Yann LeCun 的一条推文引来众多网友的讨论. 在该推文中,LeCun 表示:「深度学习并不像你想象的那么令人印象深刻,因为它仅仅是通过曲线拟合产生的插值结果. 但在高维空间中,不存在插值这样的情况. 而 LeCun 转发的内容来自哈佛认知科学家 Steven Pinker 的一条推文,Pinker 表示:「 通用近似定理很好地解释了为什么神经网络能工作以及为什么它们经常不起作用.

轻量的神经网络

- - Just for Life.
很久之前我觉得移动端应用几百兆的模型不切实际,在不考虑蒸馏、量化等压缩方法下,发现了 MobileNet 设计的很神奇,大小只有几 MB,可以说是一股清流了. 就整理发布了一下,然后今天发现找不到了,神奇. (于是顺手和 ShuffleNet 一并整理到轻量化的神经网络中). 基本上可以说这个版本是后面几个版本的出发点.

BP神经网络的Java实现

- - ITeye博客
课程作业要求实现一个BPNN. 此前只用Matlab实现过,这次尝试使用Java实现了一个. 关于BPNN的原理,就不赘述了.  为了验证正确性,我写了一个测试用例,目的是对于任意的整数(int型),BPNN在经过训练之后,能够准确地判断出它是奇数还是偶数,正数还是负数. System.out.println("训练完毕,下面请输入一个任意数字,神经网络将自动判断它是正数还是复数,奇数还是偶数.

神经网络与用户行为

- - 博客园_新闻
英文原文: Neurology & User Behavior: What We Know. 流量和转化率是我们衡量一个网站是否成功的两个重要指标. 网站转化率就是指用户进行了相应目标行动的访问次数(成交人数)与总访问次数的比率. 这里所指的相应的行动可以是用户登录、用户注册、用户订阅、用户下载、用户购买等一些列用户行为,因此网站转化率是一个广义的概念.

[译] 调试神经网络的清单

- - IT瘾-dev
训练深度学习模型是非常耗时的工作,没有什么比花费了好几天训练而最终结果效果不佳更让人沮丧的了. 因此翻译了这篇文章: Checklist for debugging neural networks,希望能给你一点启发,尽早发现模型中的问题. 原文地址:https://towardsdatascience.com/checklist-for-debugging-neural-networks-d8b2a9434f21 ,略有删减.

研究人员首次用DNA构造人工神经网络

- Robi - Solidot
加州理工研究人员首次用DNA构造出人工神经网络,类似一个简化的大脑. 此前他们曾研制过一个能计算平方根的DNA逻辑门. 研究人员112种不同的DNA链组成四个相互联系的人工神经元,它会玩一个猜心术的游戏. 研究人员和这个试管中的神经网络玩了27次游戏,每次提供的线索都不相同,而它每次都猜对了. 研究人员表示,具有人工智能的生化系统,可以在医药,化学以及生物领域带来不可估量的应用.

自组织增量学习神经网络-SOINN

- 金文 - 丕子
自组织增量学习神经网络(Self-organizing incremental neural network, SOINN)实现包括学习、记忆、联想、推理、常识等方面的研究,最终目的是实现能够模拟人类大脑的供智能机械使用的通用型智能信息处理系统——人工脑. a. 基于SOINN的监督学习、非监督学习、半监督学习算法研究.

动态神经网络工具包DyNet:比Theano和TensorFlow更快

- - IT瘾-tuicool
近日,来自卡内基梅隆大学、日本奈良先端科学技术大学、Google DeepMind、以色列巴伊兰大学、艾伦人工智能研究所、IBM T.J. Watson 研究中心、澳大利亚墨尔本大学、约翰·霍普金斯大学、谷歌、华盛顿大学、微软和英国爱丁堡大学的研究者共同发表了一篇重磅论文《DyNet: The Dynamic Neural Network Toolkit》,正式介绍了动态神经网络工具包 DyNet;该工具包也已在 GitHub 上开源:http://github.com/clab/dynet.

用神经网络训练一个文本分类器

- - 文章 – 伯乐在线
理解聊天机器人的工作原理是非常重要的. 聊天机器人内部一个非常重要的组件就是文本分类器. 我们看一下文本分类器的神经网络(ANN)的内部工作原理. 我们将会使用2层网络(1个隐层)和一个“词包”的方法来组织我们的训练数据. 文本分类有3个特点:模式匹配、算法、神经网络. 虽然使用多项朴素贝叶斯算法的方法非常有效,但是它有3个致命的缺陷:.