Domanda

2 immagini come input, x1 e x2 e prova a usare la convoluzione come un misura di somiglianza. L'idea è che i pesi appresi sostituiscono una misura più tradizionale della somiglianza (correlazione incrociata, nn, ...). Definire la mia funzione in avanti come segue:

def forward(self,x1,x2):
    out_conv1a = self.conv1(x1)
    out_conv2a = self.conv2(out_conv1a)
    out_conv3a = self.conv3(out_conv2a)

    out_conv1b = self.conv1(x2)
    out_conv2b = self.conv2(out_conv1b)
    out_conv3b = self.conv3(out_conv2b)

Ora per la misura di somiglianza:

out_cat = torch.cat([out_conv3a, out_conv3b],dim=1)
futher_conv = nn.Conv2d(out_cat)

La domanda è la seguente:

  1. Sarebbe profondità/convoluzioni separabili come in Google carta cedere qualsiasi vantaggio rispetto alla convoluzione 2D dell'input concatenata. Dal momento che la convoluzione può essere una misura di somiglianza, la correlazione incrociata e la convoluzione sono molto simili.

  2. Sono mia comprensione che il groups=2 opzione in conv2d Fornirebbe 2 input separati per allenare i pesi con, in questo caso ciascuno dei pesi precedenti delle reti. Come vengono combinati dopo?

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
scroll top