CN112784140B - 一种高能效神经网络架构的搜索方法 - Google Patents

一种高能效神经网络架构的搜索方法 Download PDF

Info

Publication number
CN112784140B
CN112784140B CN202110147159.6A CN202110147159A CN112784140B CN 112784140 B CN112784140 B CN 112784140B CN 202110147159 A CN202110147159 A CN 202110147159A CN 112784140 B CN112784140 B CN 112784140B
Authority
CN
China
Prior art keywords
size
neural network
search
network architecture
logarithm
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110147159.6A
Other languages
English (en)
Other versions
CN112784140A (zh
Inventor
杨良怀
沈承宗
范玉雷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University of Technology ZJUT
Original Assignee
Zhejiang University of Technology ZJUT
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang University of Technology ZJUT filed Critical Zhejiang University of Technology ZJUT
Priority to CN202110147159.6A priority Critical patent/CN112784140B/zh
Publication of CN112784140A publication Critical patent/CN112784140A/zh
Application granted granted Critical
Publication of CN112784140B publication Critical patent/CN112784140B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

一种高能效神经网络架构的搜索方法,包括:步骤1:构建层级运行时间与功率的多项式回归模型;步骤2:基于层级的运行时间和功率计算神经网络架构整体能耗;步骤3:将离散的搜索空间连续化;步骤4:把能耗作为搜索目标之一加入到神经网络架构搜索过程中。本发明用机器搜索的方式精准发现高能效网络架构、减少不必要的搜索开销。在网络架构能耗的测量中,利用多项式回归模型预测特定架构的能耗;在架构设计过程中,使用机器代替人工的方式自动搜索满足要求的架构,设计过程更加科学;利用连续化的搜索空间以及基于梯度下降的搜索方法,并在原来只搜索高精度神经网络架构的基础上新增高能效的目标,提升搜索效率的同时优化搜索结果。

Description

一种高能效神经网络架构的搜索方法
技术领域
本发明涉及机器学习领域,特别涉及一种高能效神经网络架构的搜索方法。
背景技术
随着互联网时代的发展,深度神经网络在解决各种问题方面都表现出卓越的性能,但是由于其庞大的规模,传统的大型深度神经网络(VGG,AlexNet,GoogleNet等)在解决具体问题的时候往往计算速度缓慢并且能耗成本很高,这对提高其在实际工业领域的可用性带来巨大挑战,尤其是移动设备以及能源预算有限的环境下。因此迫切需要一种可以针对具体问题自动化地设计出小规模、高能效、高准确度的网络架构的方法。
目前神经网络架构搜索(NeuralArchitecture Search,下文简称NAS)的应用已经相当广泛,早期的NAS主要是以强化学习为搜索策略,比如Zoph等人提出的基于强化学习的NAS,使用递归神经网络作为神经网络架构生成器,并通过强化学习训练这个递归神经网络,使其能生成最佳网络结构,最终他们得到的模型优于其他类似的最新网络架构。后来为了提升NAS搜索效率,不少学者针对神经网络架构的评估环节进行优化,Pham等人提出ENAS,通过在各个网络之间共享权重来减少计算量,避免每个网络都要从头开始训练;Klein等人用一个模型拟合学习曲线,从而只需要对架构进行短时间的训练即可预测架构最终性能。
上述的NAS方法使神经网络结构的设计难题有了新的解决方式,传统人工定义的超参可以用机器搜索的方式更加科学地获取。但是仍然存在的问题是,搜索效率依然没有质的提升,搜索过程需要花费巨大的代价。此外,搜索得到的架构由于只注重预测精度,而忽略了其推理过程会产生的能耗,往往精度越高的网络是越健壮的,而越健壮的网络会产生越多的能耗。因此要降低神经网络的使用成本,必须在搜索时考虑能耗这个特性。
发明内容
本发明要克服现有技术的上述缺点,提供一种高能效神经网络架构的搜索方法。
本发明解决技术问题采用如下技术方案:
一种高能效神经网络架构的搜索方法,分为以下步骤:
步骤1:构建层级运行时间与功率的多项式回归模型;
步骤2:基于层级的运行时间和功率计算神经网络架构整体能耗;
步骤3:将离散的搜索空间连续化;
步骤4:把能耗作为搜索目标之一加入到神经网络架构搜索过程中。
作为本发明的进一步优化,所述步骤1的具体步骤为:
1)采集神经网络推理过程中各层的运行时间T与功率P;
2)对运行时间进行建模,记为
Figure BDA0002930683400000021
模型分为两部分:KT阶常规多项式和特殊多项式
Figure BDA0002930683400000022
公式为:
Figure BDA0002930683400000023
所建模型第一部分的KT阶常规多项式是一个与输入特征XT相关的函数,特征向量XT包含了神经网络每一层中的超参,不同类型的网络层超参有所区别,卷积层包含输入尺寸、输出尺寸、滤波器大小、填充值和步长这五个特征;池化层包含输入尺寸、输出尺寸、步长和卷积核大小这四个特征;全连接层包含输入尺寸和输出尺寸这两特征。其中xi表示XT中第i个分量,qij是其中xi在第j项中的指数,cj则是待学习的系数。
第二部分对应特殊多项式
Figure BDA0002930683400000024
所谓特殊即这部分主要处理与每一层相关的物理运算,包括内存访问总数和浮点运算次数两个特征,但是如第一部分所述,不同类型的网络层对应的XT不同,所以内存访问总数和浮点运算次数时需要依据各层的特征进行计算。其中c′s是待学习的系数。
3)对功率进行建模,记为
Figure BDA0002930683400000025
与上述运行时间模型类似,模型分为两部分:Kp阶常规多项式和特殊多项式
Figure BDA0002930683400000026
公式为:
Figure BDA0002930683400000027
所建模型第一部分的Kp阶常规多项式是一个与输入特征向量XP相关的函数,由于功率模型最终的值必然有上限,特征向量XP在XT的基础上扩展了XT所有特征的对数,即卷积层包含输入尺寸、输入尺寸的对数、输出尺寸、输出尺寸的对数、滤波器大小、滤波器大小的对数、填充值、填充值的对数、步长和步长的对数;池化层包含输入尺寸、输入尺寸的对数、输出尺寸、输出尺寸的对数、步长、步长的对数、卷积核大小和卷积核大小的对数;全连接层包含输入尺寸、输入尺寸的对数、输出尺寸和输出尺寸的对数。mij是特征xi的第j项中的指数,zj是待学习的系数。第二部分的特殊多项式与上述
Figure BDA0002930683400000031
同理。
第二部分对应特殊多项式
Figure BDA0002930683400000032
所谓特殊即这部分主要处理与每一层相关的物理运算,包括内存访问总数和浮点运算次数两个特征,但是如第一部分所述,不同类型的网络层对应的XP不同,所以内存访问总数和浮点运算次数时需要依据各层的特征进行计算。其中z′k是待学习的系数。
4)根据采集的数据进行训练直至模型参数收敛。
作为本发明的更进一步优化,所述步骤2的具体步骤为:
1)对于一个N层的网络架构,将每一层的运行时间
Figure BDA0002930683400000033
求和,计算出神经网络总运行时间
Figure BDA0002930683400000034
公式为:
Figure BDA0002930683400000035
2)通过每一层的运行时间
Figure BDA0002930683400000036
和功率
Figure BDA0002930683400000037
计算得到该层的功耗,N层功耗之和除以总运行时间得到平均功率
Figure BDA0002930683400000038
公式为:
Figure BDA0002930683400000039
3)计算神经网络架构整体能耗
Figure BDA00029306834000000310
其中
Figure BDA00029306834000000311
表示神经网络一次推理的总时间,
Figure BDA00029306834000000312
表示在推理过程中的平均功率,结合公式3-1和公式3-2,整体能耗的计算公式为:
Figure BDA00029306834000000313
作为本发明的更进一步优化,所述步骤3的具体步骤为:
1)为神经网络初始化一组候选操作(卷积、池化等)集合
Figure BDA00029306834000000314
其中每个操作附带初始权重α,即架构编码;
2)使用Cell作为架构搜索的基础模块,一个Cell是由N个节点组成的有向无环图,每个节点就是一个隐表示(latent representation),每条边表示一个混合操作;
3)将节点i和节点j之间原本离散的一些操作松弛为所有可能的操作的softmax映射之和
Figure BDA0002930683400000041
即混合操作。其中
Figure BDA0002930683400000042
表示节点间的候选操作集合,
Figure BDA0002930683400000043
表示节点i、j之间某个操作o的权重,公式为:
Figure BDA0002930683400000044
4)节点x(i)的值由其所有前驱节点经过各自的混合操作计算并求和后得到。其中x(j)表示前驱节点值,o(i,j)表示节点i、j之间的有向边代表的混合操作,公式为:
Figure BDA0002930683400000045
作为本发明的更进一步优化,所述步骤4的具体步骤为:
1)设计用于寻找最优神经网络架构的损失函数L,选择交叉熵损失函数作为原损失函数L1,并在原损失函数之上加入与能耗相关的损失C,其中λ为超参,公式为:
L=L1+λ·C (4-1)
2)固定神经网络自身的权重w,使用梯度下降法优化架构编码α在验证集上的损失
Figure BDA0002930683400000046
公式为;
Figure BDA0002930683400000047
其中m为学习率,
Figure BDA0002930683400000048
表示α在
Figure BDA0002930683400000049
上的梯度。
3)固定架构编码α,使用梯度下降法优化权重w在训练集上的损失
Figure BDA00029306834000000410
公式为:
Figure BDA00029306834000000411
其中n为学习率,
Figure BDA00029306834000000412
表示w在
Figure BDA00029306834000000413
上的梯度。
4)重复上述2、3两步直至权重w和编码α收敛。然后从每一个混合操作中选出α值最大的操作替代原先的混合操作,即可获得最终的神经网络架构。
事实上,不同的架构搜索方法以及不同的搜索目标最终都会有不同的结果,本发明为更具准确性和通用性,做了以下规定。通过建模的方式对能耗直接进行估测而不是传统的通过计算量的方式间接估测;在验证集上优化编码α,在训练集上优化权重w,增加模型泛化能力。
所述在功率模型建模过程中,功率受硬件限制而不会无限增长,因此特征向量XP新增了原有特征的对数项,当特征值趋近于无限大时增长率趋近于0。
所述在超参λ的选择过程中,考虑当前具体生产环境下对神经网络架构能耗的要求,λ越大,架构的能耗越低;反之则越高。但λ应控制在一个合理范围内,否则网络架构的精度将会被严重影响。
本发明的一种高能效神经网络架构的搜索方法,包括利用多项式回归模型预测特定网络架构的推理能耗,利用可微架构搜索方法,将原本离散的搜索空间连续化,搜索高能效、高精度的神经网络架构等步骤。目前深度神经网络在解决各种问题方面都表现出卓越的性能,但是由于其庞大的规模,传统的大型深度神经网络(VGG,AlexNet,GoogleNet等)在解决具体问题的时候往往计算速度缓慢并且能耗成本很高。本发明从多方面考虑了神经网络架构的能耗度量以及损失函数设计,旨在用机器搜索的方式精准发现高能效网络架构、减少不必要的搜索开销。在网络架构能耗的测量中,利用多项式回归模型预测特定架构的能耗,避免直接通过计算量估测等方式产生的偏差;在架构设计过程中,使用机器代替人工的方式自动搜索满足要求的架构,设计过程更加科学;利用连续化的搜索空间以及基于梯度下降的搜索方法,并在原来只搜索高精度神经网络架构的基础上新增高能效的目标,提升搜索效率的同时优化搜索结果。
本发明具有如下有益效果:针对现有的人工设计深度神经网络架构的不足,如为满足高精度而导致网络过于健壮,使能耗成本不断增大,且基本无法部署在目前越来越流行的移动设备上的情况。本发明利用神经网络架构搜索方法,通过机器搜索的方式更加科学地获取符合要求的网络架构;利用多项式回归模型对能耗进行建模,将能耗作为搜索目标之一加入搜索过程中。最终从精度和能耗两个搜索目标出发,从连续的搜索空间中搜索出满足要求的网络架构。
附图说明
图1为本发明能耗估测流程图。
图2为本发明初始状态下节点间的混合操作示意图。
图3为本发明搜索完成后节点间的混合操作示意图。
图4为本发明参数优化过程示意图。
具体实施方式
下面结合附图及实施方式对本发明的技术方案作进一步阐述。
本实施例是采用了本发明方法的一种人脸识别方法,具体包括如下步骤:
步骤1:实施过程中使用公开的人脸数据集作为本发明搜索过程使用的数据集,其中包括200人的58000多张人脸图像,我们以8:2的比例划分训练集和测试集,并将训练集对半拆分为本发明所需的训练集和验证集。
数据集划分完成后,根据人脸的预处理技术,使用MTCNN检测面部标记(眼睛、鼻子和嘴角)用以将人脸对齐,然后减去每个通道的平均值对像素归一化处理,同时随机翻转图片,将图像填充后再随机裁剪,最后对所有数据进行重排序。
步骤2:层级能耗模型构建,采集神经网络推理过程中各层的运行时间T与功率P,包括卷积层、池化层和全连接层。首先对运行时间进行建模,记为
Figure BDA0002930683400000061
模型分为两部分:KT阶常规多项式和特殊多项式
Figure BDA0002930683400000062
公式为:
Figure BDA0002930683400000063
所建模型第一部分的KT阶常规多项式是一个与输入特征XT相关的函数,特征向量XT包含了神经网络每一层中的超参,不同类型的网络层超参有所区别,卷积层包含输入尺寸、输出尺寸、滤波器大小、填充值和步长这五个特征;池化层包含输入尺寸、输出尺寸、步长和卷积核大小这四个特征;全连接层包含输入尺寸和输出尺寸这两特征。其中xi表示XT中第i个分量,qij是其中xi在第j项中的指数,cj则是待学习的系数。
第二部分对应特殊多项式
Figure BDA0002930683400000064
所谓特殊即这部分主要处理与每一层相关的物理运算,包括内存访问总数和浮点运算次数两个特征,但是如第一部分所述,不同类型的网络层对应的XT不同,所以内存访问总数和浮点运算次数时需要依据各层的特征进行计算。其中c′s是待学习的系数。
然后对功率进行建模,记为
Figure BDA0002930683400000071
与上述运行时间模型类似,模型分为两部分:Kp阶常规多项式和特殊多项式
Figure BDA0002930683400000072
公式为:
Figure BDA0002930683400000073
所建模型第一部分的Kp阶常规多项式是一个与输入特征向量XP相关的函数,由于功率模型最终的值必然有上限,特征向量XP在XT的基础上扩展了XT所有特征的对数,即卷积层包含输入尺寸、输入尺寸的对数、输出尺寸、输出尺寸的对数、滤波器大小、滤波器大小的对数、填充值、填充值的对数、步长和步长的对数;池化层包含输入尺寸、输入尺寸的对数、输出尺寸、输出尺寸的对数、步长、步长的对数、卷积核大小和卷积核大小的对数;全连接层包含输入尺寸、输入尺寸的对数、输出尺寸和输出尺寸的对数。mij是特征xi的第j项中的指数,zj是待学习的系数。第二部分的特殊多项式与上述
Figure BDA0002930683400000074
同理。
第二部分对应特殊多项式
Figure BDA0002930683400000075
所谓特殊即这部分主要处理与每一层相关的物理运算,包括内存访问总数和浮点运算次数两个特征,但是如第一部分所述,不同类型的网络层对应的XP不同,所以内存访问总数和浮点运算次数时需要依据各层的特征进行计算。其中z′k是待学习的系数。
最终根据采集的数据进行训练直至模型参数收敛。
步骤3:整体能耗模型构建,对于一个N层的网络架构,将每一层的运行时间
Figure BDA0002930683400000076
求和,计算出神经网络总运行时间
Figure BDA0002930683400000077
公式为:
Figure BDA0002930683400000078
接着通过每一层的运行时间
Figure BDA0002930683400000079
和功率
Figure BDA00029306834000000710
计算得到该层的功耗,N层功耗之和除以总运行时间得到平均功率
Figure BDA00029306834000000711
公式为:
Figure BDA00029306834000000712
最后计算神经网络架构整体能耗
Figure BDA00029306834000000713
其中
Figure BDA00029306834000000714
表示神经网络一次推理的总时间,
Figure BDA0002930683400000081
表示在推理过程中的平均功率,整体计算的流程图如图1所示,结合公式3-1和公式3-2,整体能耗的计算公式为:
Figure BDA0002930683400000082
步骤4:为神经网络初始化一组候选操作(卷积、池化等)集合
Figure BDA00029306834000000814
其中每个操作附带初始权重α,即架构编码;使用Cell作为架构搜索的基础模块,一个Cell是由N个节点组成的有向无环图,每个节点就是一个隐表示(latent representation),每条边表示一个混合操作;将节点i和节点j之间原本离散的一些操作松弛为所有可能的操作的softmax映射之和
Figure BDA0002930683400000083
即混合操作,如图2所示,其中不同类型的线段表示不同操作。其中
Figure BDA0002930683400000084
表示节点间的候选操作集合,
Figure BDA0002930683400000085
表示节点i、j之间某个操作o的权重,公式为:
Figure BDA0002930683400000086
节点x(i)的值由其所有前驱节点经过各自的混合操作计算并求和后得到。其中x(j)表示前驱节点值,o(i,j)表示节点i、j之间的有向边代表的混合操作,公式为:
Figure BDA0002930683400000087
步骤5:设计用于寻找最优神经网络架构的损失函数L,选择交叉熵损失函数作为原损失函数L1,并在原损失函数之上加入与能耗相关的损失C,C由步骤3构建的网络整体能耗估测模型获得,其中λ为超参,公式为:
L=L1+λ·C (4-1)
先是固定神经网络自身的权重w,用梯度下降的方法优化架构编码α在验证集上的损失
Figure BDA0002930683400000088
公式为;
Figure BDA0002930683400000089
其中m为学习率,
Figure BDA00029306834000000810
表示α在
Figure BDA00029306834000000811
上的梯度。
接着固定架构编码α,用梯度下降的方法优化权重w在训练集上的损失
Figure BDA00029306834000000812
公式为:
Figure BDA00029306834000000813
其中n为学习率,
Figure BDA0002930683400000091
表示w在
Figure BDA0002930683400000092
上的梯度。
然后如图4所示重复上述2、3两步直至权重w和编码α收敛。最后从每一个混合操作中选出a值最大的操作替代原先的混合操作,如图3所示,其中两节点间颜色较深的箭头表示a值较大的那个操作。至此完成单个Cell的搜索。
整个神经网络架构将由多个如步骤4所述的Cell堆叠而成。堆叠完成后先初始化整个网络的权重,然后用原先8:2划分得到的训练集重新训练整个网络架构,并在测试集上验证其性能。结果表明使用本发明搜索得到的网络架构相比于人工设计的网络具备高能效的同时精度几乎没有降低。
步骤6:将步骤5搜索得到的网络应用于人脸识别中,输入可能包含人脸的原始图像,使用OpenCV检测出图像中人脸位置,并用传统的回归树模型检测人脸中的关键点,然后根据这些关键点对人脸进行对齐与校准,其中关键点包括眼睛、鼻子和嘴角等部位,接着将校准后的单张人脸图像作为本发明最终搜索得到的网络架构的输入,最终网络会输出一个向量,相同或相似人脸的向量之间距离小,而不同人脸的向量之间距离大。当给定一张人脸图片,检测数据库中与之最相似的人时,即可转化为求与该张人脸图片的向量距离最近的图片。
最后应说明的是:以上实施方式仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施方式对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施方式技术方案的精神和范围。

Claims (1)

1.一种人脸识别方法,具体包括如下步骤:
步骤1:使用公开的人脸数据集作为搜索过程使用的数据集,其中包括200人的58000多张人脸图像,以8:2的比例划分训练集和测试集,并将训练集对半拆分为所需的训练集和验证集;
数据集划分完成后,根据人脸的预处理技术,使用MTCNN检测面部标记用以将人脸对齐,然后减去每个通道的平均值对像素归一化处理,同时随机翻转图片,将图像填充后再随机裁剪,最后对所有数据进行重排序;
步骤2:层级能耗模型构建,采集神经网络推理过程中各层的运行时间T与功率P,包括卷积层、池化层和全连接层;首先对运行时间进行建模,记为
Figure FDA0003598010830000011
模型分为两部分:KT阶常规多项式和特殊多项式
Figure FDA0003598010830000012
公式为:
Figure FDA0003598010830000013
所建模型第一部分的KT阶常规多项式是一个与输入特征XT相关的函数,特征向量XT包含了神经网络每一层中的超参,不同类型的网络层超参有所区别,卷积层包含输入尺寸、输出尺寸、滤波器大小、填充值和步长这五个特征;池化层包含输入尺寸、输出尺寸、步长和卷积核大小这四个特征;全连接层包含输入尺寸和输出尺寸这两特征;其中xi表示XT中第i个分量,qij是其中xi在第j项中的指数,cj则是待学习的系数;
第二部分对应特殊多项式
Figure FDA0003598010830000014
处理与每一层相关的物理运算,包括内存访问总数和浮点运算次数两个特征,但是如第一部分所述,不同类型的网络层对应的XT不同,所以内存访问总数和浮点运算次数时需要依据各层的特征进行计算;其中c′s是待学习的系数;
然后对功率进行建模,记为
Figure FDA0003598010830000015
与上述运行时间模型类似,模型分为两部分:Kp阶常规多项式和特殊多项式
Figure FDA0003598010830000016
公式为:
Figure FDA0003598010830000017
所建模型第一部分的Kp阶常规多项式是一个与输入特征向量XP相关的函数,由于功率模型最终的值必然有上限,特征向量XP在XT的基础上扩展了XT所有特征的对数,即卷积层包含输入尺寸、输入尺寸的对数、输出尺寸、输出尺寸的对数、滤波器大小、滤波器大小的对数、填充值、填充值的对数、步长和步长的对数;池化层包含输入尺寸、输入尺寸的对数、输出尺寸、输出尺寸的对数、步长、步长的对数、卷积核大小和卷积核大小的对数;全连接层包含输入尺寸、输入尺寸的对数、输出尺寸和输出尺寸的对数;mij是特征xi的第j项中的指数,zj是待学习的系数;第二部分的特殊多项式与上述
Figure FDA0003598010830000021
同理;
第二部分对应特殊多项式
Figure FDA0003598010830000022
所谓特殊即这部分主要处理与每一层相关的物理运算,包括内存访问总数和浮点运算次数两个特征,但是如第一部分所述,不同类型的网络层对应的XP不同,所以内存访问总数和浮点运算次数时需要依据各层的特征进行计算;其中z′k是待学习的系数;
最终根据采集的数据进行训练直至模型参数收敛;
步骤3:整体能耗模型构建,对于一个N层的网络架构,将每一层的运行时间
Figure FDA0003598010830000023
求和,计算出神经网络总运行时间
Figure FDA0003598010830000024
公式为:
Figure FDA0003598010830000025
接着通过每一层的运行时间
Figure FDA0003598010830000026
和功率
Figure FDA0003598010830000027
计算得到该层的功耗,N层功耗之和除以总运行时间得到平均功率
Figure FDA0003598010830000028
公式为:
Figure FDA0003598010830000029
最后计算神经网络架构整体能耗
Figure FDA00035980108300000210
其中
Figure FDA00035980108300000211
表示神经网络一次推理的总时间,
Figure FDA00035980108300000212
表示在推理过程中的平均功率,结合公式(2-1)和公式(2-2),整体能耗的计算公式为:
Figure FDA00035980108300000213
步骤4:为神经网络初始化一组候选操作集合
Figure FDA00035980108300000214
其中每个操作附带初始权重α,即架构编码;使用Cell作为架构搜索的基础模块,一个Cell是由N个节点组成的有向无环图,每个节点就是一个隐表示,每条边表示一个混合操作;将节点i和节点j之间原本离散的一些操作松弛为所有可能的操作的softmax映射之和
Figure FDA0003598010830000031
即混合操作,其中不同类型的线段表示不同操作;其中
Figure FDA0003598010830000032
表示节点间的候选操作集合,
Figure FDA0003598010830000033
表示节点i、j之间某个操作o的权重,公式为:
Figure FDA0003598010830000034
节点x(i)的值由其所有前驱节点经过各自的混合操作计算并求和后得到;其中x(j)表示前驱节点值,o(i,j)表示节点i、j之间的有向边代表的混合操作,公式为:
Figure FDA0003598010830000035
步骤5:设计用于寻找最优神经网络架构的损失函数L,选择交叉熵损失函数作为原损失函数L1,并在原损失函数之上加入与能耗相关的损失C,C由步骤3构建的网络整体能耗估测模型获得,其中λ为超参,公式为:
L=L1+λ·C (4-1)
先是固定神经网络自身的权重w,用梯度下降的方法优化架构编码α在验证集上的损失
Figure FDA0003598010830000036
公式为;
Figure FDA0003598010830000037
其中m为学习率,
Figure FDA0003598010830000038
表示α在
Figure FDA0003598010830000039
上的梯度;
接着固定架构编码α,用梯度下降的方法优化权重w在训练集上的损失
Figure FDA00035980108300000310
公式为:
Figure FDA00035980108300000311
其中n为学习率,
Figure FDA00035980108300000312
表示w在
Figure FDA00035980108300000313
上的梯度;
然后重复上述步骤2、3直至权重w和编码α收敛;最后从每一个混合操作中选出α值最大的操作替代原先的混合操作,其中两节点间颜色较深的箭头表示α值较大的那个操作;至此完成单个Cell的搜索;
整个神经网络架构将由多个如步骤4所述的Cell堆叠而成;堆叠完成后先初始化整个网络的权重,然后用原先8:2划分得到的训练集重新训练整个网络架构,并在测试集上验证其性能;
步骤6:将步骤5搜索得到的网络应用于人脸识别中,输入可能包含人脸的原始图像,使用OpenCV检测出图像中人脸位置,并用传统的回归树模型检测人脸中的关键点,然后根据这些关键点对人脸进行对齐与校准,其中关键点包括眼睛、鼻子和嘴角部位,接着将校准后的单张人脸图像作为最终搜索得到的网络架构的输入,最终网络会输出一个向量,相同或相似人脸的向量之间距离小,而不同人脸的向量之间距离大;当给定一张人脸图片,检测数据库中与之最相似的人时,即可转化为求与该张人脸图片的向量距离最近的图片。
CN202110147159.6A 2021-02-03 2021-02-03 一种高能效神经网络架构的搜索方法 Active CN112784140B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110147159.6A CN112784140B (zh) 2021-02-03 2021-02-03 一种高能效神经网络架构的搜索方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110147159.6A CN112784140B (zh) 2021-02-03 2021-02-03 一种高能效神经网络架构的搜索方法

Publications (2)

Publication Number Publication Date
CN112784140A CN112784140A (zh) 2021-05-11
CN112784140B true CN112784140B (zh) 2022-06-21

Family

ID=75760652

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110147159.6A Active CN112784140B (zh) 2021-02-03 2021-02-03 一种高能效神经网络架构的搜索方法

Country Status (1)

Country Link
CN (1) CN112784140B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113762469B (zh) * 2021-08-13 2024-05-03 北京航空航天大学 神经网络结构搜索方法及系统
CN115620147B (zh) * 2022-11-29 2023-04-07 国网山东省电力公司济南供电公司 深度卷积神经网络的可微架构搜索方法及装置
CN116011593B (zh) * 2023-03-09 2023-06-16 支付宝(杭州)信息技术有限公司 一种网络模型能耗的确定方法及装置
CN117010447B (zh) * 2023-10-07 2024-01-23 成都理工大学 基于端到端的可微架构搜索方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110751267A (zh) * 2019-09-30 2020-02-04 京东城市(北京)数字科技有限公司 神经网络的结构搜索方法、训练方法、装置及存储介质
CN111723914A (zh) * 2020-06-22 2020-09-29 中山大学 一种基于卷积核预测的神经网络架构搜索方法
CN111814966A (zh) * 2020-08-24 2020-10-23 国网浙江省电力有限公司 神经网络架构搜索方法、神经网络应用方法、设备及存储介质
CN112001491A (zh) * 2020-07-27 2020-11-27 三星(中国)半导体有限公司 针对处理器确定神经网络架构的搜索方法和装置
CN112101525A (zh) * 2020-09-08 2020-12-18 南方科技大学 一种通过nas设计神经网络的方法、装置和系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11531861B2 (en) * 2018-11-06 2022-12-20 Google Llc Neural architecture search with factorized hierarchical search space
US20210019599A1 (en) * 2019-07-19 2021-01-21 Google Llc Adaptive neural architecture search

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110751267A (zh) * 2019-09-30 2020-02-04 京东城市(北京)数字科技有限公司 神经网络的结构搜索方法、训练方法、装置及存储介质
CN111723914A (zh) * 2020-06-22 2020-09-29 中山大学 一种基于卷积核预测的神经网络架构搜索方法
CN112001491A (zh) * 2020-07-27 2020-11-27 三星(中国)半导体有限公司 针对处理器确定神经网络架构的搜索方法和装置
CN111814966A (zh) * 2020-08-24 2020-10-23 国网浙江省电力有限公司 神经网络架构搜索方法、神经网络应用方法、设备及存储介质
CN112101525A (zh) * 2020-09-08 2020-12-18 南方科技大学 一种通过nas设计神经网络的方法、装置和系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Yesmina Jaafra等."Reinforcement learning for neural architecture search: A review".《Image and Vision Computing》.2019, *
谷雪."基于进化策略的神经网络架构搜索算法研究".《中国优秀博硕士学位论文全文数据库(硕士) 信息科技辑》.2020, *

Also Published As

Publication number Publication date
CN112784140A (zh) 2021-05-11

Similar Documents

Publication Publication Date Title
CN112784140B (zh) 一种高能效神经网络架构的搜索方法
CN109492822B (zh) 空气污染物浓度时空域关联预测方法
CN112269134B (zh) 一种基于深度学习的电池soc和soh联合估计方法
CN108985515B (zh) 一种基于独立循环神经网络的新能源出力预测方法及系统
CN108805193B (zh) 一种基于混合策略的电力缺失数据填充方法
CN112131794B (zh) 基于lstm网络的水工建筑物多效应量优化预测及可视化方法
CN114861890B (zh) 构建神经网络的方法、装置、计算设备及存储介质
CN115374995A (zh) 一种分布式光伏、小风电场站功率预测方法
CN112884236B (zh) 一种基于vdm分解与lstm改进的短期负荷预测方法及系统
CN114912673A (zh) 一种基于鲸鱼优化算法和长短时记忆网络的水位预测方法
CN114092697A (zh) 注意力融合全局和局部深度特征的建筑立面语义分割方法
CN116345555A (zh) 一种基于cnn-isca-lstm模型的短期光伏发电功率预测方法
CN116992779B (zh) 基于数字孪生模型的光伏储能系统仿真方法及系统
CN109754122A (zh) 一种基于随机森林特征提取的bp神经网络的数值预测方法
CN115907122A (zh) 区域电动汽车充电负荷预测方法
Loni et al. Densedisp: Resource-aware disparity map estimation by compressing siamese neural architecture
CN116187835A (zh) 一种基于数据驱动的台区理论线损区间估算方法及系统
CN118040678A (zh) 一种短期海上风电功率组合预测方法
CN112183721B (zh) 一种基于自适应差分进化的组合水文预测模型的构建方法
CN116822742A (zh) 一种基于动态分解-重构集成处理的电力负荷预测方法
CN117151998A (zh) 一种基于支持向量回归的图像光照校正方法
CN115100435B (zh) 基于有限数据多尺度目标学习的图像着色方法及其系统
CN113628104B (zh) 针对无序图像增量式SfM的初始图像对选取方法
CN115146389B (zh) 一种永磁磁浮列车动力学特征建模方法
CN116842999B (zh) 一种具有cpu硬件优化感知的神经网络设计方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant