前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >感知机搞不定逻辑XOR?Science新研究表示人脑单个神经元就能做到

感知机搞不定逻辑XOR?Science新研究表示人脑单个神经元就能做到

作者头像
机器之心
发布2020-02-12 15:18:44
1K0
发布2020-02-12 15:18:44
举报
文章被收录于专栏:机器之心机器之心

机器之心报道

参与:思源、张倩

长期以来,人们一直认为,要让神经网络解决「异或」问题就必须构造多层感知机,单个神经元是做不到的,这一认知使得神经网络的研究第一次进入寒冬。但最近的一项 Science 研究发现,人类大脑中的单个神经元就能解决异或问题,这一发现推翻了人们之前对于生物神经元计算方式的认知。

人脑这种高效计算方式,也许能为人工神经网络的设计提供新的启发。目前,该研究已经登上《Science》

论文地址:https://science.sciencemag.org/content/367/6473/83

这项研究由德国柏林洪堡大学等机构的研究者共同开展,他们在体外研究了人类大脑皮层第 2 层和第 3 层(L2/3)锥体神经元的树突。在这些神经元中,他们发现了一种新的动作电位,其波形和对神经元输出的影响是之前从未见到过的。

那这种动作电位有什么意义?长期以来,在生物神经元中发现的动作电位使得人们认为,神经元只能用于计算与、或、非等简单的逻辑线性可分问题,而「异或」等非线性可分问题则需要多个神经元组成的网络来解决。但这种动作电位的发现表明,单个人类神经元的树突就能够对线性不可分的输入进行分类,也就是说,单个神经元也能进行异或运算,而不是像之前人们所认为的需要多层神经网络。

这篇论文发出后引发了广泛的关注。纽约大学心理学和神经科学教授 Gary marcus 评论道,「这是一项重大研究,而且可能只是冰山一角;单个神经元的能力可能超出我们的想象。即使像这样一个人类特有的神经元新机制都非常具有启发性。它可能会重塑我们对于『神经启发』网络的观点。」

感知机与异或问题

什么是异或问题

或(or)、与(and)、非(not)三门构建了最基本的逻辑运算,而异或问题(XOR)在机器学习的历史中起到了重要作用。

相信很多读者都忘不了最开始学习感知机所遇到的异或问题,想要解决它,最简单的方法就是加深感知机层数。那么简单而言,异或问题指的是,如果输入的两个值不相同,则异或结果为真(True,即 1),反之为假(False,即 0)。

不同逻辑运算的输入与输出,其中 0 表示 False、1 表示 True。例如异或问题(XOR),只有在 x 和 y 一个为 True 一个为 False,它的输出才会为 True。

这样看起来,XOR 似乎与其它逻辑运算没有什么区别?那么为什么感知机能解决或、与、非,就是处理不了异或?

初生的感知机

在最初的时候,我们发现生物神经元都是彼此连接在一起的,当其它神经元向当前神经元传递化学物质,它的电位就会发生变化,直到达到阈值就会变得「兴奋」,并开始向周围神经元传递化学物质。1943 年,McCulloch 与 Pitts 等研究者将这种生物过程抽象出来,构建出了现在最常用的「M-P 神经元模型」。

我们非常熟悉的「M-P 神经元模型」。

当由多个神经元组成的感知机提出以后,研究者们都非常兴奋,认为它是一种模拟智能的良好基础。三个最基本的逻辑运算或、与、非都能通过调整权重 W 得到解决,这也侧面证明其基础拟合能力的优势。

1969 年 Minsky 等研究者证明,如果两种模式是线性可分的,即存在一个线性超平面将两个类别区分开,那么单层感知机的学习过程一定是可以收敛的。

但问题在于 XOR 这样简单的非线性可分问题,单层感知机是解决不了的。回忆一下前面逻辑运算表的内容,当输入 x_1 与输入 x_2 是不同逻辑运算符,输出为 True。如果 x_1 与 x_2 分别是横轴与竖轴,那么就可以表述为正方形的四个顶点,相对的顶点是相同的类别(True 或 False)。

这样的分类我们找不到一条直线切分开,因此感知机也就解决不了了。当时研究者认为,这个问题可以通过加深感知机,构建多层感知机来解决。

能解决异或问题的两层感知机,选自《机器学习》,周志华。

这种单层神经元不能解决异或问题,需要多层才能解决的观念一直根植于机器学习研究者的脑海中。目前深度神经网路很多都将「M-P 神经元模型」作为基础,它的能力直接影响整个网络的表达能力。如果说底层神经元能得到生物神经元的启发,那么是不是能构建更强的模型?

这是能解决异或问题的神经元

这篇 Science 论文表示,他们在人类大脑中发现了一种树突动作电位(dCaAPs),它的动作电位比较奇特,能依靠神经元树突处理简单的线性不可分问题。这是之前认为单个生物神经元不能解决的问题,也是人工神经元不能解决的问题。

研究者表示,人类在进化中会导致大脑皮层的加厚,并且加厚最多的是第二层与第三层(L2/3)。因此 L2/3 的皮质神经元构成了大型且精致的树突树,这些树突的性质在很大程度上决定了输入到输出动作电位(APs)的转换。因此,它们构成了神经元计算能力的关键要素。

通过一系列复杂且看不懂的实验(感兴趣的读者可查阅 Science 原论文),研究者们发现人类皮层锥体神经元中的 L2 / 3 树突比啮齿动物中的同系树突更容易被激发,在啮齿类动物中,类似的稳定电流最多只在电压响应开始时产生单个树突动作电位。研究者们将这一「奇特」的树突称为 Ca2 + AP(dCaAP)。

dCaAP 的波形是定型的,很容易与 bAP 的波形区分开。dCaAP 通常比 bAP 宽,它们缓慢上升,并且在激发时没有突变。如下图 ii 所示,相比体细胞动作电位(黑色),dCaAP 激发地更加缓慢。

L2/3 神经元人类树突中的 bAP 和 dCaAP。

研究者在一系列图示中展示了 dCaAPs 的各种属性,包括 dCaAP 的振幅及其上冲程(upstroke)与离体细胞的距离无关等等。如果读者了解生物的话,也可以看看如下论文图 1:

不管怎么说,这种神经元是能够解决异或问题的,在研究者的实验中,dCaAP 影响了细胞的输入输出转换。通常,体细胞产生动作电位会随着输入电流强度的增加而增加,但研究者纪录的 dCaAP 正好相反,增加树突状(而非体细胞)电流注入的强度导致体细胞放电减少。

例如,在图 2 中的 A 和 B,树突状电极在电流接近阈值的情况下诱发了一个或两个体细胞 AP,但未能激发更高电流强度的 AP。相反,在相同细胞的体细胞中,AP 输出随输入强度的增加而增加(图 2C)。这些结果可以通过 dCaAP 的异常活性来解释,树突状电极诱发的 dCaAP 触发了阈值附近的体细胞 AP,但被刺激强度的进一步增加所抑制(图 2B)。

研究者在 NEURON 仿真环境中,对 L2 / 3 锥体神经元形态进行了数字重建和建模(图 3A)。为了模拟两种不同的输入类型,即 X 和 Y,研究者为每个输入(或 Pathway)使用了 25 个兴奋性突触(图 3A),目标是顶树突的一个子区域(图 3A 中的蓝色和红色点)。这些输入中的每一个都能够独自触发 dCaAP(图 3 B 和 C)。研究者的模拟实验表明,激发和抑制之间的精确平衡对于 dCaAP 的产生至关重要。

此外,在模拟仿真环境中,研究者发现,dCaAP 的激活功能使它们能够通过在输入高于最佳强度时抑制 dCaAP 的幅度来有效地计算 XOR 运算。这个发现打破了长期以来,我们认为树突输入与轴突输出只能实现 AND 与 OR 这样的简单逻辑运算的固有认知。

因此研究者设计了一个模型,它将 L2 / 3 神经元的体细胞和树突描绘为具有耦合逻辑算子,以及相应激活函数的网络(图 3,F 与 G)。在该模型中,研究者对具有 dCaAP 的树突进行 XOR 运算,而对其它常规树突执行 AND / OR 运算。这样的模型提供了构建「人脑功能算法」的生理基础,这样的功能算法最终会导致大脑皮层网络的复杂行为。

如果生物神经网络会组合不同的基础运算单元,以提供更加高级和高效地逻辑处理,甚至有的单个神经元就能完成 XOR 这样简单地非线性分类。那么这对机器学习,对深度神经网络又会有哪些影响,这可能是值得讨论的问题。

对 ML 社区会产生什么影响?

这篇论文在 Reddit 的机器学习社区引发了热烈讨论,毕竟,人工神经网络本就是受生物神经网络启发,生物神经元研究的突破很有可能为人工神经网络的设计提供新的灵感。

有人认为,这篇文章的精妙之处在于,它发现了人类神经元与啮齿类动物神经元本质上的区别,这种区别不只是算力上的,计算方法也截然不同。

当然,也有人表示对研究结果并不惊讶。ta 认为,生物神经元与人类神经元原本就存在本质上的区别:生物神经元以一定的时间间隔(动作电位)积累输入脉冲,并以一定的频率发射脉冲。这样的机制可以容纳更复杂的运算。

对于该研究将对人工神经网络的设计产生何种影响,有人认为,提供灵感是肯定的,但是二者无法相提并论。这项研究只能说明,人工神经元只是由真实神经元建模的一小部分功能。真实的神经元要复杂得多,可能执行比布尔运算更复杂的计算。

持有这种理智看法的不在少数。一部分人认为,提出能够进行异或运算的激活函数并不难,但真正的难点在于如何构建能够使用这种激活函数,并在更大的人工神经网络中发挥作用的人工神经元。

但也有人提出了反驳,认为在生物神经元中发现这种机制才是一个真正的转折。

有关该研究的讨论还在继续。至于它能否变革人工神经网络的设计理念,我们还需拭目以待。

参考链接:https://www.reddit.com/r/MachineLearning/comments/ejbwvb/r_single_biological_neuron_can_compute_xor/

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-01-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 机器之心 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档