为什么 Siamese 神经网络使用绑定权重,它们是如何工作的?

数据挖掘 神经网络 梯度下降 连体网络 一次性学习
2022-02-22 16:48:28

阅读这篇关于 one-shot learning 的论文“ Siamese Neural Networks for One-shot Image Recognition ”,我了解到了 Siamese Neural Networks 的概念。

我没有完全理解的是他们所说的这条线是什么意思:

该目标与标准反向传播算法相结合,其中 由于权重绑定
,梯度在孪生网络中是相加的。

首先,它们究竟是如何绑定的?贝娄,我相信我已经提供了他们计算梯度的公式。T 是时代,μj是动量,λj正则化,ηj学习率,wkj我相信是神经元 k 和一层和 j 之间的权重,但如果我错了,请纠正我。

wkj(T)(x1(i),x2(i))=wkj(T)+Δwkj(T)(x1(i),x2(i))+2λj|wkj|Δwkj(T)(x1(i),x2(i))=ηjwkj(T)+μjΔwkj(T1)

我的另一个问题是为什么这甚至是可取的?为什么不重复使用同一个网络两次呢?或者也许这两个网络在训练后会是相同的?如果训练后的网络是相同的,为什么要这样设置呢?它有什么好处?

1个回答

您可以有一个网络,分别输入两个输入,计算距离/损失,然后执行反向传播。

或者

(如在引用的论文中)您可以初始化一个网络,然后创建该网络的并行双胞胎。因为两个网络看到相同的损失,所以在反向传播后它们将保持相同。

论文以后者的形式进行解释。事实上,我一直看到它以后者的形式解释。

我可以告诉你在实现方面,它是使用前者完成的。事实上,这直接来自被引用论文的 GitHub。

在此处输入图像描述