四、迁移学习应用案例
下面说一下我和我的学生一起做的迁移学习的工作,尤其是跟深度学习结合。
一个叫戴文渊的学生,在第四范式这个公司做的工作就很有意义,他们为银行做一个大额产品的营销,比如说车贷,比较贵的车贷的样本非常少,少于100个,这么少的数据是没办法建模型的,怎么办?去借助小微贷款的数据,比如说上亿客户的交流,然后发现两个领域,一个是小微贷款,一个是大额贷款,它们之间的共性,把这个模型迁移过来,这就使得它的响应率提高了2倍以上。
另外是我们要去发表的一篇文章,做舆情分析。我们知道舆情分析是非常有用的,不管是在商业上还是在政府的服务上,大家都希望了解那么多的留言,是正向还是负向的?为什么是这样的?对哪些产品有兴趣?大家对哪个服务满意?等等。我这里给出两个不同的领域,如果我们在一个领域已经有像最左边这里给出的标注,比如说Great,这就是一个赞;说这个是Owful book,就给出一个差。我们的问题是能否借助相同领域的数据来减少我们的分量,使得我们建立一个靠谱的模型,在新的领域——目标领域。这是一个非常好的迁移学习的场景。
但是过去做迁移工作时,需要有一个概念叫Pivot,两个领域之间共享的关键词,这两个关键词对于指出这个是正向和负向也是非常有用的,像Great这个词,Boring和Awful,以前完全是靠人找到这两个词,我们知道这是不靠谱的。
我们通过迁移学习把这个词找出来,在这里用的工具是Adversarial模型,在一堆摹本里找出关注量比较大的词和词组,有了这一Adversarial模型,就可以自动打分。打的分数是否靠谱,可以用另外一个Domain Label的词告诉我们,什么样的词才有这样的特性?首先两个领域共享,能够帮助我们在新领域共同地指出舆情的趋向。同时希望模型越少越好,就是这三件事翻译成目标函数里,就能建立模型。左边是舆情的Classifier,右边是领域的。我们同时希望领域的混淆度越大越好,同时希望Sentiment(舆情)的准确率越高越好,这两个之间形成博弈,就形成了GAN的概念。另外是多任务学习,就是两个任务共同进行、共同有一些共享。
最后我们在正确设定了一些距离函数和Loss以后,就可以学出来,效果非常好。
最后一个应用是和上海汽车做的研究,汽车在跑的时候能否根据它的路况分析车到底做什么?是共享还是私用的?我们很荣幸得到了一些数据,在这些数据里可以同时进行两种分析,一种是图像分析,虽然我们本领域没有太多的标注数据,但是可以借用出租车来学习。左边的是同时做两个任务的学习,第一个是根据现在出租车的数据,来帮助我们标注互联网汽车的数据。但是这个当中可能会有错误,所以我们在本领域可以用一些图像分析来矫正这些错误,校正完再拿回来拓展这样的一个样本集。在这两个之间进行多次往返以后,就会得到一个很靠谱的模型,最后这样的一个算法我们就可以得到一个很不错的迁移效果。
最后总结一下,迁移学习和深度学习可以非常有机地结合,两个是可以互补的。深度学习帮助我们分非常细的层次,每一层可以进行量化的分析,迁移学习可以帮助深度学习变得更加靠谱,得到的一个结果就是深度学习的迁移模型,同时也应该说是迁移学习的一个深度模型。
(本报告根据速记整理)