Image processing 当有许多类时如何使用神经网络

Image processing 当有许多类时如何使用神经网络,image-processing,machine-learning,tensorflow,deep-learning,keras-layer,Image Processing,Machine Learning,Tensorflow,Deep Learning,Keras Layer,我们正在使用facenet,并为面生成了嵌入(128个特征)。我们有来自MSCeleb的10万个班级(名人)和800万个样本 如何构建一个能够将128个特征映射到100k类的神经网络 使用完全连接的层将导致(128+1)*100k=1290万个参数,这些参数似乎太大而无法训练 摘自FaceNet摘要: 在本文中,我们提出了一个名为FaceNet的系统,它直接 学习从人脸图像到紧凑欧几里德空间的映射,其中 距离直接对应于面部相似性的度量。一旦 这个空间已经产生了,比如人脸识别, 验证和集群可以很容

我们正在使用facenet,并为面生成了嵌入(128个特征)。我们有来自MSCeleb的10万个班级(名人)和800万个样本

如何构建一个能够将128个特征映射到100k类的神经网络


使用完全连接的层将导致(128+1)*100k=1290万个参数,这些参数似乎太大而无法训练

摘自FaceNet摘要:

在本文中,我们提出了一个名为FaceNet的系统,它直接 学习从人脸图像到紧凑欧几里德空间的映射,其中 距离直接对应于面部相似性的度量。一旦 这个空间已经产生了,比如人脸识别, 验证和集群可以很容易地使用标准 将FaceNet嵌入作为特征向量的技术


代替训练分类器,考虑在特征空间中进行最近邻搜索。您可以为每一位10万名人选择锚定图像,然后根据他们的特征向量构建一个锚定图像。然后,对于每个输入,您可以在k-d树中找到其最近的邻居。

问题是您有多少个样本,而不是有多少个特征,您不是将特征分配给类,而是将样本分配给类。事实上,您有128个特性是完全正确的,您只需要为每个类提供足够的示例,就可以开始基于features@Flika205800万个样本。我认为我们有足够的数据。然而,用800万个样本乘以1290万个参数听起来像是多年的训练。你说得有道理,训练这个神经网络模型确实需要很长时间。我推荐的方法是尝试看看机器学习算法,比如Random Forest(而不是深度学习算法),它不需要太多的时间。不过,这只是一个想法,可能不适合你的问题,但我相信值得一试