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)

CH341A编程器是一款广泛应用的通用编程设备,尤其在电子工程和嵌入式系统开发领域中,它被用来烧录各种类型的微控制器、存储器和其他IC芯片。这款编程器的最新版本为1.3,它的一个显著特点是增加了对25Q256等32M芯片的支持。 25Q256是一种串行EEPROM(电可擦可编程只读存储器)芯片,通常用于存储程序代码、配置数据或其他非易失性信息。32M在这里指的是存储容量,即该芯片可以存储32兆位(Mbit)的数据,换算成字节数就是4MB。这种大容量的存储器在许多嵌入式系统中都有应用,例如汽车电子、工业控制、消费电子设备等。 CH341A编程器的1.3版更新,意味着它可以与更多的芯片型号兼容,特别是针对32M容量的芯片进行了优化,提高了编程效率和稳定性。26系列芯片通常指的是Microchip公司的25系列SPI(串行外围接口)EEPROM产品线,这些芯片广泛应用于各种需要小体积、低功耗和非易失性存储的应用场景。 全功能版的CH341A编程器不仅支持25Q256,还支持其他大容量芯片,这意味着它具有广泛的兼容性,能够满足不同项目的需求。这包括但不限于微控制器、EPROM、EEPROM、闪存、逻辑门电路等多种类型芯片的编程。 使用CH341A编程器进行编程操作时,首先需要将设备通过USB连接到计算机,然后安装相应的驱动程序和编程软件。在本例中,压缩包中的"CH341A_1.30"很可能是编程软件的安装程序。安装后,用户可以通过软件界面选择需要编程的芯片类型,加载待烧录的固件或数据,然后执行编程操作。编程过程中需要注意的是,确保正确设置芯片的电压、时钟频率等参数,以防止损坏芯片。 CH341A编程器1.3版是面向电子爱好者和专业工程师的一款实用工具,其强大的兼容性和易用性使其在众多编程器中脱颖而出。对于需要处理25Q256等32M芯片的项目,或者26系列芯片的编程工作,CH341A编程器是理想的选择。通过持续的软件更新和升级,它保持了与现代电子技术同步,确保用户能方便地对各种芯片进行编程和调试。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值