欢迎来到知嘟嘟! 联系电话:13095918853 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13095918853
知嘟嘟经纪人
收藏
专利号: 2021101471596
申请人: 浙江工业大学
专利类型:发明专利
专利状态:已下证
专利领域: 计算;推算;计数
更新日期:2023-12-11
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

1.一种高能效神经网络架构的搜索方法,其特征在于将能耗预测模型嵌入神经网络架构搜索算法中,对搜索过程中不同架构的能耗进行预测,并结合损失函数实现高精度、高能效的多目标搜索,具体包括以下步骤:步骤1:构建层级运行时间与功率的多项式回归模型;

步骤2:基于层级的运行时间和功率计算神经网络架构整体能耗;

步骤3:将离散的搜索空间连续化;

步骤4:把能耗作为搜索目标之一加入到神经网络架构搜索过程中。

2.如权利要求1所述的一种高能效神经网络架构的搜索方法,其中步骤1中所述构建层级运行时间与功率的多项式回归模型的具体步骤为:A.采集神经网络推理过程中各层的运行时间T与功率P;

B.对运行时间进行建模,记为 模型分为两部分:KT阶常规多项式和特殊多项式公式为:

所建模型第一部分的KT阶常规多项式是一个与输入特征XT相关的函数,特征向量XT包含了神经网络每一层中的超参,不同类型的网络层超参有所区别,卷积层包含输入尺寸、输出尺寸、滤波器大小、填充值和步长这五个特征;池化层包含输入尺寸、输出尺寸、步长和卷积核大小这四个特征;全连接层包含输入尺寸和输出尺寸这两特征。其中xi表示XT中第i个分量,qij是其中xi在第j项中的指数,cj则是待学习的系数。

第二部分对应特殊多项式 所谓特殊即这部分主要处理与每一层相关的物理运算,包括内存访问总数和浮点运算次数两个特征,但是如第一部分所述,不同类型的网络层对应的XT不同,所以内存访问总数和浮点运算次数时需要依据各层的特征进行计算。其中c′s是待学习的系数。

C.对功率进行建模,记为 与上述运行时间模型类似,模型分为两部分:Kp阶常规多项式和特殊多项式 公式为:所建模型第一部分的Kp阶常规多项式是一个与输入特征向量XP相关的函数,由于功率模型最终的值必然有上限,特征向量XP在XT的基础上扩展了XT所有特征的对数,即卷积层包含输入尺寸、输入尺寸的对数、输出尺寸、输出尺寸的对数、滤波器大小、滤波器大小的对数、填充值、填充值的对数、步长和步长的对数;池化层包含输入尺寸、输入尺寸的对数、输出尺寸、输出尺寸的对数、步长、步长的对数、卷积核大小和卷积核大小的对数;全连接层包含输入尺寸、输入尺寸的对数、输出尺寸和输出尺寸的对数。mij是特征xi的第j项中的指数,zj是待学习的系数。第二部分的特殊多项式与上述 同理。

第二部分对应特殊多项式 所谓特殊即这部分主要处理与每一层相关的物理运算,包括内存访问总数和浮点运算次数两个特征,但是如第一部分所述,不同类型的网络层对应的XP不同,所以内存访问总数和浮点运算次数时需要依据各层的特征进行计算。其中z′k是待学习的系数。

D.根据采集的数据进行训练直至模型参数收敛。

3.如权利要求1所述的一种高能效神经网络架构的搜索方法,其中步骤2所述基于层级的运行时间和功率计算神经网络架构整体能耗的具体步骤为:

3.1)对于一个N层的网络架构,将每一层的运行时间 求和,计算出神经网络总运行时间 公式为:

3.2)通过每一层的运行时间 和功率 计算得到该层的功耗,N层功耗之和除以总运行时间得到平均功率 公式为:

3.3)计算神经网络架构整体能耗 其中 表示神经网络一次推理的总时间,表示在推理过程中的平均功率,结合公式3‑1和公式3‑2,整体能耗的计算公式为:

4.如权利要求1所述的一种高能效神经网络架构的搜索方法,其中步骤3所述将离散的搜索空间连续化的具体步骤为:

4.1)为神经网络初始化一组候选操作(卷积、池化等)集合 其中每个操作附带初始权重α,即架构编码;

4.2)使用Cell作为架构搜索的基础模块,一个Cell是由N个节点组成的有向无环图,每个节点就是一个隐表示(latent representation),每条边表示一个混合操作;

4.3)将节点i和节点j之间原本离散的一些操作松弛为所有可能的操作的softmax映射之和 即混合操作。其中 表示节点间的候选操作集合, 表示节点i、j之间某个操作o的权重,公式为:

(i) (j)

4.4)节点x 的值由其所有前驱节点经过各自的混合操作计算并求和后得到。其中x(i,j)

表示前驱节点值,o 表示节点i、j之间的有向边代表的混合操作,公式为:

5.如权利要求1所述的一种高能效神经网络架构的搜索方法,其中步骤4所述把能耗作为搜索目标之一加入到神经网络架构搜索过程中的具体步骤为:

5.1)设计用于寻找最优神经网络架构的损失函数L,选择交叉熵损失函数作为原损失函数L1,并在原损失函数之上加入与能耗相关的损失C,其中λ为超参,公式为:L=L1+λ·C      (5‑1)

5.2)固定神经网络自身的权重w,用梯度下降的方法优化架构编码α在验证集上的损失公式为:

其中m为学习率, 表示α在 上的梯度。

5.3)固定架构编码α,用梯度下降的方法优化权重w在训练集上的损失 公式为:其中n为学习率, 表示w在 上的梯度。

5.4)重复上述5.2)、5.3)两步直至权重w和编码α收敛。然后从每一个混合操作中选出α值最大的操作替代原先的混合操作,即可获得最终的神经网络架构。