快捷搜索:  汽车  科技

48个神经网络案例(介绍一种有趣的竞争神经网络)

48个神经网络案例(介绍一种有趣的竞争神经网络)Neural Gas 算法相对快速地收敛到点集:在20次迭代中,它创建了语义可理解的表示,只有2 500个点,是原来15 564个点的16%。只剩下一个问题:我们如何做到这一点?我的意思是,这是一个好主意,但我们需要找到一些方法来找到这些点。当然,最简单的方法是定义一个错误函数并继续优化,直到我们得到。我的工作徽章照片,数字化问题是,我们是否可以减少点数并仍然可以获得一个可识别的、语义上忠实的图像?一种解决方案是找到相当好地代表其附近的一堆点的点,并将它们用作这些点的“代理”。我们不是使用15 000个点,而是指定几百个新点,并将它们放在适当位置,以便它们各自相对代表它们周围的点。这将允许我们用最近的新点替换所有这些点,有效地将15 000点减少到几百点。更重要的是,我们可以创建一个新点列表 - 这通常被称为'code book' - 而不是每次都要放下坐标,我们只需要替换每个点的(x,y

点击上方关注,All in AI中国

几年前,我想出了一个有趣的方法来理解复杂的概念。典型的大学教学方式是首先通过大量的时间投入去做奠定理论基础的事情,重新学习一些可能你已经知道的基础科目,然后用来解释正在发生的事情。与这种方法相反,当你试图理解某些东西的时候,其实实际的步骤是这样的,你会先从一个很有趣的动机出发,然后再深入了解它的原因和方法。

本篇文章将为大家提供一个有趣的介绍:竞争神经网络及其在矢量量化中的应用。

矢量量化:一般概念

想象一下,假设你有一张黑白图像。您可以将这样的图像想象为您想要为每个坐标为(x,y)的点着色,就像是数学练习册中的那样的网格以及每个列表上的点的颜色,你的点越多,那么你的列表就越长。在下面这个例子中,我将我的工作徽章头像进行了数字化,并为它创建了这样一个相对较低密度的列表 - 它给了我大约15 000个点:

48个神经网络案例(介绍一种有趣的竞争神经网络)(1)

我的工作徽章照片,数字化

问题是,我们是否可以减少点数并仍然可以获得一个可识别的、语义上忠实的图像?一种解决方案是找到相当好地代表其附近的一堆点的点,并将它们用作这些点的“代理”。我们不是使用15 000个点,而是指定几百个新点,并将它们放在适当位置,以便它们各自相对代表它们周围的点。这将允许我们用最近的新点替换所有这些点,有效地将15 000点减少到几百点。更重要的是,我们可以创建一个新点列表 - 这通常被称为'code book' - 而不是每次都要放下坐标,我们只需要替换每个点的(x,y)坐标对与最近的code book的索引。如果我们已经很好地设定了点数,那么我们将获得相当不错的近似值。

48个神经网络案例(介绍一种有趣的竞争神经网络)(2)

矢量量化的基本思想是:通过 codebook中较少数量的条目来表示大量矢量,每个条目对于它所代表的点是相对良好的代理。

只剩下一个问题:我们如何做到这一点?我的意思是,这是一个好主意,但我们需要找到一些方法来找到这些点。当然,最简单的方法是定义一个错误函数并继续优化,直到我们得到。

48个神经网络案例(介绍一种有趣的竞争神经网络)(3)

Neural Gas 算法相对快速地收敛到点集:在20次迭代中,它创建了语义可理解的表示,只有2 500个点,是原来15 564个点的16%。

48个神经网络案例(介绍一种有趣的竞争神经网络)(4)

一种方法是简单地丢弃随机点,计算它们代表的新点数以及它们的邻域中有多少点已经被表示,而其邻域中有多少点根本不应该被表示。然后我们继续添加新点并抛弃表现不佳的点。这通常类似于两种较旧的机器学习方法,称为简单竞争性Hebbian学习,问题是这些可能需要很长时间才能收敛。而且大多数时候,结果并不是太令人印象深刻。

Delaunay三角剖分的概念:将点集划分为三角形,使得没有点位于另一个三角形(灰色)的外接圆内。根据定义,这也意味着Delaunay三角剖分在三角测量线之间没有交集。

相反,我们可以做得更好。我们有一些数学技巧可以帮助我们解决这个问题,称为三角测量。三角测量基本上以特定方式将空间划分为三角形。有了分数,最简单的三角测量当然是开始连接点,直到你得到很多三角形。事实证明,有更聪明的方法可以做到这一点。 Delaunay三角剖分在多个点之间创建三角形,使得任何三角形的外接圆(包括三角形的所有三个点的圆)内没有其他点。这给了我们一个不相交的三角形网格。一个奇妙的小副作用是,如果我们连接外接圆的中心,我们得到所谓的由点限定的空间的Voronoi分区。将绘制每个Voronoi分区的边界,使得围绕点P的Voronoi分区将包括更接近P的每个点而不是初始点集中的任何其他点。这有助于我们在点之间很好地划分空间:我们可以通过简单地测量codebook点网格内Voronoi分区内的点百分比,以及它的空白百分比来测量模型的有效性。这使得相对容易优化的错误功能成为可能。一个好处是,Delaunay三角剖分和Voronoi分区都很好地推广到更高的维度,因此无论在二维空间中工作的是什么,也可以用于更高维空间。

获得竞争力

48个神经网络案例(介绍一种有趣的竞争神经网络)(5)

一个成长的Neural Gas 算法模型可以学习相当复杂的拓扑结构,100次迭代,具有高 drop-out 率。

那么,“竞争”神经网络呢?您可能遇到的大多数神经网络遵循某种模式:具有激活功能的神经元获得输入并产生输出。从这个意义上讲,“竞争”神经网络是完全不同的。相反,在竞争神经网络中,神经元“竞争”被激活,其中激活通常是距所选数据点的距离的函数。最接近数据点的神经元 - 即具有最高激活 - 的“神经元”获胜,并且朝向数据点移动,吸引其一些邻域。从这个意义上讲,竞争力允许学习拓扑,当用于从较低维度表示重构高维形状时,这是一种有用的副作用。事实上,创建第一个简单Neural Gas 模型的Martinetz和Schulten称其为拓扑代表网络(TRN)。由Marco Piastra撰写的这篇论文展示了竞争神经网络令人印象深刻的潜力,即复制甚至非常复杂的形状,例如斯坦福兔子。

48个神经网络案例(介绍一种有趣的竞争神经网络)(6)

Neural Gas 模型可以学习相当复杂的拓扑,例如人脸,如前所述。在这个例子中,从两个顶点开始并且每十次迭代添加一个新顶点,就会产生一个高dropout、慢收敛的增长Neural Gas,从而产生一个近似于我的照片的效果。该图仅包含752个节点,压缩率为原始15 564个点的95.17%。

竞争学习与神经生理学有相当密切的相似性。这是Hebbian学习的一种形式。当独立的神经元同时对刺激产生响应时,突触强度(神经元'接近度的度量)就会增加。神经元的这一特征被生长Neural Gas用于连接各个顶点,并且我们不得不指定地图大小和形状,就像自组织特征映射那样:最佳匹配和第二最佳匹配作为“共同响应者”连接起来并且连接的强度取决于两点之间响应的相对强度。如果两个点都响应强烈,则表明它们与数据点几乎等距,因此可以视为紧密连接 - “一起触发”会导致算法将相关点“连接在一起”。

虽然听起来很抽象,但这些算法可以很容易地在我们日常的机器学习工作量中发挥作用。在无监督学习中,生长 Neural Gas和自组织特征映射许多应用中的第一个也是最重要的,当然是聚类。但是与许多聚类算法不同,生长 Neural Gas不需要提前提供簇的数量。在不相交的簇的数量是开始的问题的情况下,可能是有用的。例如,考虑计算页面上单词数量的问题:如果配置良好,生长Neural Gas可以将单词连接到单个子图中,并且断开连接的子图数量会给出单词计数。类似地,使用基于生长Neural Gas的算法可以容易地计算难以可视化和解释的多个高维聚类。

48个神经网络案例(介绍一种有趣的竞争神经网络)(7)

猜您喜欢: