1. Self-Organization Network

         SOM和现在流行的ANN(MLP)模型在结构上类似,都由非常简单的神经元结构组成,但是SOM是一类“无监督学习”模型,一般的用法是将高维的input数据在低维的空间表示,因此SOM天然是一种降维方法。除了降维,SOM还可以用于数据可视化,以及聚类等应用中。

          SOM是一种自组织(竞争型)神经网络,除了SOM外,其他常见的自组织(竞争型)神经网络还有对偶传播(Counter propagation)网络,自适应共振理论(Adaptive Resonance Theory)网络等。

           生物学研究表明,在人脑的感觉通道上,神经元的组织原理是有序排列的。当外界的特定时空信息输入时,大脑皮层的特定区域兴奋,而且类似的外界信息在对应的区域是连续映像的。生物视网膜中有许多特定的细胞对特定的图形比较敏感,当视网膜中有若干个接收单元同时受特定模式刺激时,就使大脑皮层中的特定神经元开始兴奋,输入模式接近,与之对应的兴奋神经元也接近;在听觉通道上,神经元在结构排列上与频率的关系十分密切,对于某个频率,特定的神经元具有最大的响应,位置相邻的神经元具有相近的频率特征,而远离的神经元具有的频率特征差别也较大。大脑皮层中神经元的这种响应特点不是先天安排好的,而是通过后天的学习自组织形成的。

         在生物神经系统中,存在着一种侧抑制现象,即一个神经细胞兴奋以后,会对周围其他神经细胞产生抑制作用。这种抑制作用会使神经细胞之间出现竞争,其结果是某些获胜,而另一些则失败。表现形式是获胜神经细胞兴奋,失败神经细胞抑制。自组织(竞争型)神经网络就是模拟上述生物神经系统功能的人工神经网络。

双向连接,而且网络没有隐含层。有时竞争层各神经元之间还存在横向连接(注:上面说的特点只是根据传统网络设计来说的一般情况,随着技术发展,尤其是深度学习技术的演进,我认为这种简单的自组织网络也会有所改变,比如,变得更深,或者引入time series概念)。在学习算法上,它模拟生物神经元之间的兴奋、协调与抑制、竞争作用的信息处理的动力学原理来指导网络的学习与工作,而不像多层神经网络(MLP)那样是以网络的误差作为算法的准则。竞争型神经网络构成的基本思想是网络的竞争层各神经元竞争对输入模式响应的机会,最后仅有一个神经元成为竞争的胜者。这一获胜神经元则表示对输入模式的分类。因此,很容易把这样的结果和聚类联系在一起。

2. 竞争学习的概念与原理

slm在光神经网络中起到权重层的作用 som神经网络原理_神经网络


一种自组织神经网络的典型结构如左图,由输入层和竞争层组成。主要用于完成的任务基本还是“分类”和“聚类”,前者有监督,后者无监督。聚类的时候也可以看成将目标样本分类,只是是没有任何先验知识的,目的是将相似的样本聚合在一起,而不相似的样本分离。


最常见的距离(相似度)计算方法就是欧氏距离和余弦相似度了,示意图如下:

slm在光神经网络中起到权重层的作用 som神经网络原理_聚类_02

  

slm在光神经网络中起到权重层的作用 som神经网络原理_slm在光神经网络中起到权重层的作用_03

3. 学习向量量化LVQ神经网络

          在竞争网络结构的基础上,学习向量化(learning vector quantization,LVQ)网络被提出来,融合竞争学习思想和有监督学习算法的特点,通过教导信号对输入样本的分配类别进行规定,从而克服自组织网络采用无监督学习算法带来的缺乏分类信息的弱点。

      3.1  向量量化

          向量量化的思路是,将高维输入空间分成若干不同的区域,对每个区域确定一个中心向量作为聚类的中心,与其处于同一区域的输入向量可用该中心向量来代表,从而形成了以各中心向量为聚类中心的点集。在图像处理领域常用各区域中心点(向量)的编码代替区域内的点来存储或传输,从而提出了各种基于向量量化的有损压缩技术。

          在二维输入平面上表示的中心向量分布称为Voronoi图,如下图所示:

slm在光神经网络中起到权重层的作用 som神经网络原理_权值_04

自组织映射可以起到聚类作用,但无法直接分类或识别,因此它只是自适应解决模式分类问题两步中的第一步。且把第二步:学习向量量化,采用监督机制,在训练中加入教师信号作为分类信息对权值进行细调,并对输出神经元预先指定其类别。





       3.2 LVQ网络结构与工作原理

slm在光神经网络中起到权重层的作用 som神经网络原理_slm在光神经网络中起到权重层的作用_05

竞争层有m个神经元,输入层有n个神经元,两层之间完全连接。输出层每个神经元只与竞争层中的一组神经元连接,连接权重固定为1,训练过程中输入层和竞争层之间的权值逐渐被调整为聚类中心。当一个样本输入LVQ网络时,竞争层的神经元通过胜者为王学习规则产生获胜神经元,容许其输出为1,其它神经元输出为0。与获胜神经元所在组相连的输出神经元输出为1,而其它输出神经元为0,从而给出当前输入样本的模式类。将竞争层学习得到的类成为子类,而将输出层学习得到的类成为目标类。



3.3 LVQ网络结构与工作原理


slm在光神经网络中起到权重层的作用 som神经网络原理_权值_06

LVQ网络的学习规则结合了竞争学习规则和有导师学习规则,所以样本集应当为{(xi,di)}。其中di为l维,对应输出层的l个神经元,它只有一个分量为1,其他分量均为0。通常把竞争层的每个神经元指定给一个输出神经元,相应的权值为1,从而得到输出层的权值。比如某LVQ网络竞争层6个神经元,输出层3个神经元,代表3类。若将竞争层的1,3指定为第一个输出神经元,2,5指定为第二个输出神经元,3,6指定为第三个输出神经元。则竞争层到输出层的权值矩阵为:




slm在光神经网络中起到权重层的作用 som神经网络原理_神经网络_07

训练预先定义好竞争层到输出层权重,从而指定了输出神经元类别,训练中不再改变。网络的学习通过改变输入层到竞争层的权重来进行。根据输入样本类别和获胜神经元所属类别,可判断当前分类是否正确。若分类正确,则将获胜神经元的权向量向输入向量方向调整,分类错误则向相反方向调整。如下图所示:


LVQ网络学习算法的步骤如下:
(1)   初始化。竞争层各神经元权值向量随机赋值小随机数,确定初始学习速率和训练次数。
(2)   输入样本向量。
(3)   寻找获胜神经元。
(4)   根据分类是否正确按照不同规则调整获胜神经元的权值:当网络分类结果与教师信号一致时,向输入样本方向调整权值:

slm在光神经网络中起到权重层的作用 som神经网络原理_权值_08

当网络分类结果与教师信号不一致时,向输入样本反方向调整权值:

slm在光神经网络中起到权重层的作用 som神经网络原理_聚类_09

其他非获胜神经元权值保持不变。
(5)   更新学习速率

slm在光神经网络中起到权重层的作用 som神经网络原理_权值_10

(6)   当训练次数未达到设定的次数时,转到步骤(2)输入下一个样本,重复各步骤直到达到设定训练次数为止。上述训练过程中,要保证η(t)为单调下降函数。

      3.4 总结

          LVQ网络是SOFM网络一种有监督形式的扩展,两者有效结合可更好地发挥竞争学习和有监督学习的优点。
网络结构-LVQ神经网络有三层组成:输入层,竞争层,线性输出层
连接方式-输入层与竞争层之间采用全连接的方式,竞争层与线性输出层之间采用部分连接的方式。竞争层神经元个数总是大于线性输出层神经元个数,每个竞争层神经元只与一个线性输出层神经元相连接且连接权值恒为1。但是,每个线性输出层神经元可以与多个竞争层神经元相连接。竞争层神经元与线性输出层神经元的值只能是1或0。
        当某个输入模式被送至网络时,与输入模式距离最近的竞争层神经元被激活,神经元的状态为“1”,而其他竞争层神经元的状态均为“0”。因此,与被激活神经元相连接的线性输出层神经元状态也为“1”,而其他线性输出层神经元的状态均为“0”。