CN109344959A - 神经网络训练方法、神经网络系统和计算机系统 - Google Patents

神经网络训练方法、神经网络系统和计算机系统 Download PDF

Info

Publication number
CN109344959A
CN109344959A CN201810984274.7A CN201810984274A CN109344959A CN 109344959 A CN109344959 A CN 109344959A CN 201810984274 A CN201810984274 A CN 201810984274A CN 109344959 A CN109344959 A CN 109344959A
Authority
CN
China
Prior art keywords
network
nervus opticus
framework
module
opticus network
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.)
Pending
Application number
CN201810984274.7A
Other languages
English (en)
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.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing 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 Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CN201810984274.7A priority Critical patent/CN109344959A/zh
Publication of CN109344959A publication Critical patent/CN109344959A/zh
Pending legal-status Critical Current

Links

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

Landscapes

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

Abstract

本公开提供了一种神经网络训练方法,包括通过第一神经网络生成第二神经网络的架构,其中,第二神经网络的架构至少包括神经网络的结构和参数;将任务集中包含样本数据的每一个任务输入第二神经网络,以训练第二神经网络;确定训练后得到的第二神经网络处理任务的准确率;以及通过第一神经网络基于训练后得到的第二神经网络处理任务的准确率,确定是否更新第二神经网络的架构。本公开还提供了一种神经网络系统,以及一种计算机系统。

Description

神经网络训练方法、神经网络系统和计算机系统
技术领域
本公开涉及一种神经网络训练方法、一种神经网络系统和一种计算机系统。
背景技术
随着人工智能的快速发展,利用机器学习技术,如深度学习技术在诸如图像分类与检测,语音识别,自然语言处理等任务上取得了较好的效果,目前广泛落地于安防,医疗,广告传媒等诸多领域。在相关技术中,神经网络训练方法一般利用固定的神经网络进行训练,但这种方法受限于神经网络本身预先设定好的固有架构,使得训练得到的模型实际处理效果差,尤其是小数据量训练神经网络得到的模型,容易导致模型过拟合的问题。
发明内容
本公开的一个方面提供了一种神经网络训练方法,包括通过第一神经网络生成第二神经网络的架构,其中,上述第二神经网络的架构至少包括神经网络的结构和参数;将任务集中包含样本数据的每一个任务输入上述第二神经网络,以训练上述第二神经网络;确定训练后得到的第二神经网络处理任务的准确率;以及通过上述第一神经网络基于上述训练后得到的第二神经网络处理任务的准确率,确定是否更新上述第二神经网络的架构。
可选地,上述方法还包括在确定需要更新上述第二神经网络的架构的情况下,从经验池模块中重新确定上述第二神经网络的架构,其中,上述经验池模块中包括多个神经网络的架构,每个神经网络处理任务的准确率大于预设值;以及对重新确定的上述第二神经网络进行训练。
可选地,上述方法还包括将处理任务的准确率大于上述预设值所对应的第二神经网络的架构存储至上述经验池模块中;对当前经验池模块中的神经网络的架构进行处理,以更新上述经验池模块;以及在上述从上述经验池模块中重新确定上述第二神经网络的架构的情况下,从更新后的经验池模块中重新确定上述第二神经网络的架构。
可选地,对当前经验池模块中的神经网络的架构进行处理,以更新上述经验池模块包括:确定上述当前经验池模块中所包含的神经网络之间是否包含相同类型的隐藏层;在包含相同类型的隐藏层的情况下,计算上述相同类型的隐藏层所对应的参数值的平均值;以及将计算得到的平均值作为该类型的的隐藏层的参数值,并生成新的神经网络,以更新上述经验池模块。
可选地,对当前经验池模块中的神经网络的架构进行处理,以更新上述经验池模块包括:在上述当前经验池模块中所包含的神经网络之间包含相同类型的隐藏层的情况下,将包含相同类型隐藏层的神经网络中,准确率相对低的神经网络的该类型隐藏层对应的参数替换为准确率相对高的神经网络的该类型隐藏层对应的参数。
可选地,上述方法还包括在确定需要更新上述第二神经网络的架构的情况下,对更新后的第二神经网络进行训练,得到第三神经网络;判断上述第三神经网络处理任务的准确率是否收敛;在收敛的情况下,将上述第三神经网作为输出模型;以及在不收敛的情况下,重新更新上述第三神经网的架构。
可选地,将任务集中的每一任务输入上述第二神经网络,以训练上述第二神经网络包括:通过与模型无关的元学习算法优化上述第二神经网络的参数,其中,上述元学习算法用于使上述第二神经网络具有能够提取任务的抽象特征的功能。
本公开的另一个方面提供了一种神经网络系统,包括第一神经网络和第二神经网络,其中,上述第一神经网络用于生成上述第二神经网络的架构,其中,上述第二神经网络的架构至少包括神经网络的结构和参数;上述第二神经网络用于执行:根据接收到的任务集中包含样本数据的每一个任务进行训练;确定训练后得到的上述第二神经网络处理任务的准确率;以及上述第一神经网络还用于基于上述训练后得到的第二神经网络处理任务的准确率,确定是否更新上述第二神经网络的架构。
可选地,上述第一神经网络包括经验池模块,其中,上述经验池模块中包括多个神经网络的架构,每个神经网络处理任务的准确率大于预设值;以及在确定需要更新上述第二神经网络的架构的情况下,上述第一神经网络用于从上述经验池中重新确定上述第二神经网络的架构。
本公开的另一个方面提供了一种神经网络训练装置,包括生成模块,用于通过第一神经网络生成第二神经网络的架构,其中,第二神经网络的架构至少包括神经网络的结构和参数;输入模块,用于将任务集中的每一任务输入第二神经网络,以训练第二神经网络,其中,任务集中的每一任务包括预设类型的样本数据;第一确定模块,用于确定训练后得到的第二神经网络处理任务的准确率;以及第二确定模块,用于通过第一神经网络基于训练后得到的第二神经网络处理任务的准确率,确定是否更新第二神经网络的架构。
本公开的另一个方面提供了一种计算机系统,包括处理器;计算机可读存储介质,用于存储计算机程序,其中,上述计算机程序在被上述处理器执行时能够实现如上所述的神经网络训练方法。
本公开的另一方面提供了一种计算机可读介质,存储有计算机可执行指令,上述指令在被执行时用于实现如上所述的神经网络训练方法。
本公开的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现如上所述的神经网络训练方法。
附图说明
为了更完整地理解本公开及其优势,现在将参考结合附图的以下描述,其中:
图1示意性示出了根据本公开实施例的神经网络训练方法和神经网络系统的应用场景;
图2示意性示出了根据本公开实施例的神经网络训练方法的流程图;
图3示意性示出了根据本公开另一实施例的神经网络训练方法的示意图;
图4示意性示出了根据本公开另一实施例的神经网络训练方法的流程图;
图5示意性示出了根据本公开另一实施例的神经网络训练方法的流程图;
图6示意性示出了根据本公开另一实施例的神经网络训练方法的流程图;
图7示意性示出了根据本公开实施例的对当前经验池模块中的神经网络的架构进行处理,以更新经验池模块的流程图;
图8示意性示出了根据本公开另一实施例的神经网络训练方法的示意图;
图9示意性示出了根据本公开实施例的神经网络训练装置的框图;以及
图10示意性示出了根据本公开实施例的适于实现本公开的方法的计算机系统的框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。本领域技术人员还应理解,实质上任意表示两个或更多可选项目的转折连词和/或短语,无论是在说明书、权利要求书还是附图中,都应被理解为给出了包括这些项目之一、这些项目任一方、或两个项目的可能性。例如,短语“A或B”应当被理解为包括“A”或“B”、或“A和B”的可能性。
附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。
因此,本公开的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本公开的技术可以采取存储有指令的计算机可读介质上的计算机程序产品的形式,该计算机程序产品可供指令执行系统使用或者结合指令执行系统使用。在本公开的上下文中,计算机可读介质可以是能够包含、存储、传送、传播或传输指令的任意介质。例如,计算机可读介质可以包括但不限于电、磁、光、电磁、红外或半导体系统、装置、器件或传播介质。计算机可读介质的具体示例包括:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存;和/或有线/无线通信链路。
本公开的实施例提供了一种神经网络训练方法和神经网络系统,该神经网络训练方法包括通过第一神经网络生成第二神经网络的架构,其中,第二神经网络的架构至少包括神经网络的结构和参数;将任务集中包含样本数据的每一个任务输入第二神经网络,以训练第二神经网络;确定训练后得到的第二神经网络处理任务的准确率;以及通过第一神经网络基于训练后得到的第二神经网络处理任务的准确率,确定是否更新第二神经网络的架构。
图1示意性示出了根据本公开实施例的神经网络训练方法和神经网络系统的应用场景。
如图1所示,神经网络系统100包括第一神经网络101和第二神经网络102,其中,第一神经网络101可以控制生成第二神经网络102的架构,其中,神经网络的架构至少可以包括结构和参数,例如,第一神经网络101可以确定第二神经网络102的结构为卷积神经网络的结构,包括目标数量的隐含层,池化层等等,参数可以是每一层的初始权重参数等等。
根据本发明的实施例,在第二神经网络102的训练阶段,可以将任务集中包含样本数据的每一个任务输入第二神经网络,其中,每一个任务集可以是包括小量的样本数据,例如,在图像识别领域,一个任务集中可以包括100张动物的图片数据。在通过一个或多个任务集训练第二神经网络102之后,确定训练后得到的第二神经网络102处理任务的准确率,将该准确率反馈给第一神经网络101,通过第一神经网络101基于训练后得到的第二神经网102处理任务的准确率,确定是否更新第二神经网络102的架构。
在更新第二神经网络102的架构的情况下,参数的优化和结构的动态改善可以交替进行相互促进,保证了训练所得的第二神经网络102具有丰富的表达能力和较高的泛化性,尤其是在小样本学习领域取得了很好的效果。
通过本发明的实施例,通过第一神经网络生成第二神经网络的架构,并根据第二神经网络的准确率确定是否更新第二神经网络的架构,解决了相关技术中人为生成神经网络时,使得神经网络受限于本身预先设定好的固有架构,导致训练得到的模型实际处理效果差的问题,达到了通过第一神经网络自动从结构和参数等方面联合优化第二神经网络,共同提高第二神经网络的模型性能,无需人为干预训练过程。
需要注意的是,图1所示仅为可以应用本公开实施例的场景的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
图2示意性示出了根据本公开实施例的神经网络训练方法的流程图。
如图2所示,该方法包括操作S201~S204。
在操作S201,通过第一神经网络生成第二神经网络的架构,其中,第二神经网络的架构至少包括神经网络的结构和参数。
根据本发明的实施例,第一神经网络的种类不做限定,例如,可以是RNN神经网络。第二神经网络的种类也不做限定,例如可以是CNN神经网络。神经网络的结构和参数包括但不限于神经网络的输入层,隐含层和输出层的层数,以及每一层的权重参数等。
在操作S202,将任务集中包含样本数据的每一个任务输入第二神经网络,以训练第二神经网络。
根据本发明的实施例,任务集中每一个任务所表征的类别可以相同,也可以不同,例如,第一任务表征动物猫,第二任务表征动物狗,或者第二任务表征动物猫,但是猫的类型可以与第一任务中的猫类型不同。每一个任务所包含的样例数量可以相同,也可以不同。
在操作S203,确定训练后得到的第二神经网络处理任务的准确率。
根据本发明的实施例,可以将任务集中的任务分为训练集,测试集和验证集。基于测试集和验证集可以确定训练后得到的第二神经网络处理任务的准确率。
在操作S204,通过第一神经网络基于训练后得到的第二神经网络处理任务的准确率,确定是否更新第二神经网络的架构。
根据本发明的实施例,例如,训练后得到的第二神经网络处理任务的准确率只有60%,不能达到预期标准,可以更新第二神经网络的架构。例如,训练后得到的第二神经网络处理任务的准确率有90%,达到预期标准,可以不用更新第二神经网络的架构。
通过本发明的实施例,通过第一神经网络生成第二神经网络的架构,并根据第二神经网络的准确率确定是否更新第二神经网络的架构,解决了相关技术中人为生成神经网络时,使得神经网络受限于本身预先设定好的固有架构,导致训练得到的模型实际处理效果差的问题,达到了通过第一神经网络自动从结构和参数等方面联合优化第二神经网络,共同提高第二神经网络的模型性能,无需人为干预训练过程的效果。
图3示意性示出了根据本公开另一实施例的神经网络训练方法的示意图。
如图3所示,第一神经网络由循环神经网络RNN所构成,循环神经网络RNN可以从搜索域中选择不同大小的卷积核以及池化层来定义并生成卷积神经网络CNN(第二神经网络)。
根据本发明的实施例,第二神经网络可以使用经典的基于与神经网络模型无关的可扩展元学习算法来训练,它采用一系列从元训练集中生成的任务优化自身,每个任务由一个小样本的数据集组成。
根据本发明的实施例,将任务集中的每一任务输入第二神经网络,以训练第二神经网络可以包括:通过与模型无关的元学习算法优化第二神经网络的参数,其中,元学习算法用于使第二神经网络具有能够提取任务的抽象特征的功能。
根据本发明的实施例,通过与模型无关的元学习算法优化第二神经网络的参数,可以先随机初始化第一神经网络生成策略π,第一神经网络中可以包括搜索域,随机初始化搜索域内各神经网络架构的参数值θ。
根据本发明的实施例,当第二神经网络未收敛时,可以进行第i次训练,第一神经网络根据当前的策略π(i)以概率p生成第二神经网络A(i),第二神经网络A(i)在元数据集上通过模型无关的元学习方法进行训练,重复执行预定义的J次步骤(a)和(b),其中,(a)从元数据集中采样n个任务T(0)~T(n-1);(b)在每个任务上执行随机梯度下降,优化网络参数值。确定优化后的网络在验证集上的准确率R(i)。R(i)作为奖励值运用强化学习的策略梯度算法(PG)更新当前控制器的生成策略π(i)>π′,增加高准确率架构的生成概率。
根据本发明的实施例,当第二神经网络具备从少量样本中学习并进行泛化的能力之后,第二神经网络将返回在验证集上测得的准确率作为奖励来调整第一神经网络的架构搜索策略,架构搜索策略用于决策第二神经网络的架构。
根据本发明的实施例,若准确率R(i)高于当前平均准确率水平avg,存储(A(i),R(i))至经验池模块M中,否则以R(i)/avg的概率存入经验池模块M。若i为经验回放间隔K的倍数,迭代执行预定义的L次步骤(c)~(e)。
(c)对经验池模块M中的架构进行以下操作形成新的候选模型:(c.1)每一对架构之间若有参数不同的相同组件,进行同参数值平均,形成一个新架构。(c.2)选取精度相对低的架构,用同类型组件随机替换其中一个组件,形成一些新架构。
(d)从经验池模块M中均匀采样出经验架构B。
(e)用经验架构B更新当前策略π′。
根据本发明的实施例,检查第二神经网络是否收敛,若不收敛,则继续训练,若收敛,选取在元数据集中表现最好的架构A max(R)重新重头训练,获得最终准确率。
图4示意性示出了根据本公开另一实施例的神经网络训练方法的流程图。
如图4所示,该方法包括操作S205~S208。
在操作S205,在确定需要更新第二神经网络的架构的情况下,对更新后的第二神经网络进行训练,得到第三神经网络。
在操作S206,判断第三神经网络处理任务的准确率是否收敛。
在操作S207,在收敛的情况下,将第三神经网作为输出模型。
在操作S208,在不收敛的情况下,重新更新第三神经网的架构。
根据本发明的实施例,为了加快收敛,第一神经网络中的搜索域里的架构数据可以被第二神经网络共享。同时,可以引入一组可存储性数据结构-架构经验池模块M保存较优秀的架构数据,间接性地回放以充分学习过往的宝贵经验,同时通过组件内插和随机微调组合的功能形成新的架构,其中,较优秀的架构数据包括能够提高第二神经网络准确率的神经网络的结构和参数。在得到准确率高的神经网络模型之后,还可以对该模型再次重新训练,进一步提高模型的准确率。
通过本发明提出的训练框架打破了以往训练方法的单一化,能从结构和参数两个方面联合优化共同提高模型性能,第二神经网络由第一神经网络动态生成,可以学习如何进行小数据量深度学习任务,以提高泛化能力,可节省人为设计花费的时间和精力。
根据本发明的实施例,在单个Tesla P100GPU的硬件条件下训练一至两天,便能搜索出适合元数据集的优秀模型架构,重新训练之后的优秀子架构能在Mini-imagenet数据集上获得74.2%的准确率,是当前少样本分类领域很高的水平,由于第一神经网络至少可搜索卷积和循环架构,且能够灵活地嵌入模型无关的元学习方法中,本方案具有普适性,可适用于计算机视觉,自然语言处理,语音识别等领域。
下面参考图5~图8,结合具体实施例对图2所示的方法做进一步说明。
图5示意性示出了根据本公开另一实施例的神经网络训练方法的流程图。
如图5所示,该方法包括操作S209~S210。
在操作S209,在确定需要更新第二神经网络的架构的情况下,从经验池模块中重新确定第二神经网络的架构,其中,经验池模块中包括多个神经网络的架构,每个神经网络处理任务的准确率大于预设值。
在操作S210,对重新确定的第二神经网络进行训练。
根据本发明的实施例,预设值的大小可以根据实际训练神经网络的准确率的平均值进行确定,例如,神经网络的准确率为75%,预设值可以是75%,或者在75%上下的其它值。
根据本发明的实施例,设计具有模型进化功能的经验池,由于经验池中每个神经网络处理任务的准确率大于预设值,从中重新确定第二神经网络的架构,可以丰富的表达能力和保证很高的泛化性。
图6示意性示出了根据本公开另一实施例的神经网络训练方法的流程图。
如图6所示,该方法包括操作S211~S213。
在操作S211,将处理任务的准确率大于预设值所对应的第二神经网络的架构存储至经验池模块中。
根据本发明的实施例,可以引入一组可存储性数据结构-架构经验池模块保存较优秀的架构数据,间接性地回放以充分学习过往的宝贵经验。
在操作S212,对当前经验池模块中的神经网络的架构进行处理,以更新经验池模块。
根据本发明的实施例,对当前经验池模块中的神经网络的架构进行处理可以是通过组件内插和随机微调组合的功能形成新的架构,其中,较优秀的架构数据包括能够提高第二神经网络准确率的神经网络的结构和参数。具有模型交叉重组和随机微调功能的经验池模块,可以将高精度的历史架构放在其中进行交叉组合,形成新的候选模型。
在操作S213,在从经验池模块中重新确定第二神经网络的架构的情况下,从更新后的经验池模块中重新确定第二神经网络的架构。
根据本发明的实施例,为了加快收敛,第一神经网络中的搜索域里的架构数据可以被第二神经网络共享,从更新后的经验池模块中重新确定第二神经网络的架构,还可以对该第二神经网络模型再次重新训练,进一步提高模型的准确率。
根据本发明的实施例,通过经验池来保存较优秀的架构数据,可以间接性地回放以充分学习过往的宝贵经验。
图7示意性示出了根据本公开实施例的对当前经验池模块中的神经网络的架构进行处理,以更新经验池模块的流程图。
如图7所示,对当前经验池模块中的神经网络的架构进行处理,以更新经验池模块包括操作S214~S216。
在操作S214,确定当前经验池模块中所包含的神经网络之间是否包含相同类型的隐藏层。
根据本发明的实施例,相同类型的隐藏层可以是卷积核大小相同的隐藏层。例如,神经网络A中第一隐含层所包含的卷积核大小为3×3,神经网络B中第一隐含层或其它隐含层所包含的卷积核大小也为3×3,可以将神经网络A和神经网络B中卷积核大小相同的隐藏层作为相同类型的隐藏层。
在操作S215,在包含相同类型的隐藏层的情况下,计算相同类型的隐藏层所对应的参数值的平均值。
根据本发明的实施例,例如,可以将相同类型的隐藏层所对应的卷积核中相应的参数值进行加和求平均。
在操作S216,将计算得到的平均值作为该类型的的隐藏层的参数值,并生成新的神经网络,以更新经验池模块。
通过本发明的实施例,通过将隐藏层的参数求平均的方式形成新的架构,可以提高神经网络的准确性。
根据本发明的实施例,对当前经验池模块中的神经网络的架构进行处理,以更新经验池模块包括:在当前经验池模块中所包含的神经网络之间包含相同类型的隐藏层的情况下,将包含相同类型隐藏层的神经网络中,准确率相对低的神经网络的该类型隐藏层对应的参数替换为准确率相对高的神经网络的该类型隐藏层对应的参数。
通过本发明的实施例,由于将准确率相对低的神经网络的隐藏层对应的参数替换为准确率相对高的神经网络的隐藏层对应的参数,通过隐藏层的参数替换的方式形成新的架构,可以提高神经网络的准确性。
图8示意性示出了根据本公开另一实施例的神经网络训练方法的示意图。
如图8所示,以Mini-imagenet实验数据集为例,该数据集一共包含100种类别,每个类别各有600张样例。其中训练集可以包含64个类别,测试集20类,验证集16类。分类场景可以为5-way,5-shot少样本分类,即神经网络学习5个类别的各5张样本后,即可对新的样本进行分类。
结合图8所示,具体应用流程可以是如下。首先,第一神经网络由RNN组成,将当前时刻的输出作为下一时刻的输入,有序地生成各种卷积网络组件,相互连接形成第二神经网络。然后,从训练集里采样n个类别,每个类别k张图片组成mini-batch,通过元学习方法训练第二神经网络,选择出一组泛化性强的初始网络参数。之后,从验证集里随机抽取5个类,运用第二神经网络对每个类5张图片进行少样本分类,测得分类准确率acc作为评价指标反馈给第一神经网络,以此调整当前的网络生成策略。再之后,当准确度acc超过当前生成架构的平均水平avg时,即被视为高精度模型,放入经验池中供第一神经网络重复学习。在这过程中,可以运用经验池的模型交叉重组功能,交换模型组件,如计算相同类型的隐藏层所对应的参数值的平均值等,高概率地生成优秀架构,微调第一神经网络。最后,可以重复上述操作,直至两个神经网络均趋于收敛。重新训练第一神经网络产生的最优架构,在测试集上获得最终准确率。
根据本发明的实施例,还提供了一种神经网络系统,该神经网络系统包括第一神经网络和第二神经网络,其中,第一神经网络用于生成第二神经网络的架构,其中,第二神经网络的架构至少包括神经网络的结构和参数。第二神经网络用于执行根据接收到的任务集中包含样本数据的每一个任务进行训练,确定训练后得到的第二神经网络处理任务的准确率。第一神经网络还用于基于训练后得到的第二神经网络处理任务的准确率,确定是否更新第二神经网络的架构。
通过本发明的实施例,通过第一神经网络可以生成第二神经网络的架构,并根据第二神经网络的准确率确定是否更新第二神经网络的架构,解决了相关技术中人为生成神经网络时,使得神经网络受限于本身预先设定好的固有架构,导致训练得到的模型实际处理效果差的问题,达到了通过第一神经网络自动从结构和参数等方面联合优化第二神经网络,共同提高第二神经网络的模型性能,无需人为干预训练过程的效果。
根据本发明的实施例,第一神经网络包括经验池模块,其中,经验池模块中包括多个神经网络的架构,每个神经网络处理任务的准确率大于预设值;以及在确定需要更新第二神经网络的架构的情况下,第一神经网络用于从经验池中重新确定第二神经网络的架构。
根据本发明的实施例,设计具有模型进化功能的经验池,由于经验池中每个神经网络处理任务的准确率大于预设值,从中重新确定第二神经网络的架构,可以丰富的表达能力和保证很高的泛化性。
图9示意性示出了根据本公开实施例的神经网络训练装置的框图。
如图9所示,神经网络训练装置300包括生成模块310,用于通过第一神经网络生成第二神经网络的架构,其中,第二神经网络的架构至少包括神经网络的结构和参数。输入模块320用于将任务集中的每一任务输入第二神经网络,以训练第二神经网络,其中,任务集中的每一任务包括预设类型的样本数据。第一确定模块330用于确定训练后得到的第二神经网络处理任务的准确率。第二确定模块340用于通过第一神经网络基于训练后得到的第二神经网络处理任务的准确率,确定是否更新第二神经网络的架构。
根据本公开的实施例的模块中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,生成模块310、输入模块320、第一确定模块330以及第二确定模块340中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,生成模块310、输入模块320、第一确定模块330以及第二确定模块340中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,生成模块310、输入模块320、第一确定模块330以及第二确定模块340中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
根据本发明的实施例,还提供了一种计算机系统,包括处理器;计算机可读存储介质,用于存储计算机程序,其中,计算机程序在被处理器执行时能够实现如上所述的神经网络训练方法。
图10示意性示出了根据本公开实施例的适于实现本公开的方法的计算机系统的框图。图10示出的计算机系统仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图10所示,计算机系统400包括处理器410和计算机可读存储介质420。该计算机系统400可以执行根据本公开实施例的方法。
具体地,处理器410例如可以包括通用微处理器、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器410还可以包括用于缓存用途的板载存储器。处理器410可以是用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
计算机可读存储介质420,例如可以是能够包含、存储、传送、传播或传输指令的任意介质。例如,可读存储介质可以包括但不限于电、磁、光、电磁、红外或半导体系统、装置、器件或传播介质。可读存储介质的具体示例包括:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存;和/或有线/无线通信链路。
计算机可读存储介质420可以包括计算机程序421,该计算机程序421可以包括代码/计算机可执行指令,其在由处理器410执行时使得处理器410执行根据本公开实施例的方法或其任何变形。
计算机程序421可被配置为具有例如包括计算机程序模块的计算机程序代码。例如,在示例实施例中,计算机程序421中的代码可以包括一个或多个程序模块,例如包括421A、模块421B、……。应当注意,模块的划分方式和个数并不是固定的,本领域技术人员可以根据实际情况使用合适的程序模块或程序模块组合,当这些程序模块组合被处理器410执行时,使得处理器410可以执行根据本公开实施例的方法或其任何变形。
根据本发明的实施例,生成模块310、输入模块320、第一确定模块330以及第二确定模块340中的至少一个可以实现为参考图10描述的计算机程序模块,其在被处理器410执行时,可以实现上面描述的相应操作。
本公开还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线、光缆、射频信号等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
尽管已经参照本公开的特定示例性实施例示出并描述了本公开,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本公开的精神和范围的情况下,可以对本公开进行形式和细节上的多种改变。因此,本公开的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。

Claims (10)

1.一种神经网络训练方法,包括:
通过第一神经网络生成第二神经网络的架构,其中,所述第二神经网络的架构至少包括神经网络的结构和参数;
将任务集中包含样本数据的每一个任务输入所述第二神经网络,以训练所述第二神经网络;
确定训练后得到的第二神经网络处理任务的准确率;以及
通过所述第一神经网络基于所述训练后得到的第二神经网络处理任务的准确率,确定是否更新所述第二神经网络的架构。
2.根据权利要求1所述的方法,其中,所述方法还包括:
在确定需要更新所述第二神经网络的架构的情况下,从经验池模块中重新确定所述第二神经网络的架构,其中,所述经验池模块中包括多个神经网络的架构,每个神经网络处理任务的准确率大于预设值;以及
对重新确定的所述第二神经网络进行训练。
3.根据权利要求2所述的方法,其中,所述方法还包括:
将处理任务的准确率大于所述预设值所对应的第二神经网络的架构存储至所述经验池模块中;
对当前经验池模块中的神经网络的架构进行处理,以更新所述经验池模块;以及
在所述从所述经验池模块中重新确定所述第二神经网络的架构的情况下,从更新后的经验池模块中重新确定所述第二神经网络的架构。
4.根据权利要求3所述的方法,其中,对当前经验池模块中的神经网络的架构进行处理,以更新所述经验池模块包括:
确定所述当前经验池模块中所包含的神经网络之间是否包含相同类型的隐藏层;
在包含相同类型的隐藏层的情况下,计算所述相同类型的隐藏层所对应的参数值的平均值;以及
将计算得到的平均值作为该类型的的隐藏层的参数值,并生成新的神经网络,以更新所述经验池模块。
5.根据权利要求3所述的方法,其中,对当前经验池模块中的神经网络的架构进行处理,以更新所述经验池模块包括:
在所述当前经验池模块中所包含的神经网络之间包含相同类型的隐藏层的情况下,将包含相同类型隐藏层的神经网络中,准确率相对低的神经网络的该类型隐藏层对应的参数替换为准确率相对高的神经网络的该类型隐藏层对应的参数。
6.根据权利要求1所述的方法,其中,所述方法还包括:
在确定需要更新所述第二神经网络的架构的情况下,对更新后的第二神经网络进行训练,得到第三神经网络;
判断所述第三神经网络处理任务的准确率是否收敛;
在收敛的情况下,将所述第三神经网作为输出模型;以及
在不收敛的情况下,重新更新所述第三神经网的架构。
7.根据权利要求1所述的方法,其中,将任务集中的每一任务输入所述第二神经网络,以训练所述第二神经网络包括:
通过与模型无关的元学习算法优化所述第二神经网络的参数,其中,所述元学习算法用于使所述第二神经网络具有能够提取任务的抽象特征的功能。
8.一种神经网络系统,包括第一神经网络和第二神经网络,其中:
所述第一神经网络用于生成所述第二神经网络的架构,其中,所述第二神经网络的架构至少包括神经网络的结构和参数;
所述第二神经网络用于执行:
根据接收到的任务集中包含样本数据的每一个任务进行训练;
确定训练后得到的所述第二神经网络处理任务的准确率;以及
所述第一神经网络还用于基于所述训练后得到的第二神经网络处理任务的准确率,确定是否更新所述第二神经网络的架构。
9.根据权利要求8所述的系统,所述第一神经网络包括经验池模块,其中:
所述经验池模块中包括多个神经网络的架构,每个神经网络处理任务的准确率大于预设值;以及
在确定需要更新所述第二神经网络的架构的情况下,所述第一神经网络用于从所述经验池中重新确定所述第二神经网络的架构。
10.一种计算机系统,包括:
处理器;
计算机可读存储介质,用于存储计算机程序,其中,所述计算机程序在被所述处理器执行时能够实现权利要求1至7中任一项所述的神经网络训练方法。
CN201810984274.7A 2018-08-27 2018-08-27 神经网络训练方法、神经网络系统和计算机系统 Pending CN109344959A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810984274.7A CN109344959A (zh) 2018-08-27 2018-08-27 神经网络训练方法、神经网络系统和计算机系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810984274.7A CN109344959A (zh) 2018-08-27 2018-08-27 神经网络训练方法、神经网络系统和计算机系统

Publications (1)

Publication Number Publication Date
CN109344959A true CN109344959A (zh) 2019-02-15

Family

ID=65296784

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810984274.7A Pending CN109344959A (zh) 2018-08-27 2018-08-27 神经网络训练方法、神经网络系统和计算机系统

Country Status (1)

Country Link
CN (1) CN109344959A (zh)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109961089A (zh) * 2019-02-26 2019-07-02 中山大学 基于度量学习和元学习的小样本和零样本图像分类方法
CN109961142A (zh) * 2019-03-07 2019-07-02 腾讯科技(深圳)有限公司 一种基于元学习的神经网络优化方法及装置
CN110059802A (zh) * 2019-03-29 2019-07-26 阿里巴巴集团控股有限公司 用于训练学习模型的方法、装置和计算设备
CN110675361A (zh) * 2019-08-16 2020-01-10 北京百度网讯科技有限公司 建立视频检测模型以及视频检测的方法、装置
CN111079574A (zh) * 2019-11-29 2020-04-28 支付宝(杭州)信息技术有限公司 一种训练神经网络的方法及系统
WO2020168690A1 (zh) * 2019-02-19 2020-08-27 深圳点猫科技有限公司 一种基于图形化编程工具的分类ai实现方法及电子设备
CN111684472A (zh) * 2019-05-31 2020-09-18 深圳市大疆创新科技有限公司 网络结构搜索的方法及装置、计算机存储介质和计算机程序产品
CN111694557A (zh) * 2019-03-15 2020-09-22 上海商汤智能科技有限公司 数据处理方法及装置、图像处理方法及装置、电子设备
CN111797986A (zh) * 2019-04-09 2020-10-20 Oppo广东移动通信有限公司 数据处理方法、装置、存储介质及电子设备
CN112016669A (zh) * 2019-05-31 2020-12-01 辉达公司 使用选择性权重更新训练神经网络
CN112101553A (zh) * 2020-11-10 2020-12-18 鹏城实验室 网络结构搜索方法及装置、设备、存储介质
CN113469078A (zh) * 2021-07-07 2021-10-01 西安电子科技大学 基于自动设计长短时记忆网络的高光谱图像分类方法
CN113642592A (zh) * 2020-04-27 2021-11-12 武汉Tcl集团工业研究院有限公司 一种训练模型的训练方法、场景识别方法、计算机设备
CN114664292A (zh) * 2020-12-22 2022-06-24 马上消费金融股份有限公司 模型训练、语音识别方法、装置、设备及可读存储介质
WO2022143625A1 (zh) * 2020-12-30 2022-07-07 北京灵汐科技有限公司 神经网络模型、方法、电子设备及可读介质

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020168690A1 (zh) * 2019-02-19 2020-08-27 深圳点猫科技有限公司 一种基于图形化编程工具的分类ai实现方法及电子设备
CN109961089A (zh) * 2019-02-26 2019-07-02 中山大学 基于度量学习和元学习的小样本和零样本图像分类方法
CN109961089B (zh) * 2019-02-26 2023-04-07 中山大学 基于度量学习和元学习的小样本和零样本图像分类方法
CN109961142A (zh) * 2019-03-07 2019-07-02 腾讯科技(深圳)有限公司 一种基于元学习的神经网络优化方法及装置
CN109961142B (zh) * 2019-03-07 2023-05-12 腾讯科技(深圳)有限公司 一种基于元学习的神经网络优化方法及装置
CN111694557B (zh) * 2019-03-15 2024-04-16 上海商汤智能科技有限公司 数据处理方法及装置、图像处理方法及装置、电子设备
CN111694557A (zh) * 2019-03-15 2020-09-22 上海商汤智能科技有限公司 数据处理方法及装置、图像处理方法及装置、电子设备
US11514368B2 (en) 2019-03-29 2022-11-29 Advanced New Technologies Co., Ltd. Methods, apparatuses, and computing devices for trainings of learning models
CN110059802A (zh) * 2019-03-29 2019-07-26 阿里巴巴集团控股有限公司 用于训练学习模型的方法、装置和计算设备
WO2020199743A1 (zh) * 2019-03-29 2020-10-08 创新先进技术有限公司 用于训练学习模型的方法、装置和计算设备
CN111797986A (zh) * 2019-04-09 2020-10-20 Oppo广东移动通信有限公司 数据处理方法、装置、存储介质及电子设备
CN111684472A (zh) * 2019-05-31 2020-09-18 深圳市大疆创新科技有限公司 网络结构搜索的方法及装置、计算机存储介质和计算机程序产品
CN112016669A (zh) * 2019-05-31 2020-12-01 辉达公司 使用选择性权重更新训练神经网络
CN110675361B (zh) * 2019-08-16 2022-03-25 北京百度网讯科技有限公司 建立视频检测模型以及视频检测的方法、装置
CN110675361A (zh) * 2019-08-16 2020-01-10 北京百度网讯科技有限公司 建立视频检测模型以及视频检测的方法、装置
CN111079574B (zh) * 2019-11-29 2022-08-02 支付宝(杭州)信息技术有限公司 一种训练神经网络的方法及系统
CN111079574A (zh) * 2019-11-29 2020-04-28 支付宝(杭州)信息技术有限公司 一种训练神经网络的方法及系统
CN113642592A (zh) * 2020-04-27 2021-11-12 武汉Tcl集团工业研究院有限公司 一种训练模型的训练方法、场景识别方法、计算机设备
CN112101553A (zh) * 2020-11-10 2020-12-18 鹏城实验室 网络结构搜索方法及装置、设备、存储介质
CN114664292A (zh) * 2020-12-22 2022-06-24 马上消费金融股份有限公司 模型训练、语音识别方法、装置、设备及可读存储介质
CN114664292B (zh) * 2020-12-22 2023-08-01 马上消费金融股份有限公司 模型训练、语音识别方法、装置、设备及可读存储介质
WO2022143625A1 (zh) * 2020-12-30 2022-07-07 北京灵汐科技有限公司 神经网络模型、方法、电子设备及可读介质
US11853896B2 (en) 2020-12-30 2023-12-26 Lynxi Technologies Co., Ltd. Neural network model, method, electronic device, and readable medium
CN113469078A (zh) * 2021-07-07 2021-10-01 西安电子科技大学 基于自动设计长短时记忆网络的高光谱图像分类方法

Similar Documents

Publication Publication Date Title
CN109344959A (zh) 神经网络训练方法、神经网络系统和计算机系统
Teng et al. An improved hybrid grey wolf optimization algorithm
US11100266B2 (en) Generating integrated circuit floorplans using neural networks
Shayanfar et al. Farmland fertility: A new metaheuristic algorithm for solving continuous optimization problems
CN104335232B (zh) 连续时间尖峰神经网络基于事件的模拟
Wang et al. An introduction to harmony search optimization method
CN103954300A (zh) 基于优化ls-svm的光纤陀螺温度漂移误差补偿方法
CN110245232A (zh) 文本分类方法、装置、介质和计算设备
KR20190078899A (ko) 계층적 시각 특징을 이용한 시각 질의 응답 장치 및 방법
CN109934422A (zh) 一种基于时间序列数据分析的神经网络风速预测方法
Wang et al. Adaptive chimp optimization algorithm with chaotic map for global numerical optimization problems
CN117035074B (zh) 基于反馈强化的多模态知识生成方法及装置
CN114881225A (zh) 输变电巡检模型网络结构搜索方法、系统及存储介质
CN114925938B (zh) 一种基于自适应svm模型的电能表运行状态预测方法、装置
Yang et al. Prediction of equipment performance index based on improved chaotic lion swarm optimization–LSTM
Teng et al. A hybrid algorithm based on GWO and GOA for cycle traffic light timing optimization
Kundu et al. A hybrid salp swarm algorithm based on TLBO for reliability redundancy allocation problems
CN113595798B (zh) 改进闪电连接过程优化算法的网络流量预测方法及系统
CN111144574A (zh) 使用指导者模型训练学习者模型的人工智能系统和方法
Song et al. Spatial-temporal transformer network for multi-year ENSO prediction
CN113689959B (zh) 基于人工智能的疫情防控决策方法、装置、设备及介质
Iren Comparison of yolov5 and yolov6 models for plant leaf disease detection
Chen et al. Strengthened teaching–learning-based optimization algorithm for numerical optimization tasks
CN110135572A (zh) 一种基于soc的可训练柔性cnn系统设计方法
Kopsick et al. Formation and Retrieval of Cell Assemblies in a Biologically Realistic Spiking Neural Network Model of Area CA3 in the Mouse Hippocampus

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20190215