CN112149797A - 神经网络结构优化方法和装置、电子设备 - Google Patents

神经网络结构优化方法和装置、电子设备 Download PDF

Info

Publication number
CN112149797A
CN112149797A CN202010830807.3A CN202010830807A CN112149797A CN 112149797 A CN112149797 A CN 112149797A CN 202010830807 A CN202010830807 A CN 202010830807A CN 112149797 A CN112149797 A CN 112149797A
Authority
CN
China
Prior art keywords
network
neural network
current
optimization
core
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.)
Granted
Application number
CN202010830807.3A
Other languages
English (en)
Other versions
CN112149797B (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.)
Oppo Chongqing Intelligent Technology Co Ltd
Original Assignee
Oppo Chongqing Intelligent Technology Co Ltd
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 Oppo Chongqing Intelligent Technology Co Ltd filed Critical Oppo Chongqing Intelligent Technology Co Ltd
Priority to CN202010830807.3A priority Critical patent/CN112149797B/zh
Publication of CN112149797A publication Critical patent/CN112149797A/zh
Application granted granted Critical
Publication of CN112149797B publication Critical patent/CN112149797B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G06N3/084Backpropagation, e.g. using gradient descent

Landscapes

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

Abstract

本申请涉及一种神经网络结构优化方法,包括:获取当前结构优化网络输出的网络结构信息,调整核心神经网络的网络结构得到更新后的核心神经网络;训练更新后的核心神经网络直到达到收敛条件,得到已训练的核心神经网络;获取已训练的核心神经网络对应的评价指标参数,计算得到当前结构优化网络的损失函数值;基于损失函数值调整当前结构优化网络的网络参数得到更新的结构优化网络,将更新的结构优化网络作为当前结构优化网络,将网络结构信息作为当前结构优化网络的输入,返回获取当前结构优化网络输出的网络结构信息的步骤,直至结构优化网络满足收敛条件;通过输出的网络结构信息确定核心神经网络的目标网络结构,提高神经网络的处理效率。

Description

神经网络结构优化方法和装置、电子设备
技术领域
本申请涉及计算机技术领域,特别是涉及一种神经网络结构优化、神经网络训练方法和 装置、电子设备以及计算机可读存储介质。
背景技术
神经网络在人脸识别、语音识别、影像处理等多方面有出色效果,但另一方面,神经网 络往往需要庞大的计算资源,限制了在移动端的应用。为此开发了一系列降低神经网络运算 量的技术,如优化神经网络结构,优化神经网络训练速度,从而降低神经网络的运算复杂度。
传统的神经网络处理方法,如神经网络结构优化的方法和神经网络训练方法,往往存在 处理效率低的问题。
发明内容
本申请实施例提供一种神经网络结构优化、神经网络训练方法和装置、电子设备以及计 算机可读存储介质,提高神经网络的处理效率。
一种神经网络结构优化方法,包括:
获取当前结构优化网络输出的网络结构信息;
根据所述网络结构信息调整核心神经网络的网络结构得到更新后的核心神经网络;
训练所述更新后的核心神经网络直到达到收敛条件,得到已训练的核心神经网络;
获取所述已训练的核心神经网络对应的评价指标参数;
根据所述评价指标参数计算得到所述当前结构优化网络的损失函数值;
基于所述损失函数值调整所述当前结构优化网络的网络参数得到更新的结构优化网络, 将所述更新的结构优化网络作为所述当前结构优化网络,将所述网络结构信息作为所述当前 结构优化网络的输入,返回所述获取当前结构优化网络输出的网络结构信息的步骤,直至结 构优化网络满足收敛条件;
通过满足收敛条件的结构优化网络输出的网络结构信息确定核心神经网络的目标网络结 构。
一种神经网络结构优化装置,包括:
获取模块,用于获取当前结构优化网络输出的网络结构信息;
核心神经网络结构调整模块,用于根据所述网络结构信息调整核心神经网络的网络结构 得到更新后的核心神经网络;
核心神经网络训练模块,用于训练所述更新后的核心神经网络直到达到收敛条件,得到 已训练的核心神经网络;
结构优化网络损失计算模块,用于获取所述已训练的核心神经网络对应的评价指标参数, 根据所述评价指标参数计算得到所述当前结构优化网络的损失函数值;
结构优化网络调整模块,用于基于所述损失函数值调整所述当前结构优化网络的网络参 数得到更新的结构优化网络,将所述更新的结构优化网络作为所述当前结构优化网络,将所 述网络结构信息作为所述当前结构优化网络的输入,返回所述获取模块,直至结构优化网络 满足收敛条件;
网络结构确定模块,用于通过满足收敛条件的结构优化网络输出的网络结构信息确定核 心神经网络的目标网络结构。
一种电子设备,包括存储器以及处理器,所述存储器中储存有计算机程序,所述计算机 程序被所述处理器执行时,使得所述处理器执行如下步骤:
获取当前结构优化网络输出的网络结构信息;
根据所述网络结构信息调整核心神经网络的网络结构得到更新后的核心神经网络;
训练所述更新后的核心神经网络直到达到收敛条件,得到已训练的核心神经网络;
获取所述已训练的核心神经网络对应的评价指标参数;
根据所述评价指标参数计算得到所述当前结构优化网络的损失函数值;
基于所述损失函数值调整所述当前结构优化网络的网络参数得到更新的结构优化网络, 将所述更新的结构优化网络作为所述当前结构优化网络,将所述网络结构信息作为所述当前 结构优化网络的输入,返回所述获取当前结构优化网络输出的网络结构信息的步骤,直至结 构优化网络满足收敛条件;
通过满足收敛条件的结构优化网络输出的网络结构信息确定核心神经网络的目标网络结 构。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时, 使得所述处理器执行如下步骤:
获取当前结构优化网络输出的网络结构信息;
根据所述网络结构信息调整核心神经网络的网络结构得到更新后的核心神经网络;
训练所述更新后的核心神经网络直到达到收敛条件,得到已训练的核心神经网络;
获取所述已训练的核心神经网络对应的评价指标参数;
根据所述评价指标参数计算得到所述当前结构优化网络的损失函数值;
基于所述损失函数值调整所述当前结构优化网络的网络参数得到更新的结构优化网络, 将所述更新的结构优化网络作为所述当前结构优化网络,将所述网络结构信息作为所述当前 结构优化网络的输入,返回所述获取当前结构优化网络输出的网络结构信息的步骤,直至结 构优化网络满足收敛条件;
通过满足收敛条件的结构优化网络输出的网络结构信息确定核心神经网络的目标网络结 构。
上述神经网络结构优化方法、装置、电子设备以及计算机可读存储介质,通过结构优化 网络输出网络结构信息。核心神经网络照此调整网络结构,并进行训练,直至核心神经网络 收敛,结构优化网络的损失函数根据核心神经网络的评价指标参数,算出结构优化网络的损 失函数值,结构优化网络根据损失函数值,更新结构优化网络,然后输入当前的网络结构信 息,又输出新的网络结构信息。重复该过程,直至结构优化网络收敛,则核心神经网络完成 优化,在核心神经网络的上层再嵌套一个结构优化网络。该结构优化网络根据核心神经网络 的评价指标,优化原核心神经网络的结构信息,在两个网络的交替训练中逐渐将核心神经网 络的网络结构趋于最优。可快速高效地迭代出最优的网络结构,达到评价指标的平衡,且优 化过程无需监督,节省人力与开发时间。可应用在网络结构调整、网络剪枝、网络量化等不 同的方面。
一种神经网络训练方法,包括:
获取当前参数优化网络输出的网络训练参数信息;
根据所述网络训练参数信息训练核心神经网络的网络参数,得到更新的核心神经网络;
获取所述更新的核心神经网络对应的评价指标参数;
根据所述评价指标参数计算得到所述当前参数优化网络的损失函数值;
基于所述损失函数值调整所述当前参数优化网络的网络参数得到更新的参数优化网络, 将所述更新的参数优化网络作为所述当前参数优化网络,将所述网络训练参数信息作为所述 当前参数优化网络的输入,返回所述获取当前参数优化网络输出的网络训练参数信息的步骤;
当所述核心神经网络满足收敛条件时,得到已训练的核心神经网络。
一种神经网络训练装置,包括:
获取模块,用于获取当前参数优化网络输出的网络训练参数信息;
核心神经网络训练模块,用于根据所述网络训练参数信息训练核心神经网络的网络参数, 得到更新的核心神经网络;
参数优化网络损失计算模块,用于获取所述更新的核心神经网络对应的评价指标参数, 根据所述评价指标参数计算得到所述当前参数优化网络的损失函数值;
参数优化网络调整模块,用于基于所述损失函数值调整所述当前参数优化网络的网络参 数得到更新的参数优化网络,将所述更新的参数优化网络作为所述当前参数优化网络,将所 述网络训练参数信息作为所述当前参数优化网络的输入,返回所述获取模块;
核心神经网络确定模块,用于当所述核心神经网络满足收敛条件时,得到已训练的核心 神经网络。
一种电子设备,包括存储器以及处理器,所述存储器中储存有计算机程序,所述计算机 程序被所述处理器执行时,使得所述处理器执行如下步骤:
获取当前参数优化网络输出的网络训练参数信息;
根据所述网络训练参数信息训练核心神经网络的网络参数,得到更新的核心神经网络;
获取所述更新的核心神经网络对应的评价指标参数;
根据所述评价指标参数计算得到所述当前参数优化网络的损失函数值;
基于所述损失函数值调整所述当前参数优化网络的网络参数得到更新的参数优化网络, 将所述更新的参数优化网络作为所述当前参数优化网络,将所述网络训练参数信息作为所述 当前参数优化网络的输入,返回所述获取当前参数优化网络输出的网络训练参数信息的步骤;
当所述核心神经网络满足收敛条件时,得到已训练的核心神经网络。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时, 使得所述处理器执行如下步骤:
获取当前参数优化网络输出的网络训练参数信息;
根据所述网络训练参数信息训练核心神经网络的网络参数,得到更新的核心神经网络;
获取所述更新的核心神经网络对应的评价指标参数;
根据所述评价指标参数计算得到所述当前参数优化网络的损失函数值;
基于所述损失函数值调整所述当前参数优化网络的网络参数得到更新的参数优化网络, 将所述更新的参数优化网络作为所述当前参数优化网络,将所述网络训练参数信息作为所述 当前参数优化网络的输入,返回所述获取当前参数优化网络输出的网络训练参数信息的步骤;
当所述核心神经网络满足收敛条件时,得到已训练的核心神经网络。
上述神经网络训练方法、装置、电子设备以及计算机可读存储介质,通过参数优化网络 输出的网络训练参数信息对核心神经网络的训练参数进行调整,优化后的训练参数,有助于 提升神经网络的收敛速度和收敛效果,从而提高训练效率和性能。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术 描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一 些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些 附图获得其他的附图。
图1为一个实施例中神经网络结构优化方法、神经网络训练方法的应用环境图;
图2为一个实施例中神经网络结构优化方法的流程示意图;
图3为一个实施例中神经网络结构优化的流程原理图;
图4为一个实施例中神经网络结构优化方法的流程示意图;
图5为一个实施例中核心神经网络的初始网络结构示意图;
图6为一个实施例中结构优化网络的结构示意图;
图7为一个实施例中神经网络结构优化装置的结构框图;
图8为一个实施例中神经网络训练装置的结构框图;
图9为一个实施例中电子设备的内部结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申 请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用 于限定本申请。
图1为一个实施例中神经网络结构优化、神经网络训练方法的应用环境图。如图1所示, 该应用环境包括终端110和服务器120,终端110获取核心神经网络,将包括核心神经网络 的神经网络处理请求发送至服务器120,服务器120通过交替训练结构优化网络和核心神经 网络,快速高效地迭代出最优的核心神经网络的网络结构,服务器120还可以通过交替训练 参数优化网络和核心神经网络提高核心神经网络的收敛速度,高效地训练得到已训练的核心 神经网络,提高核心神经网络的性能。服务器120可以将优化后的网络结构信息和已训练的 核心神经网络返回至终端110。其中终端110可以为包括手机、平板电脑、PDA(Personal Digital Assistant,个人数字助理)、车载电脑、穿戴式设备等终端设备。终端设备可以从 将各种不同业务功能的神经网络作为核心神经网络,核心神经网络的功能包括但不限于人脸 识别、语音识别、影像处理等。其中服务器120可以为一个服务器或服务器集群。
在一些实施例中,神经网络结构优化方法、神经网络训练方法也可以应用于终端110, 由终端110直接执行上述步骤得到优化后的核心神经网络的目标网络结构和得到已训练的核 心神经网络。
图2为一个实施例中神经网络结构优化方法的流程图。图2所示的神经网络结构优化方 法可应用于上述终端110或服务器120中,结合图3所示的流程原理图,包括:
步骤202,获取当前结构优化网络输出的网络结构信息。
其中,结构优化网络是用于优化核心神经网络的网络结构,得到优化后的网络结构信息 的神经网络,可以是深度神经网络,包括卷积层,池化层、连接层等网络结构。网络结构信 息是用于确定核心神经网络的网络结构的信息,可以包括一种或多种不同类型的信息。
具体地,当前结构优化网络的输入是当前核心神经网络的网络结构信息,输出是核心神经 网络优化后的网络结构信息。网络结构信息可以包括但不限于神经网络层数、神经网络层对 应的输出通道数、神经网络层对应的权重精度、神经网络层的激活函数的输出精度、神经网 络层对应的权重修剪阈值,神经元对应的权重精度等。网络结构信息是数组、矩阵、向量等 形式。当前结构优化网络输出的网络结构信息用于调整核心神经网络的网络结构。
在一个实施例中,结构优化网络的初始输入是核心神经网络的原始结构信息,此时,结 构优化网络的作用是优化核心网络的原始结构。
在一个实施例中,结构优化网络的初始输入是随机初始量,确定一个以随机初始量为结 构信息形成的初始核心神经网络,此时,结构优化网络的作用是从零开始设计一个核心神经 网络。
步骤204,根据网络结构信息调整核心神经网络的网络结构得到更新后的核心神经网络。
具体地,根据网络结构信息的类型对应调整核心神经网络的网络结构。当网络结构信息 包括神经网络层数时,则对核心神经网络的神经网络层数进行调整,如调整前核心神经网络 的神经网络层数为10层,网络结构信息对应的神经网络层数为8层,则调整后核心神经网络的 神经网络层数为8层。
当网络结构信息包括神经网络层对应的输出通道数时,网络结构信息包括核心神经网络 的各个核心神经网络的目标输出通道数,按照网络结构信息对核心神经网络的各个神经网络 层对应的输出通道进行调整。
当网络结构信息包括神经网络层对应的权重精度时,每个神经网络层具有相同的权重精 度,权重精度可以通过各层权重占用的比特数n来表示。根据当前网络权重所在的神经网络层 对应的比特数n,将当前网络权重转换为整数,且只占用比特数n位。从而可以将占用比特数 位多的网络权重转换为占用比特数位少的形式表示,降低网络权重的比特数,从而降低神经 网络的存储空间及运算量。在一个实施例中,针对每个神经元设置对应的权重精度,同一个 神经网络层的不同神经元可以具有不同的权重精度,进一步提高了权重精度设置的灵活性, 使得神经网络的运算量的减少变得更加智能。
当网络结构信息包括神经网络层的激活函数的输出精度时,每个神经网络层的激活函数 的输出具有相同的输出精度,输出精度可以通过占用的比特数n来表示。根据当前激活函数所 在的神经网络层对应的比特数n,将当前激活函数的输出转换为整数,且只占用比特数n位。 从而可以将占用比特数位多的激活函数的输出转换为占用比特数位少的形式表示,降低激活 函数的输出的比特数,从而降低系统所需的带宽,同时也降低网络的后一层所需的运算量。 在一个实施例中,针对每个激活函数设置对应的输出精度,同一个神经网络层的不同激活函 数的输出可以具有不同的输出精度,进一步提高了输出精度设置的灵活性,使得神经网络的 运算量的减少变得更加智能。
当网络结构信息包括神经网络层对应的权重修剪阈值时,将每个神经网络层的网络权重 与对应的权重修剪阈值进行对比,根据对比结果对网络权重进行修剪。如果当前网络权重小 于权重修剪阈值,则将当前网络权重替换为0,如果当前网络权重大于或等于权重修剪阈值, 则保持当前网络权重不变,提高网络权重中0的比例,有利于提高网络权重的压缩率,使得神 经网络的运算量减少。
可以理解,网络结构信息还可为上述类型之外的信息,适用于神经网络可调整的结构元 素,不作限定。
步骤206,训练更新后的核心神经网络直到达到收敛条件,得到已训练的核心神经网络。
具体地,对更新网络结构后的核心神经网络进行训练,可通过反向传播调整网络参数, 直至核心神经网络的损失函数值稳定,或达到预设的训练次数,得到已训练的核心神经网络。
步骤208,获取已训练的核心神经网络对应的评价指标参数,根据评价指标参数计算得 到当前结构优化网络的损失函数值。
其中,评价指标参数是用于对核心神经网络进行评价的信息,可以包括不同类型的评价 信息,如包括成本评价信息、性能评价信息、稳定性评价信息等,可自定义。通过一种或多 种评价信息确定结构优化网络的损失函数,将评价指标参数代入损失函数计算得到当前结构 优化网络的损失函数值。
步骤210,基于损失函数值调整当前结构优化网络的网络参数得到更新的结构优化网络, 将更新的结构优化网络作为当前结构优化网络,将网络结构信息作为当前结构优化网络的输 入,返回获取当前结构优化网络输出的网络结构信息的步骤,直至结构优化网络满足收敛条 件。
具体地,结构优化网络的训练目标是降低结构优化网络的损失函数的数值。如果第n次 的数值低于第(n-1)次,表明评价指标对应的综合表现提升,反向传播后结构优化网络的权 重会按照原有的分布演进;如果第n次的数值高于第(n-1)次,表明评价指标对应的综合表现 降低,反向传播后结构优化网络的权重会偏离原有的分布。输入当前的网络结构信息至更新 后的当前结构优化网络,又输出一组新的网络结构信息,进行下一次的训练。重复该过程, 直至结构优化网络的损失函数值趋于稳定,或达到预设的最大优化次数,在两个神经网络的 交替训练中逐渐将核心神经网络的结构趋于最优,核心神经网络完成优化。
步骤212,通过满足收敛条件的结构优化网络输出的网络结构信息确定核心神经网络的 目标网络结构。
具体地,根据满足收敛条件的结构优化网络输出的网络结构信息,确定核心神经网络的 目标网络结构。
本实施例中的神经网络结构优化方法,通过结构优化网络输出网络结构信息。核心神经 网络照此调整网络结构,并进行训练,直至核心神经网络收敛,结构优化网络的损失函数根 据核心神经网络的评价指标参数,算出结构优化网络的损失函数值,结构优化网络根据损失 函数值,更新结构优化网络,然后输入当前的网络结构信息,又输出新的网络结构信息。重 复该过程,直至结构优化网络收敛,则核心神经网络完成优化,在核心神经网络的上层再嵌 套一个结构优化网络。该结构优化网络根据核心神经网络的评价指标,优化原核心神经网络 的结构信息,在两个网络的交替训练中逐渐将核心神经网络的网络结构趋于最优。可快速高 效地迭代出最优的网络结构,达到评价指标的平衡,且优化过程无需监督,节省人力与开发 时间。可应用在网络结构调整、网络剪枝、网络量化等不同的方面。
如图4所示,为一个实施例中神经网络结构优化方法的流程示意图,结构优化网络输出网 络结构信息,根据网络结构信息为核心神经网络设定结构,核心神经网络进行训练,直到核 心神经网络的损失函数收敛或训练次数达到预设值,结构优化网络损失函数综合计算已训练 的核心神经网络性能和成本,当结构优化网络的损失函数收敛或训练次数达到预设值时,优 化完成,输出核心神经网络的结构信息,否则反向传播,更新结构优化网络,将本次的网络 结构信息输入至结构优化网络输出新的网络结构信息。
在一个实施例中,网络结构信息包括以下信息中的至少一种:神经网络层数;神经网络 层对应的输出通道数;神经网络层对应的权重精度;神经网络层的激活函数的输出精度;神 经网络层对应的权重修剪阈值。
具体地,网络结构信息可以为一种或多种类型的信息,当网络结构信息为一种类型的信 息时,网络结构信息可表示为一个数组或一维向量,数组或向量中的数字代表核心神经网络 各局部模块中的网络结构信息,如卷积层的层数,或代表核心神经网络各残差层跳过的层数, 卷积层的输出通道数,卷积层的权重精度,卷积层的激活函数的输出精度,卷积层的权重修 剪阈值等。当网络结构信息包括两种或两种以上不同类型的信息时,可以表示成矩阵或多维 向量,同时调整多类结构信息。例如,矩阵的第一列代表各神经网络层的输出通道数,矩阵 的第二列代表各神经网络层的权重精度,矩阵的第三列代表各神经网络层的激活函数的输出 精度,从而同时优化三个方面。。
本实施例中,网络结构信息包括一种或多种类型的结构信息,可从一个或多个方面对网 络结构进行调整,可根据需要自定义网络结构信息,提高了网络结构调整的灵活性。
在一个实施例中,当网络结构信息包括神经网络层对应的输出通道数时,步骤204包括: 根据网络结构信息确定核心神经网络的各个神经网络层对应的目标输出通道数;以目标输出 通道数为目标,调整核心神经网络中对应的神经网络层的输出通道;将核心神经网络中目标 输出通道数小于或等于0的神经网络层进行删除。
具体地,当用数组或矩阵表示结构信息时,数组或矩阵中的数字依次表示核心神经网络 的各神经网络层的目标输出通道数,输出通道数代表神经网络层的权重量,输出通道数越多, 则权重量越大。当某个神经网络层的目标输出通道数小于等于零时,代表该神经网络层被删 除。核心神经网络可根据输出通道数调整局部的或全局的结构。不同的神经网络层可以对应 相同或不同的输出通道数。
本实施例中,按照网络结构信息对核心神经网络的各个神经网络层对应的输出通道进行 调整,当目标输出通道数小于或等于0时,将神经网络层进行删除,可智能高效的减少神经网 络的运算量。
在一个实施例中,当网络结构信息包括神经网络层对应的权重精度时,步骤204包括: 根据网络结构信息获取当前网络权重所在的神经网络层对应的第一目标比特数;将当前网络 权重转换为第一目标整数值,第一目标整数值占用的比特位数为第一目标比特数,第一目标 比特数小于当前网络权重的原始占用比特数。
具体地,用数组或矩阵表示结构信息时,数组或矩阵中的数字依次表示核心神经网络的 各神经网络层的网络权重的比特数n。执行该结构信息时,将核心神经网络的某层原权重记 为w,该层对应的比特数记为n,如果w的绝对值小于预设阈值时,预设阈值时可自定义, 如定义为1,则根据第一变换算法转换得到对应的第一目标整数值;如果w的绝对值大于或 等于预设阈值,则根据第二变换算法转换得到对应的第一目标整数值。其中第一变换算法和 第二变换算法可自定义。通过降低网络权重的比特数,从而降低神经网络的存储空间及运算 量。例如,原本每个网络权重要用32bit表示,现仅保留高八位,则神经网络的存储空间降为 四分之一,运算消耗的硬件乘法器资源也大幅降低。不同的神经网络层可以设置相同或不同 的权重精度,对应不同的目标比特数。
本实施例中,将占用比特数位多的网络权重转换为占用比特数位少的形式表示,降低网 络权重的比特数,从而降低神经网络的存储空间及运算量。
在一个实施例中,当网络结构信息包括神经网络层的激活函数的输出精度时,步骤204 包括:根据网络结构信息获取当前激活函数所在的神经网络层对应的第二目标比特数;将当 前激活函数的当前输出值转换为第二目标整数值,第二目标整数值占用的比特位数为所述第 二目标比特数,第二目标比特数小于当前输出值的原始占用比特数。
具体地,用数组或矩阵表示结构信息,数组或矩阵中的数字依次表示核心神经网络各神 经网络层的激活函数的输出结果的比特数n。执行该结构信息时,将核心神经网络的某层激 活函数的输出值记为q,该层对应的比特数记为n,如果q的绝对值小于预设阈值,预设阈值 时可自定义,如定义为1,则q根据第三变换算法转换为对应的第二目标整数值,如果核心 神经网络的激活函数的输出值q的绝对值大于或等于预设阈值,则根据第四变换算法转换为 对应的第二目标整数值,其中第一变换算法和第二变换算法可自定义。不同的神经网络层可 以设置相同或不同的输出精度,对应不同的目标比特数。
本实施例中,第二目标比特数小于当前输出值的原始占用比特数,将占用比特数位多的 激活函数的输出结果转换为占用比特数位少的形式表示,仅保留中间运算量的高位,降低系 统所需的带宽,同时也降低网络的后一层所需的运算量。
在一个实施例中,待转换数据为当前网络权重或当前输出值,将待转换数据转换为对应 的目标整数值包括以下步骤:当待转换数据w的绝对值小于1时,将待转换数据w转换为 int(w*2n)/2n;当待转换数据w的绝对值大于或等于1时,将待转换数据w转换为int(w/2n)*2n, 其中int()代表截断取整,n表示目标整数值占用的比特数。
具体地,当前网络权重或当前输出值一般为小数,常见类型为32bit浮点型,通过转 换,将其转换为相近的比特数为n位的整数。如待转换数据w是0.6,把它转换成8bit的整数形式,则可以通过int(0.6*256)/28,即153/28,前面的153可以进行常规的整数乘法,后面的‘/28’用移位运算实现,此处的移位运算可理解为舍弃二进制的低八位。所以,如果要计算0.6*10,在转换之后,实际上变成了,先用153乘以10,得到1530,再舍弃1530的二进 制形式的低八位,在硬件上实现更简单,硬件中的整数运算远比小数运算的运算复杂度低。 如果待转换数据w的绝对值大于或等于1时,则通过int(w/2n)*2n进行转换,同样达到降低运算复杂度的效果。
本实施例中,实现了数据占用比特数位数降低的同时通过移位运算,使得运算过程更适 用于硬件,提高了神经网络的运算效率。
在一个实例中,当网络结构信息包括神经网络层对应的权重修剪阈值时,步骤204包括: 根据网络结构信息获取当前网络权重所在的神经网络层对应的目标权重修剪阈值;当当前网 络权重的绝对值小于目标权重修剪阈值时,则将当前网络权重转换为0;当所述当前网络权 重的绝对值大于或等于目标权重修剪阈值时,则保持当前网络权重的值不变。
具体地,用数组或矩阵表示结构信息,数组或矩阵中的数字依次表示核心神经网络各层 权重的修剪阈值T。当执行该结构信息时,将核心神经网络的某层网络权重记为w,该层对 应的修剪阈值记为T,如果w的绝对值小于T,则w替换为0,如果w的绝对值大于或等于 T,则w不变。从而提高网络权重中0的比例,有利于提高权重的压缩率,其中修剪阈值T可以自定义。不同的神经网络层可以设置相同或不同的修剪阈值。
本实施例中,通过修剪阈值可以智能的对核心神经网络的神经网络层的网络权重进行修 剪,降低运算复杂度。
在一个实施例中,评价指标参数包括性能指标参数和成本指标参数,步骤208包括:获 取已训练的核心神经网络对应的运算量、数据传输带宽、网络权重占据的存储空间、网络权 重数量、执行时间、执行功耗中的至少一种作为成本指标参数;获取已训练的核心神经网络 的输出数据对应的质量评价度作为性能指标参数。
具体地,成本指标参数是体现核心神经网络的运算成本的数据,可以为一种或多种,可 为已训练的核心神经网络对应的运算量、数据传输带宽、网络权重占据的存储空间、网络权 重数量、执行时间、执行功耗中的至少一种。质量评价度用于体现核心神经网络的性能,性 能的衡量方式与网络的具体目标有关。例如,对于提升画质的网络,可将测试图输入网络, 计算输出的图片与理想结果的相似度,通常用PSNR来衡量相似度。又比如,人脸检测的网 络,可将测试图输入网络,将识别的准确率作为衡量指标,不同的业务场景对应的核心神经 网络对应不同的质量评价方式,从而计算质量评价度的方式不同。
本实施例中,通过性能指标参数和成本指标参数共同作为评价指标参数,从而达到性能 与成本的平衡。
在一个实施例中,步骤208包括:通过公式lossn=(costn-λ*effectn)-(costn-1-λ*effectn-1)计 算得到所述当前结构优化网络的损失函数值,其中所述cost表示成本指标参数,effect表示 性能指标参数,n表示结构优化网络的优化次数,n≥1,λ为系数,λ>0。
具体地,cost代表核心神经网络的成本,cost越高表示成本越大;effect代表核心神经网 络的性能,effect越高表示性能越好,λ为系数,是权衡成本与性能的比重。结构优化网络的 训练目标是降低损失函数值。即,对于(cost-λ*effect),如果第n次的数值低于第(n-1)次, 则lossn<0,表明成本与性能的综合表现提升,反向传播后结构优化网络的权重会按照原有的 分布演进;如果第n次的数值高于第(n-1)次,则lossn>0,表明成本与性能的综合表现降低, 反向传播后结构优化网络的权重会偏离原有的分布。
本实施例中,通过成本指标参数和性能指标参数计算得到结构优化网络的损失函数值, 从而使得训练得到的核心神经网络在成本与性能之间达到平衡。
在一个具体的实施例中,提供一种神经网络结构优化方法,待优化的核心神经网络是图 片处理网络,用于对图片进行超分辨率处理,使放大后的图片更清晰。其初始结构参考经典 的SRCNN网络,如图5所示,其中第一个卷积层的输出通道数为64,第二个卷积层的输出 通道数为32,第三个卷积层的输出通道数为1。核心神经网络的性能评估指标为重建图像与 原高分辨率图像的PSNR,PSNR越高,表明重建图像与原高分辨率图像越接近,即性能指标 参数为PSNR。核心网络的成本指标参数为权重数量,所有卷积层的尺寸均为3x3。将第一个 卷积层的输出通道数记为m1,第二个卷积层的输出通道数记为m2,而第三个卷积层的输出 通道数由于功能限制,必须为1。则核心神经网络的权重数量为:quantity= 3*3*(m1+m1*m2+m2)。为了优化核心神经网络的成本与性能,设定结构优化网络,对前两个 卷积层的输出通道数进行优化。结构优化网络的结构如图6所示,结构优化网络的损失函数定义为:
lossn=(quantityn-λ*PSNRn)-(quantityn-1-λ*PSNRn-1),
此处PSNR为上述核心神经网络的性能指标参数,quantity为上述核心神经网络的权重数量, λ为系数,此处设定为λ=40,n为优化次数。神经网络结构优化过程具体如下:
1、对核心神经网络进行性能测试,记录其初始的PSNR和quantity,对结构优化网络进行随 机初始化,然后根据核心神经网络的原始结构,设定m1=64,m2=32,结构优化网络据此算 出更新的m1、m2,即m1’、m2’。
2、将更新的m1、m2取绝对值,并近似为整数,然后调整核心神经网络的结构,使其第一个 卷积层的输出通道数为m1,第二个卷积层的输出通道数为m2,然后重新训练核心神经网络, 反向传播次数设置为10000。
3、核心神经网络训练完成后,再次测试核心神经网络,记录其此时的评价指标参数,即PSNR 和quantity,并结合上一次的PSNR和quantity,计算出损失函数值lossn。根据lossn,对结构 优化网络反向传播,计算各神经元的梯度值,更新结构优化网络。
4、将此时的m1、m2作为输入,传进结构优化网络,算出更新的m1、m2,重复上述过程, 直至lossn趋于稳定,则优化过程结束,可将此时的核心神经网络的结构作为最终输出。
本实施例中,在核心神经网络之外嵌套了一个结构优化网络,由结构优化网络设定核心 神经网络的卷积层的输出通道数,结构优化网络将核心神经网络的性能与成本作为自身的损 失函数;两者交替训练,最终迭代出核心神经网络的最佳结构信息。
在一个实施例中,提供了一种神经网络训练方法,包括以下步骤:获取当前参数优化网 络输出的网络训练参数信息;根据网络训练参数信息训练核心神经网络的网络参数,得到更 新的核心神经网络;获取更新的核心神经网络对应的评价指标参数;根据评价指标参数计算 得到当前参数优化网络的损失函数值;基于损失函数值调整当前参数优化网络的网络参数得 到更新的参数优化网络,将更新的参数优化网络作为当前参数优化网络,将网络训练参数信 息作为当前参数优化网络的输入,返回获取当前参数优化网络输出的网络训练参数信息的步 骤;当核心神经网络满足收敛条件时,得到已训练的核心神经网络。
具体地,参数优化网络用于对核心神经网络的训练参数进行优化,训练参数包括神经网 络的学习率、网络权重的初始化参数、Adam方法的参数、drop层的概率等。训练参数虽然 不影响网络结构,但影响网络的训练过程,优化这些训练参数,有助于提升神经网络的收敛 速度和收敛效果,从而提高训练效率和性能。评价指标参数可以为核心神经网络的性能指标 参数,在一个实施例中,参数优化网络的损失函数可以表示为lossn=effectn-1-effectn,其中n 表示优化次数,effect表示核心神经网络的性能。
本实施例中,通过参数优化网络输出的网络训练参数信息对核心神经网络的训练参数进 行调整,优化后的训练参数,有助于提升神经网络的收敛速度和收敛效果,从而提高训练效 率和性能。
可以理解,可以先执行上述实施例中的神经网络结构优化方法,确定核心神经网络的网 络结构,再执行上述实施例中的神经网络训练方法通过优化的网络训练参数对核心神经网络 进行训练,最终得到已训练的核心神经网络。也可以将上述实施例中的神经网络结构优化方 法和神经网络训练方法同步进行,在优化网络结构的同时,优化网络训练参数,最终得到已 训练的核心神经网络。
应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步 骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并 没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可 以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而 是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以 与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
图7为一个实施例的神经网络结构优化装置300的结构框图。如图4所示,一种神经网 络结构优化装置300,包括:获取模块302、核心神经网络结构调整模块304、核心神经网络 训练模块306、结构优化网络损失计算模块308、结构优化网络调整模块310和网络结构确定 模块312。其中:
获取模块302,用于获取当前结构优化网络输出的网络结构信息。
核心神经网络结构调整模块304,用于根据所述网络结构信息调整核心神经网络的网络 结构得到更新后的核心神经网络。
核心神经网络训练模块306,用于训练所述更新后的核心神经网络直到达到收敛条件, 得到已训练的核心神经网络。
结构优化网络损失计算模块308,用于获取所述已训练的核心神经网络对应的评价指标 参数,根据所述评价指标参数计算得到所述当前结构优化网络的损失函数值。
结构优化网络调整模块310,用于基于所述损失函数值调整所述当前结构优化网络的网 络参数得到更新的结构优化网络,将所述更新的结构优化网络作为所述当前结构优化网络, 将所述网络结构信息作为所述当前结构优化网络的输入,返回所述获取模块302,直至结构 优化网络满足收敛条件。
网络结构确定模块312,用于通过满足收敛条件的结构优化网络输出的网络结构信息确 定核心神经网络的目标网络结构。
本实施中的神经网络结构优化装置300,通过结构优化网络输出网络结构信息。核心神 经网络照此调整网络结构,并进行训练,直至核心神经网络收敛,结构优化网络的损失函数 根据核心神经网络的评价指标参数,算出结构优化网络的损失函数值,结构优化网络根据损 失函数值,更新结构优化网络,然后输入当前的网络结构信息,又输出新的网络结构信息。 重复该过程,直至结构优化网络收敛,则核心神经网络完成优化,在核心神经网络的上层再 嵌套一个结构优化网络。该结构优化网络根据核心神经网络的评价指标,优化原核心神经网 络的结构信息,在两个网络的交替训练中逐渐将核心神经网络的网络结构趋于最优。可快速 高效地迭代出最优的网络结构,达到评价指标的平衡,且优化过程无需监督,节省人力与开 发时间。可应用在网络结构调整、网络剪枝、网络量化等不同的方面。
在一个实施例中,网络结构信息包括以下信息中的至少一种:神经网络层数;神经网络 层对应的输出通道数;神经网络层对应的权重精度;神经网络层的激活函数的输出精度;神 经网络层对应的权重修剪阈值。
本实施中的神经网络结构优化装置300,网络结构信息包括一种或多种类型的结构信息, 可从一个或多个方面对网络结构进行调整,可根据需要自定义网络结构信息,提高了网络结 构调整的灵活性。
在一个实施例中,核心神经网络结构调整模块304还用于当所述网络结构信息包括神经 网络层对应的输出通道数时,根据所述网络结构信息确定所述核心神经网络的各个神经网络 层对应的目标输出通道数,以所述目标输出通道数为目标,调整所述核心神经网络中对应的 神经网络层的输出通道,将所述核心神经网络中目标输出通道数为0的神经网络层进行删除。
本实施中的神经网络结构优化装置300,按照网络结构信息对核心神经网络的各个神经网 络层对应的输出通道进行调整,当目标输出通道数小于或等于0时,将神经网络层进行删除, 可智能高效的减少神经网络的运算量。
在一个实施例中,核心神经网络结构调整模块304还用于当所述网络结构信息包括神经 网络层对应的权重精度时,根据网络结构信息获取当前网络权重所在的神经网络层对应的第 一目标比特数;将当前网络权重转换为第一目标整数值,所述第一目标整数值占用的比特位 数为所述第一目标比特数,所述第一目标比特数小于所述当前网络权重的原始占用比特数。
本实施例中,将占用比特数位多的网络权重转换为占用比特数位少的形式表示,降低网 络权重的比特数,从而降低神经网络的存储空间及运算量。
在一个实施例中,核心神经网络结构调整模块304还用于当所述网络结构信息包括神经 网络层的激活函数的输出精度时,根据网络结构信息获取当前激活函数所在的神经网络层对 应的第二目标比特数;将所述当前激活函数的当前输出值转换为第二目标整数值,所述第二 目标整数值占用的比特位数为所述第二目标比特数,所述第二目标比特数小于所述当前输出 值的原始占用比特数。
本实施中的神经网络结构优化装置300,第二目标比特数小于当前输出值的原始占用比 特数,将占用比特数位多的激活函数的输出结果转换为占用比特数位少的形式表示,仅保留 中间运算量的高位,降低系统所需的带宽,同时也降低网络的后一层所需的运算量。
在一个实施例中,待转换数据为所述当前网络权重或当前输出值,所述装置还包括:
转换模块,用于当所述待转换数据w的绝对值小于1时,将所述待转换数据w转换为int(w*2n)/2n;当所述待转换数据w的绝对值大于或等于1时,将所述待转换数据w转换为int(w/2n)*2n,其中int()代表截断取整,n表示目标整数值占用的比特数。
本实施例中,实现了数据占用比特数位数降低的同时通过移位运算,使得运算过程更适 用于硬件,提高了神经网络的运算效率。
在一个实施例中,核心神经网络结构调整模块304还用于当网络结构信息包括神经网络 层对应的权重修剪阈值时,根据网络结构信息获取当前网络权重所在的神经网络层对应的目 标权重修剪阈值;当当前网络权重的绝对值小于所述目标权重修剪阈值时,则将当前网络权 重转换为0;当当前网络权重的绝对值大于或等于所述目标权重修剪阈值时,则保持当前网 络权重的值不变。
本实施例中,通过修剪阈值可以智能的对核心神经网络的神经网络层的网络权重进行修 剪,降低运算复杂度。
在一个实施例中,评价指标参数包括性能指标参数和成本指标参数,结构优化网络损失 计算模块308还用于获取所述已训练的核心神经网络对应的运算量、数据传输带宽、网络权 重占据的存储空间、网络权重数量、执行时间、执行功耗中的至少一种作为所述成本指标参 数;获取所述已训练的核心神经网络的输出数据对应的质量评价度作为所述性能指标参数。
本实施例中,通过性能指标参数和成本指标参数共同作为评价指标参数,从而达到性能 与成本的平衡。
在一个实施例中,结构优化网络损失计算模块308还用于通过公式lossn=(costn-λ*effectn) -(costn-1-λ*effectn-1)计算得到所述当前结构优化网络的损失函数值,其中所述cost表示成本指 标参数,effect表示性能指标参数,n表示结构优化网络的优化次数,n≥1,λ为系数,λ>0。
本实施例中,通过成本指标参数和性能指标参数计算得到结构优化网络的损失函数值, 从而使得训练得到的核心神经网络在成本与性能之间达到平衡。
在一个实施例中,如图8所示,提供了一种神经网络训练装置400,包括:
获取模块402,用于获取当前参数优化网络输出的网络训练参数信息。
核心神经网络训练模块404,用于根据网络训练参数信息训练核心神经网络的网络参数, 得到更新的核心神经网络。
参数优化网络损失计算模块406,用于获取更新的核心神经网络对应的评价指标参数, 根据评价指标参数计算得到所述当前参数优化网络的损失函数值。
参数优化网络调整模块408,用于基于损失函数值调整当前参数优化网络的网络参数得 到更新的参数优化网络,将更新的参数优化网络作为当前参数优化网络,将网络训练参数信 息作为当前参数优化网络的输入,返回所述获取模块。
核心神经网络确定模块410,用于当核心神经网络满足收敛条件时,得到已训练的核心 神经网络。
本实施例中,通过参数优化网络输出的网络训练参数信息对核心神经网络的训练参数进 行调整,优化后的训练参数,有助于提升神经网络的收敛速度和收敛效果,从而提高训练效 率和性能。
关于神经网络结构优化装置、神经网络训练装置的具体限定可以参见上文中对于神经网 络结构优化方法、神经网络训练方法的限定,在此不再赘述。上述神经网络结构优化装置、 神经网络训练装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块 可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设 备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
图9为一个实施例中电子设备的内部结构示意图。如图9所示,该电子设备包括通过系统 总线连接的处理器、存储器。其中,该处理器用于提供计算和控制能力,支撑整个电子设备 的运行。存储器可包括非易失性存储介质及内存储器。非易失性存储介质存储有操作系统和 计算机程序。该计算机程序可被处理器所执行,以用于实现以上各个实施例所提供的神经网 络结构优化方法或神经网络训练方法。内存储器为非易失性存储介质中的操作系统计算机程 序提供高速缓存的运行环境。该电子设备可以是手机、服务器等。
本申请实施例中提供的神经网络结构优化装置、神经网络训练装置中的各个模块的实现 可为计算机程序的形式。该计算机程序可在终端或服务器上运行。该计算机程序构成的程序 模块可存储在终端或服务器的存储器上。该计算机程序被处理器执行时,实现本申请实施例 中所描述的神经网络结构优化方法或神经网络训练方法。
本申请实施例还提供了一种计算机可读存储介质。一个或多个包含计算机可执行指令的 非易失性计算机可读存储介质,当所述计算机可执行指令被一个或多个处理器执行时,使得 所述处理器执行本申请实施例中所描述的神经网络结构优化方法或神经网络训练方法。
一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行本申请实施 例中所描述的神经网络结构优化方法或神经网络训练方法。
本申请所使用的对存储器、存储、数据库或其它介质的任何引用可包括非易失性和/或易 失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程 ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM),它用作外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静 态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDR SDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线 (Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态 RAM(RDRAM)。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因 此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在 不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。 因此,本申请专利的保护范围应以所附权利要求为准。

Claims (16)

1.一种神经网络结构优化方法,其特征在于,包括:
获取当前结构优化网络输出的网络结构信息;
根据所述网络结构信息调整核心神经网络的网络结构得到更新后的核心神经网络;
训练所述更新后的核心神经网络直到达到收敛条件,得到已训练的核心神经网络;
获取所述已训练的核心神经网络对应的评价指标参数;
根据所述评价指标参数计算得到所述当前结构优化网络的损失函数值;
基于所述损失函数值调整所述当前结构优化网络的网络参数得到更新的结构优化网络,将所述更新的结构优化网络作为所述当前结构优化网络,将所述网络结构信息作为所述当前结构优化网络的输入,返回所述获取当前结构优化网络输出的网络结构信息的步骤,直至结构优化网络满足收敛条件;
通过满足收敛条件的结构优化网络输出的网络结构信息确定核心神经网络的目标网络结构。
2.根据权利要求1所述的方法,其特征在于,所述网络结构信息包括以下信息中的至少一种:
神经网络层数;
神经网络层对应的输出通道数;
神经网络层对应的权重精度;
神经网络层的激活函数的输出精度;
神经网络层对应的权重修剪阈值。
3.根据权利要求2所述的方法,其特征在于,当所述网络结构信息包括神经网络层对应的输出通道数时,所述根据所述网络结构信息调整核心神经网络的网络结构得到更新后的核心神经网络包括:
根据所述网络结构信息确定所述核心神经网络的各个神经网络层对应的目标输出通道数;
以所述目标输出通道数为目标,调整所述核心神经网络中对应的神经网络层的输出通道;
将所述核心神经网络中目标输出通道数小于或等于0的神经网络层进行删除。
4.根据权利要求1所述的方法,其特征在于,当所述网络结构信息包括神经网络层对应的权重精度时,所述根据所述网络结构信息调整核心神经网络的网络结构得到更新后的核心神经网络包括:
根据网络结构信息获取当前网络权重所在的神经网络层对应的第一目标比特数;
将所述当前网络权重转换为第一目标整数值,所述第一目标整数值占用的比特位数为所述第一目标比特数,所述第一目标比特数小于所述当前网络权重的原始占用比特数。
5.根据权利要求2所述的方法,其特征在于,当所述网络结构信息包括神经网络层的激活函数的输出精度时,所述根据所述网络结构信息调整核心神经网络的网络结构得到更新后的核心神经网络包括:
根据网络结构信息获取当前激活函数所在的神经网络层对应的第二目标比特数;
将所述当前激活函数的当前输出值转换为第二目标整数值,所述第二目标整数值占用的比特位数为所述第二目标比特数,所述第二目标比特数小于所述当前输出值的原始占用比特数。
6.根据权利要求4或5所述的方法,其特征在于,待转换数据为所述当前网络权重或当前输出值,将所述待转换数据转换为对应的目标整数值包括以下步骤:
当所述待转换数据w的绝对值小于1时,将所述待转换数据w转换为int(w*2n)/2n
当所述待转换数据w的绝对值大于或等于1时,将所述待转换数据w转换为int(w/2n)*2n,其中int()代表截断取整,n表示目标整数值占用的比特数。
7.根据权利要求2所述的方法,其特征在于,当所述网络结构信息包括神经网络层对应的权重修剪阈值时,所述根据所述网络结构信息调整核心神经网络的网络结构得到更新后的核心神经网络包括:
根据网络结构信息获取当前网络权重所在的神经网络层对应的目标权重修剪阈值;
当所述当前网络权重的绝对值小于所述目标权重修剪阈值时,则将所述当前网络权重转换为0;
当所述当前网络权重的绝对值大于或等于所述目标权重修剪阈值时,则保持所述当前网络权重的值不变。
8.根据权利要求1所述的方法,其特征在于,所述评价指标参数包括性能指标参数和成本指标参数,所述获取所述已训练的核心神经网络对应的评价指标参数包括:
获取所述已训练的核心神经网络对应的运算量、数据传输带宽、网络权重占据的存储空间、网络权重数量、执行时间、执行功耗中的至少一种作为所述成本指标参数;
获取所述已训练的核心神经网络的输出数据对应的质量评价度作为所述性能指标参数。
9.根据权利要求8所述的方法,其特征在于,所述根据所述评价指标参数计算得到所述当前结构优化网络的损失函数值包括:
通过公式lossn=(costn-λ*effectn)-(costn-1-λ*effectn-1)计算得到所述当前结构优化网络的损失函数值,其中所述cost表示成本指标参数,effect表示性能指标参数,n表示结构优化网络的优化次数,n≥1,λ为系数,λ>0。
10.一种神经网络训练方法,其特征在于,包括:
获取当前参数优化网络输出的网络训练参数信息;
根据所述网络训练参数信息训练核心神经网络的网络参数,得到更新的核心神经网络;
获取所述更新的核心神经网络对应的评价指标参数;
根据所述评价指标参数计算得到所述当前参数优化网络的损失函数值;
基于所述损失函数值调整所述当前参数优化网络的网络参数得到更新的参数优化网络,将所述更新的参数优化网络作为所述当前参数优化网络,将所述网络训练参数信息作为所述当前参数优化网络的输入,返回所述获取当前参数优化网络输出的网络训练参数信息的步骤;
当所述核心神经网络满足收敛条件时,得到已训练的核心神经网络。
11.一种神经网络结构优化装置,其特征在于,包括:
获取模块,用于获取当前结构优化网络输出的网络结构信息;
核心神经网络结构调整模块,用于根据所述网络结构信息调整核心神经网络的网络结构得到更新后的核心神经网络;
核心神经网络训练模块,用于训练所述更新后的核心神经网络直到达到收敛条件,得到已训练的核心神经网络;
结构优化网络损失计算模块,用于获取所述已训练的核心神经网络对应的评价指标参数,根据所述评价指标参数计算得到所述当前结构优化网络的损失函数值;
结构优化网络调整模块,用于基于所述损失函数值调整所述当前结构优化网络的网络参数得到更新的结构优化网络,将所述更新的结构优化网络作为所述当前结构优化网络,将所述网络结构信息作为所述当前结构优化网络的输入,返回所述获取模块,直至结构优化网络满足收敛条件;
网络结构确定模块,用于通过满足收敛条件的结构优化网络输出的网络结构信息确定核心神经网络的目标网络结构。
12.根据权利要求11所述的装置,其特征在于,所述网络结构信息包括以下信息中的至少一种:
神经网络层数;
神经网络层对应的输出通道数;
神经网络层对应的权重精度;
神经网络层的激活函数的输出精度;
神经网络层对应的权重修剪阈值。
13.根据权利要求11所述的装置,其特征在于,所述核心神经网络结构调整模块还用于当所述网络结构信息包括神经网络层对应的输出通道数时,根据所述网络结构信息确定所述核心神经网络的各个神经网络层对应的目标输出通道数,以所述目标输出通道数为目标,调整所述核心神经网络中对应的神经网络层的输出通道,将所述核心神经网络中目标输出通道数为0的神经网络层进行删除。
14.一种神经网络训练装置,其特征在于,包括:
获取模块,用于获取当前参数优化网络输出的网络训练参数信息;
核心神经网络训练模块,用于根据所述网络训练参数信息训练核心神经网络的网络参数,得到更新的核心神经网络;
参数优化网络损失计算模块,用于获取所述更新的核心神经网络对应的评价指标参数,根据所述评价指标参数计算得到所述当前参数优化网络的损失函数值;
参数优化网络调整模块,用于基于所述损失函数值调整所述当前参数优化网络的网络参数得到更新的参数优化网络,将所述更新的参数优化网络作为所述当前参数优化网络,将所述网络训练参数信息作为所述当前参数优化网络的输入,返回所述获取模块;
核心神经网络确定模块,用于当所述核心神经网络满足收敛条件时,得到已训练的核心神经网络。
15.一种电子设备,包括存储器以及处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至10中任一项所述的神经网络结构优化方法。
16.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至10中任一项所述的神经网络结构优化方法。
CN202010830807.3A 2020-08-18 2020-08-18 神经网络结构优化方法和装置、电子设备 Active CN112149797B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010830807.3A CN112149797B (zh) 2020-08-18 2020-08-18 神经网络结构优化方法和装置、电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010830807.3A CN112149797B (zh) 2020-08-18 2020-08-18 神经网络结构优化方法和装置、电子设备

Publications (2)

Publication Number Publication Date
CN112149797A true CN112149797A (zh) 2020-12-29
CN112149797B CN112149797B (zh) 2023-01-03

Family

ID=73889075

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010830807.3A Active CN112149797B (zh) 2020-08-18 2020-08-18 神经网络结构优化方法和装置、电子设备

Country Status (1)

Country Link
CN (1) CN112149797B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112712893A (zh) * 2021-01-04 2021-04-27 山东众阳健康科技集团有限公司 一种提升计算机临床辅助诊断效果的方法
CN113344474A (zh) * 2021-08-05 2021-09-03 山东大拇指喷雾设备有限公司 基于神经网络的喷嘴生产线动态管控方法及系统
CN113793653A (zh) * 2021-08-13 2021-12-14 河海大学 一种基于神经网络的高拱坝模型试验相似材料配合比确定方法
WO2022178908A1 (zh) * 2021-02-26 2022-09-01 中国科学院深圳先进技术研究院 神经网络的剪枝方法及其剪枝装置、存储介质
CN115311506A (zh) * 2022-10-11 2022-11-08 之江实验室 基于阻变存储器的量化因子优化的图像分类方法及装置
WO2023143128A1 (zh) * 2022-01-30 2023-08-03 华为技术有限公司 一种数据处理方法以及相关设备

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106709565A (zh) * 2016-11-16 2017-05-24 广州视源电子科技股份有限公司 一种神经网络的优化方法及装置
CN107292382A (zh) * 2016-03-30 2017-10-24 中国科学院声学研究所 一种神经网络声学模型激活函数定点量化方法
CN107967516A (zh) * 2017-10-12 2018-04-27 中科视拓(北京)科技有限公司 一种基于迹范数约束的神经网络的加速与压缩方法
CN108805265A (zh) * 2018-05-21 2018-11-13 Oppo广东移动通信有限公司 神经网络模型处理方法和装置、图像处理方法、移动终端
CN109635927A (zh) * 2018-12-05 2019-04-16 东软睿驰汽车技术(沈阳)有限公司 一种卷积神经网络训练方法及装置
CN110009101A (zh) * 2019-04-11 2019-07-12 北京字节跳动网络技术有限公司 用于生成量化神经网络的方法和装置
US20190251445A1 (en) * 2018-02-09 2019-08-15 Google Llc Neural network compression
CN110210620A (zh) * 2019-06-04 2019-09-06 北京邮电大学 一种用于深度神经网络的通道剪枝方法
US20190347550A1 (en) * 2018-05-14 2019-11-14 Samsung Electronics Co., Ltd. Method and apparatus with neural network parameter quantization
US20190392323A1 (en) * 2018-06-22 2019-12-26 Moffett AI, Inc. Neural network acceleration and embedding compression systems and methods with activation sparsification
US20200012926A1 (en) * 2018-07-05 2020-01-09 Hitachi, Ltd. Neural network learning device and neural network learning method
CN110751278A (zh) * 2019-08-28 2020-02-04 云知声智能科技股份有限公司 一种神经网络比特量化方法和系统
CN111160524A (zh) * 2019-12-16 2020-05-15 北京时代民芯科技有限公司 一种两阶段的卷积神经网络模型压缩方法
CN111492369A (zh) * 2019-09-19 2020-08-04 香港应用科技研究院有限公司 人工神经网络中移位权重的残差量化

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107292382A (zh) * 2016-03-30 2017-10-24 中国科学院声学研究所 一种神经网络声学模型激活函数定点量化方法
CN106709565A (zh) * 2016-11-16 2017-05-24 广州视源电子科技股份有限公司 一种神经网络的优化方法及装置
CN107967516A (zh) * 2017-10-12 2018-04-27 中科视拓(北京)科技有限公司 一种基于迹范数约束的神经网络的加速与压缩方法
US20190251445A1 (en) * 2018-02-09 2019-08-15 Google Llc Neural network compression
US20190347550A1 (en) * 2018-05-14 2019-11-14 Samsung Electronics Co., Ltd. Method and apparatus with neural network parameter quantization
CN108805265A (zh) * 2018-05-21 2018-11-13 Oppo广东移动通信有限公司 神经网络模型处理方法和装置、图像处理方法、移动终端
US20190392323A1 (en) * 2018-06-22 2019-12-26 Moffett AI, Inc. Neural network acceleration and embedding compression systems and methods with activation sparsification
US20200012926A1 (en) * 2018-07-05 2020-01-09 Hitachi, Ltd. Neural network learning device and neural network learning method
CN109635927A (zh) * 2018-12-05 2019-04-16 东软睿驰汽车技术(沈阳)有限公司 一种卷积神经网络训练方法及装置
CN110009101A (zh) * 2019-04-11 2019-07-12 北京字节跳动网络技术有限公司 用于生成量化神经网络的方法和装置
CN110210620A (zh) * 2019-06-04 2019-09-06 北京邮电大学 一种用于深度神经网络的通道剪枝方法
CN110751278A (zh) * 2019-08-28 2020-02-04 云知声智能科技股份有限公司 一种神经网络比特量化方法和系统
CN111492369A (zh) * 2019-09-19 2020-08-04 香港应用科技研究院有限公司 人工神经网络中移位权重的残差量化
CN111160524A (zh) * 2019-12-16 2020-05-15 北京时代民芯科技有限公司 一种两阶段的卷积神经网络模型压缩方法

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
BOHAN ZHUANG等: "Towards Effective Low-Bitwidth Convolutional Neural Networks", 《PROCEEDINGS OF THE IEEE CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION (CVPR)》 *
YUHUI XU等: "Deep Neural Network Compression With Single and Multiple Level Quantization", 《THIRTY-SECOND AAAI CONFERENCE ON ARTIFICIAL INTELLIGENCE》 *
孟凯: "基于整系数表达的卷积神经网络权值压缩方法研究", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》 *
张选杨: "深度神经网络架构优化与设计", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》 *
程肯: "深度学习的轻量化算法研究", 《中国优秀硕士学位论文全文数据库信息科技辑》 *
钟鲁豪: "基于权重剪枝的神经网络模型压缩方法的研究及应用", 《中国优秀硕士学位论文全文数据库信息科技辑》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112712893A (zh) * 2021-01-04 2021-04-27 山东众阳健康科技集团有限公司 一种提升计算机临床辅助诊断效果的方法
WO2022178908A1 (zh) * 2021-02-26 2022-09-01 中国科学院深圳先进技术研究院 神经网络的剪枝方法及其剪枝装置、存储介质
CN113344474A (zh) * 2021-08-05 2021-09-03 山东大拇指喷雾设备有限公司 基于神经网络的喷嘴生产线动态管控方法及系统
CN113793653A (zh) * 2021-08-13 2021-12-14 河海大学 一种基于神经网络的高拱坝模型试验相似材料配合比确定方法
WO2023143128A1 (zh) * 2022-01-30 2023-08-03 华为技术有限公司 一种数据处理方法以及相关设备
CN115311506A (zh) * 2022-10-11 2022-11-08 之江实验室 基于阻变存储器的量化因子优化的图像分类方法及装置

Also Published As

Publication number Publication date
CN112149797B (zh) 2023-01-03

Similar Documents

Publication Publication Date Title
CN112149797B (zh) 神经网络结构优化方法和装置、电子设备
CN109034378B (zh) 神经网络的网络表示生成方法、装置、存储介质和设备
CN113132723B (zh) 一种图像压缩方法及装置
US11734568B2 (en) Systems and methods for modification of neural networks based on estimated edge utility
CN112508125A (zh) 一种图像检测模型的高效全整数量化方法
CN109978144B (zh) 一种模型压缩方法和系统
CN114698395A (zh) 神经网络模型的量化方法和装置、数据处理的方法和装置
KR20220075407A (ko) 뉴럴 네트워크 표현 형식
US10325609B2 (en) Coding and decoding a sound signal by adapting coefficients transformable to linear predictive coefficients and/or adapting a code book
KR20220092776A (ko) 신경망 모델 양자화 장치 및 방법
CN112446461A (zh) 一种神经网络模型训练方法及装置
CN112561050A (zh) 一种神经网络模型训练方法及装置
CN116634162A (zh) 率失真优化的图像压缩神经网络训练后量化方法
CN113177627B (zh) 优化系统、重新训练系统及其方法及处理器和可读介质
CN116644783A (zh) 模型训练方法、对象处理方法及装置、电子设备、介质
CN115496181A (zh) 深度学习模型的芯片适配方法、装置、芯片及介质
Rosato et al. Finite precision implementation of random vector functional-link networks
CN113449863A (zh) 一种基于查表的神经网络量化方法
CN113902114A (zh) 神经网络模型的量化方法、装置和系统、电子设备和存储介质
CN113626646A (zh) 智能电表数据压缩方法、装置和电子设备
Xu et al. Low complexity rate-adaptive deep joint source channel coding for wireless image transmission using tensor-train decomposition
Fang et al. Design and Implementation of a Lossless Compression System for Hyperspectral Images.
CN111784535A (zh) 一种基于反馈神经网络的风能直接区间预测方法和装置
WO2023125815A1 (zh) 一种数据处理方法、装置及边缘计算设备
KR102574489B1 (ko) 심층신경망의 선형변환 파라미터를 이용한 가지치기 방법 및 장치

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