因为最近在做和Active Learning 以及Domain Adaptation相关的论文,所以看一些相关的论文,总结了Active Learning种select sample时使用的策略
1. Transferable Query Selection for Active Domain Adaptation
- committee: 使用
M
M
M个分类器,这
M
M
M个分类器对样本
x
x
x分类的差异越大,越要选择这个样本。
- 如果一个样本在越靠近决策边界, M M M个分类器对其分类的结果越不一致
- Q c ( x ) = ∑ m = 1 M ∥ C m ( F ( x ) ) − 1 M ∑ m ′ = 1 M C m ′ ( F ( x ) ) ∥ M Q_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: 使用
M
M
M和分类器的softmax最大概率-第二大概率
- Q u ( x ) = ∑ m = 1 M [ 1 − ( max i y ^ m i − max j ∣ j ≠ arg max k y ^ m k y ^ m j ) ] M Q_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也要模糊
- Q d ( x ) = 1 σ 2 π exp ( − ( D ( F ( x ) ) − μ ) 2 2 σ 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)(选大) = Q c ( x ) + Q c ( x ) + Q d ( 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 = 1 B \{\mu_i\}_{i=1}^B {μi}i=1B(KMeans++)
- Assign: X k ← { x ∣ k = arg min i = 1 , . . . , K ∥ ϕ ( x ) − μ i ∥ 2 } ∀ x X_k\leftarrow \{x|k=\argmin_{i=1,...,K}\|\phi(x)-\mu_i{\|}^2{\}}_{\forall x} Xk←{x∣k=i=1,...,Kargmin∥ϕ(x)−μi∥2}∀x
- Update: μ k ← ∑ x ∈ X k H ( Y ∣ x ) ϕ ( x ) ∑ x ∈ X k H ( 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 min S , μ ∑ k = 1 K 1 Z k ∑ x ∈ X k H ( 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{\|}^2 S,μargmin∑k=1KZk1∑x∈XkH(Y∣x)∥ϕ(x)−μk∥2
- CLUE:
3. Cost-effective training of deep cnns with active model adaptation
- uncertainty: 用于提升模型的能力
- Uncertainty(x) = − ∑ k ′ = 1 K ′ ( 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的样本:
- x x x属于target任务时,浅层到深层的任务模式可以表示为: S x A → B S_x^{A\rightarrow B} SxA→B
- 假如这个 x x x属于source任务时(因为它本身是从target中取的),浅层到深层的任务模式可以表示为: S ^ x A → B \hat{S}_x^{A\rightarrow B} S^xA→B
- 因为这是假设的,所以这个 S ^ x A → B \hat{S}_x^{A\rightarrow B} S^xA→B使用source中每个类别的代表样本和概率来表示: S ^ x A → B = ∑ k = 1 K α k ( x ) ⋅ S c k A → 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 − τ ( S x A → B , S ^ x A → B ) 2 \frac{1-\tau(S_x^{A\rightarrow B},\hat{S}_x^{A\rightarrow B})}{2} 21−τ(SxA→B,S^xA→B)
- 如何选择具有distinctiveness的样本:
- 作者结合distinctiveness和uncertainty时使用到了迭代次数这个参数,超参数相加:score(x)(选大) = ( 1 − λ ⋅ t ⋅ d i s t i n c t i v e n e s s ( x ) ) + λ ⋅ t ⋅ u n c e r t a i n t y ( x ) (1-\lambda·t·distinctiveness(x))+ \lambda·t·uncertainty(x) (1−λ⋅t⋅distinctiveness(x))+λ⋅t⋅uncertainty(x)
4. Active adversarial domain adaptation
- uncertainty: 用于提升模型的能力,使用entropy
- diversity: 使用近似的权重经验最小化(importance weighted empirical risk minimization)
- 计算公式: 1 − G d ∗ ( G f ( x ) ) G d ∗ ( G f ( 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 − G d ∗ ( G f ( x ) ) G d ∗ ( G f ( x ) ) H ( G y ( G f ( 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的向量表示:
F
t
(
x
t
)
=
c
a
t
(
{
F
c
t
(
x
t
)
}
c
=
1
K
)
F^t(x^t)=cat(\{F^t_c(x^t)\}_{c=1}^K)
Ft(xt)=cat({Fct(xt)}c=1K)
- 其中 F c t = 1 ∣ Λ c t ∣ y ^ c t ⨂ f E ( x t ) ∣ c F^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的每个中心: A k s = 1 ∣ C k ∣ ∑ x ∈ C k F s ( x s ) A^s_k=\frac{1}{|\mathcal{C}_k|}\sum_{x \in \mathcal{C}_k}F^s(x^s) Aks=∣Ck∣1∑x∈CkFs(xs)
- 计算 x t x^t xt到每个 A k s A_k^s Aks的L2距离,选择最小的那个作为 x t x^t xt的 s c o r e ( x t ) score(x^t) score(xt)
- 得到每个样本的 s c o r e ( x t ) score(x^t) score(xt)(选大)
- 计算target sample的向量表示:
F
t
(
x
t
)
=
c
a
t
(
{
F
c
t
(
x
t
)
}
c
=
1
K
)
F^t(x^t)=cat(\{F^t_c(x^t)\}_{c=1}^K)
Ft(xt)=cat({Fct(xt)}c=1K)
- 个人觉得这篇论文选择的策略只考虑了前面两篇论文的distinctiveness,没有考虑uncertainty
6. S 3 {}^{3} 3VAADA: Submodular Subset Selection for Virtual Adversarial Active Domain Adaptation
-
uncertainty: 这里作者使用扰动的影响来判断
- F o r e v e r y x i ∈ D t For\ every \ x_i \in \mathcal{D}_t For every xi∈Dt,使用 max ∥ r i ∥ ≤ ϵ D K L ( h θ ∥ h θ ( x + r i ) ) \max_{\|r_i\|\leq\epsilon}D_{KL}(h_{\theta}\|h_{\theta}(x+r_i)) max∥ri∥≤ϵDKL(hθ∥hθ(x+ri))来找到每个样本 x i x_i xi最合适的扰动 r i r_i ri
- u n c e r t a i n t y ( x i ) = V A P ( x i ) = 1 N 2 [ ∑ i = 1 N D K L ( h θ ( x ) ∥ h θ ( x + r i ) ) + ∑ i = 1 N ∑ j = 1 , i ≠ j N D K L ( h θ ( x + r i ) ∥ h θ ( x + r j ) ) ] 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 , x i ) = min x ∈ S D ( x , x i ) d(S,x_i)=\min_{x \in S}D(x,x_i) d(S,xi)=minx∈SD(x,xi);这里个人理解 S S S是已经选择的样本, x i x_i xi是待选择的样本
- 其中的 D D D: D ( x i , x j ) = D K L ( h θ ( x j ) ∥ h θ ( x i ) ) 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 , x i ) = ∑ x k ∈ D u max ( 0 , s k i − max x j ∈ S s k j ) 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)
- 其中 s i j = − l n ( 1 − B C ( h θ ( x i ) , h θ ( x j ) ) ) s_{ij} = -ln(1-BC(h_{\theta}(x_i),h_{\theta}(x_j))) sij=−ln(1−BC(hθ(xi),hθ(xj)))
- BC是Bhattacharys coefficient: ∑ k p k q k \sum_{k}\sqrt{p_kq_k} ∑kpkqk
-
选择策略: s c o r e ( x i ) score(x_i) score(xi)(选大)= α V A P ( x i ) + β d ( S , x i ) + ( d − α − β ) R ( S , x i ) \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(选大)
- 范数越大: 样本不确定性越大,范数越小:样本不确定性越小
- s c o r e ( x ) = g x = ∂ ∂ θ o u t l C E ( f ( x ; θ ) , y ^ ( x ) ) ∣ θ = θ t score(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( x i ( L C ) x_i^(LC) xi(LC)) = arg min x i max j ( p ( h j N ∣ x i ) ) \argmin_{x_i}\max_j(p(h_j^N|x_i)) xiargminmaxj(p(hjN∣xi))
- margin sampling(MS): 使用softmax分类的最大概率-第二大概率作为score(选小)
- s c o r e ( x i M S ) = arg min x i ( p ( y 1 ∣ x i ) − p ( y 2 ∣ x i ) ) 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(选大)
- s c o r e ( x i E n t r o p y ) score(x_i^{Entropy}) score(xiEntropy)= arg max x i − ∑ j p ( h j N ∣ x i ) log p ( h j N ∣ x i ) \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)
- least confidence(LC): 选择样本softmax分类最大的值作为score(选小)
10. Active learning for convolutional neural networks: A core-set approach
作者这里每次选择一批数据,将选数据看做选一个核心子集问题:选择一个子集使模型在这上面的训练效果尽可能接近模型在完整训练集上的训练效果。
- 每次选择b个数据,策略:每一次选择与当前有标签数据点距离最远的那个无标签数据,并把它加入到有标签数据中,选择b次。同时选b个是NP问题,这里使用贪心方法一个一个选
- selected u = arg max i ∈ [ n ] \ s min j ∈ s Δ ( x i , x j ) 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(选小)
- s c o r e ( x i M S ) = arg min x i ( p ( y 1 ∣ x i ) − p ( y 2 ∣ x i ) ) 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, 计算 x i x_i xi和集合 S S S的散度
- distinctiveness: 论文4和6都是一样的,本质上选离source中心远的样本点
- domainness: 使用class uncertainty的方式来处理