冷启动是指在没有或只有很少量数据的情况下,从0到1建立业务模型的过程。
如新开了某个消费分期的场景、在某个国家新发展了类似于国内的业务,源域样本和目标域样本分布不同,且目标域样本量又不足,可采用迁移学习、异常检测、专家规则经验等技术,本文重点介绍、讨论迁移学习。
一、迁移学习的概念
下图是比较全面、好理解的总结,有兴趣的朋友可以查看这篇论文:A Survey on Transfer Learning。(https://www.cse.ust.hk/~qyang/Docs/2009/tkde_transfer_learning.pdf)、A Survey on Deep Transfer Learning(https://arxiv.org/pdf/1808.01974v1.pdf)。
论文中同时给出数学定义如下:
Given a source domain and learning task ,a target domain and learning task , transfer learning aims to help imporve the learning of the target predictive function in using the knowledge in and ,where or .
迁移学习在深度学习中有着更好的应用(归纳迁移),如Feature-representation -transfer、Parameter-transfer,基本原理为复用已训练的网络结构或参数,利用训练好的泛化特征、节省时间和计算力,以一种有利的方式缩小可能模型的搜索范围,主要应用领域在于CV(NLP取决于embedding后的表达,未必会有效果提升)。
在无监督学习,应用较少,个人阅读一些资料后 ,理解主要是提供业务的理解和洞察。
在风控领域,主要是基于实例的迁移学习(Instance-transfer、域适应domain adaptation),本质上就是带来样本上的补充,将两个不同分布的训练集放在一起训练。主要用到的算法包括:TrAdaBoost(Transfer AdaBoost,对源域样本进行加权)、TCA思想的方法(寻找一个低维子空间,使得源域和目标域的数据样本映射到该空间后服从相同或近似的分布,如JDA、DTELM算法)。
当目标域没有标签或仅有少量标签时,可以采用EM的思想进行,先使用源域训练的打上伪标签,迁移优化模型后重新打标签,迭代优化。
A Survey on Deep Transfer Learning提到通过GAN来进行特征的迁移筛选,也可考虑在模型设计的时候,应用于非神经网络结构,比如梯度下降中,我们每一次迭代的时候加入一个相反方向的任务,通过反复的迭代一样可以收敛到某一个值。
迭代时的目标函数:最小化label predictor分类器的loss函数、最大化domain classifier分类器的loss函数(现有模型新增的另一个目标,励它混淆这两个领域,确保两个域的表征相似性的一种方法)。与规则损失的差异在于,从损耗流向网络其余部分的梯度是相反的,这意味着该模型在学习使其最小化原始目标的表征,而不允许它区分两个域,而后者有助于知识迁移。
二、跨场景迁移案例
在进行迁移学习前,一个重要的问题就是:给定一个目标域,如何选择合适的源领域?如果选择的源域与目标域相似性过小,则很可能造成负迁移。 有两个解决方案,1、对不同数据集进行相似性的度量,2、同一个目标域,不同的源域,产生的迁移效果千差万别,总能找到一些领域,迁移效果比不迁移好。
三个数据集,源域样本traina,目标域样本trains,时间外验证样本集val,分三步验证迁移学习模型效果。
1、trains训练,val验证,结果如下,KS相差超过10%,远高于行业要求的5%,且ROC曲线不稳定,意味着模型的泛化能力较差。
2、trains+traina训练(直接合并),val验证,结果如下,训练集ROC波动非常剧烈。
3、trains+traina训练(TrAdaBoost),val验证,结果如下,KS差值小于5%,且ROC曲线的趋势较为平缓(说明泛化能力更强)。
三、关于专家意见
冷启动还是要以专家意见和规则为主,模型为辅,The Wisdom of the Few这篇论文专门对专家意见和模型效果进行了对比,有兴趣可以看看。
初始化时的人工(标签和业务知识的输入)或对模型效果的人工检视,必不可少。
半监督学习的许多经验和见解同样适用于迁移学习;在迁移学习中,我们主要关心我们的目标任务,在多任务学习中,目标是在所有任务上都表现良好;将迁移学习推到极限,仅仅从少数几个甚至零个样本中学习,我们就能分别得到少量、一次和零次的学习(Zero-shot learning)。
附,参考资料:
1、智能风控,梅子行著。
2、反欺诈冷启动(方法篇),https://zhuanlan.zhihu.com/p/78687192
3、迁移学习简明手册,王晋东著。
4、基于迁移学习(Transfer learning)的反欺诈(二),https://zhuanlan.zhihu.com/p/35454479
5、基于多模型融合的迁移信用评分框架,https://zhuanlan.zhihu.com/p/84646070
6、迁移学习在金融风控领域的应用,https://zhuanlan.zhihu.com/p/72331942
7、基于深度迁移学习进行时间序列分类,https://www.jiqizhixin.com/articles/2018-11-15-17
8、【一文读懂】机器学习最新主战场迁移学习,从原理、方法到应用,https://zhuanlan.zhihu.com/p/25979886