可左右滑动选省市

一种基于混合精度量化与模拟退火剪枝的联邦学习训练方法

更新时间:2024-11-01
一种基于混合精度量化与模拟退火剪枝的联邦学习训练方法 专利申请类型:发明专利;
地区:湖南-长沙;
源自:长沙高价值专利检索信息库;

专利名称:一种基于混合精度量化与模拟退火剪枝的联邦学习训练方法

专利类型:发明专利

专利申请号:CN202410765183.X

专利申请(专利权)人:湘江实验室
权利人地址:湖南省长沙市高新区尖山路217号北斗产业园1栋

专利发明(设计)人:刘利枚,蒲艺,杨俊丰,余海航,曹文治,张震,杨艺,傅清爽,符静,王言

专利摘要:本发明提供了一种基于混合精度量化与模拟退火剪枝的联邦学习训练方法,通过中央服务器对原始全局模型进行初始化和量化处理后与训练任务同时下发至多个本地工业设备进行反量化处理并通过本地工业产品图像进行训练,得到本地模型;在每个本地工业设备对本地模型进行混合精度量化和剪枝,得到量化损失函数和剪枝后的损失函数;每个本地工业设备根据量化损失函数和剪枝后的损失函数计算综合损失对本地模型进行迭代更新后上传至中央服务器进行反量化处理并聚合得到是否满足预设训练条件的全局模型;若是,则训练结束;否则,将全局模型作为原始全局模型,并返回执行进行初始化和量化处理;有效提升了联邦学习整体的通信和数据传输效率。

主权利要求:
1.一种基于混合精度量化与模拟退火剪枝的联邦学习训练方法,其特征在于,包括:步骤1,中央服务器对原始全局模型的模型参数进行初始化,得到初始化全局模型,并将所述初始化全局模型进行量化处理后与训练任务同时下发至多个本地工业设备;
步骤2,针对每个所述本地工业设备,所述本地工业设备对量化后的初始化全局模型进行反量化处理,并通过所述本地工业设备采集的本地工业产品图像对反量化后的初始化全局模型进行训练,得到本地模型;
步骤3,在每个所述本地工业设备中,根据所述本地模型的模型参数的敏感特性选择多尺度位宽,并通过所述多尺度位宽对所述本地模型中不同的网络层进行混合精度量化,得到量化损失函数;
所述步骤3包括:
在每个所述本地工业设备中,通过对所述本地模型中每一个网络层的权重值标准差与所述本地模型中所有网络层权重标准差所组成数列的四分位点进行比较,自动选择量化位宽;
通过所述量化位宽计算量化缩放因子;
通过所述本地模型的模型参数、所述量化缩放因子计算零基准值;
通过所述量化缩放因子和所述零基准值求解得到量化后的本地模型的模型参数;
利用所述量化后的本地模型的模型参数、所述零基准值、所述量化缩放因子对所述量化后的本地模型进行反量化处理后得到量化损失函数;
步骤4,在每个所述本地工业设备中,通过增强型模拟退火搜索算法求解所述本地模型的层剪枝率,并利用所述层剪枝率对所述本地模型进行剪枝,得到剪枝后的损失函数;
步骤5,每个所述本地工业设备根据所述量化损失函数和所述剪枝后的损失函数计算综合损失,并利用所述综合损失对所述本地模型进行迭代更新,得到本地稀疏模型并上传至所述中央服务器;
步骤6,所述中央服务器分别对所有本地稀疏模型进行反量化处理,并将所有经过反量化处理后的本地稀疏模型进行聚合,得到全局模型;
步骤7,判断所述全局模型是否满足预设训练条件;若是,则训练结束,得到用于工业产品表面缺陷检测的全局模型;否则,将所述全局模型作为所述步骤1中的原始全局模型,并返回执行步骤1。
2.根据权利要求1所述的基于混合精度量化与模拟退火剪枝的联邦学习训练方法,其特征在于,所述模型参数包括:模型结构参数、网络初始参数、超参数、正则化参数和损失函数。
3.根据权利要求1所述的基于混合精度量化与模拟退火剪枝的联邦学习训练方法,其特征在于,所述量化位宽的取值为:其中, 表示第 个网络层的量化位宽,表示网络层数, , 表示第 个网络层的权重值标准差, 表示所有网络层权重标准差所组成的数列, 表示数列 的下四分位点, 表示数列 的上四分位点, 均表示量化位宽的尺度。
4.根据权利要求3所述的基于混合精度量化与模拟退火剪枝的联邦学习训练方法,其特征在于,通过所述量化位宽 计算量化缩放因子 的表达式为:

通过所述本地模型的模型参数 、所述量化缩放因子 计算零基准值 的表达式为:;
通过所述量化缩放因子 和所述零基准值 求解得到量化后的本地模型的模型参数 的表达式为:利用所述量化后的本地模型的模型参数 、所述量化缩放因子 、所述零基准值 对所述量化后的本地模型进行反量化处理的表达式为:计算量化损失函数 的表达式为:
其中,为中间表达式,无具体含义, , 表示量化缩放因子,表示零基准值, 表示模型参数的最大值, 表示截断函数, 表示模型参数的最小值, 表示最终量化后的整型模型参数, 表示经反量化处理的量化后的本地模型的模型参数, 表示本地模型的原始损失函数,表示量化误差, 表示权重因子, 表示调节因子, 表示L1正则化项。
5.根据权利要求4所述的基于混合精度量化与模拟退火剪枝的联邦学习训练方法,其特征在于,所述步骤4包括:对所述本地模型的层剪枝率进行初始化;
通过对初始化后的层剪枝率增加扰动产生新层剪枝率,并约束所述新层剪枝率,以使所述新层剪枝率小于等于所述本地模型的总剪枝率;
将通过所述新层剪枝率剪枝并量化的本地模型的模型准确率作为适应度评价指标;
根据模拟退火搜索算法的规则和所述适应度评价指标选择接受或拒绝所述新层剪枝率,直至完成本轮搜索,输出在当前总剪枝率下的满足预设要求的层剪枝率;
利用所述满足预设要求的层剪枝率对所述本地模型进行剪枝,得到剪枝后的损失函数。
6.根据权利要求5所述的基于混合精度量化与模拟退火剪枝的联邦学习训练方法,其特征在于,所述剪枝后的损失函数 的表达式为:其中, 表示正则化项, 表示剪枝后的本地模型的
模型参数, 表示第 个卷积核,表示网络层的数量, 表示第 个网络层的卷积核数量,表示正则化系数。
7.根据权利要求6所述的基于混合精度量化与模拟退火剪枝的联邦学习训练方法,其特征在于,所述步骤6包括:所述中央服务器分别对所有本地稀疏模型进行反量化处理,得到经反量化处理后的本地稀疏模型的模型参数 表达式如下:通过FedAvg方法将所有经过反量化处理后的本地稀疏模型 进行平均聚合,得到全局模型,所述平均聚合的表达式为:其中, 表示服务器端反量化处理后的各个本地稀疏模型的模型参数; 表示服务器端收到客户端上传的各个本地模型参数; 表示聚合后的全局模型,即联邦学习下一轮的初始全局模型参数; 表示对 个客户端进行联邦学习平均聚合。 说明书 : 一种基于混合精度量化与模拟退火剪枝的联邦学习训练方法技术领域[0001] 本发明涉及联邦学习技术领域,特别涉及一种基于混合精度量化与模拟退火剪枝的联邦学习训练方法。背景技术[0002] 联邦学习作为一种去中心化的机器学习方法,它支持多个客户端能够协作训练机器学习模型,同时将所有数据保存在本地设备上,无需上传原始数据。该技术有效保护用户数据隐私,同时保证了模型传递与聚合的效率,尽管联邦学习具有上述这些优点和广阔的应用前景,但它仍然存在一些关键挑战,诸如联邦学习要求服务器与多个客户端进行通信交流,这些频繁的通信交换所造成的开销相当庞大,而设备上行链路带宽有限,因此成为联邦学习系统性能的瓶颈。然而平衡通信效率与性能保证的轻量化联邦学习网络方案等挑战尚未得到探索,因此,降低通信开销,提高传输效率对于联邦学习是至关重要的。[0003] 研究表明,适当地减少神经网络参数并不会太过明显降低模型的精确程度,但能大幅度减小模型体积和减少资源消耗,这些理论和研究的推动下,联邦学习引入了模型压缩的方法来简化模型,降低通信传输成本。目前,现有方案主要是通过减少神经网络中的参数冗余性,达到模型运算量和精确性之间的权衡,对模型检测精度造成相对较小影响的同时,压缩模型网络结构以降低资源占用。权重压缩加速主要是模型剪枝、模型量化等方法。模型剪枝主要是移除不重要的权重来实现权重稀疏化以减少模型的复杂性和计算负担;权重量化主要是指对神经网络模型的权重改为低精度方式表达,相对一般模型中常用浮点数来表达数据类型,量化将其调整为低位定点整数,进而降低了整体模型参数量的大小,提高推理速度。[0004] 尽管这些方法在减小联邦学习通信成本方面取得了一些进展,但仍存在一定的局限性。例如现有的量化方法通常仅考虑固定位宽策略而忽略了不同网络层的特性,且模型剪枝存在搜索空间过大的问题。[0005] 目前,联邦学习也被广泛应用于工业场景下的检测,例如工厂环境下,检测生产环节的摄像头、传感器等,这些设备具有一定的计算能力,但计算能力弱,如何通过联邦学习来利用这些设备的计算能力对产线的产品表面瑕疵进行检测,从而有效提高良品率,还有待探索。发明内容[0006] 本发明提供了一种基于混合精度量化与模拟退火剪枝的联邦学习训练方法,其目的是为了通过多尺度位宽对本地模型中不同的网络层进行混合精度量化,提升联邦学习整体的通信和数据传输效率,从而提高产线的产品表面瑕疵检测精度。[0007] 为了达到上述目的,本发明提供了一种基于混合精度量化与模拟退火剪枝的联邦学习训练方法,包括:[0008] 步骤1,中央服务器对原始全局模型的模型参数进行初始化,得到初始化全局模型,并将初始化全局模型进行量化处理后与训练任务同时下发至多个本地工业设备;[0009] 步骤2,针对每个本地工业设备,本地工业设备对量化后的初始化全局模型进行反量化处理,并通过本地工业设备采集的本地工业产品图像对反量化后的初始化全局模型进行训练,得到本地模型;[0010] 步骤3,在每个本地工业设备中,根据本地模型的模型参数的敏感特性选择多尺度位宽,并通过多尺度位宽对本地模型中不同的网络层进行混合精度量化,得到量化损失函数;[0011] 步骤4,在每个本地工业设备中,通过增强型模拟退火搜索算法求解本地模型的层剪枝率,并利用层剪枝率对本地模型进行剪枝,得到剪枝后的损失函数;[0012] 步骤5,每个本地工业设备根据量化损失函数和剪枝后的损失函数计算综合损失,并利用综合损失对本地模型进行迭代更新,得到本地稀疏模型并上传至中央服务器;[0013] 步骤6,中央服务器分别对所有本地稀疏模型进行反量化处理,并将所有经过反量化处理后的本地稀疏模型进行聚合,得到全局模型;[0014] 步骤7,判断全局模型是否满足预设训练条件;若是,则训练结束,得到用于工业产品表面缺陷检测的全局模型;否则,将全局模型作为步骤1中的原始全局模型,并返回执行步骤1。[0015] 进一步来说,模型参数包括:[0016] 模型结构参数、网络初始参数、超参数、正则化参数和损失函数。[0017] 进一步来说,步骤3包括:[0018] 在每个本地工业设备中,通过对本地模型中每一个网络层的权重值标准差与本地模型中所有网络层权重标准差所组成数列的四分位点进行比较,自动选择量化位宽;[0019] 通过量化位宽计算量化缩放因子;[0020] 通过本地模型的模型参数、量化缩放因子计算零基准值;[0021] 通过量化缩放因子和零基准值求解得到量化后的本地模型的模型参数;[0022] 利用量化后的本地模型的模型参数、零基准值、量化缩放因子对量化后的本地模型进行反量化处理后得到量化损失函数。[0023] 进一步来说,量化位宽的取值为:[0024][0025] 其中, 表示第 个网络层的量化位宽, , 表示第 个网络层的权重值标准差, 表示所有网络层权重标准差所组成的数列, 表示数列 的下四分位点, 表示数列 的上四分位点, 均表示量化位宽的尺度。[0026] 进一步来说,通过量化位宽 计算量化缩放因子 的表达式为:[0027][0028] 通过本地模型的模型参数 、量化缩放因子 计算零基准值 的表达式为:[0029][0030] 通过量化缩放因子 和零基准值 求解得到量化后的本地模型的模型参数 的表达式为:[0031][0032] 利用量化后的本地模型的模型参数 、量化缩放因子 、零基准值对量化后的本地模型进行反量化处理的表达式为:[0033][0034] 计算量化损失函数 的表达式为:[0035][0036] 其中,为中间表达式,无具体含义, , 表示量化缩放因子, 表示零基准值, 表示模型参数的最大值, 表示截断函数,表示模型参数的最小值, 表示最终量化后的整型模型参数, 表示经反量化处理的量化后的本地模型的模型参数, 表示本地模型的原始损失函数,表示量化误差, 表示权重因子, 表示调节因子,表示L1正则化项。[0037] 进一步来说,步骤4包括:[0038] 对本地模型的层剪枝率进行初始化;[0039] 通过对初始化后的层剪枝率增加扰动产生新层剪枝率,并约束新层剪枝率,以使新层剪枝率小于等于本地模型的总剪枝率;[0040] 将通过新层剪枝率剪枝并量化的本地模型的模型准确率作为适应度评价指标;[0041] 根据模拟退火搜索算法的规则和适应度评价指标选择接受或拒绝新层剪枝率,直至完成本轮搜索,输出在当前总剪枝率下的满足预设要求的层剪枝率;[0042] 利用满足预设要求的层剪枝率对本地模型进行剪枝,得到剪枝后的损失函数。[0043] 进一步来说,剪枝后的损失函数的表达式为:[0044][0045] 其中, 表示正则化项, 表示剪枝后的本地模型的模型参数, 表示第 个卷积核, 表示网络层的数量, 表示第 个网络层的卷积核数量, 表示正则化系数。[0046] 进一步来说,步骤6包括:[0047] 中央服务器分别对所有本地稀疏模型进行反量化处理,得到经反量化处理后的本地稀疏模型的模型参数 表达式如下:[0048][0049] 通过FedAvg方法将所有经过反量化处理后的本地稀疏模型 进行平均聚合,得到全局模型,平均聚合的表达式为:[0050][0051] 其中, 表示服务器端反量化处理后的各个本地稀疏模型的模型参数;表示服务器端收到客户端上传的各个本地模型参数; 表示聚合后的全局模型,即联邦学习下一轮的初始全局模型参数; 表示对 个客户端进行联邦学习平均聚合。[0052] 本发明的上述方案有如下的有益效果:[0053] 本发明通过中央服务器对原始全局模型的模型参数进行初始化,得到初始化全局模型,并将初始化全局模型进行量化处理后与训练任务同时下发至多个本地工业设备;每个本地工业设备对量化后的初始化全局模型进行反量化处理,并通过本地工业产品图像对反量化后的初始化全局模型进行训练,得到本地模型;在每个本地工业设备中,根据本地模型的模型参数的敏感特性选择多尺度位宽对本地模型进行混合精度量化,得到量化损失函数;在每个本地工业设备通过增强型模拟退火搜索算法求解层剪枝率,并利用层剪枝率对本地模型进行剪枝,得到剪枝后的损失函数;每个本地工业设备根据量化损失函数和剪枝后的损失函数计算综合损失,并利用综合损失对本地模型进行迭代更新,得到本地稀疏模型并上传至中央服务器;中央服务器分别对所有本地稀疏模型进行反量化处理,并将所有经过反量化处理后的本地稀疏模型进行聚合,得到全局模型;判断全局模型是否满足预设训练条件;若是,则训练结束,得到用于工业产品表面缺陷检测的全局模型;否则,将全局模型作为步骤1中的原始全局模型,并返回执行步骤1;与现有技术相比,本发明根据本地模型的模型参数的敏感特性选择多尺度位宽对本地模型进行混合精度量化,促使聚合过程中数据量显著降低,达到聚合加速的效果,且通过增强型模拟退火搜索算法求解层剪枝率,并利用层剪枝率对本地模型进行剪枝得到本地稀疏模型,只更新关键且有效的数据,并有效地提升了联邦学习整体的通信和数据传输效率,通过全局模型进行工业产品表面缺陷检测,也提高了产线的产品表面瑕疵检测精度。[0054] 本发明的其它有益效果将在随后的具体实施方式部分予以详细说明。附图说明[0055] 图1为本发明实施例的流程示意图;[0056] 图2为本发明实施例的框架示意图。具体实施方式[0057] 为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。[0058] 在本发明的描述中,需要说明的是,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。[0059] 在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是锁定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。[0060] 此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。[0061] 本发明针对现有的问题,提供了一种基于混合精度量化与模拟退火剪枝的联邦学习训练方法。[0062] 在本发明实施例中,联邦学习的框架包括:中央服务器和多个本地客户端;[0063] 全局模型为深度卷积神经网络Resnet‑50,该模型通常用于图像检测和分类任务。[0064] 联邦学习过程如下:[0065] 将本地工业设备作为联邦学习中的本地客户端,在本发明实施例中本地工业设备可以是生产车间内的视觉设备,例如生产线上的摄像头或传感器,用于采集工业产品图像作为本地数据集,产品可以是钢材、布偶玩具等,利用本地工业产品图像对中央服务器下发的量化后的初始化全局模型进行训练,得到本地模型;[0066] 在本发明实施例中联邦学习中的中央服务器可以是桌上型计算机、笔记本、掌上电脑、服务器、服务器集群及云端服务器等计算设备,用于构建原始全局模型、对原始全局模型进行初始化、量化处理、对多个本地工业设备上传的本地稀疏模型进行反量化后再进行聚合得到全局模型;[0067] 最后通过全局模型对待检测的工业产品图像数据进行表面缺陷检测,例如当全局模型对钢材图像进行表面缺陷检测,得到的检测结果是钢材是否存在凹陷、裂纹等,当全局模型对布偶玩具图像进行表面缺陷检测,得到的检测结果是布偶玩具是否存在裸露的填充物等。[0068] 如图1、图2所示,本发明的实施例提供了一种基于混合精度量化与模拟退火剪枝的联邦学习训练方法,包括:[0069] 步骤1,中央服务器对原始全局模型的模型参数进行初始化,得到初始化全局模型,并将初始化全局模型进行量化处理后与训练任务同时下发至多个本地工业设备;[0070] 步骤2,针对每个本地工业设备,本地工业设备对量化后的初始化全局模型进行反量化处理,并通过本地工业设备采集的本地工业产品图像对反量化后的初始化全局模型进行训练,得到本地模型;[0071] 步骤3,在每个本地工业设备中,根据本地模型的模型参数的敏感特性选择多尺度位宽,并通过多尺度位宽对本地模型中不同的网络层进行混合精度量化,得到量化损失函数;[0072] 步骤4,在每个本地工业设备中,通过增强型模拟退火搜索算法求解本地模型的层剪枝率,并利用层剪枝率对本地模型进行剪枝,得到剪枝后的损失函数;[0073] 步骤5,每个本地工业设备根据量化损失函数和剪枝后的损失函数计算综合损失,并利用综合损失对本地模型进行迭代更新,得到本地稀疏模型并上传至中央服务器;[0074] 步骤6,中央服务器分别对所有本地稀疏模型进行反量化处理,并将所有经过反量化处理后的本地稀疏模型进行聚合,得到全局模型;[0075] 步骤7,判断全局模型是否满足预设训练条件;若是,则训练结束,得到用于工业产品表面缺陷检测的全局模型;否则,将全局模型作为步骤1中的原始全局模型,并返回执行步骤1。[0076] 具体来说,在步骤1中,中央服务器对原始全局模型的模型参数进行初始化,模型参数包括:模型结构参数、网络初始参数、超参数、正则化参数和损失函数;中央服务器还需要初始化包括数据隐私与安全策略、客户端选择与管理、通信策略、客户端训练配置、资源分配和调度等其他设置;中央服务器首先将初始化全局模型进行量化处理,其次选择 个参与到本轮迭代的本地工业设备,并向其广播量化处理后的初始化全局模型 和本轮训练任务,将量化后的初始化全局模型下发至各个本地工业设备。[0077] 具体来说,步骤2包括:[0078] 各个本地工业设备将接收到量化后的初始化全局模型后,首先对其进行反量化,得到量化后的初始化全局模型的模型参数 ;[0079] 其次,每个参与的本地工业设备用采集的本地数据,即工业场景下的视觉检测数据,如正常和异常情况下的工业产品图像、各自生产线上采集的传感器数据、质量控制数据、机器运行状态数据,在本地工业设备各自训练得到本地模型 。[0080] 具体来说,步骤3包括:[0081] 在每个本地工业设备中,通过对本地模型中每一个网络层的权重值标准差与本地模型中所有网络层权重标准差所组成数列的四分位点进行比较,自动选择量化位宽;[0082] 通过量化位宽计算量化缩放因子;[0083] 通过本地模型的模型参数、量化缩放因子计算零基准值;[0084] 通过量化缩放因子和零基准值求解得到量化后的本地模型的模型参数;[0085] 利用量化后的本地模型的模型参数、零基准值、量化缩放因子对量化后的本地模型进行反量化处理后得到量化损失函数。[0086] 量化损失函数的求解过程如下:[0087] 量化是对整个本地模型的参数类型进行优化,模型参数的存储类型一般为float32,可以将其转换为低精度格式int16、int8等;因此使用量化处理可以显著减少需要传输的数据量,有助于降低通信成本,本发明实施例选用基于对数的混合精度量化方案对本地模型进行量化,具体如下:[0088] 通过设定的位宽 和本地模型的模型参数 确定参数映射因子为:[0089][0090] 其中,为中间表达式,无具体含义, , 表示量化缩放因子, 通过缩放参数范围建立了输入参数数据分布与量化张量之间的映射关系,为了进一步实现转化,还需要确定零基准值 ,其取决于模型参数极值位置与距离分布;[0091] 通过所述量化缩放因子 和所述基准值求解得到量化后的本地模型的模型参数 为:[0092][0093][0094] 其中, 表示模型参数的最大值, 表示截断函数, 表示模型参数的最小值, 表示最终量化后的整型模型参数, 表示取整函数。[0095] 由于使用单一位宽的量化方法,存在忽略不同网络层对量化位宽敏感度不同的问题而造成一定的量化损失,对此,本发明实施例使用基于数据标准差的权值混合精度量化策略,利用不同位宽敏感度不同的特性使用不同尺度的位宽来改进对数量化效果。在本发明实施例中,以深度卷积神经网络Resnet‑50中的卷积层为例,通过对每一个卷积层权重值标准差与卷积神经网络Resnet‑50中所有卷积层权重标准差所组成数列的四分位点相比较,自动选择量化位数,使得模型能够根据不同卷积层的数据分布特点动态量化参数值,获得更好 的模型量 化效果 ;如对第 个卷积层 的数据 ,其标准 差为 ,为所有卷积层标准差组成的数列, 表示数列 的下四分位点, 表示数列 的上四分位点,量化位宽 的取值为:[0096][0097] 其中, 均表示量化位宽的尺度。[0098] 确定量化位宽后,通过量化位宽 计算量化缩放因子 的表达式为:[0099][0100] 通过本地模型的模型参数 、量化缩放因子 计算零基准值 的表达式为:[0101][0102] 通过量化缩放因子 和零基准值 求解得到量化后的本地模型的模型参数 的表达式为:[0103][0104] 在量化之后,通常需要通反量化还原模型参数来评估量化误差,因此,利用量化后的本地模型的模型参数 、量化缩放因子 、零基准值 对量化后的本地模型进行反量化处理的表达式为:[0105][0106] 计算量化损失函数 ,量化损失函数 由量化误差和正则化项组成,表达式为:[0107][0108] 其中, 表示经反量化处理的量化后的本地模型的模型参数,表示量化误差,即原始数据和反量化数据之间的差异,表示权重因子,用于平衡原始损失和量化误差的重要性, 表示调节因子,用于控制正则化项的影响, 表示L1正则化项,即所有参数的绝对值之和,用于促进参数的稀疏性,该量化损失函数通过调整 和 的值,以找到量化误差、模型性能和参数稀疏性之间的最佳平衡点, 表示全局模型的原始损失函数,指在对模型进行量化之前用于训练模型的损失函数,这个损失函数的选择依赖于具体的联邦学习任务和模型类型,本发明实施例中使用交叉熵损失作为深度卷积神经网络Resnet‑50训练用的原始损失函数,对于单个样本,交叉熵损失函数 的表达式为:[0109][0110] 其中, 表示类别的总数, 表示真实标签的独热编码, 表示模型预测的概率分布,通过softmax函数得到, 表示真实标签的独热编码中第 个元素, 表示模型预测中第 个类别的概率。[0111] 具体来说,步骤4包括:[0112] 对本地模型的层剪枝率进行初始化;[0113] 通过对初始化后的层剪枝率增加扰动产生新层剪枝率,并约束新层剪枝率,以使新层剪枝率小于或等于本地模型的总剪枝率;[0114] 将通过新层剪枝率剪枝并量化的本地模型的模型准确率作为适应度评价指标;[0115] 根据模拟退火搜索算法的规则和适应度评价指标选择接受或拒绝新层剪枝率,直至完成本轮搜索,输出在当前总剪枝率下的满足预设要求的层剪枝率;[0116] 利用满足预设要求的层剪枝率对本地模型进行剪枝,得到剪枝后的损失函数。[0117] 经过上述L1正则化后的参数更具有稀疏性,能够更好地适配接下来的剪枝,鉴于不同网络层的冗余程度不同,本发明实施例通过本地工业设备计算过滤器的绝对权重之和并进行排序,利用增强型模拟退火搜索算法(ESA,EnhancedSimulatedAnnealing),该算法主要包括滤波器剪枝和自适应层剪枝率求解两部分;滤波器剪枝方法是从上述量化后的本地模型中,选择不太有用的过滤器进行修剪,同时考量量化和剪枝损失以提高计算效率,同时最大限度地减少准确性下降;模型各层的剪枝率是影响剪枝效果的重要因素,任一层中剪枝比例过低则压缩程度不足,而过高又将导致精度难以恢复,为此在剪枝中引入增强型模拟退火算法,旨在自适应地确定全模型最佳的层剪枝率分布,搜索当前总剪枝率(初始值为0.1)下的最佳层剪枝率 。[0118] 本发明实施例在剪枝中引入ESA以实现自适应层剪枝率求解,ESA以模拟退火算法SA为基本框架,首先初始化层剪枝率 , 为模型的卷积层数,通过增加扰动产生新层剪枝率 ,并约束其小于或等于总剪枝率 ,即:[0119][0120] 式中, 表示与当前温度 相关的扰动变量, 表示对得到的新向量中的所有元素求和。[0121] 为了快速探索层剪枝率的最优解, 的适应度评价应满足快而准的要求,为此,直接将 下剪枝并量化的模型准确率 作为适应度评价,以满足快速性要求,然后根据SA规则接受或拒绝 ,直至完成本轮退火搜索,输出当前总剪枝率 下的最佳层剪枝率 及剪枝后的本地模型 ;进而,在验证集上快速地微调恢复模型精度,并综合准确率、参数压缩比 和推理加速 全面地评价剪枝后的本地模型 ,称为综合评价,表示为:[0122][0123] 式中, 和 分别表示本地模型和当前剪枝后的本地模型的参数量, 和分别为两模型的推理时间;[0124] 为了最大限度地压缩模型,循环递增总剪枝率 并执行ESA直至总剪枝率,输出最大Q值的层剪枝率和剪枝后的本地模型,经重新训练获得识别率高且更轻、更快的剪枝后的本地模型 。[0125] 另外,本发明实施例中的滤波器剪枝方法是通过计算过滤器的绝对权重之和来衡量过滤器在每一层中的相对重要性;该值为输出特征图量级的预期值,与该层中的其他过滤器相比,具有较小内核权重的过滤器往往会生成激活较弱的特征图,于是能够通过将网络的这些卷积核以及它们的特征图移除掉,极大地减少计算成本。[0126] 设 表示第 个卷积层的输入通道数,从第 个卷积层修剪 个滤波器的具体过程如下:[0127] 首先对于每个滤波器 ,计算其绝对核权重之和 ,为 通道的2D内核数;[0128] 其次,按 对过滤器进行排序;[0129] 接着,使用最小的总和值及其相应的特征图修剪 个过滤器;与修剪后的特征图相对应的下一个卷积层中的内核也会被删除;[0130] 最后,为第 层和第 层创建一个新的核矩阵,并将剩余的核权重重新复制到新模型中,修剪第 层的 个滤波器将减少第 层和第 层的 计算成本。[0131] 综上,剪枝后的损失函数 由先前的损失函数 和正则化项组成,表达式为:[0132][0133] 其中, 表示正则化项,本发明实施例使用权重的L2范数,用于惩罚大的权重值,从而促使网络在剪枝过程中保持稳定, 表示剪枝后的本地模型的模型参数, 表示第 个卷积核, 表示网络层的数量, 表示第 个网络层的卷积核数量, 表示正则化系数,用于平衡数据损失和正则化项之间的重要性。[0134] 本本发明实施例根据模型的性能反馈调整剪枝比例,如果性能损失可接受,可以尝试更高的剪枝比例以减少更多的权重,如果性能损失过大,可能需要减低剪枝比例。在上述的剪枝过程中,一些卷积核被移除,相应的模型参数也被从计算中剔除,修剪后的网络具有完全相同的结构,但过滤器和通道更少;损失函数 会反映出联邦学习网络结构的变化,并在训练过程中引导网络参数的调整。同时,损失函数能够通过调整 和 来平衡量化和剪枝对模型造成的数据损失,以达到模型在性能和精度损失的平衡。[0135] 具体来说,步骤5包括:[0136] 每个本地工业设备根据量化损失函数和剪枝后的损失计算综合损失;[0137][0138] 综合损失即为联合量化和剪枝后的损失 ,其中包括量化的损失和剪枝的正则化项,而量化的损失又包含模型原始损失函数 (如交叉熵损失、均方误差损失函数等,这取决于具体的联邦学习任务)和量化的正则化项;[0139] 利用综合损失对本地模型进行迭代更新,得到本地稀疏模型 并上传至中央服务器,减少了模型在联邦学习网络通信传输中的资源占用。[0140] 具体来说,步骤6包括:[0141] 中央服务器接收到 个本地工业设备上传的本地稀疏模型 后,分别对所有本地稀疏模型进行反量化处理,根据本地工业设备的量化权重、映射因子、零基准值运算得到经反量化处理后的本地稀疏模型的模型参数 ,表达式如下:[0142][0143] 为了使全局模型更加精准地识别和分类工业图像,具有更好的泛化能力,可以广泛应用于各种工业生产环境中,提高视觉检测的准确性和效率,本发明实施例通过FedAvg方法将所有经过反量化处理后的本地稀疏模型 进行平均聚合,得到全局模型,平均聚合的表达式为:[0144][0145] 其中, 表示服务器端反量化处理后的各个本地稀疏模型的模型参数;表示服务器端收到客户端上传的各个本地模型参数; 表示聚合后的全局模型,即联邦学习下一轮的初始全局模型参数; 表示对 个客户端进行联邦学习平均聚合。[0146] 为验证本发明实施例所提供的方法产生的技术效果,并与现有方法进行对比:本发明实施例所提供的方法在对数量化的基础上,结合使用基于标准差的量化及基于标准差的权重混合bit量化方法,以Resnet50网络为具体模型,使用交叉熵损失为Resnet‑50训练的原始损失函数。[0147] 对比分析实验效果得出:基于标准差的对数混合精度量化方法能够使得量化模型相比于原始模型Top1准确率基本降低到1%以内,同时混合精度量化能够减小75%左右的模型大小,有效地改善了单一精度的对数量化效果,使得对数量化模型达到与原始模型几乎相同的模型准确率。而联合量化与剪枝后,改进的模型与原始模型的模型准确率均基本一致,相差最大仅为1%左右,即联合量化和剪枝并不会明显降低工业产品表面缺陷检测的准确率。同时,模型计算量和参数量的压缩比提高,并实现了推理加速,即推理耗时下降,模型规模和部署应用的硬件门槛显著降低,具有节约通信开销和硬件成本的优势。[0148] 综上所述,本发明实施例通过中央服务器对原始全局模型的模型参数进行初始化,得到初始化全局模型,并将初始化全局模型进行量化处理后与训练任务同时下发至多个本地工业设备;每个本地工业设备对量化后的初始化全局模型进行反量化处理,并通过本地数据对反量化后的初始化全局模型进行训练,得到本地模型;在每个本地工业设备中,根据本地模型的模型参数的敏感特性选择多尺度位宽对本地模型进行混合精度量化,得到量化损失函数;在每个本地工业设备通过增强型模拟退火搜索算法求解层剪枝率,并利用层剪枝率对本地模型进行剪枝,得到剪枝后的损失函数;每个本地工业设备根据量化损失函数和剪枝后的损失计算综合损失,并利用综合损失对本地模型进行迭代更新,得到本地稀疏模型并上传至中央服务器;中央服务器分别对所有本地稀疏模型进行反量化处理,并将所有经过反量化处理后的本地稀疏模型进行聚合,得到全局模型;判断全局模型是否满足预设训练条件;若是,则训练结束,得到用于工业产品表面缺陷检测的全局模型;否则,将全局模型作为步骤1中的原始全局模型,并返回执行步骤1;与现有技术相比,本发明实施例根据本地模型的模型参数的敏感特性选择多尺度位宽对本地模型进行混合精度量化,促使聚合过程中数据量显著降低,达到聚合加速的效果,且通过增强型模拟退火搜索算法求解层剪枝率,并利用层剪枝率对本地模型进行剪枝得到本地稀疏模型,只更新关键且有效的数据,并有效地提升了联邦学习整体的通信和数据传输效率,通过全局模型进行工业产品表面缺陷检测,也提高了产线的产品表面瑕疵检测精度。[0149] 以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

专利地区:湖南

专利申请日期:2024-06-14

专利公开日期:2024-09-03

专利公告号:CN118364897B


以上信息来自国家知识产权局,如信息有误请联系我方更正!
电话咨询
读内容
搜本页
回顶部