【发布时间】:2018-01-13 12:20:54
【问题描述】:
文章here 提到了一种为卷积神经网络生成三元组的智能方法(以生成人脸嵌入)。
对于具有 n 个图像的 mini-batch,只有 semi-hard triplets 用于学习(包含 semi-hardnegatives 的三元组,它们是足够接近锚图像)。
- 如何创建训练集?批次包含什么?
在我们的实验中,我们对训练数据进行采样,使得大约 40 每个小批量的每个身份都选择人脸。此外, 将随机采样的负人脸添加到每个 mini-batch。
我做了什么
我在 Wild 数据集中使用 Labeled Faces 进行训练(13233 张图片,5749 人,1680 人有两张或更多张图片,并且对于每批我选择了一个锚点,一些正例(意味着我只能使用 1680 批次,因为我需要不止一张 ONE 人的图像)和底片 - 随机选择的其他人的图像。
我的训练集有问题。小批量是否应该包含 更多 个锚点?
我们没有选择最难的正面,我们使用所有锚定正面 在小批量中配对,同时仍然选择硬底片
- 在线三胞胎生成?它是如何完成的? (欢迎提供技术细节)
在线生成三胞胎。这可以通过选择硬 小批量中的正/负样本。
要选择半硬底片,我需要计算三元组的嵌入。所以我需要通过三元组神经网络,并比较嵌入。然后,我需要 only 使用硬三元组计算损失函数。这就是我认为我必须做的。
我使用了三个卷积神经网络和共享参数(四个卷积层,最大池化和一个全连接层)。 我还没有使用在线三胞胎生成,因为我不明白它是如何完成的。它导致不超过70%的准确度。
【问题讨论】:
标签: machine-learning neural-network conv-neural-network