IBM发明世界首个人造神经元,离人脑模拟更近一步
受人类大脑运行方式的启发,IBM苏黎世研究中心制成了世界上第一个人造纳米级的随机相变神经元。并在其基础上构建了由500个该神经元组成的阵列,让该阵列模拟人类大脑的工作方式进行信号处理。
这一突破十分值得关注,因为这种相变神经元是由目前完全已知的材料组成,另外特别重要的是——这种相变神经元的尺寸能缩减至纳米级。而且它们的信号传输速度很快,功耗确很低。另外,如同生物神经元一样——这种相变神经元是随机的(stochasticity),它们能一直产生稍微不同的、随机的结果。这些人工神经元可以在低功率情况下用来检测模式(pattern)以及发现大数据中的互相关联情况,还能在花费极少能量的情形下进行高速无监督学习。
让我们来看一下这些相变神经元如何构建的:
像生物神经元一样,IBM 所发明的人工神经元也有输入端(树突)、围绕信号发生器(胞体、细胞核)的神经元细胞膜(磷脂双分子层)和一个输出端(轴突)。从脉冲电流发生器(spike generator)到输入之间有一个反向传播连接,可增强某些类型的输入信号。
这种人工神经元和生物神经元的主要区别是在神经元细胞膜中,真正的神经元细胞里面会是磷脂双分子层,本质上是用来充当电阻器和电容器——阻止电流直接通过,但同时又在吸收能量。当能量吸收到一定程度时,它就向外发射自己产生的信号。这信号沿着轴突传导被其他神经元接收,这一过程不断反复进行。
在 IBM 的人工神经元中,神经元细胞膜被替换成了小块的锗锑碲复合材料(GST材料)。GST 材料是复写光碟的主要原料,也是一个相变材料。这意味着它能以两种不同的相存在(晶体相或非晶体相),通过加热(激光或者电力)能轻松的在两者间进行转换。相变材料因所在相不同,所具有的物理特性也相当不同:在 GST材料中非晶相不导电,晶体相却导电。
在人工神经元中,锗锑碲薄膜起初是非晶体相的。随着信号的到达,薄膜逐渐变成晶体相—逐渐变得导电。最终电流通过薄膜,制造一个信号并通过该神经元的输出端发射出去。在一定的时间后,锗锑碲薄膜恢复为非晶体形态,这个过程不断反复进行。
IBM单个相变神经元运行过程
另外,由于各种噪声(离子电导、热量、背景噪声)的存在导致生物神经元是随机的(Stochastic)。IBM研究人员表示,人工神经元之所以同样表现出了随机特性是因为——每个GST 细胞的非晶体状态在每次重置之后会有些许不同,随后的晶态化过程也会不同。因此,科学家无法确认每个人工神经元会在何时发射信号。
此外,IBM 苏黎世研究院在Nature Nanotechnology上发表了题为“随机相变神经元(Stochastic phase-change neurons)”的相关论文。 论文地址
论文的共同作者——Manuel Le Gallo(IBM 苏黎世研究院研究学者、ETH Zurich在读PHD)在最近接受的采访中提到“我们的方法是非常有效率的,特别是在处理大量数据的时候。”下面是具体的采访内容:
Q:人工神经元到底是如何工作的呢?
Manuel Le Gallo:神经元有一个特别的功能,我们称之为“整合和发射”。神经元就像一个蓄电池一样——如果你不断向神经元发送多重输入信息,这个神经元将会整合所有的输入信息。根据输入信息的总量和强度,膜电位将达到一定的阈值,然后神经元就会进行“发射”或者“脉冲放电”动作。这样的一个蓄电池可以用来执行令人惊讶的复杂计算任务。
Q:人类大脑的运行方式是如何启发人工神经元的发展呢?
Manuel Le Gallo:人工神经元是模仿真正的生物神经元建立的。人工神经元没有神经元那样完全相同的功能,但是可以通过使用这些神经元实现接近真正大脑一般的运算结果。通常人工神经元是基于CMOS的电路进行搭建,这也是我们所使用的电脑中的标准晶体管技术。我们研究中主要使用非CMOS设备(如相变装置),在降低功耗和提高区域密度的情况下实现了同样的功能。
Q:你对这项工作有什么贡献?
Manuel Le Gallo:在我过去的三年的表征和模型工作中,我们团队由此对相变设备的物理特征有了相当的了解。这对于在相变设备上设计神经元并理解它们的功能是至关重要的。另外,我还负责文章中部分实验数据的工作,并对结果的分析以及解释做出了贡献。
Q:人工神经元能够被应用在哪种情况下?
Manuel Le Gallo:在我们的文章中,我们演示了其如何在多重事件流中检测其互相关系。
Q:事件指代的是?
Manuel Le Gallo:事件可以是Twitter数据、天气数据或者互联网上收集到的传感数据等。
Q:是什么使得神经形态计算比传统计算更有效率呢?
Manuel Le Gallo:在传统计算中有一个单独的内存和逻辑单元,每当要执行计算时必须先访问内存、获取数据,然后将数据传输到逻辑单元,再返回计算。当得到一个结果时,必须把它返回到内存当中,且这个过程不断地来回进行。因此如果你正在处理庞大数据的话,这将成为相当麻烦的问题。
而在神经网络中,计算和存储是同地协作的。你不需要建立逻辑区与内存区之间的传输渠道,只需要在不同的神经元之间建立适当的连接,我们认为这是我们的方法(特别是用于处理大量的数据)将会更有效的主要原因。