Pytorch 中的孪生神经网络

BiB*_*iBi 3 python pytorch

如何在 PyTorch 中实现孪生神经网络?

什么是孪生神经网络?孪生神经网络由两个相同的神经网络组成,每个神经网络接受一个输入。相同意味着两个神经网络具有完全相同的架构并共享相同的权重。

在此处输入图片说明

BiB*_*iBi 6

在 PyTorch 中实现孪生神经网络就像在不同输入上调用网络函数两次一样简单。

mynet = torch.nn.Sequential(
        nn.Linear(10, 512),
        nn.ReLU(),
        nn.Linear(512, 2))
...
output1 = mynet(input1)
output2 = mynet(input2)
...
loss.backward()
Run Code Online (Sandbox Code Playgroud)

调用时loss.backwad(),PyTorch 将自动求和来自 的两次​​调用的梯度mynet

您可以在此处找到完整的示例。