掌桥专利:专业的专利平台
掌桥专利
首页

一种基于联盟链的联邦学习课程推荐方法

文献发布时间:2024-04-18 20:01:55


一种基于联盟链的联邦学习课程推荐方法

技术领域

本发明涉及一种基于联盟链的联邦学习课程推荐方法,属于区块链与隐私计算技术应用领域。

背景技术

推荐系统,是一种利用用户历史行为数据进行用户画像,预测用户的喜好,并推荐给用户商品或服务的系统,广泛应用于人们生活中的各个方面。其中,课程推荐,是网课平台在拥有大量课程资源的前提下,为用户量身定制课程的应用方案。目前,越来越多的人尤其是学生群体通过网课平台进行线上学习,而网课平台最重要的一项内容就是课程推荐。课程推荐通过历史课程记录和学习者本身的特征信息来了解学习者对课程的偏好,并从大量课程中过滤和筛选出适合学习者的课程,为学习者快速选择课程提供一些建议。但是,想要构建安全的课程推荐系统,仍存在诸多问题:

1.数据隐私泄露问题。教育数据中存在很多用户的私密信息,运用各种技术对教育数据进行深度挖掘,有可能会泄露用户的隐私。

2.数据孤岛问题。由于数据机密和数据隐私等因素,学习推荐系统之间具有相对的自我封闭性,呈现出数据碎片化存储的特征,即系统之间形成“数据孤岛”,因此,难以提供支撑教育决策的大数据。同时,网课平台之间存在一定差异性,数据的存储方式、存储形式和记录内容不同,教育过程、教育对象与教育方式也存在差别,导致教育数据孤岛化和碎片化。

联邦学习技术(Federated Learning),能够帮助多个机构在满足用户隐私保护、数据安全和政府法规的要求下,有效进行数据使用、机器学习建模等。该技术在保证终端数据和个人隐私安全、保证合法的前提下,允许多方参与机器学习,其特点是扩展性强,隐私安全性好,能够实现数据不出域,保证个人隐私不被泄露。由于联邦学习具备隐私安全性和多方协同训练模型的能力,非常适合课程推荐。

然而,联邦学习的参与方来自不同的网课平台,彼此之间无法完全信任,也难以找到可信第三方;而且高度中心化的服务器一旦发生故障,将直接严重影响全局模型的训练。因此,考虑将联盟链和联邦学习结合,共同应用到课程推荐中,将大数据存储在本地,让数据所有者训练联邦学习任务,而数据完整性由分布式区块链账本维持,形成一个可信的多方协同课程推荐模型训练方案。相比于分布式机器学习,联邦学习更需要一种去中心化的分布式系统来保证用户的隐私安全。

区块链作为一个去中心化、数据加密、不可篡改的分布式账本,能够为联邦学习提供更好的隐私安全性,防止中心化服务器的故障影响机器学习的效率。区块链可以保证多参与方提供数据进行模型训练的数据一致性,区块链的奖励机制也能够提高各参与方之间提供数据、更新网络模型参数的积极性。

发明内容

本发明的目的是为了有效解决课程推荐系统面临的数据隐私泄露和数据孤岛等技术问题,提出一种基于联盟链的联邦学习课程推荐方法。

首先,对相关定义进行说明:

定义1:联邦学习

一种分布式机器学习技术,其核心思想是通过在多个拥有本地数据的数据源之间进行分布式模型训练,在不需要交换本地个体或样本数据的前提下,仅通过交换模型参数或中间结果的方式,构建基于虚拟融合数据下的全局模型,从而实现数据隐私保护和数据共享计算的平衡。

定义2:联盟链网络

是指提供分布式信任的机器,节点由各方组织提供;联盟链网络具有准入机制,仅获得许可的参与组织和它的用户能够访问链上数据并调用智能合约;联盟链网络负责存储模型参数和每一轮的聚合模型。

定义3:委员会

是指由各大网课平台组成的联盟,负责提出训练任务、证明任务的重要性,并规范数据格式,共同发布联邦学习任务,包括目标模型精度、全局知识特征矩阵和用户行为特征信息矩阵。

定义4:共识节点

是指运行联盟链共识协议,打包事务并产生新区块的联盟链节点,保证存储事务的一致性;

定义5:智能合约

是指一种旨在以信息化方式传播、验证或执行合同的计算机协议;智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转;跨组织资源管理和访问控制系统存在两种合约,访问控制策略存储合约和访问请求处理合约。

定义6:差分隐私

是指一种数据隐私保护的技术,目的是使得数据查询结果对于数据集中单个记录的变化不敏感,具有良好的隐私保护性能和可扩展性。但差分隐私技术需要平衡隐私和数据可用性,即添加的噪音不能过大以至于影响试据的可用性。

定义7:本地客户端

是指参与联邦学习的各个设备或个体,每个本地客户端都保留自己的数据,能够提供的本地计算能力并使用本地模型进行训练。

本地客户端是联盟中的各个网课平台,通过联盟链与其他平台进行通信,共享本地模型的更新,以实现全局模型的更新。为了增强隐私保护性,本地客户端可以通过差分隐私等手段来保护其隐私数据。

定义8:聚合服务器

指联邦学习的负责协调整个联邦学习过程的节点。聚合服务器需要协调各个参与方的模型训练,接受各方的模型参数梯度的更新,然后对梯度进行聚合,更新全局模型,达到提高全局模型的准确性和泛化能力。

聚合服务器是联盟选出来的主节点,其他节点上传的模型参数通过主节点进行聚合,在保护隐私和数据安全的同时进行数据共享和联合分析。

为了达到上述目的,本发明采取如下技术方案实现。

一种基于联盟链的联邦学习课程推荐方法,包括以下步骤:

步骤1:系统初始化。

由各网课平台组成联盟链,进行联盟链的初始化和联邦学习的初始化。其中,委员会共同发布联邦学习任务,包括目标模型精度、损失函数、全局知识特征矩阵和用户行为特征信息矩阵。

具体地,包括以下步骤:

步骤1.1:各参与平台提供节点共同构建联盟链网络,进行联盟链的初始化。

步骤1.2:各平台之间商讨决定以何种目标训练模型,并给出目标模型精度、损失函数、全局知识特征矩阵和用户行为特征信息矩阵。

步骤1.3:委员会通过联盟链广播训练任务和初始模型。

步骤2:本地模型训练。

各平台获得到初始模型,利用学习者的学习行为数据训练本地模型,提取模型更新后的数据,要求本地训练模型精度不得低于所需任务精度。

具体地,包括以下步骤:

步骤2.1:各平台通过联盟链接受由委员会发布的联邦学习的初始模型,该初始模型通过相邻节点下载。

步骤2.2:各平台使用初始模型和本地数据,采用梯度下降法进行本地模型训练,最终得到各个平台训练得到的本地模型。

步骤3:模型参数加噪上传。

各平台在各自的模型参数中注入满足差分隐私的噪声后,上传至联盟链;联盟链负责验证所有平台的本地模型参数。

具体地,包括以下步骤:

步骤3.1:各平台在训练得到的模型参数中注入满足差分隐私的高斯噪声,提高模型参数的安全性;

步骤3.2:各平台将具有隐私保护的本地模型参数上传至联盟链,联盟链验证其他平台的本地模型参数,并将模型参数记录在账本中。

步骤4:模型聚合。

每轮选取委员会中的一个节点成为主节点。主节点依据各节点通过联盟链上传的模型参数,通过联邦平均算法(FedAvg)对模型进行聚合。主节点基于聚合模型生成一个新的块,并广播到联盟链中。

具体地,包含以下步骤;

步骤4.1:根据平台参加委员会的顺序,每轮学习依次将各个节点选取为主节点;

步骤4.2:主节点通过联邦平均算法,对于各个节点具有隐私保护的模型参数进行聚合得到全局模型,并基于全局模型生成一个新的块。

步骤4.3:主节点将新生成的块向联盟链网络进行广播。

步骤5:模型更新。

各个参与平台从相邻节点处下载新块,获取全局模型更新,并更新本地模型。

具体地,包含以下步骤;

步骤5.1:平台通过相邻节点下载新块并记录,并获取新块中的全局模型更新;

步骤5.2:各节点利用全局模型,更新本地模型。

步骤6:利用平台协同训练获得全局推荐模型,完成网课课程推荐。

有益效果

本发明方法,与现有技术相比,具有以下优点:

1.本方法具有良好的安全性,具体为:通过联盟链对传统联邦学习进行了去中心化,增强了整个系统的可靠性,避免了由于主服务器故障导致的机器学习效果下降,同时采用差分隐私的方法,通过对模型参数添加噪声的手段进行了加密,防止攻击者通过模型参数推断出用户的个人信息,有效保护了平台的数据内容;

2.本方法具有良好的扩展性,通过委员会机制和联盟链的准入机制,委员会可以审批通过,允许新的平台作为链上节点加入,为所有成员提供模型更新,同时委员会机制也给所有成员提出训练任务的机会。

3.本方法具有更高的效率,具体为:相比于单独一家平台,平台之间组成的数据协同更加全面,样本数量充足,训练出的模型在课程推荐中准确度更高,推荐效果更好。本方案采用了联盟链机制,能够降低通信开销,提高运行效率。

附图说明

图1为本发明联邦学习本地模型训练的示意图。

图2为本发明联盟链聚合验证部分的示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例

如图1、2所示,一种基于联盟链的联邦学习课程推荐方法。本实施例详细阐述了在教育数据共享场景下对模型训练,实现课程推荐的方法。在教育数据共享场景下,网课平台A、B、C、D、E存在合作,所有网课平台组成的委员会发起联邦学习任务,平台本地训练模型,将模型参数发送至区块链实现聚合,从而实现各平台协同完成模型训练。

具体地,本方法包括如下过程:

步骤1:系统初始化。

由平台A、B、C、D、E共同组成的联盟,组成一个联盟链,进行区块链的初始化和联邦学习的初始化。委员会共同发布联邦学习任务,包括目标模型精度、损失函数全局知识特征矩阵和用户行为特征信息矩阵。

具体地,包括下步骤:

步骤1.1:各个参与平台提供节点共同构建联盟链网络,进行区块链初始化;

步骤1.2:平台之间进行商讨,决定初始全局模型θ

其中,L表示损失函数,如交叉熵损失函数或者平方损失函数等,技术人员可以根据实际需求来选择不同的损失函数;θ表示模型参数;d

步骤1.3:以平台A为主节点,委员会通过区块链广播训练任务M

步骤2:本地模型训练。

各平台通过相关技术剔除本地模型中不符合规则的信息并构建本地模型,利用学习者的学习行为数据训练本地模型,提取模型更新后的数据,要求本地训练模型精度不得低于所需任务精度

具体地,包括以下步骤:

步骤2.1:各平台通过联盟链接受由委员会发布的联邦学习任务M

步骤2.2:各平台使用初始模型θ

步骤3:本地模型参数加噪声后上传。

各个平台在各自的模型参数中注入满足差分隐私的噪声后上传至联盟链,联盟链负责验证所有平台的本地模型参数。

具体地,包括以下步骤:

步骤3.1:各平台在训练得到的模型参数中注入满足差分隐私的高斯噪声

步骤3.2:平台将具有隐私保护的本地模型上传至区块链,联盟链负责验证平台的本地模型参数,并将本地模型参数记录在账本中。

具体地,步骤3中,各平台具有隐私保护的本地模型训练算法ClientUpdate如下:

输入:平台:i,其中i∈(A,B,C,D,E);初始模型:θ

输出:本地模型参数

平台使用初始模型参数θ

对每一轮的迭代t=1,2,.....,T

步骤4:模型聚合。

每轮选取委员会中的一个节点成为主节点,主节点依据各节点通过区块链上传的模型参数,通过联邦平均算法(FedAvg)对模型进行聚合。主节点基于聚合模型生成一个新的块,并广播到区块链中。

具体地,包含以下步骤;

步骤4.1:根据平台参加委员会的顺序,每轮学习依次将各个节点选取为主节点;

步骤4.2:主节点通过联邦平均算法,对于各个节点加密后的模型参数进行聚合,得到新的全局模型W

步骤4.3:主节点将新生成的块向区块链网络进行广播。

具体地,步骤4的FedAvg算法如下:

for每轮更新round t=1,2,…T do

S

对于每个平台i∈S

其中,T表示全局模型训练的轮数;θ

步骤5:模型更新。

各个参与平台从相邻节点处下载新块,从而获取全局模型更新,并更新本地模型。

具体地,包含以下步骤;

步骤5.1:平台通过相邻节点下载新块并记录,并获取新块中的全局模型更新;

步骤5.2:各节点利用全局模型更新本地模型。

步骤6:利用平台协同训练获得全局推荐模型θ,完成网课课程推荐。

以上所述为本发明的较佳实施例而已,本发明不应该局限于该实施例和附图所公开的内容。凡是不脱离本发明所公开的精神下完成的等效或修改,都落入本发明保护的范围。

技术分类

06120116570935