基于联邦卷积神经网络的鱼类检测系统

2023-09-14 09:52杨晓雨周彩凤
计算机技术与发展 2023年9期
关键词:联邦鱼类客户端

杨晓雨,周彩凤

(华北电力大学 数理学院 河北省物理与能源技术重点实验室,河北 保定 071003)

0 引 言

近年来,鱼类分类与识别技术得到广泛应用。在深海捕鱼中,鱼类识别技术被应用于鱼类检测器和鱼类分类器,在实现劳动力节约的同时,提高了鱼类分类的准确性。因此,鱼类识别技术能够为人类生活带来极大便捷,鱼类识别技术的研究对于机器视觉的研究也具有重要意义[1]。

与此同时,一些深度卷积网络模型(如ResNet[2]、VGG16[3]、Transformer[4])在图像分类方面取得了令人印象深刻的突破,许多研究人员也将这些深度学习模型运用于鱼类的分类技术,有效提高了鱼类分类的效率以及准确性。然而,水下拍摄的鱼类图像面临着噪声、遮挡、复杂环境限制亮度、光照不一致、水中沉淀物和起伏的水下植物等问题[1]。过往提出的一些算法很难通过不清晰且具有诸多干扰项的图像来学习鱼类的特征。另一方面,受限于标记数据少、训练数据集不平衡和过拟合等原因,在具体使用这类深度卷积模型时依旧存在效率不高且精度下降的现象。

基于上述鱼类识别分类中存在的问题,该文提出一种基于联邦学习的鱼类分类解决系统。使用卷积神经网络作为基本模型,并在其基础上使用联邦学习技术对数据集进行拆分处理,通过将训练分散本地处理以及最终中心参数聚合的方法,改善当前数据集不均衡且训练效率不高的问题。经过仿真实验分析,所提出的鱼类分类系统在训练的质量上以及效率上较以往提出的鱼类分类系统具有一定的优越性。

1 相关工作

国内外许多学者已经在鱼类分类领域进行了较深入的研究,本节将依照鱼类分类技术的发展历程,概述鱼类识别技术的进展以及解决问题的系统。

在深度学习与计算机视觉结合用于鱼类分类之前,White D J等人便提出了一种基于从鱼的轮廓获得的多边形矩量计算来确定鱼的方向的方法[5],用于识别和测量不同鱼类。但是,这种方法仅包括长宽比较大的鱼,限制了可用物种的数量。在这之后,Wu等人采取灰度共生矩阵、最小二乘支持向量机并采用人工蜂群算法对多核LS-SVM中的待定参数进行寻优的方法[6],实现了淡水鱼种类自动识别。同年,Yousef等人介绍了一种高效的视觉信号处理系统[7],使用应用于视频帧内最佳局部区域的相关过滤器来检测馈送量,然后通过基于SVM的细化分类器来抑制错误检测到的馈送,实现了以自动化的方式准确控制进料的过程。

随着深度神经网络的发展,神经网络为图像分类带来了一系列突破,越来越受到人们的青睐,但神经网络也伴随着更深层次的训练更新产生了更多的问题,这其中包括梯度消失以及梯度爆炸。基于上述问题,He等人提出了一个剩余学习框架[8],以简化比以前使用的网络更深的网络训练。同年,Ren等人建立了一种区域前定位网络[9],实现几乎无成本的区域建议,提高整体目标检测精度。随着神经网络在鱼类识别分类领域研究的深入,Dhruv等人采用卷积神经网络、形态学运算、Otsu二值化等方法[1],实现了水下鱼类的分类。但这也同时存在着由于背景噪声和其他水体的影响,对部分图像无法进行准确分类的问题。针对海底环境恶劣,海底观测视频品质差,图片中鱼类占比小难识别这一问题,Zhang等人通过背景差分法、暗通道先验算法去雾、权重化特征的卷积等方法提高了图片的品质[10]。Zheng等人则提出了一种基于局部区域的鱼类区域建模方法[11],以强制模型关注鱼类区域,改善了图片中鱼类占比小的问题。Chen等人提出了一种深度神经鱼类分类系统[12],可以在不受人类干扰的情况下使用相机自动标记鱼。

在云计算、人工智能、神经网络等快速发展的同时,数据集变得越来越大,模型变得越来越复杂,数据也变得越来越分散。机器学习需要在多台机器上进行参数优化[13]。人们的隐私保护意识也越来越强烈。由于联邦学习具有很好地保护用户数据隐私的特性,以及目前存在许多优化算法[14-16],联邦学习在近几年迅速崛起。联邦学习最早是在2016年由谷歌提出的[17],目标是在保证数据隐私安全及合法合规的基础上,实现共同建模,提升AI模型的效果。虽然联邦学习很好地保护了用户数据的安全性,但是由于非独立同分布数据的存在,联邦学习的效率、准确性和通信成本等都有了很大的限制。除了通信外聚合也是影响联邦学习性能的另一个瓶颈。为此,前辈们做了许多尝试,McMahan等人[17]提出了联邦平均算法FedAvg。为了提高FedAvg模型的性能,Sahu等人[18]提出了FedProx模型,使得局部更新接近于原始的全局模型。为了减少客户端的计算量,Yurochkin等人[19-20]提出了概率联邦神经匹配方法。然而,它只适用于简单的网络架构,例如全连接网络(Fully Connected Network,FCN)。由此看出,这些聚合算法都存在一些问题,例如不能同时考虑全局模型对局部更新的影响,不能减少客户端的计算量,也不能同时应用于如今流行的网络模型。

综上所述,随着鱼类分类技术走向成熟,神经网络在鱼类识别中起到了越来越重要的作用。与此同时,由于数据变得越来越分散,以及模型的复杂程度增加,联邦学习也逐渐受到人们的青睐。在前人发展鱼类识别技术至今的历程中,该文充分吸收了一些系统的优势以及思考了当前鱼类识别分类所面临的新的问题,提出了一种基于联邦学习的鱼类识别分类解决系统,致力于解决鱼类识别分类过程效率低、精度差的问题,以此达到鱼类识别进程的优化。

2 文中方法

2.1 鱼类分类识别系统结构

基于联邦卷积神经网络的鱼类分类系统如图1所示。该系统先将数据集中的图片随机分发给100个用户,并将这些图片视为用户本身拥有的数据,这些数据满足非独立同分布的特点。用户得到数据后会对本地的卷积神经网络模型进行训练。虽然每个用户的卷积神经网络模型具有相同的结构,但是由于每个用户所拥有的数据集不同,所训练得到的模型参数也会不同。训练完成后,用户会将模型参数上传到云端。云端将完成模型参数的聚合与更新,并将更新好的参数返回到用户的终端,各个用户开始下一轮迭代。以上过程会一直重复,直到整个模型收敛。

2.2 卷积神经网络模型模块

使用的神经网络模型结构如图1所示,输入层将不同大小的图片转换成180*180*3作为模型的输入。卷积层是卷积神经网络的第一层,输入的180*180*3原始RGB图像首先进行第一层卷积,在这一层中用到10个5*5的卷积核,后经过第一层最大池化,窗口的大小为2,步长也为2;接下来进行第二层卷积,第二层用到20个5*5的卷积核,卷积操作后将得到的特征图进行第二次最大池化,为防止模型过拟合,该层进一步连接到一个Dropout层和一个Flatten层,Flatten层后是第一个全连接层,该全连接层有50个神经元,进一步连接到第二个全连接层,该全连接层神经元的个数等于最终分类的种类数,用来将图像划分为适当类别。实验使用RELU(Rectified Linear Unit)作为激活函数。在最后一层,全连接层需要计算出每个类别对应的分数,使用softmax分类器[21]将得分转化为概率值,概率值大的类型就是该类别对应的类别。

对于模型的训练,实验运用交叉熵计算估计值与实际值之间的误差,采用随机梯度下降SGD(Stochastic Gradient Descent)[21]作为优化器,结合反向传播算法训练神经网络。

2.3 联邦学习模块

联邦学习是一种加密的分布式机器学习范式,一般由多个客户端(如移动设备)和一个中央服务器(如服务提供商)组成[18]。其特点是各参与客户端的数据始终保持在用户本地,各参与客户端利用自己的本地数据和本地资源进行本地训练,待训练完成后再将参数上传到服务器进行整合。典型的联邦学习场景是在本地客户端设备负责存储和处理的约束下,只上传模型更新的梯度信息,在数千万到数百万个客户端设备上训练单个全局模型ω,中心服务器的目标函数F(ω)通常表现为:

其中,m是参与训练的客户端设备总数,n是所有客户端数据量总合,nk是第k个客户端的数据量,Fk(ω)是第k个设备的本地目标函数。

根据联邦学习中数据集的贡献方式可以将联邦学习分为三类:横向联邦学习(Horizontal Federated Learning,HFL)、纵向联邦学习(Vertical Federated Learning,VFL)和联邦迁移学习(Federated Transfer Learning,FTL)。横向联邦学习指的是不同的参与方有较多的数据样本特征(横向)重叠而数据样本(纵向)重叠较少。纵向联邦学习指的是不同参与方有较多的数据样本重叠而数据样本特征重叠较少。联邦迁移学习是对横向联邦学习和纵向联邦学习的补充,指的是不同参与方的数据样本以及数据样本特征的重叠都较少的情况。该文主要采用横向联邦学习,并在实验中对横向联邦学习进行模拟。

在横向联邦学习中,可以看作是基于样本的分布式模型训练,分发全部数据到不同的机器,每台机器从服务器下载模型,然后利用本地数据训练模型,之后返回给服务器需要更新的参数;服务器聚合各机器上返回的参数,更新模型,再把最新的模型反馈到每台机器。在这个过程中,每台机器都是相同且完整的模型,且机器之间不交流不依赖,在预测时每台机器也可以独立预测,可以把这个过程看作成基于样本的分布式模型训练。横向联邦学习模型如图2所示。

图2 横向联邦学习

2.4 联邦学习的non-IID数据

在概率论与统计学中,独立同分布(Independent and Identically Distributed,IID)是指一组随机变量中每个变量的概率分布相同并且每个变量之间相互独立。而非独立同分布(non Independent and Identically Distributed,non-IID)是指随机变量之间非独立或者非同分布。在联邦学习中,non-IID是指数据独立但不同分布的情况,因为数据的分布一定是独立的,但是数据的采集不一定服从同一采样方法。由于在现实生活中各个用户所拥有的鱼类图片并非独立同分布的。一般会受到季节、气候、地点等因素的影响。故本次实验中对用户所拥有的数据进行非独立同分布的模拟。

3 实 验

3.1 数据集介绍

该文选择了11种常见的鱼类作为分类对象,分别是比目鱼、大黄鱼、带鱼、翻车鱼、飞鱼、狗鱼、蝴蝶鱼、金枪鱼、魔鬼鱼、网纹鱼、鳕鱼,数据集如图3所示。由于这些RGB鱼类图片的大小不同,考虑到图片的平均大小,在实验中将图片统一调整为180*180,同时将数据集划分为三部分,原数据集一共有739张图片,将数据集划分为包含443张的训练集、包含148张的验证集和包含148张的测试集。

图3 数据集展示

3.2 实验细节

实验用到的CPU是AMD Ryzen 7 4800U 1.80 GHz,实验环境为Windows 11,Python版本为3.7.3,Pytorch版本为1.2.0,torchvision版本为0.4.0。

在实验过程中,模拟了100名用户,在每一轮的训练中随机选取10名用户,并将数据按照非独立同分布的方式等分成10份,随机分配到10名用户手中,这是一个模拟的过程。在数据分发给用户后,直到训练结束,每个用户的数据都不会进行任何的交换和共享,以此来达到数据隔离的目的。在每个用户进行卷积神经网络训练的过程中,都会将自身的数据划分成60%的训练集、20%的验证集和20%的测试集。以交叉熵作为损失函数,以学习率为0.01的随机梯度下降算法作为优化器更新模型参数,一共训练20轮。并将训练结果传递给聚合器。聚合器将这些用户的参数值取平均,更新全局模型。在模型训练的过程中记录下模型在测试集上的准确率,用于分析实验结果。

3.3 评价指标

实验中,每名用户的损失函数采用交叉熵损失函数:

其中,K是种类数;y是标签,如果是类别i,则yi=1,否则等于0;p是神经网络的输出,即类别是i的概率。每名用户计算完自己的损失后,将自己的损失上传到云端,云端将损失按照如下公式进行聚合,并将聚合后的损失作为模型的损失。

其中,nk为每个客户端上的数据批次的数目,fi(ω)是根据客户端上每一批次计算出的损失。

3.4 结果分析

为了展示联邦卷积神经网络模型在野生鱼类识别方面的作用,实验将联邦卷积神经网络的实验结果与用于图像分类的Resnet50[2]和传统的联邦学习方法在相同数据集上的运行结果进行对比。在本次实验中,传统的联邦学习中每个用户用到的模型是全连接神经网络。运行结果如图4所示。

图4 实验结果

由图4所示,联邦卷积神经网络模型的最终分类准确率为33.3%,而传统的联邦学习的分类准确率为26.67%,Resnet50的分类准确率为87.97%。联邦卷积神经网络模型的损失为0.781,传统联邦学习的损失为1.874,Resnet50的损失为0.074。

从图4可以很直观地看到,联邦卷积神经网络的分类准确率高于传统的联邦学习的分类准确率,并且相比于传统的联邦学习联邦卷积神经网络的损失收敛更快,这主要是由于采用联邦学习与卷积神经网络模型结合的方式进行训练,提高了联邦学习的训练效率。联邦学习提供的快速模糊化处理以及数据独立的特性,使得鱼类分类的效率和数据保护得到了有力保障。传统的神经网络在联邦学习的框架下应用,可以比较好地实时估算全局模型聚合频率,使得算法能够在保证模型精度的前提下提高训练效率,降低学习成本。但是联邦卷积神经网络相比于Resnet50还是存在一定差距,这主要是由于联邦卷积神经网络考虑了用户的隐私,并且在联邦卷积神经网络中各用户的卷积神经网络的架构与Resnet50存在差异。

4 结束语

本次实验中,卷积神经网络与联邦学习结合改善了联邦学习的通信有效性和资源优化问题。与此同时,联邦学习提供的快速模糊化处理与数据独立的特性也为鱼类的检测与识别的效率和数据保护提供了有力的支持。经过仿真实验表明,联邦卷积神经网络模型相比于传统的联邦学习在效率和模型精度方面分别提升了12%和16.3%。该研究结果有助于进一步提升鱼类检测与识别的精度,同时为智能鱼缸、智能鱼类捕捞分类等提供便利。但是,该实验还有许多不足之处,首先实验用到的模型还可以进一步优化,比如加深模型中卷积神经网络网络的深度、增加训练轮数等,也可以尝试其他神经网络比如VGG等与联邦学习进行结合从而识别图像。其次,实验对非独立同分布用户的训练模型的模拟均采用的是相同卷积神经网络,然而在实际生活中,由于不同地区、不同环境下用户的数据分布情况是不同的,用户的模型也是有差异的,如果直接视为一类进行上传聚合,生成的模型与目标模型必定存在偏差。最后,在联邦学习与深度学习的结合方面还面临诸多挑战。在非独立同分布数据的处理方面还存在很大的不足。对独立同分布数据和非独立同分布数据缺乏有效的优化算法来提高模型的收敛速度。后续研究还可以根据联邦学习适当调整机器学习的工作或算法,从而提高模型的性能。

猜你喜欢
联邦鱼类客户端
基于MFCC和ResNet的鱼类行为识别
一“炮”而红 音联邦SVSound 2000 Pro品鉴会完满举行
鱼类运动会
303A深圳市音联邦电气有限公司
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
基于Vanconnect的智能家居瘦客户端的设计与实现
鱼类是怎样保护自己的
20年后捷克与斯洛伐克各界对联邦解体的反思
客户端空间数据缓存策略