因为最近在做和Active Learning 以及Domain Adaptation相关的论文,所以看一些相关的论文,总结了Active Learning种select sample时使用的策略
1. Transferable Query Selection for Active Domain Adaptation
committee: 使用MMM个分类器,这MMM个分类器对样本xxx分类的差异越大,越要选择这个样本。
如果一个样本在越靠近决策边界,MMM个分类器对其分类的结果越不一致Qc(x)=∑m=1M∥Cm(F(x))−1M∑m′=1MCm′(F(x))∥MQ_c(x)=\sqrt{\frac{\sum_{m=1}^M\|C_m(F(x))-\frac{1}{M}\sum_{m^{'}=1}^MC_{m^{'}}(F(x))\|}{M}}Qc(x)=M∑m=1M∥Cm(F(x))−M1∑m′=1MCm′(F(x))∥
uncertainty: 使用MMM和分类器的softmax最大概率-第二大概率
Qu(x)=∑m=1M[1−(maxiy^mi−maxj∣j≠arg maxky^mky^mj)]MQ_u(x)=\sum_{m=1}^M\frac{[1-(\max_i\hat{y}_m^i-\max_{j|j\neq \argmax_k \hat{y}_m^k}\hat{y}_m^j)]}{M}Qu(x)=∑m=1MM[1−(maxiy^mi−maxj∣j=kargmaxy^mky^mj)]
domainness: 选择的样本应该在domain分类的决策边界上,不光class模糊,domain也要模糊
Qd(x)=1σ2πexp(−(D(F(x))−μ)22σ2)Q_d(x)=\frac{1}{\sigma \sqrt{2\pi}}\exp(-\frac{{(D(F(x))-\mu)}^2}{2\sigma^2})Qd(x)=σ2π1exp(−2σ2(D(F(x))−μ)2)
作者结合committee,uncertainty和domainness,加之前做归一化
score(x)(选大) = Qc(x)+Qc(x)+Qd(x)Q_c(x)+Q_c(x)+Q_d(x)Qc(x)+Qc(x)+Qd(x)
2. Active Domain Adaptation via Clustering Uncertainty-weighted Embeddings
这里作者更改了k-MEANS中update μ\muμ的方式,加了个熵权重
uncertainty and diversity: 选择靠近改进k-MEANS中心的样本点
CLUE:
init: K(=B)centroids {μi}i=1B\{\mu_i\}_{i=1}^B{μi}i=1B(KMeans++)Assign: Xk←{x∣k=arg mini=1,...,K∥ϕ(x)−μi∥2}∀xX_k\leftarrow \{x|k=\argmin_{i=1,...,K}\|\phi(x)-\mu_i{\|}^2{\}}_{\forall x}Xk←{x∣k=i=1,...,Kargmin∥ϕ(x)−μi∥2}∀xUpdate: μk←∑x∈XkH(Y∣x)ϕ(x)∑x∈XkH(Y∣x)∀k\mu_k \leftarrow \frac{\sum_{x\in X_k}\mathcal{H}(Y|x)\phi (x)}{\sum_{x\in X_k}\mathcal{H}(Y|x)}\forall kμk←∑x∈XkH(Y∣x)∑x∈XkH(Y∣x)ϕ(x)∀k
Select: arg minS,μ∑k=1K1Zk∑x∈XkH(Y∣x)∥ϕ(x)−μk∥2\argmin_{\mathcal{S},\mu}\sum_{k=1}^K\frac{1}{Z_k}\sum_{x\in X_k}\mathcal{H}(Y|x)\|\phi(x)-\mu_k{\|}^2S,μargmin∑k=1KZk1∑x∈XkH(Y∣x)∥ϕ(x)−μk∥2
3. Cost-effective training of deep cnns with active model adaptation
uncertainty: 用于提升模型的能力
Uncertainty(x) = −∑k′=1K′(p(M(x)=k′))⋅(1−p(M(x)=k′))- \sum_{k^{'}=1}^{K^{'}}({p(\mathcal{M(x)=k^{'}}}))·({1-p(\mathcal{M(x)=k^{'}}}))−∑k′=1K′(p(M(x)=k′))⋅(1−p(M(x)=k′))
distinctiveness: 最能捕获target task中特征的样本
如何选择具有distinctiveness的样本:
xxx属于target任务时,浅层到深层的任务模式可以表示为:SxA→BS_x^{A\rightarrow B}SxA→B假如这个xxx属于source任务时(因为它本身是从target中取的),浅层到深层的任务模式可以表示为:S^xA→B\hat{S}_x^{A\rightarrow B}S^xA→B因为这是假设的,所以这个S^xA→B\hat{S}_x^{A\rightarrow B}S^xA→B使用source中每个类别的代表样本和概率来表示:S^xA→B=∑k=1Kαk(x)⋅SckA→B\hat{S}_x^{A\rightarrow B} = \sum_{k=1}^{K}{\alpha_k(x)}·{S_{c_k}^{A\rightarrow B}}S^xA→B=∑k=1Kαk(x)⋅SckA→B
Distinctiveness(x) = 1−τ(SxA→B,S^xA→B)2\frac{1-\tau(S_x^{A\rightarrow B},\hat{S}_x^{A\rightarrow B})}{2}21−τ(SxA→B,S^xA→B)
作者结合distinctiveness和uncertainty时使用到了迭代次数这个参数,超参数相加:score(x)(选大) = (1−λ⋅t⋅distinctiveness(x))+λ⋅t⋅uncertainty(x)(1-\lambda·t·distinctiveness(x))+ \lambda·t·uncertainty(x)(1−λ⋅t⋅distinctiveness(x))+λ⋅t⋅uncertainty(x)
4. Active adversarial domain adaptation
uncertainty: 用于提升模型的能力,使用entropydiversity: 使用近似的权重经验最小化(importance weighted empirical risk minimization)
计算公式:1−Gd∗(Gf(x))Gd∗(Gf(x))\frac{1-G^{*}_d(G_f(x))}{G^{*}_d(G_f(x))}Gd∗(Gf(x))1−Gd∗(Gf(x)) # 为什么可以这样表示,我不太理解
作者结合uncertainty和diversity时是直接相乘:s(x)(选大)=1−Gd∗(Gf(x))Gd∗(Gf(x))H(Gy(Gf(x))){\frac{1-G^{*}_d(G_f(x))}{G^{*}_d(G_f(x))}}{\mathcal{H}(G_y(G_f(x)))}Gd∗(Gf(x))1−Gd∗(Gf(x))H(Gy(Gf(x)))
5. Multi-Anchor Active Domain Adaptation for Semantic Segmentation
这是一篇分割的论文,这篇论文在选择样本时只考虑了一个指标
dissimilar: the more dissimilar, the more complimentary
计算target sample的向量表示:Ft(xt)=cat({Fct(xt)}c=1K)F^t(x^t)=cat(\{F^t_c(x^t)\}_{c=1}^K)Ft(xt)=cat({Fct(xt)}c=1K)
其中Fct=1∣Λct∣y^ct⨂fE(xt)∣cF^t_c={\frac{1}{|\Lambda_c^t|}\hat{y}_c^t\bigotimes f_E(x^t)|_c}Fct=∣Λct∣1y^ct⨂fE(xt)∣c
计算source的每个中心:Aks=1∣Ck∣∑x∈CkFs(xs)A^s_k=\frac{1}{|\mathcal{C}_k|}\sum_{x \in \mathcal{C}_k}F^s(x^s)Aks=∣Ck∣1∑x∈CkFs(xs)计算xtx^txt到每个AksA_k^sAks的L2距离,选择最小的那个作为xtx^txt的score(xt)score(x^t)score(xt)得到每个样本的score(xt)score(x^t)score(xt)(选大)
个人觉得这篇论文选择的策略只考虑了前面两篇论文的distinctiveness,没有考虑uncertainty
6. S3{}^{3}3VAADA: Submodular Subset Selection for Virtual Adversarial Active Domain Adaptation
uncertainty: 这里作者使用扰动的影响来判断
For every xi∈DtFor\ every \ x_i \in \mathcal{D}_tFor every xi∈Dt,使用max∥ri∥≤ϵDKL(hθ∥hθ(x+ri))\max_{\|r_i\|\leq\epsilon}D_{KL}(h_{\theta}\|h_{\theta}(x+r_i))max∥ri∥≤ϵDKL(hθ∥hθ(x+ri))来找到每个样本xix_ixi最合适的扰动rir_iriuncertainty(xi)=VAP(xi)=1N2[∑i=1NDKL(hθ(x)∥hθ(x+ri))+∑i=1N∑j=1,i≠jNDKL(hθ(x+ri)∥hθ(x+rj))]uncertainty(x_i) = VAP(x_i)=\frac{1}{N^2}[\sum_{i=1}^N D_{KL}(h_{\theta}(x)\|h_{\theta}(x+r_i))+\sum_{i=1}^N\sum_{j=1,i\neq j}^ND_{KL}(h_{\theta}(x+r_i)\|h_{\theta}(x+r_j))]uncertainty(xi)=VAP(xi)=N21[∑i=1NDKL(hθ(x)∥hθ(x+ri))+∑i=1N∑j=1,i=jNDKL(hθ(x+ri)∥hθ(x+rj))]
diversity: 避免选择重复的样本
d(S,xi)=minx∈SD(x,xi)d(S,x_i)=\min_{x \in S}D(x,x_i)d(S,xi)=minx∈SD(x,xi);这里个人理解SSS是已经选择的样本,xix_ixi是待选择的样本其中的DDD: D(xi,xj)=DKL(hθ(xj)∥hθ(xi))D(x_i,x_j)=D_{KL}(h_{\theta}(x_j)\|h_{\theta}(x_i))D(xi,xj)=DKL(hθ(xj)∥hθ(xi))
Representativeness: 选择具有代表性的样本
R(S,xi)=∑xk∈Dumax(0,ski−maxxj∈Sskj)R(S,x_i)=\sum_{x_k \in \mathcal{D}_u}\max(0,s_{ki}-\max_{x_j \in \mathcal{S}}s_{kj})R(S,xi)=∑xk∈Dumax(0,ski−maxxj∈Sskj)其中sij=−ln(1−BC(hθ(xi),hθ(xj)))s_{ij} = -ln(1-BC(h_{\theta}(x_i),h_{\theta}(x_j)))sij=−ln(1−BC(hθ(xi),hθ(xj)))BC是Bhattacharys coefficient: ∑kpkqk\sum_{k}\sqrt{p_kq_k}∑kpkqk
选择策略:score(xi)score(x_i)score(xi)(选大)=αVAP(xi)+βd(S,xi)+(d−α−β)R(S,xi)\alpha VAP(x_i)+\beta d(S,x_i)+(d-\alpha - \beta)R(S,x_i)αVAP(xi)+βd(S,xi)+(d−α−β)R(S,xi)
7. Active Universal Domain Adaptation
Transferability: 这个是特定Universal任务设计的需求
将unlabeled样本先剔除一部分,使用kmeans留下target domain中私有的类别样本
uncertainty and diversity: 通过计算样本的 gradient embedding的范数(使用下面一篇论文的方法),梯度范数越小表示分类可信度越高,范数越大表示分类可信度越低
8. Deep batch active learning by diverse, uncertain gradient lower bounds
uncertainty: 计算样本对于最后一层线性层梯度的范数,将此作为选择的score(选大)
范数越大: 样本不确定性越大,范数越小:样本不确定性越小score(x)=gx=∂∂θoutlCE(f(x;θ),y^(x))∣θ=θtscore(x) = g_x = \frac{\partial}{\partial \theta_{out}}\mathcal{l}_{CE}(f(x;\theta),\hat{y}(x))|_{\theta = \theta_t}score(x)=gx=∂θout∂lCE(f(x;θ),y^(x))∣θ=θt
diversity: 通过k-MEANS++算法,尽量选择类别不同的样本
疑问: 是根据uncertainty和k-MEANS++哪个先用
9. A new active labeling method for deep learning
uncertainty: 这篇作者虽然提出了3个选择方法,但是也只是根据uncertainty来选择样本
least confidence(LC): 选择样本softmax分类最大的值作为score(选小)
score(xi(LC)x_i^(LC)xi(LC)) = arg minximaxj(p(hjN∣xi))\argmin_{x_i}\max_j(p(h_j^N|x_i))xiargminmaxj(p(hjN∣xi))
margin sampling(MS): 使用softmax分类的最大概率-第二大概率作为score(选小)
score(xiMS)=arg minxi(p(y1∣xi)−p(y2∣xi))score(x_i^{MS})=\argmin_{x_i}(p(y_1|x_i)-p(y_2|x_i))score(xiMS)=xiargmin(p(y1∣xi)−p(y2∣xi))
entropy(Entropy): 使用softmax的熵作为score(选大)
score(xiEntropy)score(x_i^{Entropy})score(xiEntropy)=arg maxxi−∑jp(hjN∣xi)logp(hjN∣xi)\argmax_{x_i}-\sum_j p(h_j^N|x_i)\log{p(h_j^N|x_i)}xiargmax−∑jp(hjN∣xi)logp(hjN∣xi)
10. Active learning for convolutional neural networks: A core-set approach
作者这里每次选择一批数据,将选数据看做选一个核心子集问题:选择一个子集使模型在这上面的训练效果尽可能接近模型在完整训练集上的训练效果。
每次选择b个数据,策略:每一次选择与当前有标签数据点距离最远的那个无标签数据,并把它加入到有标签数据中,选择b次。同时选b个是NP问题,这里使用贪心方法一个一个选
selected u=arg maxi∈[n]\sminj∈sΔ(xi,xj)u=\argmax_{i \in [n]\backslash s}\min_{j \in s}\Delta (x_i,x_j)u=i∈[n]\sargmaxminj∈sΔ(xi,xj)
思考: 感觉和第6篇一样,只考虑了distinctiveness,没有考虑其他的
11. Multi-class active learning for image classification
BvSB(margin sampling): 使用softmax分类的最大概率-第二大概率作为score(选小)
score(xiMS)=arg minxi(p(y1∣xi)−p(y2∣xi))score(x_i^{MS})=\argmin_{x_i}(p(y_1|x_i)-p(y_2|x_i))score(xiMS)=xiargmin(p(y1∣xi)−p(y2∣xi))
总结
每个选择策略的目的
uncertainty: 选择易分类错误的样本,为了优化分类边界diversity: 为了避免选择重复的样本dissimilar/distinctiveness/Representativeness: 选择的样本能够代表target任务domainness: 一个样本是否是domain难分的
每种策略的方式
uncertainty: margin, entropy, confidence, 多个分类器, 梯度大小,diversity: IWERM, K-Means, 计算xix_ixi和集合SSS的散度distinctiveness: 论文4和6都是一样的,本质上选离source中心远的样本点domainness: 使用class uncertainty的方式来处理