神经元与感知器
- 人工神经网络的神经元用传递函数对输入的线性加权进行非线性处理以产生输出;
- 感知器是一种二分类的监督学习算法,通过自适应调整权重解决线性分类问题;
- 感知器的神经元之间通过权重传递信息,权重的变化根据误差来进行调节;
- 感知器不能解决以异或为代表的线性不可分问题。
多层感知器
多层感知器(multilayer perceptron)包含一个或多个在输入节点和输出节点之间的隐藏层(hidden layer),除了输入节点外,每个节点都是使用非线性激活函数的神经元。
- 多层感知器的训练包括以下步骤:首先确定给定输入和当前权重下的输出,再将输出和真实值相减得到误差函数,最后根据误差函数更新权重。在训练过程中,虽然信号的流向是输出方向,但计算出的误差函数和信号传播的方向相反,也就是向输入方向传播的,正因如此,这种学习方式得名反向传播(backpropagation)。反向传播算法通过求解误差函数关于每个权重系数的偏导数,以此使误差最小化来训练整个网络。
- 在反向传播算法中,首先要明确误差函数的形式。在反向传播算法中,每个输出神经元的误差都被写成平方项的形式,整个神经网络的误差则是所有输出神经元的误差之和。如此一来,误差函数就以二次型的形式体现,也就避免了符号的影响。明确定义了误差函数后,就要想方设法让它取得最小值。影响误差函数的因素无外乎三个:输入信号、传递函数和权重系数。输入信号是完全不依赖于神经网络的外部信号,无法更改;传递函数在网络设计过程中已经确定,同样无法更改;所以在算法执行的过程中,能够更新的就只有权重系数了。
- 根据最优化理论,求解误差函数的最小值就要找到误差函数的梯度,再根据梯度调整权重系数,使误差函数最小化。对误差函数的求解从输出节点开始,通过神经网络逆向传播,直到回溯到输入节点。这背后的原理在于权重系数的变化对输出的影响方式并非直接修改,而是通过隐藏层逐渐扩散。这样环环相扣的作用方式体现在数学上就是求导的链式法则。
链式法则是个非常有用的数学工具,它的思想是求解从权重系数到误差函数这个链条上每一环的作用,再将每一环的作用相乘,得到的就是链条整体的效果。
- 利用链式法则求出梯度后,再以目标的负梯度方向对权重系数进行调整,以逐渐逼近误差函数的最小值。
反向传播算法的流程:
- 多层感知器的核心结构就是隐藏层,之所以被称为隐藏层是因为这些神经元并不属于网络的输入或输出。在多层神经网络中,隐藏神经元的作用在于特征检测。随着学习过程的不断进行,隐藏神经元将训练数据变换到新的特征空间之上,并逐渐识别出训练数据的突出特征。
- 多层感知器也面临过拟合的风险。模型的泛化能力可以通过验证集来监督,也就能够在一定程度上避免过拟合的发生。当训练集的误差下降但验证集的误差上升时让训练立即停止,这就是所谓“早停”的过拟合抑制策略。当然,正则化方法也可以应用在多层感知器的训练中。
径向基函数神经网络
- 一个感觉神经元的感受野指的是位于这一区域内的适当刺激能够引起该神经元反应的区域。人类神经的感受野的变化方式可以在人工神经网络中以权重系数的形式体现出来,而按照感受野的变化规律设置权重系数,得到的就是“径向基函数神经网络”(Radial Basis Function Network , RBFN)。
- 径向基网络通常包含三层:一个输入层、一个隐藏层和一个输出层。其中隐藏层是径向基网络的核心结构。每个隐藏神经元都选择径向基函数作为传递函数,对输入分量的组合加以处理。需要注意的是,输入节点和隐藏节点之间是直接相连的,权重系数为 1。
- 在实际应用中,对径向基网络的训练包括两个步骤。第一步的任务是初始化中心向量 wi 的位置,中心向量的位置既可以随机分配,也可以通过K 均值聚类这一无监督学习的方法完成。这个步骤对应的是隐藏层的训练。第二步的任务是用线性模型拟合初始化的隐藏层中的各个中心向量,拟合的损失函数设定为最小均方误差函数,使用递归最小二乘法(Recursive Least Square)使损失函数最小化。这个步骤对应的是对输出层的训练。
自组织特征映射
- 无论是全局逼近的多层感知器,还是局部逼近的径向基网络,在训练中用到的都是监督学习的方法。如果将无监督学习引入神经网络中,对应的结构就是自组织特征映射(Self-Organizing Map)。
自组织映射有两个明显的不同:
- 第一,它能够将高维的输入数据映射到低维空间之上(通常是二维空间),因而起到降维的作用。在降维的同时,自组织映射妙就妙在还能维持数据在高维空间上的原始拓扑,将高维空间中相似的样本点映射到网络输出层的邻近神经元上,从而保留输入数据的结构化特征。
- 第二,自组织映射采用的是竞争性学习而非传统的纠错学习。在竞争性学习中,对输入样本产生响应的权利并不取决于预设的权重系数,而是由各个神经元相互竞争得到的。不断竞争的过程就是网络中不同神经元的作用不断专门化的过程。
- 自组织映射的主要任务就是将任意维度的输入模式转换为一维或二维的离散映射,并以拓扑有序的方式自适应地实现这个映射。在训练过程中,自组织映射中每个神经元的权重系数首先要初始化,初始化的方式通常是将其赋值为较小的随机数,这可以保证不引入无关的先验信息。当初始化完成后,网络的训练就包括以下三个主要过程:
- 竞争过程:对每个输入模式,网络中的神经元都计算其判别函数的取值,判别函数值最大的神经元成为竞争过程的优胜者;
- 合作过程:获胜神经元决定兴奋神经元的拓扑邻域的空间位置;
- 自适应过程:兴奋神经元适当调节其权重系数,以增加它们对于当前输入模式的判别函数值,强化未来对类似输入模式的响应。
- 竞争过程的实质是找到输入模式和神经元之间的最佳匹配。由于输入模式 x 和权重系数 w 是具有相同维度的向量, 因而可以计算两者的内积作为判别函数。
内积表示的是向量之间的关系,两个归一化向量的相关度越高,其内积也就越大。两个向量的内积越大,它们之间的欧氏距离就越小,因而内积最大化的匹配准则等效于欧氏距离最小化。
- 自适应过程可以分为两个阶段。第一阶段是排序阶段,权重系数的拓扑排序在这个阶段形成;第二阶段是收敛阶段,通过微调特征映射实现对输入模式的精确描述。只要算法的参数没有问题,自组织映射就能将完全无序的初始状态按照输入模式以有组织的方式重构,这也是“自组织”的含义。
自组织映射的训练算法可以归纳为以下几个步骤:
- 使用主成分法或随机法初始化神经元的权重系数;
- 选取训练集中的样本用于激活整个网络;
- 根据最小距离准则寻找最佳匹配神经元;
- 通过更新方程调整所有神经元的权重系数;
- 重复以上步骤直到在从输入模式到神经元的映射关系中观察不到明显变化。
模糊神经网络
模糊神经网络(fuzzy neural network)就是将常规的神经网络赋予模糊输入信号和模糊权值,其作用在于利用神经网络结构来实现模糊逻辑推理。
- 模糊集合中,元素和集合之间的关系不是非此即彼的明确定性关系,而是用一个叫做隶属度的函数定量表示。
- 模糊集合是对“对象和集合之间关系”的描述,模糊数描述的则是对象本身。模糊数就是只有取值范围而没有精确数值的数。
- 模糊神经网络是一种混合智能系统,能够同时处理语言信息和数据信息,因而是研究非线性复杂系统的有效工具,也是软计算的核心研究内容之一,在模式识别、系统分析和信号处理等领域都有成功应用的实例。
- 模糊神经网络是神经网络和模糊逻辑结合形成的混合智能系统;
- 模糊神经网络的输入信号、权重系数和输出信号全都是模糊集合;
- 模糊神经网络的主要学习算法包括基于水平集的方法和基于遗传算法的方法;
- 模糊神经网络具有和传统神经网络类似的通用逼近特性。