Python 连体CNN(Tensorflow)的哪种激活功能?
我正在使用预先训练过的VGG16网络训练一个暹罗CNN,并添加一些层,然后计算一个相似性函数(两幅图像特征之间的绝对距离)。VGG16瓶颈之后的模型如下所示:Python 连体CNN(Tensorflow)的哪种激活功能?,python,tensorflow,cnn,activation-function,siamese-network,Python,Tensorflow,Cnn,Activation Function,Siamese Network,我正在使用预先训练过的VGG16网络训练一个暹罗CNN,并添加一些层,然后计算一个相似性函数(两幅图像特征之间的绝对距离)。VGG16瓶颈之后的模型如下所示: left_input = Input(input_shape) right_input = Input(input_shape) model.add(Dense(1024, activation='relu')) model.add(BatchNormalization()) model.add(Dropout(0.30)) mode
left_input = Input(input_shape)
right_input = Input(input_shape)
model.add(Dense(1024, activation='relu'))
model.add(BatchNormalization())
model.add(Dropout(0.30))
model.add(Dense(1024, activation='sigmoid'))
encoded_l = model(left_input)
encoded_r = model(right_input)
L1_layer = Lambda(lambda tensors:K.abs(tensors[0] - tensors[1]))
L1_distance = L1_layer([encoded_l, encoded_r])
L1_distance = K.pow(L1_distance, 3)
prediction = Dense(1,activation='sigmoid',bias_initializer=initialize_bias)(L1_distance)
siamese_net = Model(inputs=[left_input,right_input],outputs=prediction)
我主要关注这篇文章:
该模型在大量类中表现不佳。我想知道激活函数是否存在问题:对于两个相同的图像,L1_距离将为0,因此网络必须训练无限偏差以获得1的输出,这感觉不正确
我已经搜索了TF激活函数,但我找不到一个对称函数,它本质上是1在0,0在+/-Inf。我尝试了一个TF.math.Recipient层的解决方法,但感觉不对(而且也不太有效)
我是否应该尝试编写自定义激活函数?有更好的办法吗