AI知识科普 | 从无人相信到万人追捧的神经网络

计算机能够像人一样做出判断,用直觉而非规则

天才就是当世上所有人都觉得他疯了的时候,他依然清晰地知道自己不是真的疯了,而是比旁人看的更长远。
——致敬为科学一直坚持的先辈

神经网络的发展可以追溯到二战时期,那时候先辈们正想着如何用人类的方式去存储和处理信息,于是他们开始构建计算系统。

由于当时计算机机器和技术的发展限制,这一技术并没有得到广泛的关注和应用。

几十年来,神经网络之父Hinton始终坚持计算机能够像人类一样思考,用直觉而非规则。

尽管这一观点被无数人质疑过无数次,但随着数据的不断增长和数据挖掘技术的不断进步,神经网络开始在语音和图像等方面超越基于逻辑的人工智能。

几乎是一夜间,神经网络技术从无人相信变成了万人追捧。

微信图片_20180604150453

神经网络之父Hinton

1.人工神经网络是什么?

人工神经网络:是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。

这种网络依靠系统的复杂程度,通过调整内部大量节点之间相互连接的关系,从而达到处理信息的目的,并具有自学习和自适应的能力。

简单来说,就是通过大量的样本训练神经网络,得到结论。接着就可以输入新的信息,看最后得出怎样的回应。

例如,周杰伦周末在北京开演唱会,班主任会考虑时间、地点、价格、天气、是否有同伴,这些因素然后根据这些判断因素,做出是否去看演唱会的决定。

从班主任接收到演唱会信息,到做出相应判断,这整个过程就是神经网络运行的过程。

2.人工神经网络组成

一个典型的神经网络,由成百上千万的人工神经元构成,他们排列在一系列的层中,每个层之间彼此相连。

基本上由三个相互连接的层组成:输入层、隐藏层和输出层。 

班主任画了一个简单的图来帮助同学们理解:

微信图片_20180604191625

由上图,可以看出,输入层向隐藏层输入信息,隐藏层会向输出层输送数据。下面班主任来介绍人工神经单元的这三个组成部分:

A、输入层

输入层是接收每个观测值的解释属性的值作为输入。一般情况下,输入层从外界接收各种各样的信息,神经网络会用这些信息进行学习、识别或进行其它的处理。

B、隐藏层

隐藏层将给定的转换应用于网络内的输入值。隐藏层的节点数目不定,但隐藏层越多,神经网络越强健。

C、输出层

输出层接收来自隐藏层的连接,它返回一个对应于响应变量预测的输出值,再通过输出层的活动节点结合并改变数据以产生输出值。

人工神经网络,就是通过这三个层面模拟着人类的思考过程。

3.常见的神经网络类型 

A、BP神经网络

BP神经网络,是按误差反向传播算法的学习过程,由信息的正向传播和误差的反向传播两个过程组成,是一种应用最为广泛的神经网络。

先来看一下BP神经网络的流程图:

微信图片_20180604191815

由BP神经网络流程图可以看出,正向传播处理过程和人工神经网络的流程相同。其本质的区别是,增加了误差的反向传播阶段。

当实际输出与期望输出不符时,误差通过输出层,按误差梯度下降的方式修正各层权值,向隐层、输入层逐层反传。

简单来说,即通过信息正向传播和误差反向传播,不断地进行学习训练,一直到网络输出的误差减少到可以接受的程度。

B、卷积神经网络

卷积神经网络是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元。

换个角度思考,卷积神经网络就是多层的神经网络,前面的层训练出的特征作为下一层的输入,所以越到后面的层,特征越具体。

微信图片_20180604191924

卷积神经网络在大型图像处理方面展示出了非凡的效果。

例如,我们需要在众多图像中鉴别出一只猫,人类可以通过已有的常识判断出特征,比如猫头、猫身、猫尾巴等从而鉴别出一只猫。

而卷积神经网络完全不知道什么是猫头、猫身、猫尾巴,卷积神经网络通过学习物体的抽象特征,这种特征在现实世界有可能都没有特定的名词,但是通过这些自学的的特征组合在一起,计算机就会判定这是一只猫!

微信图片_20180604192014

 

C、递归神经网络

递归神经网络是一种深度神经网络,它将相同的权重递归地应用在神经网络架构上,以拓扑排序的方式遍历给定结构,从而在大小可变的输入结构上可以做出结构化的预测。

递归神经网络可以把一个树/图结构信息编码为一个向量,也就是把信息映射到一个语义向量空间中。

班主任画了一个简单生动的图来帮助同学们理解:

微信图片_20180604192143

由上面的图可以看出,神经网络A,可以查看输入层的X,输出h。一个递归的神经网络可以被认为是同一个神经网络的多个副本,每一个副本都传递一个消息给输出层。

 

D、长短期记忆网络

长短期记忆网络,是一种时间递归神经网络,适合于处理和预测时间序列中间隔和延迟相对较长的重要事件。它能够解决传统的神经网络中的后面的时间节点感知力下降的问题。

值得一提的是,长短期记忆网络在算法中加入了一个处理器,放置了三扇门:输入门、遗忘门、输出门,以此来判断信息是否有用。

只有符合规则的信息才会被留下,不符合的会通过遗忘门被遗忘。

模拟人脑构造!IBM发明世界首个人造神经元

受人类大脑运行方式的启发,IBM苏黎世研究中心制成了世界上第一个人造纳米级的随机相变神经元, 并在其基础上构建了由500个该神经元组成的阵列,让该阵列模拟人类大脑的工作方式进行信号处理

受人类大脑运行方式的启发,IBM苏黎世研究中心制成了世界上第一个人造纳米级的随机相变神经元。并在其基础上构建了由500个该神经元组成的阵列,让该阵列模拟人类大脑的工作方式进行信号处理。

57a308b803ca1

这一突破十分值得关注,因为这种相变神经元是由目前完全已知的材料组成,另外特别重要的是——这种相变神经元的尺寸能缩减至纳米级。而且它们的信号传输速度很快,功耗确很低。另外,如同生物神经元一样——这种相变神经元是随机的(stochasticity),它们能一直产生稍微不同的、随机的结果。这些人工神经元可以在低功率情况下用来检测模式(pattern)以及发现大数据中的互相关联情况,还能在花费极少能量的情形下进行高速无监督学习。

让我们来看一下这些相变神经元如何构建的:

像生物神经元一样,IBM 所发明的人工神经元也有输入端(树突)、围绕信号发生器(胞体、细胞核)的神经元细胞膜(磷脂双分子层)和一个输出端(轴突)。从脉冲电流发生器(spike generator)到输入之间有一个反向传播连接,可增强某些类型的输入信号。

这种人工神经元和生物神经元的主要区别是在神经元细胞膜中,真正的神经元细胞里面会是磷脂双分子层,本质上是用来充当电阻器和电容器——阻止电流直接通过,但同时又在吸收能量。当能量吸收到一定程度时,它就向外发射自己产生的信号。这信号沿着轴突传导被其他神经元接收,这一过程不断反复进行。

在 IBM 的人工神经元中,神经元细胞膜被替换成了小块的锗锑碲复合材料(GST材料)。GST 材料是复写光碟的主要原料,也是一个相变材料。这意味着它能以两种不同的相存在(晶体相或非晶体相),通过加热(激光或者电力)能轻松的在两者间进行转换。相变材料因所在相不同,所具有的物理特性也相当不同:在 GST材料中非晶相不导电,晶体相却导电。

在人工神经元中,锗锑碲薄膜起初是非晶体相的。随着信号的到达,薄膜逐渐变成晶体相—逐渐变得导电。最终电流通过薄膜,制造一个信号并通过该神经元的输出端发射出去。在一定的时间后,锗锑碲薄膜恢复为非晶体形态,这个过程不断反复进行。

57a3080b94d9d

IBM单个相变神经元运行过程

另外,由于各种噪声(离子电导、热量、背景噪声)的存在导致生物神经元是随机的(Stochastic)。IBM研究人员表示,人工神经元之所以同样表现出了随机特性是因为——每个GST 细胞的非晶体状态在每次重置之后会有些许不同,随后的晶态化过程也会不同。因此,科学家无法确认每个人工神经元会在何时发射信号。

此外,IBM 苏黎世研究院在Nature Nanotechnology上发表了题为“随机相变神经元(Stochastic phase-change neurons)”的相关论文。

57a3098ad100b

论文的共同作者——Manuel Le Gallo(IBM 苏黎世研究院研究学者、ETH Zurich在读PHD)在最近接受的采访中提到“我们的方法是非常有效率的,特别是在处理大量数据的时候。”下面是具体的采访内容:

57a30cddb04b9

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:在传统计算中有一个单独的内存和逻辑单元,每当要执行计算时必须先访问内存、获取数据,然后将数据传输到逻辑单元,再返回计算。当得到一个结果时,必须把它返回到内存当中,且这个过程不断地来回进行。因此如果你正在处理庞大数据的话,这将成为相当麻烦的问题。

而在神经网络中,计算和存储是同地协作的。你不需要建立逻辑区与内存区之间的传输渠道,只需要在不同的神经元之间建立适当的连接,我们认为这是我们的方法(特别是用于处理大量的数据)将会更有效的主要原因。

PS : 本文由雷锋网(搜索“雷锋网”公众号关注)独家编译

超过80%语音开发者的共同选择