本发明属于人工神经网络,具体涉及一种基于零阶近似的可微分神经网络架构搜索方法。
背景技术:
1、深度学习作为一种端到端的人工智能技术,可以在不使用特征工程和专家经验的前提下,将特征提取的过程完全交由神经网络模型完成。目前该领域方法在图像、语音等任务取得了突出成果,但设计高效、高准确度的神经网络模型需要大量专业知识与人工调参过程,这极大阻碍了深度学习技术在大量实际问题上的应用。
2、为解决这一问题,人工智能领域内开始考虑使用神经网络架构搜索(neuralarchitecture search,nas)方法。darts算法是nas中一种代表性的可微结构搜索策略,其通过对候选操作赋予连续权重,在搜索时进行加权混合,从而使搜索空间连续化,形成一种可微双层优化问题,并使用梯度下降进行性能优化。优化结束后,darts将从混合操作中选取权重最大的操作,从而在丰富的搜索空间确定一种具有复杂拓扑结构的高性能神经网络框架。
3、但是现有的darts自动架构搜索算法对优化问题求解过程不够精确,且需要较大的时间开销,仍然存在低效、低准确度的缺陷。
技术实现思路
1、本发明是为了解决上述问题而进行的,目的在于提供一种基于零阶近似的可微分神经网络架构搜索方法。
2、本发明提供了一种基于零阶近似的可微分神经网络架构搜索方法,用于通过训练数据集、验证数据集和a个神经网络操作得到对应的复杂神经网络,具有这样的特征,包括以下步骤:步骤s1,构建包括c个神经细胞和d个降采样块的初始神经网络,神经细胞包括k个连接边;步骤s2,从a个神经网络操作中选取b个神经网络操作作为神经网络操作集合步骤s3,将神经细胞的k个连接边分别对应神经网络操作集合的b个神经操作,得到对应的k*b个结构参数,根据k*b个结构参数构建结构参数矩阵α,设置迭代轮次p为1;步骤s4,根据结构参数矩阵α,设置极小值μ和随机单位向量u;步骤s5,根据结构参数矩阵α、极小值μ和随机单位向量u,得到震荡结构参数矩阵步骤s6,将初始神经网络的所有权重参数矩阵设为模型参数矩阵w,根据模型参数矩阵w设置震荡模型参数矩阵步骤s7,根据训练数据集、结构参数矩阵α和震荡结构参数通过第一损失函数和梯度下降方法,得到更新模型参数矩阵w'和更新震荡模型参数矩阵步骤s8,将验证数据集输入初始神经网络,通过第二损失函数和梯度下降方法,得到更新结构参数矩阵α';步骤s9,迭代轮次p加1,再判断迭代轮次p是否小于最大迭代轮次q,若是,则将更新结构参数矩阵α'作为结构参数矩阵α,进入步骤s4,若否,则进入步骤s10;步骤s10,分别选取更新结构参数矩阵α'中每个连接边对应的b个结构参数中的最大值对应的神经网络操作,作为该连接边的神经网络操作,则得到复杂神经网络。
3、在本发明提供的基于零阶近似的可微分神经网络架构搜索方法中,还可以具有这样的特征:其中,神经网络操作为任意保持数据维度的操作。
4、在本发明提供的基于零阶近似的可微分神经网络架构搜索方法中,还可以具有这样的特征:其中,神经网络操作包括零操作、跳跃连接操作、1×1卷积操作、3×3卷积操作和3×3平均池化操作。
5、在本发明提供的基于零阶近似的可微分神经网络架构搜索方法中,还可以具有这样的特征:其中,第一损失函数和第二损失函数均为交叉熵函数。
6、在本发明提供的基于零阶近似的可微分神经网络架构搜索方法中,还可以具有这样的特征:其中,在步骤s4中,极小值μ=0.005||α||2,随机单位向量u的表达式如下:式中u'为具有k*b个元素且每个元素各自遵从正态分布的随机向量。
7、在本发明提供的基于零阶近似的可微分神经网络架构搜索方法中,还可以具有这样的特征:其中,在步骤s5中,震荡结构参数矩阵的表达式如下:式中u”为随机单位向量u通过与结构参数矩阵α对齐维度得到的矩阵。
8、在本发明提供的基于零阶近似的可微分神经网络架构搜索方法中,还可以具有这样的特征:其中,步骤s7包括以下子步骤:步骤s7-1,设置迭代轮次t=1;步骤s7-2,将训练数据集输入初始神经网络,结合结构参数矩阵α和震荡结构参数矩阵并根据第一损失函数和学习率ηw,更新模型参数矩阵w和震荡模型参数矩阵步骤s7-3,迭代轮次t加1,判断迭代轮次t是否小于最大迭代轮次tt,若是,则进入步骤s7-2,若否,则迭代轮次t为最大迭代轮次tt时,模型参数矩阵w更新结果为更新模型参数矩阵w',震荡模型参数矩阵更新结果为更新震荡模型参数矩阵
9、在本发明提供的基于零阶近似的可微分神经网络架构搜索方法中,还可以具有这样的特征:其中,在步骤s7-2中,第一损失函数为损失函数和损失函数损失函数的值为根据训练数据集对模型参数矩阵w和结构参数矩阵α的计算结果,损失函数的值为根据训练数据集对震荡模型参数矩阵和震荡结构参数矩阵的计算结果,根据学习率ηw和损失函数对模型参数矩阵w的梯度通过梯度下降方法,计算得到更新模型参数矩阵w”,作为迭代轮次t+1时的模型参数矩阵w,根据学习率ηw和损失函数对震荡模型参数矩阵的梯度通过梯度下降方法,计算得到更新震荡模型参数矩阵作为迭代轮次t+1时的震荡模型参数矩阵
10、在本发明提供的基于零阶近似的可微分神经网络架构搜索方法中,还可以具有这样的特征:其中,在步骤s8中,第二损失函数为损失函数损失函数的值为根据验证数据集对模型参数矩阵w和结构参数矩阵α的计算结果,结构参数矩阵α的近似梯度计算公式为:式中为对模型参数矩阵w的梯度,w'(α)表示在该梯度计算中将更新模型参数矩阵w'视为与结构参数矩阵α有关,为对结构参数矩阵α的梯度,w'()表示在该梯度计算中将更新模型参数矩阵w'视为定值与结构参数矩阵α无关,上标t为转置操作,根据设定学习率ηα和结构参数矩阵α的近似梯度通过梯度下降方法,计算得到更新结构参数矩阵α'。
11、发明的作用与效果
12、根据本发明所涉及的基于零阶近似的可微分神经网络架构搜索方法,因为通过选定的多个神经网络操作构建神经网络操作集合,再根据神经网络操作集合构建结构参数矩阵,通过梯度下降方法更新结构参数矩阵,选取更新后结构参数矩阵中各个连接边对应的结构参数中的最大值作为对应连接边的神经网络操作,则得到复杂神经网络。所以,本发明的基于零阶近似的可微分神经网络架构搜索方法能够提高搜索复杂神经网络的效率和复杂神经网络的准确度。
1.一种基于零阶近似的可微分神经网络架构搜索方法,用于通过训练数据集、验证数据集和a个神经网络操作得到对应的复杂神经网络,其特征在于,包括以下步骤:
2.根据权利要求1所述的基于零阶近似的可微分神经网络架构搜索方法,其特征在于:
3.根据权利要求2所述的基于零阶近似的可微分神经网络架构搜索方法,其特征在于:
4.根据权利要求1所述的基于零阶近似的可微分神经网络架构搜索方法,其特征在于:
5.根据权利要求1所述的基于零阶近似的可微分神经网络架构搜索方法,其特征在于:
6.根据权利要求1所述的基于零阶近似的可微分神经网络架构搜索方法,其特征在于:
7.根据权利要求1所述的基于零阶近似的可微分神经网络架构搜索方法,其特征在于:
8.根据权利要求7所述的基于零阶近似的可微分神经网络架构搜索方法,其特征在于:
9.根据权利要求1所述的基于零阶近似的可微分神经网络架构搜索方法,其特征在于: