资讯

竞争学习是什么?神经元之间“赢家通吃”的无监督学习

2026-11-053 分钟阅读百科
TL;DR竞争学习(Competitive Learning)是一种无监督神经网络学习规则,输出神经元相互竞争,每次只有与输入最相似的获胜神经元(或其邻域)被激活并更新权重,使其更接近该输入,即“赢家通吃”;自组织映射(SOM)、ART 网络和学习向量量化都基于竞争学习,其过程与 K 均值聚类相似。

竞争学习(Competitive Learning)是神经网络中一种常用的无监督学习策略:网络中的输出神经元彼此竞争,对于每一个输入,只有一个神经元能够“获胜”被激活,其他神经元都被抑制,这种机制也被称为“胜者通吃”。获胜的神经元会调整自己的权重,让自己在下一次遇到相似的输入时更容易获胜。

它是怎么工作的

假设网络有若干个输出神经元,每个神经元都有一个权重向量,可以看作它所代表的“原型”。来了一个输入样本时:先计算输入与每个神经元的权重向量之间的相似程度,比如欧氏距离,距离最近的那个神经元就是获胜者;然后只更新获胜神经元的权重,让它朝着这个输入的方向移动一小步,移动的幅度由学习率控制;其他神经元保持不变。不断地输入样本、重复这个过程,每个神经元都会逐渐“占领”输入空间中的一块区域,成为这块区域中样本的代表。结果,相似的输入会激活同一个神经元,网络自动地把数据分成了若干组。这个过程与 K 均值聚类非常相似:神经元的权重向量就相当于簇的中心,只不过竞争学习是一个样本一个样本地在线更新的。

可能遇到的问题

竞争学习有一个常见的问题:有些神经元因为初始权重离所有数据都很远,从来没有赢过,也就永远得不到更新,成为“死神经元”。解决办法包括:给经常获胜的神经元增加一个“良心”惩罚,让它们不那么容易继续获胜;或者让获胜神经元附近的神经元也一起更新。

基于竞争学习的网络

自组织映射(SOM):由芬兰学者托伊沃·科霍宁在 1982 年提出。它把输出神经元排列成一个二维的网格,不仅更新获胜的神经元,还会以较小的幅度更新它在网格上的邻居。这样训练之后,网格上相邻的神经元会代表输入空间中相似的样本,高维的数据就被映射到了一张保持拓扑关系的二维“地图”上,便于可视化,常用于数据探索和聚类。自适应谐振理论(ART)网络:由斯蒂芬·格罗斯伯格等人提出,它在竞争的基础上加入了“相似度是否足够高”的检验,如果输入与所有已有的原型都不够相似,就新增一个神经元来代表它。这让网络能够在学习新模式的同时不忘记旧的模式,缓解了所谓的“稳定性-可塑性困境”。学习向量量化(LVQ):同样由科霍宁提出,是竞争学习的有监督版本:如果获胜神经元的类别与样本的类别相同,就让它靠近样本,否则让它远离样本。

意义

竞争学习受到了大脑中神经元之间“侧向抑制”现象的启发:一个神经元被强烈激活时,会抑制周围的神经元。它展示了神经网络在没有任何标签的情况下,也能自己发现数据中的结构。如今,竞争学习的思想也体现在混合专家模型中:多个专家对每个输入进行竞争,由路由器选出少数几个来处理。