如何在卷积神经网络中确定三重态丢失的准确性
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在卷积神经网络中确定三重态丢失的准确性相关的知识,希望对你有一定的参考价值。
Triplet网络(受“Siamese网络”启发)由同一前馈网络的3个实例(具有共享参数)组成。当馈送3个样本时,网络输出2个中间值 - 来自第三个表示的两个输入的嵌入表示之间的L2(欧几里得)距离。
我正在使用三对图像来馈送网络(x =锚图像,标准图像,x + =正图像,包含与x相同的对象的图像 - 实际上,x +与x相同,x- =负图像,不同于x的图像。
我正在使用here描述的三重损失成本函数。
如何确定网络的准确性?
答案
我假设您正在为图像检索或类似任务工作。
您应该首先生成一些三元组,无论是随机还是使用一些硬(半硬)负挖掘方法。然后将三元组分成训练和验证集。
如果您这样做,那么您可以将验证准确度定义为三元组数量的比例,其中锚点和正数之间的特征距离小于验证三元组中锚点和负数之间的特征距离。你可以看到用PyTorch编写的an example here。
另一种方法是,您可以根据最终测试指标直接进行衡量。例如,对于图像检索,我们通常使用mean average precision测量模型在测试集上的性能。如果您使用此指标,则应首先在验证集上定义一些查询及其相应的地面实况图像。
上述两个指标中的任何一个都可以。选择您认为适合您的情况。
以上是关于如何在卷积神经网络中确定三重态丢失的准确性的主要内容,如果未能解决你的问题,请参考以下文章
卷积填充步长;卷积神经网络的卷积核大小个数,卷积层数如何确定呢;深度学习如何调参;