当前位置: 首页 > 专利查询>南京大学专利>正文

一种适用于光电存算一体处理单元串扰的训练方法技术

技术编号:28560541 阅读:40 留言:0更新日期:2021-05-25 17:55
本发明专利技术公开了一种适用于光电存算一体处理单元串扰的训练方法。该方法的具体步骤为:(1)分别构建不包含串扰条件下和包含串扰条件下的光电存算一体处理单元神经网络功能模型,得到原始网络和串扰网络;(2)推理过程中,分别计算原始网络和串扰网络所输出的分类结果;(3)计算原始网络和串扰网络中间某一个或多个卷积层结果的曼哈顿距离,并且计算两个网络的分类结果的均方误差,得到串扰损失;(4)使用神经网络损失函数计算串扰网络的损失值,再加上串扰损失,得到最终的损失值;(5)通过神经网络反向传播算法,更新串扰网络中的权值。本发明专利技术使得光电存算一体处理单元训练模型在串扰条件下,能够更加准确地预测出正确的结果。

【技术实现步骤摘要】
一种适用于光电存算一体处理单元串扰的训练方法
本专利技术涉及深度学习领域,特别是涉及一种针对光电存算一体处理单元在串扰下训练模型的训练方法。
技术介绍
光电存算一体处理单元(以下简称OPU)器件的光输入串扰分为两种:一种是和成像的工作状态相同,指的是在所有OPU阵列均处于光输入状态的情况下,因为浅槽隔离或深槽隔离不充分,光学调制机构存在偏差(镜头相差,调焦不到位等)导致的类似于成像领域的调制传递函数下降的串扰;另一种是通过行列选址的方式,让单个或某些器件处于光输入状态,相邻器件均处于行选中列不选中或行不选中列选中的状态,并采用均匀光源光输入状态下,因为电场分布不理想等原因导致的不被选中的器件也会发生少量光输入或暗输入的串扰。上述第一种串扰简称为光学串扰,第二种串扰为电学串扰,这两种串扰都会对光输入的精度产生的影响。现有的一些常见损失函数,如交叉熵损失函数无法准确计算由于串扰所带来的误差,因此无法在神经网络的训练过程中对损失进行有效的收敛,导致神经网络的精度下降。
技术实现思路
为了克服上述现有技术的不足,本专利技术提供了一种适用于光电存算一体处理单元串扰的训练方法,以达到最大的光输入精度和最小的串扰。为达上述目的,本专利技术采用的技术方案如下:一种适用于光电存算一体处理单元串扰的训练方法,该方法首先构建在串扰影响下神经网络功能模型,再根据此神经网络模型和原始神经网络的差异设计损失函数,最后通过神经网络反向传播算法对网络进行迭代训练。进一步地,所述方法具体包括以下步骤:步骤1,构建不包含串扰条件下的光电存算一体处理单元神经网络功能模型,称之为原始网络;构建包含串扰条件下的光电存算一体处理单元神经网络功能模型,称之为串扰网络;步骤2,在网络推理过程中,分别计算原始网络和串扰网络所输出的分类结果;步骤3,计算原始网络和串扰网络中间某一个或多个卷积层分类结果的曼哈顿距离,并且计算两个网络的分类结果的均方误差,再将所得的曼哈顿距离和均方误差分别乘以一个系数,相加得到串扰损失;步骤4,使用神经网络损失函数计算串扰网络的损失值,再加上步骤3中所得的串扰损失,得到最终的损失值;步骤5,通过神经网络反向传播算法,更新串扰网络中的权值。进一步地,所述步骤1中,构建串扰网络时,根据不同的原始网络模型,沿着不同方向进行光输入。本专利技术的方法优化了训练过程中的损失函数,解决了OPU训练模型在测试过程中串扰会造成误差的问题。本专利技术的损失函数能够更加准确地模拟实际串扰情况下的模型,不仅可以加速训练过程,而且能得到更好的预测结果。附图说明图1为本专利技术方法的流程图;图2为本专利技术实施例中损失函数计算方法的流程图。具体实施方法下面将结合附图及具体实施例对本专利技术进行详细描述。参照图1,图2,本实施例的一种适用于OPU串扰下的训练方法,具体步骤如下:步骤1,构建不包含串扰条件下的OPU神经网络功能模型,这是理论上不包含任何形式的干扰的理论模型,称之为原始网络net1。以及构建包含串扰条件下的OPU神经网络功能模型,称之为串扰网络net2,该网络根据不同的原始网络模型,沿着不同方向进行光输入。以下为串扰的一个例子:同位线同时进行光输入,沿着字线方向有较大串扰,当阵列行数列数相当的情况下,次光输入方式为串扰较大的方式。CrossYmat=CrossYmat+diag(((zeros(c-i,1)+1)*CrossX),-i)JZfinal(:,j)=JZ(:,j)+CrossY*(max(JZ(:,j))-JZ(:,j))JZfinal=JZfinal+JZ*CrossYmati=[1,c-1];j=[1,c]JZ为原始光输入矩阵,JZfinal为计算串扰后实际输入的光输入值,c为输入矩阵的列数,CrossY为固定系数,CrossYmat为中间计算结果,diag()函数为创建对角矩阵函数,zeros()函数为创建0矩阵函数,max()函数为取最大值函数。在本例中,串扰网络net2按照以上方式来构建。将原始网络net1中的权重按照OPU阵列重新排列,并且按照串扰网络net2方案改变权值。步骤2,在一次推理的过程中,分别计算原始网络和串扰网络的结果。输出包括中间某些卷积层的结果,以及最后输出分类结果。在本例中,如同图2所示,包括第二层卷积层和最后全连接层的输出,分别记为Conv2net1,Conv2net2;以及fc2net1,fc2net2。步骤3,计算原始网络和串扰网络中间某一卷积层结果的L1距离,并且计算两个网络的最终结果的均方误差,结合并称之为串扰损失。串扰损失的表达式如下:L1=λ1Lc1(Conv2net1,Conv2net2)+λ2Lout(fc2net1,fc2net2)其中n为激励的维度。由于中间卷积层的尺寸可能会比较大,采用计算量较小的L1距离算法,可以有效减少训练时的开销。对最终的输出,计算出其均方误差。λ1,λ2为调整各损失函数比例的参数。该串扰损失的前一部分表征原始网络和串扰网络中间某一卷积层由于串扰所带来的差异,后一部分表征原始网络和串扰网络在最后输出上的差异。另外,本例仅取了一层中间卷积层的损失函数Lc1,根据实际网络的层数的加深,可以多取一些中间层Lc2,Lc3……。有助于在较复杂的网络模型下,更加精确地计算串扰对模型的影响。步骤4,使用常见的神经网络损失函数计算串扰网络的损失值,再组合步骤3中所得的串扰损失,得到最终的损失值。Loss=L1+L2其中L2为对串扰网络使用常用损失函数计算其损失。在本例中由于网络模型的任务为分类任务,所以采用交叉熵函数作为计算损失的算法。即:其中,M为类别的数量;yic代表指示变量(0或1),如果该类别和样本i的类别相同就是1,否则是0;pic为对于观测样本i属于类别c的预测概率。步骤5,通过神经网络反向传播算法,更新串扰网络中的权值。本实施例中理想情况下,即不包含串扰情况下的参考神经网络的分类精度为87.69%(使用的网络模型结构类似于alexnet,并做了权重偏置6bit,激励8bit量化处理,数据集为cifar10),加入串扰后的OPU神经网络功能模型分类精度为74.23%,精度下降约13%;而采用本专利技术训练方法后,分类精度为84.11%,精度下降约3%,因此,本专利技术的训练方法能够有效减少在串扰条件下OPU模型精度的下降。本文档来自技高网...

【技术保护点】
1.一种适用于光电存算一体处理单元串扰的训练方法,其特征在于,该方法首先构建在串扰影响下神经网络功能模型,再根据此神经网络模型和原始神经网络的差异设计损失函数,最后通过神经网络反向传播算法对网络进行迭代训练。/n

【技术特征摘要】
1.一种适用于光电存算一体处理单元串扰的训练方法,其特征在于,该方法首先构建在串扰影响下神经网络功能模型,再根据此神经网络模型和原始神经网络的差异设计损失函数,最后通过神经网络反向传播算法对网络进行迭代训练。


2.根据权利要求1所述的一种适用于光电存算一体处理单元串扰的训练方法,其特征在于,所述方法具体包括以下步骤:
步骤1,构建不包含串扰条件下的光电存算一体处理单元神经网络功能模型,称之为原始网络;构建包含串扰条件下的光电存算一体处理单元神经网络功能模型,称之为串扰网络;
步骤2,在网络推理过程中,分别计算原始网络和串扰...

【专利技术属性】
技术研发人员:潘红兵袁晓鹏陈轩
申请(专利权)人:南京大学
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1