0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

聚焦 | 新技术“红”不过十年?半监督学习却成例外?

mK5P_AItists 来源:YXQ 2019-06-18 17:24 次阅读

这一波深度学习的发展,以2006年Hinton发表Deep Belief Networks的论文为起点,到今年已经超过了10年。从过往学术界和产业界对新技术的追捧周期,超过10年的是极少数。从深度学习所属的机器学习领域来看,到底什么样的方向能够支撑这个领域继续蓬勃发展下去,让学术界和产业界都能持续投入和产出,就目前来看,半监督学习是一个很有潜力的方向。

机器学习范式的发展

传统机器学习的解决路径可以表示为:

ML Solution = ML expertise + Computation + Data

其中ML expertise是机器学习专家,负责特征工程、机器学习模型设计和最终的训练,是整个机器学习解决方案效果的关键因素。Computation是计算能力,代表具体选择什么的硬件去承载专家设计的优化方案。这个部分一般来说穷有穷的打法,富有富的策略:以CTR预估为例,小厂设备不多,资源不足,那么可能GBDT就是一个不错的选择;大厂的话,资源相对富裕,那么各种DNN就上来了。Data无论做什么业务,或多或少也都有一些,C端产品的话,上线后总会有用户反馈可以做为label;B端产品的话,以我曾经搞过的图片识别为例,定向爬虫和人工标注也能弄到有标签样本。Data总会有,无外乎多少的区别。

这里就存在一个问题,Computation和Data即便有了,也不一定有很匹配的人来把整个事情串联运用起来,发挥最终的价值。21世纪,最贵的是人才;为什么贵?因为稀缺。于是大家就在想,能不能把机器学习问题的解决路径改为:

New ML Solution = 100x Computation + 100x Data

简而言之,就是用更多地Computation和Data代替人的作用。100x Computation替代人工模型设计,这两年也得到了长足的发展,这就是AutoML。狭义的来看AutoML,NAS和Meta Learning在学术界工业界都有不错的进展。尤其是NAS,2017年Zoph和Le发表的Neural Architecture Search with Reinforcement Learning作为引爆点,快速形成了一个火爆的研究领域,主要思路是通过RNN controller来sample神经网络结构,训练这个网络结构,以这个网络结构的指标作为RL的reward优化这个controller,让这个controller能够sample出更有效的网络结构。

Controller训练过程

这个领域后续还有一些列出色的工作,但由于不是今天讨论的重点,暂且按下不表,有时间再写一篇关于NAS的从认知到实践。

100x Data听上去就是一个很有诱惑力的事情,因为更多的数据,往往意味着更好的效果。以最近异常火爆的BERT和GPT2,都被认为是大力出奇迹的暴力美学典范。大量的数据带来效果提高了人们对当前AI的认知边界,GPT2生成的文本就是一个很好的例子。但是数据规模的扩大,往往意味着某方面成本的提升。广告CTR预估,100x的样本要么是DAU增长了100倍,要么是出了100x的广告(估计会被用户打死的),都不太真实;图片的人工标注增长100x即便金钱成本能接受,时间成本也太长,猜想ImageNet如果1亿标注样本,估计CV的发展还会有更多的爆发点。

在谈半监督学习的进展前,我们先看看另一个机器学习方向在解决数据不足和数据稀疏上的努力。

Multi-Task Learning

Multi-Task Learning是指不同的任务之间通过共享全部或者部分模型参数,相互辅助,相互迁移,共同提高的机器学习方法。实际使用过程中,Multi-Task Learning由于多个任务共享参数,还能带来Serving Cost的下降,在学术界和工业界都有不少相关工作,并且在一些数据上取得了不错的进展。

Multi-Task Learning由于不同任务之间可以相互辅助学习,往往数据稀疏的任务能够从数据丰富的任务收益,得到提高,同时数据丰富任务还不怎么受影响或者微弱提升。这在一定程度上缓解了数据量的需求。

最近几年比较好的Multi-Task Learning工作,首先让我比较有印象的是Cross-stitch。Cross-stitch通过在Multi-Task的表达学习中,通过权重转换矩阵 alpha_{AB} 或者 alpha_{BA} 直接获得另一个任务的中间表示信息,这种方案在效果上比传统的Shared Bottom灵活,也减少了模型参数被某一个任务完全主导的风险。

Cross-stitch子结构

后来的ESSM跟Cross-stitch有异曲同工之妙,只是将任务的学习方向改为单向:pCVR单向从pCTR中学习,以满足业务上的逻辑因果关系。

ESSM学习框架

Multi-Task Learning最近比较有意思的工作,SNR应该算一个,思路主要收到Mixture-of-Expert的启发(Outrageously Large Neural Networks: The Sparsely-Gated Mixture-of-Experts Layer:这篇文章背后的思想其实是Google解决大规模机器学习的新思路,完全值得开篇另述!),不同的任务走不同的网络路由,即不同的任务会由不同的Experts组合预估,而Experts总量固定,在不同任务间是部分共享的。对比Cross-stitch,每个任务都必须使用另外任务的信息,这种网络架构设计,使得不同任务的Expert既有独立又有共享。具体的独立和共享方式,每个任务通过模型训练学习得到,比较好的平衡了任务的独立性和共通性。SNR还使用了稀疏路由的思想,使得每个任务在保证效果的前提下经过最少的Experts,降低计算量。

Multi-Task Learning在学术界和工业界都获得了不俗的成绩,但是也有一个要命的短板,需要另外一个数据丰富且能够学习比较好的任务帮忙。这个要求限制了Multi-Task Learning发挥的空间,因为很多情况下,不仅没有其他任务,仅有的任务label也很匮乏,于是半监督学习就有了用武之地。

半监督学习

半监督学习通常情况下,只有少量的有label数据,但是可以获得大量的无label数据,在这种情况下希望能够获得跟监督学习获得相似甚至相同的效果。半监督学习的历史其实已经也比较久远了,2009年Chapalle编著的Semi-Supervised Learning,就对其定义和原理做了详细介绍。在计算力随着深度学习的热潮快速发展的同时,大量的label贫困任务出现,于是半监督学习也越来越重要。

半监督学习近两年最有亮点的工作当属发表在EMNLP'2018的Phrase-Based & Neural Unsupervised Machine Translation,大幅提升了半监督机器机器翻译的SOTA。

翻译训练过程示意

在整个训练过程中,B)先对其两种语言的work级别翻译,然后C)针对两种语言分别学一个Language Model,获得语言分布,最后D)再根据语言分布反复使用Back-Translation在已知的少量句对上翻译获得最终模型。这种方案大幅提高了在对齐句对不多的语种之间的翻译质量,同时由于其novelty,获得了EMNLP'2018的Best Paper Award,初读此文时有一种眼前一亮的感觉。(尽管标题叫Unsupervised Machine Translation,但是实际上利用到了部分label数据,我更愿意将其归类为Semi-Supervised Machine Translation。)

最近Google的研究人员又提出来一种新的半监督训练方法MixMatch,这种方法号称是Holistic的,综合运用了:A)distribution average; B)temperature sharpening; C)MixUp with labeled and unlabeled data. 其训练过程如下:

这个方法在CIFAR-10上只有250个label时能将错误率从38%降到11%,令人印象深刻。『江山代有才人出』,另一波Google的研究人员提出了UDA,在我看来这种方法更为彻底,也更加End-to-End。UDA主要利用数据分布的连续性和一致性,在输入有扰动的情况下,输出应该保持稳定,于是对于unlabeled data增加了一个损失函数:

即有扰动和无扰动的unlabeled data的预估分布的KL距离应该非常小,同时数据扰动用尽可能贴近任务本身的方法去做,比如图像用AutoArgument,文本用上面提到的Back-Translation和Word Replacement。

UDA训练示意

UDA的效果在文本和图像上都得到了很好地验证,大幅降低标注数据不足情况下得错误率;更值得关注的一点是,即便在ImageNet这种标注数据已经非常多的情况下,再使用UDA依然能带来效果的提升,说明UDA在数据分布拟合上具有很好地通用性。

结语

总体来看,半监督机器学习无论是采用聚类、图传播、数据增强还是泛化学习,主要依据的理论基础都是labeled和unlabeled data在分布上的连续性和一致性,因此机器学习方法可以利用这点进行有效的结构化学习,增强模型的表征能力,进而很好地提高预测效果。虽然半监督机器学习已经取得了一些很好的结果,从近两年ICML、ICLR和NeurIPS等会议看,相关工作也越来越多,但是还远没有到CV中的ResNet和NLP中的BERT的水平,要实现100x Data真正发挥作用,还需要学术界和工业界共同努力。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 深度学习
    +关注

    关注

    73

    文章

    5219

    浏览量

    119863
  • 半监督学习
    +关注

    关注

    0

    文章

    20

    浏览量

    2479

原文标题:新技术“红”不过十年,半监督学习为什么是个例外?

文章出处:【微信号:AItists,微信公众号:人工智能学家】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    基于transformer和自监督学习的路面异常检测方法分享

    铺设异常检测可以帮助减少数据存储、传输、标记和处理的压力。本论文描述了一种基于Transformer和自监督学习的新方法,有助于定位异常区域。
    的头像 发表于 12-06 14:57 768次阅读
    基于transformer和自<b class='flag-5'>监督学习</b>的路面异常检测方法分享

    什么是强化学习

    强化学习是机器学习的方式之一,它与监督学习、无监督学习并列,是三种机器学习训练方法之一。 在围棋上击败世界第一李世石的 AlphaGo、在《
    的头像 发表于 10-30 11:36 1501次阅读
    什么是强化<b class='flag-5'>学习</b>

    深度学习的由来 深度学习的经典算法有哪些

    深度学习作为机器学习的一个分支,其学习方法可以分为监督学习和无监督学习。两种方法都具有其独特的学习
    发表于 10-09 10:23 339次阅读
    深度<b class='flag-5'>学习</b>的由来 深度<b class='flag-5'>学习</b>的经典算法有哪些

    机器学习模型类型分类

     机器学习按照模型类型分为监督学习模型、无监督学习模型两大类。 1. 有监督学习监督学习通常是利用带有专家标注的标签的训练数据,
    的头像 发表于 09-05 11:45 1295次阅读
    机器<b class='flag-5'>学习</b>模型类型分类

    适用于任意数据模态的自监督学习数据增强技术

    本文提出了一种适用于任意数据模态的自监督学习数据增强技术。   自监督学习算法在自然语言处理、计算机视觉等领域取得了重大进展。这些自监督学习算法尽管在概念上是通用的,但是在具体操作上是
    的头像 发表于 09-04 10:07 776次阅读
    适用于任意数据模态的自<b class='flag-5'>监督学习</b>数据增强<b class='flag-5'>技术</b>

    人工智能的关键技术包括哪些

    机器学习是人工智能的一个重要分支,它通过计算的手段、学习经验(也可以说是利用经验)来改善系统的性能。它包括:有监督学习、无监督学习和强化学习
    发表于 08-28 12:53 1073次阅读
    人工智能的关键<b class='flag-5'>技术</b>包括哪些

    机器学习有哪些算法?机器学习分类算法有哪些?机器学习预判有哪些算法?

    有许多不同的类型和应用。根据机器学习的任务类型,可以将其分为几种不同的算法类型。本文将介绍机器学习的算法类型以及分类算法和预测算法。 机器学习的算法类型 1. 监督学习算法 在
    的头像 发表于 08-17 16:30 1364次阅读

    深度学习框架和深度学习算法教程

    了基于神经网络的机器学习方法。 深度学习算法可以分为两大类:监督学习和无监督学习监督学习的基本任务是训练模型去
    的头像 发表于 08-17 16:11 695次阅读

    人工智能是什么的一个分支

    人工智能的核心是机器学习技术。机器学习的目的是通过无需人工干预的方式将计算机系统训练得到更好的性能。机器学习可以分为监督学习、无
    的头像 发表于 08-14 15:07 846次阅读

    人工智能技术包括哪些方面

    机器学习通常分为监督学习和无监督学习监督学习通过在计算机上显示标记的数据集进行训练,使其可以预测未来的输入。无监督学习则是一种不需要标记
    的头像 发表于 08-14 15:06 1222次阅读

    人工智能ai是什么

    在人工智能的发展中,最重要的是机器学习(Machine Learning),这是一种人工智能的实现方式,通过对大量数据进行分析和学习,让系统自己找到规律和特征,从而达到自主智能化的目的。在机器学习中,主要有三种方式,分别是
    的头像 发表于 08-14 14:20 2666次阅读

    人工智能有哪些算法

    监督学习算法主要用于聚类和关联规则挖掘。聚类问题是指将数据集合划分成相似的组,而关联规则挖掘问题是指发现数据集合中经常一起出现的数据项。常见的无监督学习算法包括K-means、谱聚类、Apriori等。
    的头像 发表于 08-14 13:51 3032次阅读

    人工智能的关键技术是什么?

    机器学习是AI的核心技术之一,也是训练计算机识别和理解数据的方法。机器学习涉及大量的数据处理和分析,以便学习能够从这些数据中发现规律和模式。机器学习
    的头像 发表于 08-13 09:24 1918次阅读

    最新3D表征自监督学习+对比学习:FAC

    第二个是我们防止 3D 片段/对象之间的过度判别,并通过 Siamese 对应网络中的自适应特征学习鼓励片段级别的前景到背景的区别,该网络有效地自适应地学习点云视图内和点云视图之间的特征相关性。
    的头像 发表于 05-17 09:28 555次阅读
    最新3D表征自<b class='flag-5'>监督学习</b>+对比<b class='flag-5'>学习</b>:FAC

    机器学习步骤详解,一文了解全过程

    调整,使其生成正确的输出。在其他情况下,则实行无监督学习,由系统负责梳理数据来发现以前未知的模式。大多数机器学习模型都是遵循这两种范式(监督学习与无监督学习)。
    的头像 发表于 05-16 09:55 4025次阅读
    机器<b class='flag-5'>学习</b>步骤详解,一文了解全过程