Keras 在图像相似性神经网络的训练过程中,L1距离将如何使用?

Keras 在图像相似性神经网络的训练过程中,L1距离将如何使用?,keras,conv-neural-network,similarity,transfer-learning,vgg-net,Keras,Conv Neural Network,Similarity,Transfer Learning,Vgg Net,我正在实现一个神经网络,它可以发现两幅图像之间的相似性,无论它们是否相似 参考: 每个示例都包含([image\u 1,image\u 2],label)。其中,如果标签相似,则标签的值为0,如果标签不相似,则标签的值为1 网络convnet由一系列卷积和池层组成,并输出一个特征向量 在实现中,他们计算编码之间的L1距离,并为最终决策添加一个密集层 encoded_l = convnet(left_input) encoded_r = convnet(right_input) # Gettin

我正在实现一个神经网络,它可以发现两幅图像之间的相似性,无论它们是否相似

参考:

每个示例都包含
([image\u 1,image\u 2],label)
。其中,如果标签相似,则标签的值为
0
,如果标签不相似,则标签的值为
1

网络convnet由一系列卷积和池层组成,并输出一个特征向量

在实现中,他们计算编码之间的L1距离,并为最终决策添加一个密集层

encoded_l = convnet(left_input)
encoded_r = convnet(right_input)

# Getting the L1 Distance between the 2 encodings
L1_layer = Lambda(lambda tensor:K.abs(tensor[0] - tensor[1]))

# Add the distance function to the network
L1_distance = L1_layer([encoded_l, encoded_r])

prediction = Dense(1,activation='sigmoid')(L1_distance)
siamese_net = Model(inputs=[left_input,right_input],outputs=prediction)
我想要的答案是:

  • 如何在网络培训期间使用此L1距离

  • 除了L1距离之外,还有哪些选项可用于测量两种编码之间的相似性

我希望如果我能得到这些答案,我可以根据我的要求调整网络