CN110059799A - 包含中间层背景的神经网络的生成 - Google Patents

包含中间层背景的神经网络的生成 Download PDF

Info

Publication number
CN110059799A
CN110059799A CN201910018572.5A CN201910018572A CN110059799A CN 110059799 A CN110059799 A CN 110059799A CN 201910018572 A CN201910018572 A CN 201910018572A CN 110059799 A CN110059799 A CN 110059799A
Authority
CN
China
Prior art keywords
neural network
training
intermediate node
middle layer
initial neural
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
CN201910018572.5A
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN110059799A publication Critical patent/CN110059799A/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/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24133Distances to prototypes
    • 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/044Recurrent networks, e.g. Hopfield networks
    • 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/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic 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
    • 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/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks

Landscapes

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

Abstract

一种用于生成神经网络的方法、计算机程序产品和系统。准备初始神经网络,每个神经网络包括包含一个或多个输入节点的输入层、包含一个或多个中间节点的中间层和包含一个或多个输出节点的输出层。基于初始神经网络的中间层的中间节点,生成包括包含一个或多个中间节点的新中间层的新神经网络。

Description

包含中间层背景的神经网络的生成
技术领域
本发明总体上涉及有监督学习方法,更具体地,涉及包含中间层的神经网络的生成。
背景技术
流行的有监督学习方法,诸如朴素贝叶斯和支持向量机已经被用于文本文档的分类。这些方法可能经常不能正确地对训练文档中没有出现的单词进行分类,因为由这些方法创建的分类器识别的词汇限于训练文档中的单词。
另一方面,诸如卷积神经网络的神经网络可以很好地用于图像识别。然而,将卷积神经网络简单地应用于自然语言处理的先前尝试并未成功,这可能是因为与图像相反,文档不是连续物理空间中的物理现象,也不形成连续的几何形状。为了在文本分类中获得令人满意的性能,神经网络可能需要大量的层/节点,这可能需要大量的计算资源。
发明内容
在本发明的一个实施例中,用于生成神经网络的方法包括由处理器准备多个初始神经网络,每个初始神经网络包括包含一个或多个输入节点的输入层、包含一个或多个中间节点的中间层以及包含一个或多个输出节点的输出层。该方法还包括由处理器生成新神经网络,该新神经网络包括新中间层,该新中间层包含基于多个初始神经网络的中间层的中间节点的一个或多个中间节点。
上述方法的实施例的其他形式存在于系统和计算机程序产品中。
前面已经相当普遍地概述了本发明的一个或多个实施例的特征和技术优点,以便更好地理解下面对本发明的详细描述。下文将描述本发明的附加特征和优点,这些特征和优点可以形成本发明的权利要求的主题。
附图说明
当结合以下附图考虑以下详细描述时,可以更好地理解本发明,其中:
图1示出了根据本发明实施例的装置10的示例性配置;
图2示出了根据本发明实施例的示例性神经网络;
图3示出了根据本发明实施例的操作性流程;
图4示出了根据本发明实施例的S110的子流程;
图5示出了根据本发明实施例的中间层的无监督训练;
图6示出了根据本发明实施例的M个初始神经网络;
图7示出了根据本发明实施例的N个初始神经网络;
图8示出了根据本发明实施例的S150的子流程;
图9示出了根据本发明实施例的N个初始神经网络的K个训练结果;
图10示出了根据本发明实施例的新神经网络;
图11示出了根据本发明实施例的中间节点的多个集合;和
图12示出了根据本发明实施例的用作系统的计算机的示例性硬件配置。
具体实施方式
以下,将描述本发明的示例实施例。示例实施例不应根据权利要求限制本发明,并且实施例中描述的特征的组合对于本发明不一定是必要的。
图1示出了根据本发明实施例的装置10的示例性配置。装置10可以生成神经网络,该神经网络可以对诸如文本之类的对象进行分类,诸如单词、字符、符号及其字符串。在一个实施例中,装置10可以首先准备多个初始神经网络,然后从多个初始神经网络生成新神经网络。
装置10可以包括处理器和/或可编程电路。装置10还可以包括共同地包括指令的一个或多个计算机可读介质。这些指令可以在计算机可读介质和/或可编程电路上呈现。当指令由处理器或可编程电路执行时,可使处理器或可编程电路作为多个操作部分来操作。
因此,装置10可以被视为包括存储部分100、获得部分110、初始化部分112、训练部分120、选择部分130、评估部分140和生成部分150。
存储部分100可以存储用于装置10执行的处理的信息。存储部分100还可以存储用于装置10的操作的各种数据/指令。装置10中的一个或多个其他元件(例如,获得部分110、初始化部分112、训练部分120、选择部分130、评估部分140和生成部分150)可以根据需要直接或经由存储部分100通信数据。
存储部分100可以由装置10的易失性或非易失性存储器实施。在一些实施例中,存储部分100可以存储神经网络、参数以及与其相关的其他数据。
获得部分110可以获得多个初始条件。获得部分110还可以获得训练数据。获得部分110可以获得装置10的操作所需的其他数据。
初始化部分112可以初始化神经网络的输入层。输入层可以包含一个或多个输入节点。在一个实施例中,输入层可以包含多个输入节点。在一个实施例中,输入层可以是包含多个单词节点的单词层。
训练部分120可以使用至少由获得部分110获得的多个初始条件来准备多个候选神经网络。多个候选神经网络中的每一个可以包括初始化层112初始化的输入层、包含一个或多个中间节点的中间层以及包含一个或多个输出节点的输出层。
在一个实施例中,中间层可以包含多个中间节点,并且输出层可以包含多个输出节点。训练部分120可以在中间层上执行无监督训练,并且在输出层上执行有监督训练。在一个实施例中,中间层可以是包含多个概念节点的概念层,并且输出层可以是包含多个类别节点的类别层。
选择部分130可以评估由训练部分120准备的候选神经网络中的每一个候选神经网络的性能。选择部分130还可以使用候选神经网络的性能评估从由训练部分120准备的候选神经网络当中选择神经网络作为初始神经网络。
评估部分140可以评估初始神经网络的中间节点,并基于评估选择初始神经网络的中间节点中的一个或多个。
生成部分150可以从初始神经网络生成新神经网络。在一个实施例中,新神经网络可以包括包含一个或多个输入节点的输入层、包含一个或多个中间节点的新中间层、以及包含一个或多个输出节点的新输出层。
在一个实施例中,新中间层可以基于由评估部分140选择的多个初始神经网络的中间层的中间节点。新神经网络可以具有与由训练部分120准备的多个初始神经网络相同的输入节点。
图2示出了根据本发明实施例的示例性神经网络。候选神经网络、初始神经网络和新神经网络可以具有与图2所示的神经网络基本相似的结构和功能。
在一个实施例中,输入层是单词层,并且输入节点是如在图2中的W1-W4所示的单词节点。单词节点中的每一个可以表示一个单词或一组单词。在该实施例中,当单词层接收到一个单词时,对应于该单词的每个单词节点将激发(fire)。例如,每个单词节点输入一个单词中的单个字符,并且输出最大值的单词节点可以被视为对应于该单词。例如,当输入层输入单词“苹果”时,输入层中表示单词“苹果”的单词节点可能会输出一个大值。
在一个实施例中,中间层是概念层,并且中间节点是图2中的C1-C3所示的概念节点。每个概念节点可以表示文本的概念。在该实施例中,当概念层从单词层接收单词信息时,对应于单词信息的概念的每个概念节点激发。例如,当概念层输入来自表示单词“苹果”的输入层的输出时,中间层中表示概念“水果”的中间节点可以输出大值。
在一个实施例中,输出层是类别层,并且输出节点是如图2中的W1-W2所示的类别节点。每个输出节点可以表示文本的一个类别。在该实施例中,当输出层从概念层接收概念信息时,对应于概念信息类别的每个类别节点(或多个类别节点)激发。例如,当输出层输入来自表示概念“水果”的中间层的输出时,输出层中表示类别“食物”的输出节点可以输出大值。
因此,图2所示的神经网络的输入可以是文本(例如,单词序列),并且神经网络的输出可以是文本的类别(例如,类别序列)。
图3示出了根据本发明实施例的操作性流程。本实施例描述了一个示例,其中,诸如装置10的装置执行如图3所示的从S110到S230的操作,以生成新神经网络。
在S110处,装置可以准备多个候选神经网络。在一个实施例中,装置可以准备M个候选神经网络,其中M是大于1的整数。
图4示出了根据本发明实施例的S110的子流程。参照图4,装置可以在图3中的S110处执行从S112到S118的操作。
在S112处,诸如初始化部分112的初始化部分可以初始化输入层。初始化部分可以使用已知方法初始化输入层,诸如单词层。
在一个实施例中,初始化部分可以执行单词到输入节点的映射。在该实施例中,初始化部分可以通过创建从文本语料库标记的单词列表、给列表中的单词分配序列号并将单词中的每个关联到输入节点中的每个来执行映射。在一个实施例中,输入层可以包含10000个节点,每个节点对应于一个单词或一组单词。
在S114处,诸如获得部分110的获得部分可以获得多个初始条件。在一个实施例中,获得部分可以获得M个初始条件。在一个实施例中,M个初始条件中的每一个可以用于准备M个候选神经网络中的每一个,并且可以包含初始参数的集合。在一个实施例中,每个初始条件可以包括一对用于有监督训练的初始参数和用于无监督训练的初始参数。
在一个实施例中,获得部分可以创建随机参数作为每个初始条件。在另一实施例中,获得部分可以从装置的用户接收参数作为初始条件。在一个实施例中,M个初始条件可以部分或全部彼此不同。
获得部分可以进一步获得原始训练数据。原始训练数据可以包括多对输入对象和输出目标。在一个实施例中,原始训练数据可以包括多对文本和文本类别。
在S116处,诸如训练部分120的训练部分可以使用对应的初始条件对每个候选神经网络的中间层进行无监督训练。
训练部分可以基于任何类型的受限玻尔兹曼机器训练来执行无监督训练。在一个实施例中,训练部分可以利用自动编码器算法(例如,去噪自动编码器)来执行无监督训练。算法中的模型由公式(1)所示的动作S(x,y)表示,并且概率是公式(2)所示的动作S(x,y)的指数。
S(x,y)=-(∑i,jwi,jyixj+∑ibiyi+∑jcjxj)...(1)
P(x,y)=e-S(x,y)...(2)
其中yi表示来自第i个中间节点的输出,xj表示来自第j个输入节点的输出,并且wi,j表示第i个中间节点和第j个输入节点之间的权重。
在一个实施例中,训练部分可以通过最小化交叉熵损失函数L来执行自动编码和解码步骤,如公式(3)所示。在该实施例中,训练部分可以通过随机梯度下降调整参数wi,j、bi和cj来最小化L。
其中是根据公式(4)-(7)计算的重构可见参数。
Ei=∑jwi,jxj+bi...(6)
训练部分可以对M个候选神经网络的中间层进行无监督训练。在一个实施例中,训练部分可以在M个初始条件下使用用于无监督训练的每个初始参数作为M个候选神经网络中的每个的初始w、b和c。在一个实施例中,每个中间层中的中间节点的数量可以小于输入节点的数量。例如,中间节点的数量可以是40。
图5示出了根据本发明实施例的中间层的无监督训练。训练部分可以在在S112处初始化的输入层上构建中间层。
在图5的实施例中,候选神经网络的数量M是3,并且候选神经网络可以包括神经网络1(可以称为NN1)、神经网络2(可以称为NN2)和神经网络3(可以称为NN3)。训练部分对NN1、NN2和NN3的中间层执行无监督训练。
NN1、NN2和NN3在输入层中共同具有相同的输入节点W1-W4,但是由于M个初始条件的差异,在中间层中具有不同的中间节点。在图5的实施例中,在中间层中,NN1包含中间节点C1,1-C1,3,NN2包含中间节点C2,1-C23,并且NN3包含中间节点C3,1-C3,3
在S118处,训练部分可以使用训练数据的集合对每个候选神经网络的输出层执行有监督训练。在一个实施例中,训练部分可以使用全部或部分原始训练数据作为训练数据的集合。在一个实施例中,训练部分可以使用相同或不同的训练集合来训练候选神经网络的输出层。
在一个实施例中,训练部分可以在M个初始条件下使用初始参数中的每个进行有监督训练。在一个实施例中,在输出层的有监督训练期间,训练部分可以更新或不更新中间层中的中间节点。
在一个实施例中,训练部分可以通过神经网络领域已知的任何方法来执行有监督训练。由此,训练部分可以准备多个候选神经网络(例如,M个候选神经网络)。
图6示出了根据本发明实施例的M个初始神经网络。训练部分可以在在S116处训练的中间层上构建输出层。
训练部分对NN1、NN2和NN3的输出层执行有监督训练。NN1、NN2和NN3由于他们中间层的差异而具有不同的输出节点。在图6的实施例中,在输出层中,神经网络1包含输出节点O1,1-O1,2,神经网络2包含输出节点O21-O2,2,并且神经网络3包含输出节点O3,1-O3,2
在S130处,诸如选择部分130的选择部分可以从候选神经网络当中选择初始神经网络。
在一个实施例中,选择部分可以首先评估M个候选神经网络中的每一个的性能。例如,选择部分可以将原始训练数据中的至少一些输入到M个候选神经网络中的每一个中,并且计算每个候选神经网络的分类准确性作为性能。然后,选择部分可以使用该性能从M个候选神经网络当中选择N个神经网络作为初始神经网络。N是大于1且小于M的整数。
图7示出了根据本发明实施例的N个初始神经网络。在图2的实施例中,N是2,并且选择部分可以在图6所示的三个候选神经网络中选择NN1和NN2作为初始神经网络。
在S150处,装置可以选择初始神经网络的中间节点中的一个或多个。在一个实施例中,装置可以选择N个初始神经网络的多个中间节点。
图8示出了根据本发明实施例的S150的子流程。参照图8,装置可以在图3中的S150处执行从S152到S158的操作。
在S152处,获得部分可以从原始训练数据准备不同的训练数据的集合。在一个实施例中,获得部分可以将原始训练数据分成K个集合,并获得K个集合作为训练数据的K个不同集合。K可以是大于1的整数,例如2。
在S154处,训练部分可以利用在S152处获得的训练数据的不同集合来执行初始神经网络的有监督训练。在一个实施例中,训练部分可以利用训练数据的K个不同集合中的每一个对N个初始神经网络的输出层执行有监督训练,以获得N个初始神经网络中的每一个的K个训练结果。通过S154处的有监督训练,训练部分可以生成K×N个训练结果。
在一个实施例中,在输出层的有监督训练期间,训练部分可以更新或不更新中间层中的中间节点。训练部分可以通过神经网络领域中已知的任何方法来执行有监督训练。
图9示出了根据本发明实施例的N个初始神经网络的K个训练结果。在图9的实施例中,N是2,并且K是2。在该实施例中,获得部分可以将原始训练数据平均分成两个集合,一个集合可以被标识为“奇数训练数据集合”,另一集合可以被标识为“偶数训练数据集合”。
训练部分可以利用偶数训练数据集合对NN1执行有监督训练以获得NN1e,并且利用奇数训练数据集合对NN1执行有监督训练以获得NN1o,如图9所示。训练部分还可以利用奇数训练数据集合对NN2执行有监督训练以获得NN2o,并且利用偶数训练数据集合对NN2执行有监督训练以获得NN2e。用于NN1的偶数/奇数训练数据集合可能与用于NN2的相同,也可能不同。
在S156处,诸如评估部分140的评估部分可以至少使用S154处的有监督训练的结果来评估每个初始神经网络的中间节点。在一个实施例中,评估部分可以评估每个中间节点对输出层的输出的贡献。
在特定实施例中,评估部分可以计算每个初始神经网络中的每个中间节点的符合(coincidence)分数,作为每个中间节点的贡献。符合分数可以表示在S154处的训练结果中对应的中间节点之间到输出层的连接的相似性。例如,如果训练结果中的一个中间节点到输出节点之间的权重与一个初始神经网络中的另一训练结果中的一个中间节点到输出节点之间的权重相似,则认为一个中间节点对于训练数据的差异是稳定的,并且在中间层的中间节点当中是重要的。
在一个实施例中,第n个初始神经网络中的第i个中间节点的符合分数sn,i由以下公式(8)表示。
其中表示第n个初始神经网络的第k个训练结果中的第i个中间节点和第o个输出节点之间的权重。
在一个实施例中,评估部分可以计算N个初始神经网络的每个中间节点的符合分数sn,i。在图9的实施例中,当将第t个神经网络中的第i个中间节点和第o个输出节点之间的权重定义为wt i,o时,评估部分可以通过使用权重w1e 1,1、w1e 1,2、w1o 1,1和w1o 1,2来计算符合分数s1,1。评估部分还可以计算NN1的符合分数s1,2、和s1,3和NN2的符合分数s2,1、s2,2和s2,3
在S158处,评估部分可以至少使用在S156处作出的评估来选择多个初始神经网络中的每一个的中间节点中的一个或多个。在一个实施例中,评估部分可以使用K个训练结果来选择N个初始神经网络的中间层中的至少一个中间节点,使得所选择的中间节点比未选择的中间节点对来自输出层的输出做出更大程度的贡献。
例如,当每个初始神经网络在中间层具有上(大于2的整数)个中间节点时,评估部分选择的中间节点的数量等于或小于L。在该示例中,评估部分从N个初始神经网络的N×L个中间节点当中选择L’(等于或小于L但大于2)个中间节点。
在一个实施例中,评估部分可以选择符合分数sn,i大于其他中间节点的中间节点。在图10的实施例中,响应于确定符合分数s1,1、s1,2、s2,2大于符合分数s1,3、s2,1、s2,3,评估部分可以选择NN1中的中间节点C1,1、C1,2和NN2中的中间节点C2,2
在S190处,诸如生成部分150的生成部分可以至少使用初始神经网络的中间层来生成新神经网络。
在一个实施例中,生成部分可以在包含在S150处为新神经网络选择的中间节点的中间层之上执行输出层的有监督训练。在一个实施例中,生成部分可以使训练部分在神经网络的输出层上执行有监督训练,该神经网络包含与初始神经网络的输入层相同的输入层和包含在S150处选择的中间节点的中间层。
在一个实施例中,生成部分可以使用初始神经网络(例如NN1、NN2)中的至少一部分输出节点作为该有监督训练的初始参数。在一个实施例中,生成部分可以生成随机参数,并将其用作该有监督训练的初始参数。
由此,生成部分可以获得新神经网络,该新神经网络包含:与初始神经网络的输入层相同的输入层、包含在S150处选择的中间节点的中间层、以及包含新输出节点的新输出层。
图10示出了根据本发明实施例的新神经网络。在图10的实施例中,新神经网络由NN1和NN2构成。新神经网络在输入层中包含与在NN1和NN2中的那些相同的W1-W4、在S150处选择的新中间层中的C1,1、C1,2、C2,2、以及在S190处训练的新输出层中的新输出节点ON,1-ON,2
在上述实施例中,新神经网络中的新中间层可以包括冗余中间节点。例如,在图10的实施例中,中间节点C1,2和C2,2可以具有相似的特性并覆盖相同的概念,因为这些节点都是初始神经网络NN1和NN2中的第二节点。在一些情况下,这可能会降低新神经网络分类的准确性。
为了避免冗余,在对输出层执行有监督训练之前,训练部分可以通过在对应的中间节点之间引入排斥力来执行无监督训练。在一个实施例中,在S190处,在对输出层执行有监督训练之前,训练部分可以通过偏置中间节点来对在S158处选择的中间节点执行无监督训练,从而避免了与到输入节点的连接类似的中间节点。
训练部分可以通过至少部分使用关于S116解释的方法来执行中间节点的无监督训练。在一个实施例中,训练部分可以通过最小化交叉熵损失函数L来执行自动编码和解码步骤,如公式(3)所示,但是使用和下面的公式(6)’代替Ei和公式(6)。
其中α是一个小数字,例如0.05/O0.5(其中O是输出层中的输出节点的数量)。
在该实施例中,训练部分可以使用随机梯度下降来最小化交叉熵损失函数L。例如,训练部分可以通过使用公式(9)-(11)来计算
在S210处,生成部分可以确定是否结束操作。在一个实施例中,生成部分可以确定操作S130-S190的预定次数的迭代是否已经完成。在一个实施例中,生成部分可以确定是否已经生成了预定数量的新神经网络。
在一个实施例中,生成部分可以评估新神经网络的性能(例如分类准确性),并确定新神经网络的性能是否超过阈值。
如果生成部分确定不结束操作,则生成部分可以继续S230的操作。如果生成部分确定结束操作,则生成部分可以结束图3的操作。
在S230处,生成部分可以将新神经网络添加到初始神经网络。然后,生成部分可以再次继续S130的操作。
在后续S130的操作中,选择部分可以从先前的初始神经网络和在最后S190处生成的新神经网络当中选择新初始神经网络。在一个实施例中,选择部分可以从N个初始神经网络和受有监督训练的新神经网络当中选择N’个新初始神经网络。其中N’可以是等于或小于N的整数。
装置可以使用新初始神经网络执行图3中的后续操作。在一个实施例中,在后续S190的操作中,生成部分可以生成包括新中间层的进一步新神经网络,该新中间层包含基于新N’个初始神经网络的中间层的中间节点的一个或多个中间节点。
在S130-S190的每次迭代中,装置可以使用不同的参数用于有监督和/或无监督训练,以便生成基本上新的神经网络。在一个实施例中,训练部分可以在每个S154和/或每个S190处使用不同的初始参数用于输出节点的有监督训练。
在替代性实施例中,装置可以不执行S130的操作。在该实施例中,装置可以以与S110的操作相同的方式准备N个初始神经网络,并且将这些N个初始神经网络用于S150-S230的操作。例如,在S114处,获得部分可以获得N个初始条件,在S116处,训练部分可以使用对应的初始条件对每个初始神经网络的中间层执行无监督训练,并且在S118处,训练部分可以使用训练数据的集合对N个初始神经网络中的每个的输出层执行有监督训练。
在上述实施例中,神经网络在中间层中包括中间节点的单个集合。在一些其他实施例中,装置可以通过在中间层中包括中间节点的多个集合来利用中间层上的集成学习(ensemble learning)。在一个实施例中,可以训练中间节点的每个集合,以便从输入层复制输入。
在这些实施例中,获得部分可以在S114处获得N×A个初始条件,其中A是大于1的整数(例如,10),并且训练部分可以在S116处使用N×A个初始条件中的每一个对N个初始神经网络中的每一个的中间节点的A个集合中的每一个执行无监督训练。根据这些实施例,装置可以避免中间层的过度拟合。装置可以计算来自中间节点的多个集合中的对应的中间节点的输出的平均值,并将该平均值输入到输出层。
图11示出了根据本发明实施例的中间节点的多个集合。在图11的实施例中,A是3,在神经网络中中间层具有3个中间节点的3个集合。
根据上面解释的实施例,装置可以通过利用遗传算法更新中间层,从而生成新神经网络,该新神经网络可以用较少的计算资源将诸如文本之类的对象分类到准确的类别。在一些实施例中,对象可以不仅是文本,还可以是图像、音频数据和任何其他要分类的数据。
如上所述,装置可以通过至少使用遗传算法的杂交从初始神经网络生成新神经网络。在一个实施例中,生成部分可以使用在遗传算法中使用的其他技术。在该实施例中,生成部分可以通过随机改变新神经网络中的至少一些中间节点或其他节点来引入突变。
图12示出了根据本发明实施例的计算机的示例性硬件配置,该计算机被配置用于从初始神经网络生成包含中间层的神经网络。
安装在计算机800中的程序可以使计算机800用作或执行与本发明实施例的装置或其一个或多个部分(包括模块、组件、元件等)相关联的操作,和/或使计算机800执行本发明实施例的过程或其步骤。这样的程序可以由CPU 800-12执行,以使计算机800执行与这里描述的流程图和框图中的一些或全部框相关联的某些操作。
根据本实施例的计算机800包括CPU 800-12、RAM 800-14、图形控制器800-16和显示器设备800-18,它们通过主机控制器800-10相互连接。
计算机800还包括输入/输出单元,诸如通信接口800-22、硬盘驱动器800-24、DVD-ROM驱动器800-26和IC卡驱动器,它们经由输入/输出控制器800-20连接到主机控制器800-10。计算机还包括传统的输入/输出单元,诸如ROM 800-30和键盘800-42,它们通过输入/输出芯片800-40连接到输入/输出控制器800-20。
CPU 800-12根据存储在ROM 800-30和RAM 800-14中的程序操作,从而控制每个单元。图形控制器800-16获得由CPU 800-12在RAM 800-14或其自身中提供的帧缓冲器等上生成的图像数据,并使图像数据显示在显示器设备800-18上。
通信接口800-22经由网络800-50与其他电子设备通信。硬盘驱动器800-24将CPU800-12使用的程序和数据存储在计算机800内。DVD-ROM驱动器800-26从DVD-ROM 800-01读取程序或数据,并经由RAM 800-14向硬盘驱动器800-24提供程序或数据。IC卡驱动器从IC卡读取程序和数据,和/或将程序和数据写入IC卡。
ROM 800-30在其中存储激活时由计算机800执行的引导程序等,和/或取决于计算机800的硬件的程序。输入/输出芯片800-40还可以经由并行端口、串行端口、键盘端口、鼠标端口等将各种输入/输出单元连接到输入/输出控制器800-20。
程序由诸如DVD-ROM 800-01或IC卡之类的计算机可读介质提供。该程序从计算机可读介质读取,安装到硬盘驱动器800-24、RAM 800-14或ROM 800-30中(这些也是计算机可读介质的示例),并由CPU 800-12执行。这些程序中描述的信息处理被读入计算机800,导致程序和上述各种类型的硬件资源之间的合作。可以通过根据计算机800的使用实现信息的操作或处理来构成装置或方法。
例如,当在计算机800和外部设备之间执行通信时,CPU 800-12可以基于在通信程序中描述的处理,执行加载到RAM 800-14上的通信程序,以向通信接口800-22指示通信处理。通信接口800-22在CPU 800-12的控制下,读取存储在诸如RAM 800-14、硬盘驱动器800-24、DVD-ROM 800-01或IC卡的记录介质中提供的传输缓冲区上的传输数据,并将读取的传输数据传输到网络800-50或将从网络800-50接收的接收数据写入记录介质上提供的接收缓冲区等。
此外,CPU 800-12可以使文件或数据库的全部或必要部分被读入RAM 800-14,该文件或数据库已经存储在外部记录介质中,诸如硬盘驱动器800-24、DVD-ROM驱动器800-26(DVD-ROM 800-01)、IC卡等,并且对RAM 800-14上的数据执行各种类型的处理。CPU 800-12然后可以将处理后的数据写回外部记录介质。
各种类型的信息,诸如各种类型的程序、数据、表格和数据库,可以存储在记录介质中以经受信息处理。CPU 800-12可以对从RAM 800-14读取的数据执行各种类型的处理,包括如本公开全文所述并由程序指令序列指定的各种类型的操作、信息处理、条件判断、条件分支、无条件分支、信息搜索/替换等,并将结果写回RAM 800-14。
此外,CPU 800-12可以在记录介质中的文件、数据库等中搜索信息。例如,当在记录介质中存储多个条目时(每个条目具有与第二属性的属性值相关联的第一属性的属性值),CPU 800-12可以从多个条目当中搜索与指定第一属性的属性值的条件相匹配的条目,并读取存储在条目中的第二属性的属性值,从而获得与满足预定条件的第一属性相关联的第二属性的属性值。
上述程序或软件模块可以存储在计算机800上或附近的计算机可读介质中。此外,诸如被提供在连接到专用通信网络或互联网的服务器系统中的硬盘或RAM之类的记录介质可以被用作计算机可读介质,从而经由网络将程序提供给计算机800。
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。本发明实施例的装置可包括该计算机可读介质和可操作以执行所述指令的处理器或可编程电路。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可以执行计算机可读程序指令,通过利用计算机可读程序指令的状态信息来个性化该电子电路,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
虽然已经描述了本发明的实施例,但是本发明的技术范围不限于上述实施例。对本领域技术人员来说,显而易见地可以对上述实施例添加各种改变和改进。从权利要求的范围也显而易见的是,添加了这种改变或改进的实施例可以包括在本发明的技术范围内。
只要顺序没有由“先于”、“之前”等指明,并且只要来自在先过程的输出没有用于在后过程,由权利要求、实施例或图表中所示的装置、系统、程序和方法执行的每个过程的操作、流程、步骤和阶段可以以任何顺序执行。即使在权利要求、实施例或图表中使用诸如“首先(first)”或“接下来(next)”之类的短语来描述过程流程,这也不一定意味着该过程必须按此顺序执行。
如上所明确的,本发明的实施例能够从初始神经网络生成包含中间层的新神经网络。

Claims (10)

1.一种用于生成神经网络的方法,所述方法包括:
由处理器准备多个初始神经网络,每个初始神经网络包括包含一个或多个输入节点的输入层、包含一个或多个中间节点的中间层和包含一个或多个输出节点的输出层;和
由所述处理器生成新神经网络,所述新神经网络包括新中间层,所述新中间层包含基于所述多个初始神经网络的中间层的中间节点的一个或多个中间节点。
2.如权利要求1所述的方法,其中所述多个初始神经网络包括N个初始神经网络,N是大于1的整数,并且其中所述新神经网络的生成包括:
选择所述N个初始神经网络的中间节点中的一个或多个;和
将所选择的一个或多个中间节点包括在所述新神经网络的新中间层中。
3.如权利要求2所述的方法,其中所述选择所述N个初始神经网络的中间节点中的一个或多个包括:
获得训练数据的K个不同集合,K是大于1的整数;
利用训练数据的所述K个不同集合中的每一个对所述N个初始神经网络执行有监督训练,以获得所述N个初始神经网络中的每一个的K个训练结果;和
使用所述K个训练结果选择所述N个初始神经网络的中间层中的至少一个中间节点,使得所选择的中间节点比未选择的中间节点对来自输出层的输出做出更大程度的贡献。
4.如权利要求2所述的方法,其中所述多个初始神经网络中的每一个的中间层包括L个中间节点,L是大于2的整数,并且其中所述新中间层中的中间节点的数量等于或小于L。
5.如权利要求2所述的方法,其中所述新神经网络的生成还包括:
对所选择的中间节点执行无监督训练,所述无监督训练包括偏置所述中间节点,从而避免了与到输入节点的连接类似的中间节点。
6.如权利要求1所述的方法,其中所述多个初始神经网络的准备包括:
获得N个初始条件,N是大于1的整数,每个条件对应于所述初始神经网络中的一个;
使用对应的初始条件对每个初始神经网络的中间层执行无监督训练;和
使用训练数据的集合对每个初始神经网络的输出层执行有监督训练。
7.如权利要求1所述的方法,其中所述多个初始神经网络的准备包括:
获得M个初始条件,M是大于2的整数,每个条件对应于M个候选神经网络中的一个;
使用对应的初始条件对每个候选神经网络的中间层执行无监督训练;
使用训练数据的集合对每个候选神经网络的输出层执行有监督训练;
评估每个候选神经网络的性能;和
使用所述性能从所述M个候选神经网络当中选择N个初始神经网络,N是大于1且小于M的整数。
8.一种用于生成神经网络的计算机程序产品,所述计算机程序产品包括具有程序代码呈现在其上的计算机可读存储介质,所述程序代码包括用于执行根据权利要求1至7中任一项所述的方法的步骤的程序指令。
9.一种系统,包括:
存储器单元,用于存储用于生成神经网络的计算机程序;和
耦合到所述存储器单元的处理器,其中所述处理器被配置为执行所述计算机程序的程序指令,以执行根据权利要求1至7中任一项所述的方法的步骤。
10.一种用于生成神经网络的装置,所述装置包括被配置为实施根据权利要求1至7中任一项所述的方法的步骤的模块。
CN201910018572.5A 2018-01-19 2019-01-09 包含中间层背景的神经网络的生成 Pending CN110059799A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/875,575 US12020160B2 (en) 2018-01-19 2018-01-19 Generation of neural network containing middle layer background
US15/875,575 2018-01-19

Publications (1)

Publication Number Publication Date
CN110059799A true CN110059799A (zh) 2019-07-26

Family

ID=67299378

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910018572.5A Pending CN110059799A (zh) 2018-01-19 2019-01-09 包含中间层背景的神经网络的生成

Country Status (2)

Country Link
US (2) US12020160B2 (zh)
CN (1) CN110059799A (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200012890A1 (en) * 2018-07-06 2020-01-09 Capital One Services, Llc Systems and methods for data stream simulation
EP3824606A1 (en) * 2018-07-20 2021-05-26 Nokia Technologies Oy Learning in communication systems by updating of parameters in a receiving algorithm
US11663441B2 (en) 2018-09-27 2023-05-30 Deepmind Technologies Limited Action selection neural network training using imitation learning in latent space
CN110782034A (zh) * 2019-10-31 2020-02-11 北京小米智能科技有限公司 神经网络的训练方法、装置及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05101209A (ja) * 1991-10-04 1993-04-23 Advantest Corp 階層型ニユーラルネツトワークの学習方法
US20070011114A1 (en) * 2005-06-24 2007-01-11 Halliburton Energy Services, Inc. Ensembles of neural networks with different input sets
JP2012018450A (ja) * 2010-07-06 2012-01-26 Keio Gijuku ニューラルネットワークシステム、ニューラルネットワークシステムの構築方法およびニューラルネットワークシステムの制御プログラム
US20160093050A1 (en) * 2014-09-30 2016-03-31 Samsung Electronics Co., Ltd. Image registration device, image registration method, and ultrasonic diagnosis apparatus having image registration device
US20160328388A1 (en) * 2015-05-08 2016-11-10 International Business Machines Corporation Semi-supervised learning of word embeddings
JP2017151438A (ja) * 2016-02-24 2017-08-31 バイドゥ オンライン ネットワーク テクノロジー (ベイジン) カンパニー リミテッド 人工知能による書記素音素変換モデル生成方法及び装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7996440B2 (en) 2006-06-05 2011-08-09 Accenture Global Services Limited Extraction of attributes and values from natural language documents
WO2008120030A1 (en) 2007-04-02 2008-10-09 Sobha Renaissance Information Latent metonymical analysis and indexing [lmai]
US9235812B2 (en) 2012-12-04 2016-01-12 Msc Intellectual Properties B.V. System and method for automatic document classification in ediscovery, compliance and legacy information clean-up
US9646262B2 (en) 2013-06-17 2017-05-09 Purepredictive, Inc. Data intelligence using machine learning
US9575952B2 (en) 2014-10-21 2017-02-21 At&T Intellectual Property I, L.P. Unsupervised topic modeling for short texts

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05101209A (ja) * 1991-10-04 1993-04-23 Advantest Corp 階層型ニユーラルネツトワークの学習方法
US20070011114A1 (en) * 2005-06-24 2007-01-11 Halliburton Energy Services, Inc. Ensembles of neural networks with different input sets
JP2012018450A (ja) * 2010-07-06 2012-01-26 Keio Gijuku ニューラルネットワークシステム、ニューラルネットワークシステムの構築方法およびニューラルネットワークシステムの制御プログラム
US20160093050A1 (en) * 2014-09-30 2016-03-31 Samsung Electronics Co., Ltd. Image registration device, image registration method, and ultrasonic diagnosis apparatus having image registration device
US20160328388A1 (en) * 2015-05-08 2016-11-10 International Business Machines Corporation Semi-supervised learning of word embeddings
JP2017151438A (ja) * 2016-02-24 2017-08-31 バイドゥ オンライン ネットワーク テクノロジー (ベイジン) カンパニー リミテッド 人工知能による書記素音素変換モデル生成方法及び装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
MASANORI SUGANUMA ET AL.: "A Genetic Programming Approach to Designing Convolutional Neural Network Architectures", 《ARXIV:1704.00764V2 [CS.NE]》 *
翟剑锋: "深度学习在自然语言处理中的应用", 《电脑编程技巧与维护》 *
董海鹰: "《智能控制理论及应用》", 30 September 2016, 中国铁道出版社 *

Also Published As

Publication number Publication date
US20190228310A1 (en) 2019-07-25
US12020160B2 (en) 2024-06-25
US20190294969A1 (en) 2019-09-26

Similar Documents

Publication Publication Date Title
CN110389996A (zh) 实现用于自然语言处理的全句递归神经网络语言模型
US20190354810A1 (en) Active learning to reduce noise in labels
CN110059799A (zh) 包含中间层背景的神经网络的生成
US11120337B2 (en) Self-training method and system for semi-supervised learning with generative adversarial networks
EP3467723B1 (en) Machine learning based network model construction method and apparatus
US9031897B2 (en) Techniques for evaluation, building and/or retraining of a classification model
US20210233519A1 (en) Adversarial learning framework for persona-based dialogue modeling
JP2020520492A (ja) 文書要約自動抽出方法、装置、コンピュータ機器及び記憶媒体
GB2568363A (en) Rule determination for black-box machine-learning models
JP2019028839A (ja) 分類器、分類器の学習方法、分類器における分類方法
CN106170800A (zh) 经由输出分布来学习学生dnn
CN109804363A (zh) 使用通过示例的格式修改的连接
EP3598288A1 (en) System and method for generating photorealistic synthetic images based on semantic information
Hughes et al. Effective split-merge monte carlo methods for nonparametric models of sequential data
US20220374743A1 (en) Aggregated feature importance for finding influential business metrics
CN110390017A (zh) 基于注意力门控卷积网络的目标情感分析方法及系统
CN112528031A (zh) 一种工单智能派发方法和系统
JP2022515941A (ja) 生成的敵対神経網ベースの分類システム及び方法
JPWO2014073206A1 (ja) 情報処理装置、及び、情報処理方法
US11983202B2 (en) Computer-implemented method for improving classification of labels and categories of a database
US20230368003A1 (en) Adaptive sparse attention pattern
CN111582315A (zh) 样本数据处理方法、装置及电子设备
CN109726288A (zh) 基于人工智能处理的文本分类方法和装置
JP4252028B2 (ja) 交通音識別装置、コンピュータを交通音識別装置として機能させるための交通音判定プログラム、記録媒体および交通音判定方法
JP7211011B2 (ja) 学習方法、学習プログラム及び生成方法

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

Application publication date: 20190726

RJ01 Rejection of invention patent application after publication