人脸识别An Efficient Training Approach for Very Large Scale Face Recognition(学习笔记)

However, training on the outsize datasets
is time-consuming and takes up a lot ofhardware resource.

为什么会提出这一句话呢

因为人脸识别在深度学习领域,只要一个大的模型 一个大的好的数据集、

就可以有一个很好的效果

 所以作者提出了一个问题,这么大的model训练起来 很费时间 费资源

他就想着有没有一个办法 可以更好地训练 或者说更加的轻量化 或者说

碳中和 (就是想减少训练的时间或是其他花费,硬件资源尽量少一些)

 所以作者提出了一个有效的训练方式

然后就开始分析 那么造成开销的凶手到底是谁

作者说呢 是因为 多层多维度的全连接层FC

对于这个原因呢 提出一个新的训练方式 赋予他名字

Faster Face Classifica-
tion (F2C), 

这个可牛了 减少了时间和硬件成本 在没有牺牲性能的情况下 有点知识蒸馏的味道了

只不过这里的方式是新的方式  新的训练方式

这个new method 采用了DCP来当作FC的一个替代品

Dynamic Class Pool 动态类别池化 很绿色

as its smaller size with the independence from the whole
face identities together.

训练阶段有两个问题

1.the training time and hardware re-source occupancy.

我们可以清楚的看出

backbone 的时间很稳定 就是推理的时间 随着FC的增加 另一个趋势 啊 这个时间和硬件的耗费

增长的很明显  

那之前的做法 嘞可以分为两类

1.就是 送进多块GPU 与此同时就会带来

  GPU的沟通的代价

 2.咋给我感觉有点像drop out 的操作

他的缺点还是存在于 要存储大量的参数上

提出了一个

从本质上的操作 减少FC的层数 

设计一个可选择的范式 但是之前很少有人在做 

 第二个问题

FC参数 更新的效率与速度

争对这两个问题F2C

首先 提出了twin backbones

Gallery Net (G-Net) and Probe Net (P-Net)

to generate identity centers

and extract face features, respectively.

这两个网络结构与相同

G-net inherits the parameters from P-Net in a moving average
manner ???? 

moving average manner

GPT answer:Moving average is a statistical technique used to analyze time series data

by calculating the average of a subset of data points over a specific period of time.

 There are different types of moving averages,

including simple moving average,

weighted moving average, and exponential moving average.

The weighted moving average (WMA) assigns different weights to each data point in the subset based on its proximity to the current day. The most recent data point is given the highest weight, and the weights decrease as you move back in time. The weighted moving average is more responsive to recent changes in the data than the simple moving average.

The exponential moving average (EMA) gives more weight to the most recent data points and less weight to the older data points. This makes it more sensitive to recent changes in the data than the simple and weighted moving averages. The exponential moving average is calculated by multiplying each data point by a weighting factor and adding them up to get the average.

Moving averages are commonly used to smooth out the fluctuations in time series data and to identify trends or patterns in the data. They are often used in technical analysis of financial markets to help traders identify potential buy and sell signals.

简单来说 加权移动平均 给不同的权重给距离当天或是现在的 权重随着时间的推移而减少

                指数移动平均 给最近的分最大 最远的分最小 反应数据更敏感

                简单移动平均 在给定的时间范围内 取平均

移动平均(Moving Average)是一种统计技术,用于分析时间序列数据,通过计算特定时间段内一组数据点的平均值来实现。移动平均有不同的类型,包括简单移动平均、加权移动平均和指数移动平均。

简单移动平均(SMA)是最基本的移动平均形式,它通过取特定时间段内的一定数量的数据点的平均值来计算。例如,10日简单移动平均值将通过取最近10天的收盘价之和并除以10来计算。

加权移动平均(WMA)根据数据点与当前日期的距离分配不同的权重。最近的数据点赋予最高的权重,权重随着时间的推移而减少。加权移动平均比简单移动平均对数据的最近更敏感。

指数移动平均(EMA)给最近的数据点分配更大的权重,给较早的数据点分配较小的权重。这使它比简单和加权移动平均更能敏感地反映数据的最近变化。指数移动平均是通过将每个数据点乘以加权因子并将它们相加来计算的。

移动平均通常用于平滑时间序列数据中的波动,并识别数据中的趋势或模式。它们经常用于金融市场的技术分析中,以帮助交易员识别潜在的买入和卖出信号。

罪魁祸首呢 那个在FC上的train  ---->DCP 1.store the feature 2.cal. the logits  with positive samples

而且比这个FC呢小上好多 ---->reduce the time and resource

negative samples  minimize the cosine similarities 余弦相似度between nega-
tive samples and DCP.

余弦相似度是一种常用的相似度度量方式,在深度学习中也被广泛应用。在深度学习中,余弦相似度通常被用来计算两个向量之间的相似度,其中这些向量可能是输入数据、特征向量或神经网络中的权重向量。

在深度学习中,余弦相似度被用来计算向量之间的相似度,这种相似度通常被用于比较输入数据之间的相似度,或者计算特征向量之间的相似度。在图像识别、语音识别等任务中,计算输入数据之间的相似度对于模型的正确分类非常重要。

此外,余弦相似度还被用来计算神经网络中的权重向量之间的相似度,这种相似度计算可以用来判断权重向量是否相似或者是共享。在一些深度学习模型中,共享权重被广泛应用,通过计算权重向量之间的相似度来确定共享的权重,可以减少模型参数的数量,同时提高模型的泛化能力。

总之,余弦相似度在深度学习中被广泛应用,它可以用来计算输入数据、特征向量、神经网络中的权重向量之间的相似度,从而帮助模型实现正确分类、减少参数数量和提高泛化能力等目标。

a dual data loader

including identity-based and instance-based loaders.

 contrastive loss and triplet loss [26] mightbe good candidates.

But they suffer from high computational cost and slow convergence.

对比损失(Contrastive Loss)是一种在深度学习中用于度量两个样本之间的相似度的损失函数。它通常被用于训练具有相似度度量任务的神经网络,例如图像检索、语音识别、人脸识别等任务。

对比损失的基本思想是将具有相似性质的样本(例如,同一类别的样本)彼此靠近,而将具有不同性质的样本(例如,不同类别的样本)彼此远离。该损失函数的目标是最小化相似样本对之间的距离,并将不相似样本对之间的距离最大化

在对比损失中,通常使用欧几里得距离或余弦相似度来计算两个样本之间的距离。(对于一对样本,如果它们之间的距离小于某个预定的阈值,则被认为是相似的,否则是不相似的。)损失函数的目标是最小化相似样本对之间的距离,同时最大化不相似样本对之间的距离。

在训练神经网络时,对比损失可以通过反向传播算法计算并优化。

它通常与梯度下降等优化算法一起使用,

以帮助神经网络学习到更好的相似性质表示,从而提高其在相似度度量任务中的性能。

总之,对比损失是一种用于度量两个样本之间相似度的损失函数,它在深度学习中被广泛应用于图像检索、语音识别、人脸识别等任务,以帮助神经网络学习到更好的相似性质表示。

三元组损失(Triplet Loss)是一种在深度学习中用于度量样本之间相似度的损失函数,通常被用于训练具有相似度度量任务的神经网络,例如人脸识别、图像检索等任务。

三元组损失的基本思想是将具有相似性质的样本(例如,同一类别的样本)彼此靠近,而将具有不同性质的样本(例如,不同类别的样本)彼此远离。

具体来说,对于一个输入样本,三元组损失会选择另外两个样本,其中一个与输入样本来自同一类别,称为正样本另一个与输入样本来自不同类别,称为负样本。损失函数的目标是最小化正样本与输入样本之间的距离,同时最大化负样本与输入样本之间的距离,从而使得同一类别的样本更加接近,不同类别的样本更加远离。

在三元组损失中,通常使用欧几里得距离或余弦相似度来计算样本之间的距离。具体地,对于一个输入样本,三元组损失会选择一个正样本和一个负样本,从而构成一个三元组(Anchor,Positive,Negative)。损失函数的目标是最小化Anchor与Positive之间的距离并最大化Anchor与Negative之间的距离,从而使得同一类别的样本更加接近,不同类别的样本更加远离。

在训练神经网络时,三元组损失可以通过反向传播算法计算并优化。它通常与梯度下降等优化算法一起使用,以帮助神经网络学习到更好的相似性质表示,从而提高其在相似度度量任务中的性能。

总之,三元组损失是一种用于度量样本之间相似度的损失函数,它在深度学习中被广泛应用于人脸识别、图像检索等任务,以帮助神经网络学习到更好的相似性质表示。

 cur-rent methods and large scale datasets have achieved excel-
lent performance in face recognition, but the training time
and hardware costs are still the bottleneck at training phase,

especially for training on million scale or even more faceidentities datasets.

since 2001. 从2001开始 就开始了加速工作

An intuitive idea is to design an approx-
imate function to reduce the computational cost, the Hier-
archical Softmax (HSM)一个直观的想法是设计一个近似函数来减少计算成本,即分层Softmax(HSM)

加速的研究现状 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

东东要拼命

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值