跳到内容

HugoSchmutz/DeFixmatch公司

存储库文件导航

不要害怕未标记的:通过简单的除臭剂安全地进行半监督学习

该存储库是本文中基于Fixmatch的非官方pytorch代码.此实现可以重现我们论文中关于CIFAR-10的结果,也可以重现CIFAR-100的结果。

如文中所述,我们修改了Fixmatch的监督损失,以包括强大的增强:

$$L(θ;x,y)=\frac{1}{2}\左(\mathbb{E}{x_1\sim\textit{弱}(x)}[-\log(p{θ}(y|x_1))]+\mathbb{E}{x_2\sim\textit{strong}(x)}[-\log(p{\theta}(y|x_2)]\右),$$哪里$x_1$是对x美元$$x_2美元$是一个强大的增强。这个修改鼓励我们选择$\lambda=\frac{1}{2}$作为使用的原始Fixmatch实现$\lambda=1$.Fixmatch的无监督损失保持不变:$$H(\theta;x)=\mathbb{E}{x_1\sim\textit{弱}(x)}\左[\mathbb{1}[\max_yp{hat{theta}}(y|x_1)>\tau]\mathbb{E}{x2\sim\textit{strong}(x)}[-\log(p{\theta}(\argmax_yp_{\that{\theta}}(y|x_1)|x_2))]\right]$$

完整案例的培训目标是$$\帽子{\mathcal{R}}{CC}(θ)=\frac{1}{n_l}\sum{i=1}^{n_l}左(θ;x_i,y_i)。$$

Fixmatch的培训目标是$$\帽子{\mathcal{R}}{DeSSL}(\theta)=\frac{1}{n_l}\sum{i=1}^{n_l}左(θ;x i,y i)颜色{红色}{+\frac{\lambda}{nu}\sum{i=1}^{n_u}高度(\theta;x_i)}。$$

DeFixmatch的培训目标是$$\帽子{\mathcal{R}}{DeSSL}(\theta)=\frac{1}{n_l}\sum{i=1}^{n_l}左(θ;x i,y i)颜色{红色}{+\frac{\lambda}{nu}\sum{i=1}^{n_u}高度(θ;x_i)}\color{blue}{-\frac{\lambda}{n_l}\sum_{i=1}^{n_l}H(\theta;x_i)}。$$

要求

要安装要求,请执行以下操作:

pip安装-r要求.txt

培训

我们建议使用分布式培训以获得高性能。
对于V100x4 GPU,CIFAR10培训大约需要16个小时(0.7天),而CIFAR100培训大约需要62个小时(2.6天)。

要在CIFAR-10上培训完整的案例模型,请使用n_l=4000美元$,运行此命令:

python train.py--世界大小1--秩0--多处理分布式--num_labels 4000--数据集cifar10--num_classes 10--overwrite--modified_fixmatch--ulb_loss_ratio 0

要在CIFAR-10上训练Fixmatch,请使用n_l=4000美元$,运行此命令:

python train.py--世界大小1--秩0--多处理分布式--num_labels 4000--数据集cifar10--num_classes 10--overwrite--modified_fixmatch--ulb_loss_ratio 0.5

要在CIFAR-10上训练Fixmatch,请使用n_l=4000美元$,运行此命令:

python train.py--世界大小1--秩0--多处理分布式--num_labels 4000--数据集cifar10--num_classes 10--覆盖--debiased--ulb_loss_ratio 0.5

经过训练的模型保存在目录saved_models中/

评价

要使用检查点在CIFAR-10上评估我的模型,请运行:

python eval.py--加载路径模型.pth--数据集cifar10--num_classes 10

预训练模型

您可以使用以下命令在CIFAR-10上找到预处理模型n_l=4000美元$在中保存的模型/目录。

结果

我们的模型在CIFAR-10上实现了以下性能:

型号名称 准确性 交叉变性 最差等级准确度
完整案例 87.27$\下午$0.25% 0.60$\下午$0.01 70.08$\下午$0.93%
修复匹配 93.87$\下午$0.13% 0.27$\下午$0.01 82.25$\下午$2.27%
取消修复匹配 95.44$\下午$0.10% 0.20$\下午$0.01 87.16$\下午$0.46

关于

未提供描述、网站或主题。

资源

星星

观察者

叉子

发布

未发布版本

包装

未发布包

语言文字