小样本工具1.半监督一致性正则化Temporal Ensemble & Mean Teacher代码实现

发布于:2024-10-24 编辑:匿名 来源:网络

本系列我们利用现实中经常遇到的小样本问题来连接半监督、文本对抗、文本增强等模型优化解决方案。小样本的核心是如何最大化模型在有限的标记样本上的泛化能力,使得模型对未见过的样本能够有很好的预测效果。

我们之前在 NER 系列中介绍过数据增强。不熟悉的可以看看中文NER的东西4. NER中的数据增强尝试。

样本增强是通过增加标记样本的丰富度来提高模型的泛化能力。另一个方向,半监督方案,是利用同一领域的大量无标签数据来提高模型的样本外预测能力。

本章我们要讲的是半监督方案中的一致性正则~一致性正则~一个好的分类器应该对相似的样本点给出一致的预测,所以在训练的时候,它约束样本,注入噪声样本,需要有相对一致的模型预测以降低模型对局部扰动的敏感性,并为模型参数拟合提供更多约束。正在建设中的SimpleClassifcation提供了Temporal Ensemble的相关实现,可以支持各种预训练或词袋模型作为骨干。

欢迎大家一起调试>(*^3^)<上图形象地描述了如何使用一致性正则。用于约束曲线拟合的标记和未标记数据指用两个标记样本(大蓝点)进行训练,因为样本少,对模型拟合缺乏约束 b.将噪声(小蓝点)注入到标记样本中,并约束噪声样本和原始样本的预测一致。

通过扩大标记样本覆盖的空间,对模型拟合施加更多约束。 c.拟合标记样本后,冻结模型并对未标记样本(空心点)进行一致性处理。

约束。由于一致性约束不需要使用标签,因此可以充分利用未标签的数据。

d.利用未标记样本上一致性约束的损失来更新模型,使模型对噪声更加鲁棒。以下三种解决方案使用不同的噪声注入。

和 Ensemble 方法,前两个解决方案来自 [REF1] Temporal Ensemble,第三个解决方案来自 [REF2] Mean Teacher。由于两篇论文已合并,我们将首先整体回顾一下这三个训练框架,然后谈谈对训练技术和一致性正则性的一些见解。

Π-MODEL 如上图所示。对于每个样本,Π-MODEL都会进行两次不同的增强,网络本身会随机drop,得到两个预测结果。

一致性正则损失使用MSE来计算两个预测结果之间的差异。 ,也就是说,约束模型对于输入样本的局部扰动应该更加鲁棒。

模型目标是带有标记样本的交叉熵。由于每个样本都要计算两次,结合整个样本的一致性,lossΠ-MODEL的训练效率较低。

上述 Temporal Ensemble 的 Π-MODEL 约束了同一 epoch 内注入样本的不同噪声的预测值。这部分约束会存在噪声较大、epoch之间相对分离的问题。

因此,作者引入了Ensemble的思想,在时间维度(epoch)做移动平均,以减少一致性损失的波动性。 Temporal Ensemble通过约束每个历元预测值的加权移动平均值Z与当前历元预测值z相对一致来实现一致性规律性。

当α=0时,Temporal退化为Π-MODEL。因此,Temporal需要引入一个Sample_size * label_size的额外变量Z来存储每个样本在每个epoch的预测值的加权移动平均值。

如果你的样本非常大,那么 Temporal 存储额外的预测变量将需要大量的内存开销。以下是temporal部分的相关实现~代码语言: javascript copy with tf.variable_scope('temporal_ensemble'): temporal_ensemble = tf.get_variable(initializer=tf.zeros_initializer, shape=(self.params['sample_size'], self.params ['label_size']), dtype=tf.float32, name='temporal_ensemble', trainable=False) self.Z = tf.nn.embedding_lookup(temporal_ensemble, features['idx']) # batch_size * label_size self .Z = self.alpha * self.Z + (1 - self.alpha) * preds self.assign_op = tf.scatter_update(temporal_ensemble, features['idx'], self.Z) add_layer_summary('ensemble', self.Z )所以对比Π-MODEL,Temporal的一致性约束更平滑,整体效果更好,计算效率更高,因为每个样本只需要预测一次,但是移动平均的引入会占用更多内存~Mean老师的意思Teacher在Ensemble实施的方案是根据Temporal进行调整的。

Temporal Ensemble 是每个样本的模型预测,因此每个样本的移动平均值在每个 epoch 中只更新一次,而 Mean Teacher Ensemble 是模型参数,这样在每一步,学生模型的更新都会反映在当前的模型中关于教师模型。和Temporal很相似的一个公式,唯一的区别是上面的Z是模型输出,下面的θ是模型参数。

类似地,当α=0时,Mean Teacher也退化为Π-MODEL。所以训练过程如下。

学生模型计算并输出每个随机增强样本的每个步骤。学生模型权重将移动并更新教师模型的权重。

更新后的教师模型在随机增强后计算并输出相同的样本。计算教师和学生模型的预测结果。

这里还使用一致性损失、MSE监督损失+一致性损失来联合更新学生模型参数。 Mean Teacher 比 Temporal 更好,但是在计算效率上,它和 Π-MODEL 一样需要预测两次,所以比 Temporal 更好。

速度慢很多,而且由于需要存储模型参数的移动平均值,所以内存占用也很让人头疼。所以Mean Teacher并没有做任何相关实现,对大模型不太友好~Ensemble上面的噪声注入和训练技巧需要一些特定的训练技巧。

训练初期,模型应围绕监督目标,逐步增加一致性损失的权重。在时间系综上更容易解释,因为当 epoch=0 时,\hat{z} 无法获得前一个。

epoch的预测结果,所以一致性损失权重为0。代码支持线性、余弦、sigmoid等三种权重预热方案。

原文使用sigmoid代码语言: javascript copy def rush_up(cur_epoch, max_epoch, method): """ 根据训练epoch调整未标记损失部分 初始epoch未标记损失权重为0 """ def Linear (cur_epoch, max_epoch): 返回 cur_epoch / max_epoch def sigmoid(cur_epoch, max_epoch): p = 1.0 - cur_epoch / max_epoch return tf.exp(-5.0 * p ** 2) def cosine(cur_epoch, max_epoch): p = cur_epoch / max_epoch 返回 0.5 * (tf.cos(np.pi * p) + 1) 如果 cur_epoch == 0: 权重 = tf.constant(0.0) 否则: 如果方法 == '线性': 权重 = 线性(cur_epoch, max_epoch) elif method == 'sigmoid':weight = sigmoid(cur_epoch, max_epoch) elif method == 'cosine':weight = cosine(cur_epoch, max_epoch) else: raise ValueError('仅支持线性、sigmoid、余弦方法') return tf.cast(魏ght, tf.float32) 标记样本权重 由于上述方案多用于半监督任务,因此需要根据未标记样本的比例调整一致正则部分的权重。最简单的方式就是直接用标记样本的比例来比较上面的权重重新缩放。

注释的比例越高,一致性损失的权重就越高,这可以防止模型过多关注常规项目。损失函数选择:一致性正则性的损失函数是使用MSE还是KL。

两篇论文都进行了比较。虽然 KL 理论上更符合逻辑,因为它对预测的概率分布施加了一致性约束,但总体 MSE 更好。

效果比较好。我猜测和NN容易给出过于自信的预测有关,尤其是像Bert这样的大型模型,会给出0。

这种预测概率在计算KL时容易出现极值。以上两种ensemble策略不仅可以提高半标记样本的效果,添加模糊标签还有以下额外效果:作者还在全标记样本上尝试了自集成效果,预测结果结果也得到改善。

推测这是由于一致性正则化所致。在一定程度上可以提高边缘/模糊标签的样本效果去噪:作者将x%的训练样本分配给随机标签,然后比较常规训练和temporal ensemble的效果。

结果如下。 Temporal对局部标注噪声有很好的降噪效果。

正确样本的监督丢失有助于模型学习文本表示到标签的映射,而正确样本附近的错误标签样本将受到一致性正则的约束,从而减少错误标签对模型的影响。这里在今日头条15类数据集上测试了分类效果。

分别在Fasttext和Bert上测试,左边是原始模型,右边是Temporal Ensemble。考虑到NLP在样本层面的增强效果相对于CV来说比较有限,所以这里的随机增强只使用了Encoder层的Drop out。

原论文是CV领域,所以增强还包括crop/flip等图像增强。第一个是Fasttext,它受到词袋模型本身能力的限制。

即使不添加未标记的样本,仅仅添加 Temporal Consistency Loss 就带来了整体效果的提升。详细参数设置参见checkpoint中的train.log第二个是Bert,添加了来自中新网的无标签样本,但效果比较有限。

主要的改进是在库存类别中,样品很少。这部分与缺乏有效的样本增强有关。

稍后我们将再次尝试时间结合隐藏层增强~ReferenceLaine, S., Aila, T. ()。用于半监督学习的时间集成 arXiv A., Valpola, H. ()。

小样本工具1.半监督一致性正则化Temporal Ensemble & Mean Teacher代码实现

站长声明

版权声明:本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,欢迎发送邮件 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

标签:

相关文章

  • 【融资24小时】2021年12月10日投融资事件汇总及明细

    【融资24小时】2021年12月10日投融资事件汇总及明细

    今日国内市场共发生24起投资披露事件,其中先进制造5起(睿芯特种光纤、东方芯半导体、集智股份、哈工制药机械、德盛微电子)、本地生活案例4个(耀明厂、蓝方舟、杭州食品、小吃女孩)、智能硬件案例4个(铜陵电气、易立方、咕咚、中蓝电子) )、医疗健康案例4个(迪哲制药

    06-17

  • 总理报告揭示的十大创业趋势和三大警钟

    总理报告揭示的十大创业趋势和三大警钟

    2020年3月5日上午,十二届全国人大五次会议在人民大会堂开幕。 国务院总理、李克强代表国务院向会议作政府工作报告。 李克强和总理提出了今年的重点任务,其中“创业”一词出现了10次,“创新”出现了21次。 总理强调要“继续推动大众创业、万众创新”。 NewSeed(ID:pelink

    06-17

  • 吸入给药制剂研发公司“瑞普利”获近2亿元B轮融资

    吸入给药制剂研发公司“瑞普利”获近2亿元B轮融资

    近日,吸入给药制剂研发公司“瑞普利”宣布完成近2亿元融资人民币B轮融资。 本轮融资由国科投资领投,元盛创投、同创伟业、前海母基金、天风资本、亿锋资本等投资机构跟投。 本轮融资将主要用于扩建公司现有GMP生产线,开发高端吸入制剂和创新吸入药物的管线布局。

    06-18

  • 盈科资本再发百亿基金

    盈科资本再发百亿基金

    5月27日,盈科资本宣布完成盈科科技创新产业基金募资。 本次募资规模1亿元,吸引产业资本、政府产业基金、金融机构等长期资金积极投资。 订阅。 基金将继续发挥盈科资本在生物医药及核心技术领域的专业优势,依托盈科资本庞大的产业生态系统和专业布局能力,深度聚焦生物医药

    06-18

  • 新iPhone的“第四摄像头”如何使用?这3款免费应用让你扫描房间、搭建场景

    新iPhone的“第四摄像头”如何使用?这3款免费应用让你扫描房间、搭建场景

    在iPhone 12发布之前,很多人预测新的iPhone 12 Pro系列会像其他手机厂商一样,通过添加摄像头获得更好的拍摄效果, iPhone 12 将宝贵的第四个摄像头位置交给了激光雷达扫描仪 (LiDAR)。 这并不是苹果第一次在其产品中使用激光雷达扫描仪。 iPad Pro早在半年前就搭载了这项新

    06-21

  • 上海张江超强超短激光实验装置将于3月全面竣工

    上海张江超强超短激光实验装置将于3月全面竣工

    张江的重大科学设施备受社会各界关注。 上海两会期间,传来好消息:张江大型科学装置——超强超短激光实验装置将于今年3月全面竣工。 经过2年的建设,向世界各地的科学家开放!所谓超强超短激光,可以在实验室中创造前所未有的超强电磁场、超高能量密度和超快时间尺度的综合极

    06-06

  • 百益药业完成数千万天使轮融资,专注于神经系统疾病创新药物研发

    百益药业完成数千万天使轮融资,专注于神经系统疾病创新药物研发

    据投资界(ID:pedaily)4月26日消息,杭州百益生物制药有限公司近日宣布成功完成数千万元天使轮融资。 本轮融资由传化资本、泰隆投资联合领投,勤智资本跟投;此次募集资金将主要用于加速公司两款偏头痛创新药的研发及IND申请。 百益药业成立于2007年,专注于神经系统疾病创

    06-18

  • 清华高材生辍学创业,“图源”获数百万美元天使轮融资

    清华高材生辍学创业,“图源”获数百万美元天使轮融资

    据投资界(ID:pedaily)12月9日消息,线上合作3D创作引擎公司“Graphics Origin”近日完成数百万美元天使轮融资,由五源资本投资。 资金将主要用于在线物理引擎的开发、多人协作架构以及海外团队的组建。 Graphic Origin由清华大学本科毕业生史海天在硕士读书期间休学于年底

    06-17

  • 为什么大量制药和器械公司整合+、++、+++……轮次?

    为什么大量制药和器械公司整合+、++、+++……轮次?

    由于产品研发周期长、投资金额大,几乎所有医疗领域的初创企业都无法回避融资的话题。 对于企业来说,最理想的状态是快速获得每一轮融资,顺利进行研发、商业化,成功上市,进入新的增长阶段,实现商业和社会价值。 投资者最理想的状态是找准项目并及时投资,使被投资公司的业

    06-18

  • 高通将于7月29日发布2021财年第三季度财报

    高通将于7月29日发布2021财年第三季度财报

    7月7日下午消息,据悉,高通宣布将于7月28日美国股市收盘后发布(北京时间7月29日)发布了本财年第三季度财务报告。

    06-17

  • 传 Mobileye 推迟 IPO 是在激烈的市场竞争中保持稳定的策略

    传 Mobileye 推迟 IPO 是在激烈的市场竞争中保持稳定的策略

    近日,以色列媒体 Calcalist 发布消息称,Mobileye 可能会放慢筹备已久的 IPO 步伐,原因是到激烈的市场竞争。 对于Mobileye推迟IPO,Mobileye首席执行官Amnon Shashua相对平静。 他不太担心 IPO 的时机会如何影响 Mobileye 的估值。 他认为估值并不是 Mobileye 坐以待毙的理

    06-17

  • 谷歌离中国越来越远

    谷歌离中国越来越远

    自5月份特朗普政府将华为列入实体清单以来,华为与美国科技公司的合作关系变得微妙;其中之一是谷歌。 它提供的Android系统可以运行在除iPhone之外的全球大多数智能手机上。 华为新机将不再预装Google App。 近日,有外媒报道称,华为将于9月在德国慕尼黑推出Mate 30系列手机

    06-17