0 引 言
1 粮食供应链数据共享分析
表1 稻米数据要素Table 1 Rice data elements |
稻米全供应链环节 | 基本信息 | 环境监测信息 | |
---|---|---|---|
种植 | 种植户基本信息、种植基地信息、灌溉用水水质、基地土壤质量、种子来源、稻米种类、种植时间、种植方式、育苗插秧时间、灌溉排水时间、疾病防治信息、收获时间、自然灾害信息、人为灾害情况、种植操作、肥料信息、农药信息 | 环境实时温度、昼夜温差、环境实时湿度、环境实时光照强度、土壤水分含量、环境氧气/二氧化碳浓度、土壤类型、气候、雨量、光照 | |
收储 | 收购 | 农药抽检记录、稻米产地信息、时间、稻米种类、地点 | 无 |
干燥 | 干燥方式(自然/机械)、干燥前含水量、干燥后含水量 | 环境实时温度 | |
除杂 | 杂质种类、含杂量、除杂率 | 环境实时湿度 | |
入仓 | 库存编号、仓库地址、仓库面积大小、存储环境、产品来源、产品数量、出入库时间、品质证书、质检编号、仓储人员信息 | 环境温度、湿度、氧气浓度、二氧化碳浓度、甲醛、总挥发性有机化合物(Total Volatile Organic Compounds,TVOC) | |
加工 | 垄谷 | 垄谷方式(垄谷机品牌)、出糙率、脱壳率 | 环境实时温度、环境实时湿度 |
碾米 | 碾米方式(化学法/机械法)、整米率、碎米率 | ||
色选 | 色选精度、带出比 | ||
抛光 | 抛光率 | ||
包装 | 商标名称、包装袋来源、规格、原料、加工人员信息、包装时间、产品包装编号、产品批次号、产品质量信息 | ||
仓储 | 仓储企业名称、仓储企业地址、企业法人信息、仓储管理员信息、许可证信息、管理员联系方式、库存编号、产品来源、产品数量、入库时间、质检编号、出库时间 | 环境温度、湿度、氧气浓度、二氧化碳浓度、甲醛、TVOC | |
运输 | 物流企业信息、运输负责人信息、许可证信息、运输工具、工具编号(车牌号)、出发地、出发时间、目的地、途经的城市与目的地、抵达时间、运输车辆内部的温度及卫生情况 | 车内环境温度、车内环境湿度、车内氧气/二氧化碳浓度 | |
销售 | 商家信息、商铺地址、商铺负责人信息、营业许可证信息、产品名称、产品数量、进货时间、产品存储时间、产品存储位置、进货编号、出货时间、基本情况及卫生健康情况 | 销售环境照片 |
2 标识解析体系下的粮食供应链联邦学习架构
2.1 整体架构设计
2.2 标识编码及数据模型设计
2.2.1 标识编码设计
表2 粮食供应链协同计算的任务编码设计Table 2 Task coding design for collaborative food supply chain computing |
a | b | c | d |
---|---|---|---|
01(模型信息编码) | 模型编号 | 信息类型(主从-01、联邦类型-02参数个数-0、收敛条件-04、最大迭代次数-05、初始学习率-06) | |
02(模型训练编码) | 模型编号 | 信息类型(输入信息-01、输出信息-02) | 信息参数数据 |
03(模型结果编码) | 模型编号 | 信息类型(当前步长-01、收敛情况息-02) |
|
表3 粮食供应链协同计算的数据编码设计Table 3 Data coding design for collaborative food supply chain computing |
a | b | c |
---|---|---|
04(种植环节) | 数据编号 | 评价类型(稻谷品种-01、光照条件-02、平均温度-03、土壤类型-04、灌溉水源-05) |
05(加工环节) | 数据编号 | 评价类型(加工工艺等级-01、环境温度-02、环境湿度-03、水分含量-04) |
06(运输环节) | 数据编号 | 评价类型(运输温度-01、环境相对温度-02、储藏形式-03、运输质量-04) |
07(销售环节) | 数据编号 | 评价类型(环境温度-01、环境湿度、售卖时长) |
2.2.2 数据模型设计
3 基于联邦学习的粮食供应链隐私数据流转
3.1 同类主体间横向联邦学习
3.1.1 横向联邦学习架构设计
3.1.2 横向逻辑回归算法
3.1.3 粮食安全风险评估横向联邦学习实现
1)文件配置
表4 横向联邦学习的参数设置Table 4 Parameterization of horizontal federal learning |
参数名称 | 数值 |
---|---|
正则化方式(penalty) | L2 |
停止求解的标准(tol) | 0.000 01 |
正则化强度(alpha) | 0.01 |
单次训练的样本数 | 1 |
学习率(learning_rate) | 0.15 |
最大迭代次数(max_iter) | 500 |
2)横向联邦学习测试验证
表5 横向联邦学习企业模型训练结果Table 5 Horizontal federated learning enterprise model training results |
参与方 | Dataset | auc | Ks | Precision | Recall | F 1-Score | True lable/predict lable | 0 | 1 |
---|---|---|---|---|---|---|---|---|---|
加工厂A | Train | 0.783 46 | 0.515 152 | 0.911 111 | 0.601 212 | 0.895 105 | 0 | 11 | 13 |
1 | 2 | 64 | |||||||
加工厂A和加工厂B | Train | 0.925 926 | 0.833 333 | 0.977 778 | 0.611 111 | 0.958 333 | 0 | 15 | 3 |
1 | 3 | 69 |
表6 横向联邦学习企业风险评估验证结果Table 6 Horizontal federal learning Enterprise risk assessment validation results |
参与方 | 算法 | Dataset | auc | Ks | Precision | recall | F 1-Score | True lable/predict lable | 0 | 1 |
---|---|---|---|---|---|---|---|---|---|---|
加工厂A | 逻辑回归 | Predict | 0.860 248 | 0.763 915 | 0.931 034 | 0.586 957 | 0.926 316 | 0 | 9 | 5 |
1 | 3 | 43 | ||||||||
加工厂A&加工厂B | 逻辑回归 | Predict | 0.916 149 | 0.770 186 | 0.931 034 | 0.586 957 | 0.957 447 | 0 | 12 | 3 |
1 | 1 | 44 | ||||||||
加工厂A&加工厂B | 神经网络 | Predict | 0.896 458 | 0.768 883 | 0.934 702 | 0.624 893 | 0.936 452 | 0 | 11 | 3 |
1 | 2 | 44 |
3.2 异构主体间纵向联邦学习
3.2.1 纵向联邦学习架构设计
3.2.2 纵向逻辑回归算法
3.2.3 粮食安全风险评估纵向联邦学习实现
1)文件配置
表7 纵向联邦学习参数设置Table 7 Parameter setting of vertical federation learning |
正则化方式(penalty) | L2 |
---|---|
停止求解的标准(tol) | 0.000 1 |
正则化强度(alpha) | 0.01 |
单次训练的样本数 | 320 |
学习率(learning_rate) | 0.15 |
最大迭代次数(max_iter) | 1 000 |
2)纵向联邦学习实现结果
表8 不同迭代条件下模型训练结果Table 8 Model training results under different iteration conditions |
max_iter | Dataset | auc | Ks | Precision | Recall | F 1-Score | True lable/predict lable | 0 | 1 |
---|---|---|---|---|---|---|---|---|---|
500次 | Train | 0.953 914 | 0.837 121 | 0.977 778 | 0.666 667 | 0.941 176 | 0 | 18 | 6 |
1 | 2 | 64 | |||||||
1 000次 | Train | 0.961 49 | 0.928 030 | 0.977 778 | 0.666 667 | 0.977 444 | 0 | 22 | 2 |
1 | 1 | 65 |
表9 纵向联邦学习风险评估验证结果Table 9 Model training results under different iteration conditions |
Model | Dataset | auc | Ks | Precision | Recall | F 1-Score | True lable/predict lable | 0 | 1 |
---|---|---|---|---|---|---|---|---|---|
Hetero | Predict | 0.942 434 | 0.900 159 | 0.966 667 | 0.659 048 | 0.959 091 | 0 | 10 | 2 |
1 | 1 | 47 |