联邦学习助力金融行业风控

网友投稿 889 2022-05-29

1 业务场景

利用海量数据对个人进行风控画像,已成为银行等金融机构在拓展面向个人类业务的常见做法。无论是在前期营销、贷前授信、贷中评估和贷后信用评估,精准个人风控画像都具备突出的业务价值。

金融机构拥有的个人数据,一般都是发生过业务往来的历史用户数据,普遍存在覆盖面不广、维度偏少和更新不及时等问题,在支撑个人画像方面往往有所欠缺。面向个人消费者的互联网企业,拥有维度全面的个人画像数据,但受限于个人数据隐私安全保护的要求,金融机构和互联网企业的数据均无法共享给对方,无法进行联合风控建模。

以往的做法,是将两边的数据通过移动硬盘拷贝到隔离沙箱环境,共同训练得到评估模型,再将隔离沙箱环境中的数据删除,但存在效率低、数据和模型更新不及时的问题。联邦学习技术能较好的解决该问题,本案例介绍 TICS 纵向联邦学习技术应用,支持业界知名互联网金融公司和传统银行合作,在互相不泄露个人隐私数据的前提下,使用分布式存储在各自数据中心的多方数据,完成个人风控建模。

2 方案架构

互联网金融公司 xx钱包和银行训练数据源,均通过边缘侧的安全智能代理 TICS Agent 接入,前者数据是多维特征值,即机器学习中的 X 值(特征),后者数据是银行记录的个人履约情况,即机器学习中的 Y 值(标签),银行侧也可以提供特征值,是典型的纵向联邦训练场景,每个参与方本地生成同态公私钥对,私钥本地保存,公钥共享给其他参与方。训练任务由 xx钱包侧发起,TICS AGG 负责传递密文状态的中间参数,解决 xx钱包和银行的边缘侧各自部署在内网,网络无法直连的问题。训练后的模型每个参与方各自存储部分模型,经过两方的离线批量或在线联邦推理后,生成的信用评估分发布到云测的信用分服务中,该分值封装为外部可直接调用的风控评估服务接口,满足银行侧新增用户的风控检测需求。

方案实施前置条件:

联盟参与方均已加入数据联盟,完成 TICS Agent 代理部署,参考 跨内网代理部署 TICS Agent

数据提供方(xx钱包、银行)已准备联邦学习训练数据资源,且已导入边缘代理节点目录

3 数据接入

联邦学习场景,边缘代理数据接入有两种方式:代理本地路径接入或华为云对象存储服务 OBS 接入,本案例采用前者,包括以下步骤:

登录 TICS Agent 代理:登录华为云控制台 TICS 服务,选择 代理管理,点击代理名进入代理管理页面,点击代理登录地址 “前往代理 Agent”,打开代理登录界面,输入代理用户名 Admin 与代理登录密码,完成代理登录

查看本地连接器状态:点击连接器管理,查看名字为 localConnector 的本地连接器状态是否显示为 “正常”;本地连接器在代理创建时即自动新建,无须手动创建

创建数据:登录代理页面,点击 数据管理 > 创建,输入数据名称,选择连接器 localConnector,点击按钮 “选择数据文件”,选择训练数据集(须提前导入到代理服务器本地路径,默认为 /home/service/tics/data,或通过代理页面 > 算法管理 > 创建 手工导入),对字段进行配置,设置字段类型和字段类别,字段类别包括下面几种

唯一标识(ID):具备唯一性,用于关联联邦学习多个参与方的数据

特征(Feature):X 值,一般会有多个特征值,在本案例中即个人的多个维度的分析数据

标签(Label):Y 值,如分类问题中图片是猫还是狗都属于标签值,是机器学习分析模型的预测目标

准备数据配置参考内容

本案例中 xx钱包提供 ID 和特征数据,字段结构如下:第 1 列是 ID 值,第 2~37 列是特征值。

银行提供 ID、特征数据和标签数据,字段结构如下:第 1 列式 ID 值,第 2~3 列是 特征值,第 4 列是标签值。

4 联邦训练

联邦训练由 xx钱包侧发起,包括以下步骤:

登录 xx钱包代理页面,选择 作业管理 > 联邦机器学习 > 创建,输入以下配置项,单击 “确定” 按钮,完成创建作业

在 作业管理 > 联邦机器学习 页面,可查看到刚刚创建的作业,点击按钮 “开发”,进入作业开发设置页面,依次完成操作

数据选择:勾选 xx钱包和银行侧上传的训练数据集,点击右下角红色按钮 “下一步”

样本对齐:由于本次测试数据集已提前完成样本对齐工作,直接点击下一步即可;若两侧的训练数据未进行样本对齐,须选择两侧训练数据的样本对齐字段,执行对齐操作

特征选择:默认采用等频分箱策略,可以选择参与联邦学习训练的特征,若跳过该步骤,则默认将使用所有特征

模型训练:点击右下角红色按钮 “启动训练”,发起联邦训练任务,在历史作业中科查看训练任务执行状态

模型评估:训练任务完成后生成预测模型,可选择使用模型对测试数据集进行评估作业,点击 “评估作业”按钮,输入测试样本数据集,发起模型评估操作

创建纵向联邦训练作业配置指南参考

5 数据安全

本案例采用纵向联邦学习技术,使用同态加密计算支持 XGBoost 训练业务场景,xx钱包和银行侧在作业开始前,各生成公私钥对,并将公钥同步给对方。

联邦学习训练的全过程参考上图,包括以下步骤:

交行启动训练,触发 XGBoost 算法,本地 XGBoost 算法基于用户标签,生成每个样本的一阶梯度 g 和二阶梯度 h

调用同态加密模块, 将每个样本的一阶梯度 g 和二阶梯度 h 用自身公钥加密

将加密的每个样本的 [[g]] 和 [[h]] 发送给 xx钱包

xx钱包方共有36个特征,假设每个特征有10个候选的分割点,则使用同态计算每个候选分割点(36*10=360个点)的左子树,右子树的加密的 [[g]] 和 [[h]]的累加和,生成密文 [[G]] [[H]]

xx钱包侧返回加密的累积和 [[G]] [[H]]

银行用本地同态私钥,解密获得明文 G H,共 720 个值(360 个分割点,左右子树,即 360 * 2 )

银行侧计算每个分割点的分数 Gain,并将分数返回给 xx钱包

xx钱包选择分数最高的分割点,优先作为树模型的分割节点

注:以上步骤中涉及的证书,统一由华为云 TICS 服务发放

重复执行以上 1 - 8 步骤,直到选出所有树模型的最优分割点 ,完成树模型的构建

6 应用价值

各参与方在不泄露各自数据前提下,基于 TICS 的联邦学习方案完成了基于多方数据的联合建模,有助于提升用户风控模型准确度。经实测验证,在信用卡发放审批场景,联邦学习风控建模可帮助提升批复率 5~10 个点,对于提升终端用户体验很有帮助。

从技术上分析,本方案以下几个功能特性获得用户高度认可:

高性能联邦学习加密算法:在本方案中,实现联邦训练和同态加密的协同优化,支持基于矩阵的密态数据计算,实现树节点选择的批量计算,大幅提升联邦学习训练效率

联邦学习助力金融行业风控

云边协同技术架构:支持用户数据云侧或边侧部署,满足银行侧数据本地化存储要求

开箱即用的联邦学习框架:简单易用、所见即所得,用户通过简单配置即可完成联邦学习建模操作,复杂的数据加密处理等过程封装在后台,大幅降低业务用户使用联邦学习的技术门槛

场景丰富:支持 XGBoost(包括分类和线性回归模型)、逻辑回归、决策树模型和神经网络模型,支持纵向和横向联邦学习建模,满足多样化的用户业务场景需求

联邦协同:支持多厂商异构联邦学习框架互联互通,建立跨厂商联邦学习技术生态体系,协同训练

7 FAQ

Q1 模型训练由哪一侧发起

参与联邦学习的任意一方,均可作为模型训练的发起方

Q2 联邦学习的训练效率怎么样

TICS 测试联邦学习运行 XGBoost 5 课树 5 层大概要 10 分钟,纯本地运行同样的模型,预计在1分钟左右。因此联邦学习对训练效率会有 10 倍左右的影响,主要是加解密操作和密文计算带来的额外时延等影响比较大。

相比业界其他联邦学习平台,TICS 联邦学习训练效率有 2~3 倍左右的提升,TICS 的联邦训练和同态加密操作做了协同优化,支持基于矩阵的密态数据计算,实现树节点选择的批量计算,借助并行计算方式大幅提升联邦学习训练效率。

机器学习 金融专区

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:java常用类,接口,方法,语法总结
下一篇:新技术带来新机遇,华为云携手英特尔共赴云原生2.0时代
相关文章