(翻译自《Improved Back-Propagation Algorithm for Neural Network Training》部分章节)
摘要:最近,人工神经网络(ANNS)已经变得非常流行,因为它们能从所述输入/输出数据中学习到复杂的映射,并且比较容易在很多应用程序中实现。虽然,它们使用的一个不利面是,它们需要时间随着网络的结构参数和与输入的数据的数量(通常是一个显著的量)来进行训练. 然而,训练也可以离线完成;它具有一个不可忽略的成本,并可进一步引起在操作中的延迟。模糊神经网络(FNNs)是人工神经网络和模糊逻辑的组合,以便将两种方法的优点(人工神经网络和学习能力模糊逻辑思维能力)合并。FNNS在它们的权重参数和每个输出神经元都有一个模糊值. 圆形模糊神经网络(CFNNs)是它们以圆形调整的拓扑结构,是输入层和隐含层之间的连接修整。这将大大降低训练时间,但网络的精度和准确度都不会受到影响。为了进一步增加ANNS,FNNs,或用于分类的CFNNs的训练速度,本文将介绍一个新的训练过程:数据首先聚集然后神经网络通过使用所获得的唯一的集群中心训练,而不是直接使用在训练阶段的训练数据。
关键词:人工神经网络;模糊神经网络;圆形的模糊神经网络;监督学习;集群;加强学习;分类
人工神经网络(ANNs)是基于生物神经网络的运作系统。它们是建造了许多简单的处理单元(神经元)的网络并布置成两层或更多层。每个单元都可以被连接到下一层中的所有单元。人工神经网络中最重要的能力是他们能从所述输入/输出数据中学习复杂的功能,这意味着它们可以使用迭代训练算法,以实现根据精确的输入 – 输出映射来调整其参数。另一个优点是,它们是相对容易在许多应用程序实现。
人工神经网络,一般用于三个不同类型的问题:分类,函数逼近,和数据处理。在本文中,我们集中用于人工神经网络分类。
模糊神经网络(FNNs)是人工神经网络和模糊逻辑的组合,以便将两种方法的优点(人工神经网络的学习能力和模糊逻辑的思维能力)合并。FNNS在它们的权重参数和每个输出神经元都有一个模糊值. 为实现这一点的一种方式是通过使用间隔算术[1],这意味着该网络具有模糊数中的权重,偏差,以及每个神经元的输出。每个模糊数由它的截止的时间间隔的值0(即由三角模糊集合的基础)表示。因此,每个模糊数由两个实数来确定:给定区间的下端和上端。图1表示FNNs的基本拓扑。
圆形模糊神经网络(CFNNs)是FNNS以圆形调整的拓扑结构,是输入层和隐含层之间的连接修整。这将大大降低训练时间,但网络的精度和准确度都不会受到影响。完成修整取决于输入数据的网络需要学习。例如,如果输入数据由三维坐标组成,对处理每个坐标“本地”就是有益的。它可以仅连接到一些隐藏层神经元,而不是将其连接到所有隐藏层神经元,图2描述了这种情况。每个坐标三元组被连接到3个邻近隐藏层的神经元,从而一个隐藏层神经元的任务是处理3个坐标三元组。CFNNs可以训练标准的反向传播(BP)算法。反向传播算法是一种监督学习方法,这意味着相应的输入会有相应的输出。反向传播算法是一种监督学习方法,这意味着相应的输入 – 输出对是已知的,所述参数基于所述误差准则部分传播回各层之后更新。除了优点,神经网络使用的一个很大的缺点是,它们通常需要显著的时间使用该网络的结构参数和输入的数据的数量来进行训练。为了增加用于分类的神经网络的训练速度,我们已经开发出一种新的训练过程:数据首先聚集然后神经网络通过使用中所获得的集群进行唯一的集群中心训练,而不是直接使用在训练阶段的训练数据。
新训练算法的有效性是通过一个复杂的应用使CFNNs被用在手指形状识别系统来演示(对于该系统的细节,请参见[2],[3])。在这个例子中,CFNNs的任务是基于所检测的坐标模型的基础上,用来确定一个手姿势(由图像处理及3D处理单元检测到的)的特征。本文的其余部分安排如下:第二节对神经网络提出的新训练和聚类方法进行了描述。第三节着重于在其中引入的聚类方法应用于该应用程序。在该节的第一部分,作者给手部特征检测程序(图像处理单元)和它产生的输入数据为手势识别系统的三维处理单元进行了简要概述。该节第二部分介绍了模糊手指形状的模型,在[2]引入了一个直观的手指形状模型,该模型用于模拟人的手。第三节的第三部分讲述了所提出的系统连同其部件和功能的简要说明。在第四节为实验结果的呈现和通过比较使用集群和非集群数据的训练的结果进行分析得出新技术的性能。第五节总结全文,并提出想法及今后的工作。
二、训练与聚类算法
为了进一步增加用于神经网络分类的训练速度,因此,以降低建模的成本,我们开发了用于神经网络的新指导训练过程。在学习阶段,数据的预处理(集群)和人工神经网络的训练是通过使用所获得的集群的中心进行,而不是直接使用训练数据。图3显示一般监督学习的体系结构中加入一个集群步骤扩展。
训练的目的是为了调整模型的参数(ANNs, FNNs, CFNNs等)使通过由标准函数而定的价值(c)(通常是一个函数的近似误差)使模型的输出(Y)逼近于被检测的未知系统的期望输出(D)。
聚类工序的作用是在训练时候减少输入数据的数量(u),并保持在原始数据集被包含的信息尽可能多,从而使未知系统建模所需的学习映射的时间较短,同时保留模型的性能的精度,就好像它是通过原始数据集被训练。集群步骤的结果是指定集群的中心(U’)。
所提出的聚类方法是基于众所周知的k-均值聚类方法[4]。聚类的原理类似于原始的方法,但在分配步骤时进行了修改(时间减少)。和原k均值算法不同的是,将样品与所有现有的集群相比,将样品分配到最适合的(最近的)集群,在我们的方法中,给定样品和现有的集群逐个进行比较,直到发现匹一个“足够接近”的集群为止。即,试样被分配到第一个集群,这个集群的中心到给定的样品之间的距离小于一个预定的不定值(距离系数)。如果不存在这样的集群,则这个样本被分配给一个制定的新集群,。图4表示出了该算法的流程图。注:该集群上在同一时间只被用于一个类,所以不同类别的模式之间的偶然相似之处不会导致训练过程中出现问题。
III.手势和手势检测系统
在接下来的,新的训练的有效性和聚类技术中示出通过训练了CFNNs用于手势识别的系统来提出。在这个系统中,CFNNs的任务是学习如何从映射建立3D手模型来检测手(包括15个坐标点)到一个模糊的手的姿势的模型(包括14个模糊特征集,分为3个功能组4-5-5特征在他们)。因此,CFNNs必须从建立的坐标模型确定检测手的特征。在这之后,手的识别意味着通过CFNNS给的一个简单特征比较及存储系统中的模型库的所有已知的手模型的特征并找到最接近的一个。
A.系统的输入
手的姿态检测系统的输入是通过手势跟踪和识别系统[ 3 ]的提出而产生。它可以通过使用两个摄像头来检测人的手,即从两个不同的位置监测相同的场景而将进行预处理的数据变为一三维坐标模型。手的三维模型,包括检测到的手的特征点和空间位置。
它的工作程序如下:首先,它定位在两个摄像头的图片区域,数字化可视人体皮肤可以用直方图反投影[ 5 ]检测。此方法定位于一个给定的颜色模型的区域。考虑色相饱和度值(HSV)的颜色表示:
backproj(x, y) =H(hue(x, y)) (1)。
在backproj指单通道反向投影图像,H是色调直方图,和色调的输入图像的色调的单通道面。这意味着对一个给定的颜色模型(直方图)的一个给定的对象(皮肤),结果得到了皮肤的概率分布。下一步是考虑曲率极值特征点的提取,峰(如指尖),和山谷(如手指根部)(见[ 6 ])。之后,选取的特征点的匹配立体图像对。匹配时分别为峰,采用基于模糊点匹配的算法[ 7 ]的山谷。它用以下的方式进行工作:首先候选人对(即点躺在一个给定的对应极线模糊邻域)被定位。然后对每一个候选点对立体像对中检测到的差异,他们的社区的一个二维模糊集的加权计算的总和:
I(x,y)和I'(x’,y’) 意思是左右图像的强度,μa和μb分别表示作为加权函数的隶属函数。特征点的环境表示为w和w’。 配对产生的加权差最小的总和被认为是匹配的。最后,利用已知的摄像机矩阵计算特征点的三维坐标(详情见[ 3 ])。该过程的结果由15个空间坐标点组成。图5显示的可视化结果的方法实例。从检测到的空间坐标模型,系统确定了的手的姿势和手势识别的识别手的姿势序列。
B.模糊手势模型
为了有效区分不同的手的姿势,模糊手的姿势(fhpms)模型中在[ 2 ]中定义。他们描述了人类的手的模糊手特征集。模糊特征集的三种不同类型的已被指定,每一个描述一个特定类型的手势特征。第一组由四个模糊特征组成;他们描述相邻的手指的指尖之间的距离。第二、第三套有各自的模糊的特点:前者描述每个手指的弯曲性,后者则描述了下手指关节和给定的手掌平面之间的相对角度。图6描述了三种类型的模糊特性集。每个特征是由一个语言变量,只能有三个标志:由以下数值小,中,大。此外,每一个特征集的类型是对某一问题的回答:
手指X和手指Y互相相隔多远?
手指W的最低关节和手掌的平面之间有多大的夹角?
手指Z有多弯?
对于每个FHPM14语言变量(其被用来描述上面介绍的14个特征)被存储在模型库。图7示出了公知的胜利的标志。彼此和它们手指的弯曲度相对位置是清晰可见的从这一点,我们可以确定所有14个语言变量的值。表Ⅰ示出了变量的值,分为三个不同的特征组。
C.手形姿态识别系统
对于手部姿势识别,该系统采用CFCs和模糊推理。该系统包含四个模块:模型库,目标发生器,CFNM和模糊推理机(FIM)。
图8示出了系统的体系结构。系统接收所检测的手的坐标模型作为输入,把它转换为使用CFNM一个模糊手指形状模型,然后从与FIM模块的使用的FHPM确定手的形状。该模型的特征被作为语言变量存储在模型库(具有可能的值:小,中,大)。其中一个模型库最简单的实现,如可以使用XML文件。图9示出了两个预定义模型的一个例子。目标发生器用于计算模型库所需的目标参数的CFNNS和模糊推理机(FIM)。目标发生器模块的输入参数是:
D-该模型在模型库的识别值(ID)。它可以简单地作为给定的模型或识别号码的名称。
SL-用于设置三角模糊集合的宽度的语言变量,从而调整该系统的准确度。在我们的实验中,我们使用三角形的模糊集与中心设置为以下数值:小=0.3;中= 0.5;大=0.7。模糊集合的另一调谐参数是它们的宽度。该参数表是通过一个语言变量SL来明确设置的。对应于参数SL选择小,中或大,模糊的功能的宽度分别设定等于0.33,0.66和1。等式(3)被用来计算给定模糊的功能集的间隔的末端。
T(A,B)= T中心 – 0.2“宽,中心+0.2”宽)(3)
其中a,b表示间隔的下端和上端,中心对应于给定特征的数值和宽度等于语言变量SL的数值(参照图10)。圆形模糊神经网络中使用于给定的手的座标模型转变到模糊手姿势模型的过程中. 三种不同的CFNNs用在这里,一种用于每个CFNM特征设置4个输出,另外种个有5个输出。让它们分别标为A,B和C。当CFNM的训练顺序出现时,每次只训练一个参数。