Combinando 2 reti neurali
-
31-10-2019 - |
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:
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.
Sono mia comprensione che il
groups=2
opzione inconv2d
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