神经网络的发展可以追溯到二战时期,那时候先辈们正想着如何用人类的方式去存储和处理信息,于是他们开始构建计算系统。
由于当时计算机机器和技术的发展限制,这一技术并没有得到广泛的关注和应用。
几十年来,神经网络之父Hiton始终坚持计算机能够像人类一样思考,用直觉而非规则。
尽管这一观点被无数人质疑过无数次,但随着数据的不断增长和数据挖掘技术的不断进步,神经网络开始在语音和图像等方面超越基于逻辑的人工智能。
几乎是一夜间,神经网络技术从无人相信变成了万人追捧。
人工神经网络是什么?
人工神经网络:是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。
这种网络依靠系统的复杂程度,通过调整内部大量节点之间相互连接的关系,从而达到处理信息的目的,并具有自学习和自适应的能力。
简单来说,就是通过大量的样本训练神经网络,得到结论。接着就可以输入新的信息,看最后得出怎样的回应。
例如,周杰伦周末在北京开演唱会,班主任会考虑时间、地点、价格、天气、是否有同伴,这些因素然后根据这些判断因素,做出是否去看演唱会的决定。
从班主任接收到演唱会信息,到做出相应判断,这整个过程就是神经网络运行的过程。
人工神经网络组成
一个典型的神经网络,由成百上千万的人工神经元构成,他们排列在一系列的层中,每个层之间彼此相连。
基本上由三个相互连接的层组成:输入层、隐藏层和输出层。
一个简单的图来帮助同学们理解:
由上图,可以看出,输入层向隐藏层输入信息,隐藏层会向输出层输送数据。下面班主任来介绍人工神经单元的这三个组成部分:
A、输入层
输入层是接收每个观测值的解释属性的值作为输入。一般情况下,输入层从外界接收各种各样的信息,神经网络会用这些信息进行学习、识别或进行其它的处理。
B、隐藏层
隐藏层将给定的转换应用于网络内的输入值。隐藏层的节点数目不定,但隐藏层越多,神经网络越强健。
C、输出层
输出层接收来自隐藏层的连接,它返回一个对应于响应变量预测的输出值,再通过输出层的活动节点结合并改变数据以产生输出值。
人工神经网络,就是通过这三个层面模拟着人类的思考过程。
常见的神经网络类型
A、BP神经网络
BP神经网络,是按误差反向传播算法的学习过程,由信息的正向传播和误差的反向传播两个过程组成,是一种应用最为广泛的神经网络。
先来看一下BP神经网络的流程图:
由BP神经网络流程图可以看出,正向传播处理过程和人工神经网络的流程相同。其本质的区别是,增加了误差的反向传播阶段。
当实际输出与期望输出不符时,误差通过输出层,按误差梯度下降的方式修正各层权值,向隐层、输入层逐层反传。
简单来说,即通过信息正向传播和误差反向传播,不断地进行学习训练,一直到网络输出的误差减少到可以接受的程度。
B、卷积神经网络
卷积神经网络是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元。
换个角度思考,卷积神经网络就是多层的神经网络,前面的层训练出的特征作为下一层的输入,所以越到后面的层,特征越具体。
卷积神经网络在大型图像处理方面展示出了非凡的效果。
例如,我们需要在众多图像中鉴别出一只猫,人类可以通过已有的常识判断出特征,比如猫头、猫身、猫尾巴等从而鉴别出一只猫。
而卷积神经网络完全不知道什么是猫头、猫身、猫尾巴,卷积神经网络通过学习物体的抽象特征,这种特征在现实世界有可能都没有特定的名词,但是通过这些自学的的特征组合在一起,计算机就会判定这是一只猫!
C、递归神经网络
递归神经网络是一种深度神经网络,它将相同的权重递归地应用在神经网络架构上,以拓扑排序的方式遍历给定结构,从而在大小可变的输入结构上可以做出结构化的预测。
递归神经网络可以把一个树/图结构信息编码为一个向量,也就是把信息映射到一个语义向量空间中。
一个简单生动的图来帮助同学们理解:
由此图展开变成:
由上面的图可以看出,神经网络A,可以查看输入层的X,输出h。一个递归的神经网络可以被认为是同一个神经网络的多个副本,每一个副本都传递一个消息给输出层。
D、长短期记忆网络
长短期记忆网络,是一种时间递归神经网络,适合于处理和预测时间序列中间隔和延迟相对较长的重要事件。它能够解决传统的神经网络中的后面的时间节点感知力下降的问题。
值得一提的是,长短期记忆网络在算法中加入了一个处理器,放置了三扇门:输入门、遗忘门、输出门,以此来判断信息是否有用。
只有符合规则的信息才会被留下,不符合的会通过遗忘门被遗忘。