Cost-effective training of deep CNNs with active model adaptation

本文介绍了一种名为ADMA的算法流程,该算法用于通过分析不同层级特征来评估未标记数据的独特性和不确定性,进而确定最优的数据标签策略。文章详细解释了如何通过计算不同层间特征变化来衡量数据的独特性,并结合迭代过程中的不确定性来为每个实例评分。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

KDD2018,作者:Sheng-Jun Huang, Jia-Wei Zhao, Zhao-Yang Liu
将论文中的主要算法流程翻译过来,方便以后使用
注:这不是标准的算法流程,为了方便,将算法中的公式直接写入到流程中了。
ADMA算法流程:
输入:
UUU: 实例nun_unu的无标签数据集
M0M^0M0:预训练模型
AAA:特征训练的初始化层的层号
BBB:特征训练的最终层的层号
ZZZ:在原任务中用来训练 模型 M0M^0M0的数据集
初始化:
找到数据集ZZZkkk类的每一类的中心C=c1,...,ckC={c_1,...,c_k}C=c1,...,ck
得到ckAc^A_kckAckBc^B_kckB:在层AAABBBckc_kck 的输出
根据等式计算 SCAS^A_CSCASCBS^B_CSCB的值,公式如下:
SCA=[Sc1ASc2A...SckA]=[∥c1A−c1A∥2∥c2A−c1A∥2...∥cKA−c1A∥2∥c1A−c2A∥2∥c2A−c2A∥2...∥cKA−c2A∥2............∥c1A−cKA∥2∥c2A−cKA∥2...∥cKA−cKA∥2]S^A_C=\begin{bmatrix} S^A_{c_1} & S^A_{c_2} & ... & S^A_{c_k} \end{bmatrix} =\begin{bmatrix} \begin{Vmatrix} c^A_1-c^A_1 \end{Vmatrix}^2 & \begin{Vmatrix} c^A_2-c^A_1 \end{Vmatrix}^2& ... &\begin{Vmatrix} c^A_K-c^A_1 \end{Vmatrix} ^2\\ \begin{Vmatrix} c^A_1-c^A_2 \end{Vmatrix} ^2& \begin{Vmatrix} c^A_2-c^A_2 \end{Vmatrix} ^2& ... & \begin{Vmatrix} c^A_K-c^A_2 \end{Vmatrix} ^2\\ ... &... & ... & ...\\ \begin{Vmatrix} c^A_1-c^A_K \end{Vmatrix} ^2& \begin{Vmatrix} c^A_2-c^A_K \end{Vmatrix}^2 & ... & \begin{Vmatrix} c^A_K-c^A_K \end{Vmatrix}^2 \end{bmatrix}SCA=[Sc1ASc2A...SckA]=c1Ac1A2c1Ac2A2...c1AcKA2c2Ac1A2c2Ac2A2...c2AcKA2............cKAc1A2cKAc2A2...cKAcKA2
计算 SA→B=SCA−SCBS^{A\rightarrow B}=S^A_C-S^B_CSAB=SCASCB
重复:
Foreachinstancex∈UFor \quad each \quad instance \quad x \in UForeachinstancexU
\quad 得到xkAx^A_kxkAxkBx^B_kxkB的值:即xxxAAABBB层的输出
\quad根据公式计算SxAS^A_xSxASxBS^B_xSxB的值,公式如下:
sxA=[∥x−c1A∥2∥x−c2A∥2...∥x−cKA∥2]s^A_x=\begin{bmatrix} \begin{Vmatrix} x-c^A_1 \end{Vmatrix} ^2\\ \begin{Vmatrix} x-c^A_2 \end{Vmatrix} ^2 \\ ... \\ \begin{Vmatrix} x-c^A_K \end{Vmatrix} ^2 \end{bmatrix}sxA=xc1A2xc2A2...xcKA2
\quad 计算SxA→B=SxA−SxBS^{A\rightarrow B}_x=S^A_x-S^B_xSxAB=SxASxB
\quad根据加权和SCA→BS^{A\rightarrow B}_CSCAB计算S^xA→B\hat{S}^{A\rightarrow B}_xS^xAB
\quad计算样本独特性Distinctiveness(x)=1−τ(SxA→B,S^xA→B)2Distinctiveness(x)=\frac{1-\tau \left(S^{A\rightarrow B}_x,\hat{S}^{A\rightarrow B}_x \right)}{2}Distinctiveness(x)=21τ(SxAB,S^xAB)
\quad根据公式计算样本的不确定性,(信息熵)公式如下:
Uncertainty(x)=−∑K′=1K′p(M(x)=k′)⋅(1−p(M(x)=k′))Uncertainty(x)=-\sum_{K^{'}=1}^{K^{'}}p\left ( M\left ( x \right )=k^{'} \right )\cdot \left ( 1-p\left ( M\left ( x \right )=k^{'} \right ) \right )Uncertainty(x)=K=1Kp(M(x)=k)(1p(M(x)=k))
其中,MMM是当前的模型,p(M(x)=k′)p\left ( M\left ( x \right )=k^{'} \right )p(M(x)=k)xxx基于模型MMM预测的属于类别k′k^{'}k的可能性
\quad根据公式计算评判的标准分数,公式如下:
score(x)=(1−λ⋅t)⋅distinctiveness(x)+λ⋅t⋅uncertainty(x)score(x)=(1-\lambda \cdot t)\cdot distinctiveness(x) +\lambda \cdot t\cdot uncertainty(x)score(x)=(1λt)distinctiveness(x)+λtuncertainty(x)
其中,ttt是迭代次数
EndforEnd\quad forEndfor
UUU 中选择具有最大分数的一批数据QQQ
查询QQQ的标签,并且将QQQUUU中移除
使用已经查询到标签的数据微调模型Mt−1M^{t-1}Mt1 得到模型MtM^{t}Mt
直到达到查询预算(query budget)或者期望效果(expected performance)
注:计算 S^xA→B\hat{S}^{A\rightarrow B}_xS^xAB的公式:
SckA→B=SckA−SckBS^{A\rightarrow B}_{c_k}=S^{A}_{c_k}-S^{ B}_{c_k}SckAB=SckASckB
我们尝试通过x线性特征联合
S^xA→B=∑k=1Kαk(x)⋅SckA→B\hat{S}^{A\rightarrow B}_x=\sum_{k=1}^{K}\alpha_k(x)\cdot S^{A\rightarrow B}_{c_k}S^xAB=k=1Kαk(x)SckAB
αk(x)\alpha_k(x)αk(x)是第k个中心的权重,就是在原模型上x属于k类的概率
αk(x)=p(M0(x)=k)\alpha_k(x)=p(M^0(x)=k)αk(x)=p(M0(x)=k)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值