CN110770759B - 神经网络系统 - Google Patents

神经网络系统 Download PDF

Info

Publication number
CN110770759B
CN110770759B CN201880027161.6A CN201880027161A CN110770759B CN 110770759 B CN110770759 B CN 110770759B CN 201880027161 A CN201880027161 A CN 201880027161A CN 110770759 B CN110770759 B CN 110770759B
Authority
CN
China
Prior art keywords
data item
neural network
template data
input data
memory
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
CN201880027161.6A
Other languages
English (en)
Other versions
CN110770759A (zh
Inventor
A.姆尼
D.佐恩
D.J.雷赞德
J.伯恩沙因
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.)
DeepMind Technologies Ltd
Original Assignee
DeepMind Technologies 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 DeepMind Technologies Ltd filed Critical DeepMind Technologies Ltd
Publication of CN110770759A publication Critical patent/CN110770759A/zh
Application granted granted Critical
Publication of CN110770759B publication Critical patent/CN110770759B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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

Abstract

用于生成数据项的方法、系统和装置,包括编码在计算机存储介质上的计算机程序。系统之一是神经网络系统,包括:存储器,其存储多个模板数据项;一个或多个处理器,被配置为基于接收到的输入数据项选择存储器地址,并基于所选择的存储器地址从存储器中获取模板数据项;编码器神经网络,被配置为处理接收到的输入数据项和获取到的模板数据项,以生成潜变量表示;以及解码器神经网络,被配置为处理获取到的模板数据项和潜变量表示,以生成输出数据项。

Description

神经网络系统
技术领域
本说明书涉及包括存储器的神经网络系统架构。具体而言,本说明书涉及使用这种神经网络系统架构生成数据项。
背景技术
神经网络是机器学习模型,它采用一层或多层非线性单元来预测接收到的输入的输出。一些神经网络除了输出层之外还包括一个或多个隐藏层。每个隐藏层的输出被用作网络中下一层(即下一隐藏层或输出层)的输入。网络的每一层根据相应的参数集的当前值从接收到的输入中产生输出。
一些神经网络是循环神经网络。循环神经网络是接收输入序列并从输入序列中生成输出序列的神经网络。具体而言,循环神经网络可以在计算当前时间步骤的输出时使用来自前一时间步骤的网络的一些或全部内部状态。循环神经网络的一个示例是包括一个或多个长短期(long short term,LSTM)存储器块的LSTM神经网络。每个LSTM存储器块可以包括一个或多个单元,每个单元包括输入门、遗忘门和输出门,其允许单元存储单元的先前状态,例如,用于产生电流激活或提供给LSTM神经网络的其他组件。
发明内容
本说明书描述了一种在一个或多个位置的一个或多个计算机上实施为计算机程序的系统,该神经网络系统包括:存储器,其存储多个模板数据项;一个或多个处理器,被配置为基于接收到的输入数据项选择存储器地址,并且基于所选择的存储器地址从存储器中获取模板数据项;编码器神经网络,被配置为处理接收到的输入数据项和获取的模板数据项,以生成潜变量表示(latent variable representation);以及解码器神经网络,被配置为处理获取的模板数据项和潜变量表示,以生成输出数据项。
各方面可以包括一个或多个以下特征。处理器还可以被配置为基于与接收到的输入数据项和存储在存储器中的多个模板数据项相关联的相似性得分来选择存储器地址。该系统还可以包括:第一嵌入神经网络,被配置为处理接收到的输入数据输入以生成输入数据项的第一表示;第二嵌入神经网络,被配置为处理模板数据项以生成模板数据项的第二表示;并且其中一个或多个处理器还被配置为基于与输入数据项的第一表示和存储在存储器中的多个模板数据项的相应的第二表示相关联的相似性得分来选择存储器地址。
一个或多个处理器还可以被配置为基于相似性得分的概率分布来选择存储器地址。相似性得分可以基于以下之一:内积、余弦相似性和L2距离。多个模板数据项可以基于训练数据集来生成。多个模板数据项可以从训练数据集中学习。多个模板数据项可以基于从训练数据集中选择数据项来生成,该选择基于数据的分类。
第一嵌入神经网络和第二嵌入神经网络可以共享它们的相应的权重的至少一部分。第一嵌入神经网络和第二嵌入神经网络可以是相同的神经网络。第一表示和第二表示可以具有相同的形式。
编码器神经网络和解码器神经网络可以基于变分自动编码器框架(variationalautoencoder framework)。编码器神经网络可以包括变分自动编码器的编码器部分。解码器神经网络可以包括变分自动编码器的解码器部分。编码器神经网络和解码器神经网络可以一起包括变分自动编码器。编码器神经网络和解码器神经网络可以基于优化变分下限(lower bound)来训练。
输出数据项可以与输入数据项具有相同的分类。输出数据项可以是与输入数据项相同类型的数据项的示例。输出数据项可以是表示输入数据项的变化的数据项。输入数据项可以是从由以下各项组成的群组中选择的类别的数据项:图像数据、视频数据、运动数据、语音数据、音频数据、电子文档、表示环境状态的数据和表示动作的数据。编码器神经网络、解码器神经网络、第一嵌入神经网络和第二嵌入神经网络中的一个或多个可以包括循环神经网络。
训练数据集可以包括属于多个类或类别的示例性数据项。模板数据项可以是表示训练数据集中的类的数据项。模板数据项可以是训练数据集中的数据项之一,或者模板数据项可以从训练数据集中学习。可以生成多个模板数据项,使得在训练数据集中每个类至少有一个模板数据项。多个模板数据项可以包括属于每个类的模板数据项的均匀分布。多个模板数据项可以从训练数据集中随机选择。多个模板数据项可以随时间更新或随时间保持恒定。多个模板数据项可以提供与输入数据项相关联的上下文。
多个模板数据项可以对训练数据集中的一部分变化进行建模。神经网络系统可以基于多个模板数据项对训练数据集中的一部分变化进行建模。多个模板数据项和神经网络系统相结合,可以对训练数据集的大部分变化进行建模。
神经网络可以被配置为接收任何种类的数字数据输入,并基于输入生成任何种类的得分、分类或循环输出。
例如,如果神经网络的输入是已经从图像中提取的图像或特征,则神经网络为给定图像生成的输出可以是属于与输入图像相关联的类别或分类的对象的图像。附加地或可替换地,输出可以用于获得一组对象类别中的每一个对象的得分,每个得分表示图像包含属于该类别的对象的图像的估计可能性。
作为另一示例,如果神经网络的输入是一种语言的文本序列,则神经网络生成的输出可以是与该输入文本共享至少一些属性的文本。可替换地或附加地,输出可以用于为另一种语言的一组文本片段中的每一个文本片段生成得分,每个得分表示另一种语言的文本片段是该输入文本到另一种语言的恰当翻译的估计可能性。作为另一示例,如果神经网络的输入是表示口语话语的序列,则神经网络生成的输出可以是与该输入的口语话语共享至少一些属性的口语话语。附加地或可替换地,输出可以用于为一组文本片段中的每一个文本片段生成得分,每个得分表示该文本片段是该话语的正确转录的估计可能性。
除了应用于图像和文本生成任务,该系统还可以应用于图像分类任务、图像绘画、语音生成任务或图像分割任务。
此外,该系统可以用于生成环境的预测观察(predicted observation)。预测观察可以是表征环境的预测未来或相关状态的数值的有序集合。
执行动作的代理(agent)可以与环境交互。例如,环境可以是模拟环境,代理可以被实施为与模拟环境交互的一个或多个计算机程序。例如,模拟环境可以是视频游戏,并且代理可以是玩视频游戏的模拟用户。作为另一示例,模拟环境可以是运动模拟环境,例如驾驶模拟或飞行模拟,并且代理是在运动模拟中导航的模拟车辆。在这些实施方式中,动作可以是控制模拟用户或模拟车辆的可能控制输入的空间中的点。附加地或可替换地,神经网络系统可以用于为代理生成动作。
作为另一示例,环境可以是现实世界环境,并且代理是与现实世界环境交互的机械代理。例如,代理可以是与环境交互以完成特定任务的机器人。作为另一示例,代理可以是在环境中导航的自主或半自主车辆。
作为又一示例,环境可以是用户特定的环境。例如,环境可以是患者健康环境,例如用于计算机辅助诊断,并且预测观察可以是表征患者健康的预测电子医疗数据。作为另一示例,环境可以是推荐环境,并且预测观察可以是表征预测的用户偏好和兴趣的特征向量。
作为另一示例,环境是艺术环境。例如,环境可以是音乐环境,并且预测观察可以是一个或多个音符的序列。作为另一示例,环境可以是视觉艺术环境,诸如绘画画布的表示,并且预测观察可以是例如画笔笔画(具有特定的颜色和画笔)。
该系统还可以用于异常检测。例如,该系统可以用于生成环境的不同预测观察的数据库。如果先前未看见的环境观察与数据库中的预测观察有足够的不同(根据一些适当的测量),则可以将其表征为异常。
本说明书中描述的主题可以在特定实施例中实施,以便实现一个或多个以下优点。
该系统可用于生成与输入数据项具有相同分类并且不容易与真实数据区分的数据项。
在有限数据量可用的情况下,该系统尤其有利。在这种情况下,由于可用示例的数量有限,传统的生成模型可能无法捕获数据中的所有变化。通过利用存储多个模板数据项的存储器,数据集的部分变化可以由多个模板数据项建模,并且神经网络系统可以对剩余的变化进行建模。也就是说,模板数据项可以提供与输入数据项相关联的上下文,神经网络系统使用该上下文来对剩余的变化进行建模。
此外,该系统提供了地址选择和建模数据变化之间的间隔。相比之下,包括存储器的现有技术系统可以基于潜变量表示来选择地址,这要求潜变量表示既用作地址选择手段,又对数据的变化进行建模。
此外,通过以如上所述的方式选择存储器地址,可以利用训练神经网络系统的改进的和更高效的方法,诸如基于变分推理的训练。该主题可以提供对使用比传统神经网络技术更小数据集的神经网络系统的高效训练。因此,训练神经系统需要较少的计算资源,诸如处理能力、内存和存储。
本说明书中描述的主题的一个或多个实施例的细节在附图和以下描述中阐述。从说明书、附图和权利要求书中,该主题的其他特征、方面和优点将变得显而易见。
附图说明
图1示出了示例神经网络系统。
图2示出了示例神经网络系统的可选组件。
图3是用于生成数据项的示例过程的流程图。
图4是选择存储器地址的示例过程的流程图。
图5是用于训练神经网络系统的示例过程的流程图。
图6A和图6B各自示出了示例性的5个模板数据项。
图7示出了又一示例性神经网络。
不同附图中相同的附图标记和名称表示相同的元件。
具体实施方式
图1示出了适于生成数据项的示例神经网络系统100。神经网络系统100能够对数据进行建模,使得生成不容易与真实数据区分的新的数据项。神经网络系统100可以是生成模型。
神经网络系统100可以基于与建模数据相关联的类或类别来对数据进行,并且神经网络系统100可以生成与建模的类或类别相关联的新的数据项。神经网络系统100可以对数据进行建模,诸如图像数据、视频数据、运动数据、语音数据、音频数据、电子文档、表示环境状态的数据和表示动作的数据。例如,神经网络系统100可以对多个对象类进行建模,并且给定多个对象类中的特定类的对象的输入图像,神经网络系统100可以生成属于输入图像中的该对象的该特定类的图像。
通常,神经网络系统100包括存储器101、编码器神经网络102和解码器神经网络103。
存储器101被配置为存储多个模板数据项。模板数据项可以是与建模数据的特定类相关联的数据项,并且存储器101可以存储与由神经网络系统100建模数据的每个类相关联的一个或多个模板数据项。存储在存储器101中的模板数据项可以是从训练数据集中选择的数据项,或者可以例如通过下面参考图5描述的训练过程而学习。
可以使用对应的存储器地址从存储器101中获取模板数据项。在神经网络系统100中,基于输入数据项104选择存储器地址,并且获取与所选择的地址相关联的对应模板数据项105。下面参考图2更详细地描述基于输入数据项104来选择存储器地址。
编码器神经网络102被配置为处理输入数据项104和获取的模板数据项105,以生成潜变量表示106。潜变量表示106可以表示解释输入数据项104相对于从存储器101获取到的模板数据项的变化性的变化潜在因素。
解码器神经网络103被配置为处理获取到的模板数据项105和潜变量表示106,以生成输出数据项107。模板数据项105可以在输出数据项107的生成中为潜变量表示106提供上下文。
存储在存储器101中的多个模板数据项可以对建模数据的一部分变化进行建模,而编码器神经网络102和/或解码器神经网络103可以对剩余的变化进行建模。以这种方式,即使在只有有限数量的示例数据项可用于训练模型的情况下,该模型也能够泛化(generalize)。因此,可以基于有限的训练数据集提供高效的模型。
此外,该系统提供了地址选择和建模数据变化之间的间隔。相比之下,一些包括存储器的现有技术系统可以基于潜变量表示来选择地址,这要求潜变量表示既用作地址选择手段,又对数据变化进行建模,从而降低了模型的效用。
编码器神经网络102和解码器神经网络103可以是任何合适类型的神经网络,例如卷积神经网络或循环神经网络。编码器神经网络102和解码器神经网络103可以基于变分自动编码器框架,编码器神经网络102和解码器神经网络103分别形成变分自动编码器的编码器部分和解码器部分。编码器神经网络102可以表示条件高斯分布,并且潜变量表示106可以通过从该分布采样而生成。如下面参考图5更详细解释的,编码器神经网络102和解码器神经网络103可以基于优化变分下限来训练。
图2示出了用于基于输入数据项104从存储器101中选择存储器地址的第一嵌入神经网络201、第二嵌入神经网络202和相似性计分器203。第一嵌入神经网络201、第二嵌入神经网络202和相似性计分器203可以形成图1的神经网络系统100的一部分。
第一嵌入神经网络201被配置为处理输入数据项201,以生成输入数据项104的第一表示204。第二嵌入神经网络202被配置为处理来自存储器101的模板数据项205,以生成模板数据项205的第二表示206。第一嵌入神经网络201和第二嵌入神经网络202可以采取任何合适的形式,例如,多层感知器(multi-layer perceptron,MLP)。第一嵌入神经网络201和第二嵌入神经网络202可以共享它们的相应的权重的至少一部分。
相似性计分器203被配置为基于第一表示204和第二表示206的比较来计算相似性得分207。相似性得分可以基于第一表示204和第二表示206之间的内积来计算。例如,可以使用第二表示206的L2范数来归一化内积。可替换地,相似性得分207可以基于余弦相似性、L2距离或任何其他合适的相似性度量来计算。
应当理解,由于相似性得分203是基于第一嵌入神经网络201和第二嵌入神经网络202的输出来计算的,所以相似性得分函数作为一个整体被第一嵌入神经网络201和第二嵌入神经网络202参数化,因此它可以是学习的函数。第一嵌入神经网络201和第二嵌入神经网络202可以与编码器神经网络102和解码器神经网络103一起训练,如下面参考图5详细描述的。
可以为存储在存储器101中的每个模板数据项和输入数据项104计算相似性得分207。基于所计算的相似性得分(例如,通过将softmax函数应用于所计算的相似性得分),可以构建以输入数据项104为条件的多个存储器地址的概率分布。然后,可以通过从构建的概率分布中采样地址,基于输入数据项104来选择存储器地址。也就是说,可以随机选择存储器地址和从存储器101获取到的模板数据项105。以这种方式,作为随机潜变量的存储器地址可以形成生成模型的一部分,并且允许获取到的模板数据项105被解码器神经网络103直接用于输出数据项107的生成。
应当理解,可以修改存储器101的内容和/或存储器101的大小,而不必重新学习模型的参数(即系统100的任何神经网络的参数)。
现在参考图3,示出了用于生成数据项的过程。图3的处理可以使用神经网络系统100来执行。
在步骤S301,接收输入数据项104。输入数据项104可以与特定类或类别的数据相关联。输入数据104可以是,例如图像数据、视频数据、运动数据、语音数据、音频数据、电子文档、表示环境状态的数据、表示动作的数据和其他合适形式的数据。
在步骤S302,基于在步骤S301中接收到的输入数据项104来选择存储器地址。下面参考图4描述选择存储器地址的示例过程。
在步骤S303,基于所选择的存储器地址,从存储器101中获取模板数据项105。如上所述,存储器101可以存储多个模板数据项,并且可以包括与建模数据的每个类或类别相关联的一个或多个模板数据项。
处理在步骤S304继续,其中接收到的输入数据项104和模板数据项105被处理以生成潜变量表示106。这种处理可以由如上所述的编码器神经网络102来执行。
在步骤S305,模板数据项105和潜变量表示106被处理以生成输出数据项107。步骤S305的处理可以由如上所述的解码器神经网络103来执行。输出数据项107可以与输入数据项104的相同类别或类别相关联。
现在参考图4,描述了用于基于输入数据项104来选择地址的过程。可以理解,图4的过程可以使用图2的组件来实施。
在步骤S401,生成在步骤S301接收到的输入数据项104的第一表示204。第一表示204可以使用第一嵌入神经网络201来生成。
在步骤S402,生成存储在存储器101中的模板数据项的第二表示206。第二表示206可以使用第二嵌入神经网络202来生成。
在步骤S403,通过比较第一表示204和第二表示206来计算相似性得分207。相似性得分207可以由如上所述的相似性计分器203计算。例如,相似性得分可以基于第一表示204和第二表示206之间的内积来计算。内积可以例如使用第二表示的L2范数被归一化。可替换地,相似性得分207可以基于余弦相似性、L2距离或任何其他合适的相似性度量来计算。
对存储在存储器101中的每个模板数据项重复步骤S402和S403。如果没有其他要处理的模板数据项,如判定S404中所示,则在步骤S405,基于在步骤S403为每个模板数据项计算的相似性得分来构建概率分布。如上所述,概率分布可以例如通过将softmax函数应用于计算的相似性得分207来构建。
在步骤S406,通过从在步骤S405构建的概率分布中采样来选择地址。
参考图5描述了用于训练神经网络系统100的示例性过程。该过程可以使用包括一组用于训练的输入数据项的训练数据集。每个输入数据项的目标数据项可以是输入数据项本身或输入数据项的变化或任何其他合适的目标。训练数据集可以包括标记数据或未标记数据、或者标记数据和未标记数据的组合。如上所述,有利的是,神经网络系统100可以使用包括有限数量的示例数据项的训练数据集来训练,并且适于“少量(few-shot)”学习场景、甚至“一次性(one-shot)”学习场景。
现在参考图5,在步骤S501,存储器101被初始化。存储器101可以通过用从训练数据集中选择的模板数据项填充存储器101来初始化。对模板数据项的选择可以是随机选择。可替换地,存储器101可以使用每个模板数据项的随机值来初始化,并在训练过程中被适当更新,以便学习适当的模板数据项,如下所述。应当理解,为了学习适当的模板数据项,通过从训练数据集中选择来初始化也是可能的。
在步骤S502,选择“小批量(mini-batch)”的训练数据。也就是说,从训练数据集中选择多个数据项的子集。子集通常被选择以便包括相对少量的训练数据项。在存储器101中的模板数据项是从训练数据集中选择的并且训练数据集中每个数据项的类是已知的情况下,选择小批量的训练数据,使得小批量中的每个数据项在对应类的存储器101中具有对应的模板数据项。可替换地,存储器101中的模板数据项可以被初始化,使得与小批量中的所选择的数据项一致。例如,模板数据项可以基于所选择的数据项来生成。
在步骤S503,根据上述图3的过程,处理小批量中的每个训练数据项以生成输出数据。如上所述,目标输出数据项可以是训练数据项本身或训练数据项的变化或任何其他合适的目标。
在步骤S504,基于损失函数的优化来计算梯度估计。如上所述,神经网络系统100是生成模型。可以理解,梯度估计可以使用变分推理方法来计算,由此,损失函数可以基于变分下限。下面提供了用于计算梯度估计的示例性损失函数和方程。
在步骤S505,梯度估计被用于更新神经网络系统100中的神经网络的参数。也就是说,编码器神经网络102的参数和解码器神经网络103的参数被更新。第一嵌入神经网络201的参数和第二嵌入神经网络202的参数也可以被更新。
在步骤S506,可选地更新存储器101。例如,如果要学习存储器101中的模板数据项,则还可以计算存储器101的梯度估计,并且基于计算的梯度估计来更新模板数据项。如果从训练数据集中选择模板数据项,则可以用对来自训练数据集的模板数据项的新选择来更新存储器101,以用于处理下一小批量的训练数据。可以理解,在处理下一小批量的训练数据之前,可以在任何阶段用对来自训练数据集的模板数据项的新选择来更新存储器。可替换地,存储器可以在整个训练过程中保持不变,并且可以不更新。
在步骤S507,确定是否继续训练。该确定可以基于损失值是否已经充分收敛并且低于阈值,或者可以基于特定数量的小批量是否已经被处理或者基于任何其他合适的标准。如果确定训练将继续,则处理返回到步骤S502以处理另一小批量的训练数据。否则,该过程完成,并且训练的系统可以被输出以用于其他数据项的处理。
现在将提供用于计算梯度的示例性损失函数和方程。以下描述是高级描述。更详细的描述可以在 Bornschein,Andriy Mnih,Daniel Zoran,Danilo J.Rezende,“Variational Memory Addressing in Generative Models”(arXiv:1709.07116)中找到,在此将其全文引入作为参考。
由神经网络系统100实施的生成模型可以根据下面的方程(1)来描述:
其中,x是要建模的数据项,a是作为类别的潜变量的存储器地址,z是潜变量表示,M是存储器101,并且ma是与存储器地址a相关联的模板数据项。
该模型可以基于变分自动编码器框架,并且可以基于变分推理来训练,例如,使用在Diederik P.Kingma,Max Welling,“Auto-encoding Variational Bayes”(arXiv:1312.6114)中公开的方法。使用变分推理,可以通过优化变分下限来训练模型。可以理解,对于方程(1)中的模型,变分下限可以写成:
其中,q(a,z|M,x)=q(a|M,x)q(z|ma,x). (3)
给定存储器地址是离散的潜变量,就不可能使用反向传播。因此,梯度可以基于Andriy Mnih,Danilo J.Rezende,“Variational Inference for Monte CarloObjectives”(arXiv:1602.06725)中公开的方法来计算。例如,变分界限的多样本版本可以用作损失函数其可以具有以下形式(为简洁起见省略了M):
可以理解,基于上述损失函数,模型生成部分和模型推理部分的梯度估计可以如下计算:
可以理解,如果需要,梯度可以用于更新存储器的内容,并且梯度和/>可以用于更新第一嵌入神经网络201和第二嵌入神经网络202的参数。
示例性神经网络系统使用来自多个不同字母的手写字符的图像的数据集进行训练,并用于基于数据集中的字符类生成图像。
图6A和图6B各自示出了随机输入数据项(目标)的概率最高的5个模板数据项。还示出了为选择存储器地址而构建的对应概率分布。在这个示例中,对于8个未看见的测试集字符类,存储器包含10个模板数据项。如图6A和图6B所示,该模型对存储位置执行可靠的近似推理。
在图7中,在“一次性”问题设置下测试了示例性神经网络系统。在这个示例中,神经网络系统每个梯度步长使用来自8个类的4个示例来训练。最左边的列示出了包含测试集字符类的单个示例的示例性模板数据项。图7所示的其他图像是由示例性神经网络系统基于对应的模板数据项生成的示例性图像。如图7所示,即使在“一次性”设置中,神经网络系统也能够泛化。
本说明书结合系统和计算机程序组件来使用术语“配置”。对于要被配置为执行特定操作或动作的一个或多个计算机的系统,这意味着系统已经在其上安装了在操作时使得系统执行操作或动作的软件、固件、硬件或它们的组合。对于要被配置为执行特定操作或动作的一个或多个计算机程序,这意味着该一个或多个程序包括指令,当由数据处理装置执行时,该指令使得该装置执行操作或动作。
本说明书中描述的主题和功能操作的实施例可以在数字电子电路、有形体现的计算机软件或固件、计算机硬件(包括本说明书中公开的结构及其结构等同物)、或者在它们中的一个或多个的组合中实施。
本说明书中描述的主题的实施例可以实施为一个或多个计算机程序,即编码在有形的非暂时性程序载体上的计算机程序指令的一个或多个模块,用于由数据处理装置执行或控制数据处理装置的操作。可替换地或附加地,程序指令可以被编码在人工生成的传播信号上,例如机器生成的电、光或电磁信号,该信号被生成来编码信息,以用于传输到合适的接收器设备供数据处理装置执行。计算机存储介质可以是机器可读存储设备、机器可读存储基底、随机或串行访问存储设备、或者它们中的一个或多个的组合。然而,计算机存储介质不是传播信号。
术语“数据处理装置”包括用于处理数据的各种装置、设备和机器,例如包括可编程处理器、计算机、或者多个处理器或计算机。该装置可以包括专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,该装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如构成处理器固件、协议栈、数据库管理系统、操作系统或它们中的一个或多个的组合的代码。
计算机程序(也可以被称为或描述为程序、软件、软件应用、模块、软件模块、脚本或代码)可以用任何形式的编程语言编写,包括编译或解释语言、声明或过程语言,并且它可以以任何形式部署,包括作为独立程序或作为模块、组件、子例程或适合在计算环境中使用的其他单元。计算机程序可以但不需要对应于文件系统中的文件。程序可以存储在保存其他程序或数据的文件的一部分(例如标记语言文档中存储的一个或多个脚本)中,存储在专用于所讨论的程序的单个文件中,或者存储在多个协调文件(例如存储一个或多个模块、子程序或部分代码的文件)中。计算机程序可以被部署为在位于一个站点或分布在多个站点并通过通信网络互连的一个或多个计算机上执行。
在本说明书中,“引擎”或“软件引擎”指的是提供不同于输入的输出的软件实施的输入/输出系统。引擎可以是编码的功能块,诸如库、平台、软件开发工具包(“SDK”)或对象。每个引擎可以在任何适当类型的计算设备上实施,例如服务器、移动电话、平板计算机、笔记本计算机、音乐播放器、电子书阅读器、膝上型或台式计算机、PDA、智能电话或包括一个或多个处理器和计算机可读介质的其他固定或便携式设备。另外,两个或多个引擎可以在相同的计算设备上实施,或者在不同的计算设备上实施。
本说明书中描述的过程和逻辑流程可以由一个或多个可编程计算机执行,该可编程计算机执行一个或多个计算机程序,以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流程也可以由专用逻辑电路来执行,并且装置也可以实施为专用逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。例如,过程和逻辑流程可以由图形处理单元(GPU)来执行,并且设备也可以被实施为GPU。
举例来说,适于执行计算机程序的计算机可以基于通用或专用微处理器或两者,或者任何其他类型的中央处理单元。通常,中央处理单元将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行或运行指令的中央处理单元以及用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括一个或多个用于存储数据的大容量存储设备(例如磁盘、磁光盘或光盘),或者被可操作地耦合到一个或多个大容量存储设备以从其接收数据或向其传送数据或两者兼有。然而,计算机不需要这样的设备。此外,计算机可以嵌入到另一设备中,例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏机、全球定位系统(GPS)接收器或便携式存储设备(例如通用串行总线(USB)闪存驱动器),仅举几个示例。
适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储设备,包括例如:半导体存储设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;和CD ROM和DVD-ROM盘。处理器和存储器可以由专用逻辑电路来补充或并入专用逻辑电路。
为了提供与用户的交互,本说明书中描述的主题的实施例可以在计算机上实施,该计算机具有用于向用户显示信息的显示设备(例如CRT(阴极射线管)或LCD(液晶显示器))以及用户可以通过其向计算机提供输入的键盘和定点设备(例如鼠标或轨迹球)。也可以使用其他类型的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声音、语音或触觉输入。此外,计算机可以通过向用户使用的设备发送文档和从用户使用的设备接收文档来与用户交互;例如,通过响应于从网络浏览器接收的请求而向用户的客户端设备上的网络浏览器发送网页。
本说明书中描述的主题的实施例可以在计算系统中实施,该计算系统包括后端组件(例如作为数据服务器),或者包括中间件组件(例如应用服务器),或者包括前端组件(例如具有图形用户界面或网络浏览器的客户端计算机,用户可以通过该图形用户界面或网络浏览器与本说明书中描述的主题的实施方式进行交互),或者一个或多个这样的后端、中间件或前端组件的任意组合。系统的组件可以通过任何形式或介质的数字数据通信相互连接,例如通信网络。通信网络的示例包括局域网(“LAN”)和广域网(“WAN”),例如互联网。
计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户机和服务器的关系是通过在各自的计算机上运行并且彼此之间具有客户机-服务器关系的计算机程序产生。
虽然本说明书包含许多具体的实施细节,但这些不应被解释为对任何发明或所要求保护的范围的限制,而是对特定发明的特定实施例的特定特征的描述。本说明书中在单独实施例的上下文中描述的某些特征也可以在单个实施例中组合实施。相反,在单个实施例的上下文中描述的各种特征也可以在多个实施例中单独地实施或以任何合适的子组合来实施。此外,尽管上述特征可以被描述为以某些组合起作用,甚至最初被要求这样保护,但是在某些情况下,可以从所要求保护的组合中删除该组合中的一个或多个特征,并且所要求保护的组合可以指向子组合或子组合的变化。
类似地,尽管在附图中以特定次序描述了操作,但这不应理解为要求以所示的特定次序或以顺序的次序执行这些操作,或者要求执行所有所示的操作,以获得期望的结果。在某些情况下,多任务处理和并行处理可能是有利的。此外,上述实施例中各种系统模块和组件的分离不应理解为在所有实施例中都需要这种分离,并且应当理解,所描述的程序组件和系统通常可以集成在单个软件产品中或者封装到多个软件产品中。
已经描述了本主题的特定实施例。其他实施例在以下权利要求的范围内。例如,权利要求中记载的动作可以以不同的次序执行,并且仍然获得期望的结果。作为一个示例,附图中描述的过程不一定需要所示的特定次序或顺序的次序来获得期望的结果。在某些实施方式中,多任务处理和并行处理可能是有利的。

Claims (17)

1.一种由一个或多个计算机实施的神经网络系统,所述神经网络系统包括:
一个或多个存储器,其存储多个模板数据项,所述多个模板数据项中的每一个与相应的存储器地址对应;
一个或多个计算机和一个或多个存储指令的存储设备,所述指令在由所述一个或多个计算机执行时使得所述一个或多个计算机执行操作,包括:
接收输入数据项;
基于所述接收到的输入数据项选择存储器地址;和
从所述存储器获取与所选择的存储器地址对应的模板数据项;
将从所述存储器获取的获取的模板数据项和接收到的输入数据项作为输入提供给编码器神经网络,该编码器神经网络被配置为处理接收到的输入数据项和获取的模板数据项,以生成潜变量表示,所述潜变量表示表示变化的潜因素,所述变化的潜因素考虑了输入数据项中相对于获取的模板数据项的可变性;
从编码器神经网络获得潜变量表示作为输出,所述潜变量表示表示变化的潜因素,所述变化的潜因素考虑了输入数据项中相对于获取的模板数据项的可变性;
将所述潜变量表示和获取的模板数据项作为输入提供给解码器神经网络,该解码器神经网络被配置为处理获取的模板数据项和所述潜变量表示,以生成输出数据项;以及
从解码器神经网络获得所述输出数据项作为输出。
2.根据权利要求1所述的系统,其中选择存储器地址包括基于存储在所述存储器中的所述多个模板数据项中的每一个的相应相似性得分来选择所述存储器地址,其中所述相似性得分测量模板数据项与接收到的输入数据项之间的相似性。
3.根据权利要求2所述的系统,所述操作还包括:
将接收到的输入数据项作为输入提供给第一嵌入神经网络,该第一嵌入神经网络被配置为处理接收到的输入数据输入以生成所述输入数据项的第一表示;
将每个所述模板数据项作为输入提供给第二嵌入神经网络,该第二嵌入神经网络被配置为处理每个所述模板数据项以生成每个所述模板数据项的相应的第二表示;以及
其中选择存储器地址包括基于所述输入数据项的第一表示和存储在所述存储器中的所述多个模板数据项的相应的第二表示来计算相应的相似性得分。
4.根据权利要求2所述的系统,其中选择存储器地址还包括通过从所述相应的相似性得分的概率分布进行采样来选择所述存储器地址。
5.根据权利要求2所述的系统,其中,所述相应的相似性得分是基于以下之一:内积、余弦相似性和L2距离。
6.根据权利要求1所述的系统,其中,所述多个模板数据项是基于训练数据集而生成的。
7.根据权利要求6所述的系统,其中,所述多个模板数据项是从所述训练数据集中学习的。
8.根据权利要求6所述的系统,其中,所述多个模板数据项是基于从所述训练数据集中对数据项的选择而生成的,所述选择是基于所述数据的分类。
9.根据权利要求3所述的系统,其中,所述第一嵌入神经网络和所述第二嵌入神经网络共享它们的相应的权重的至少一部分。
10.根据权利要求1所述的系统,其中,所述编码器神经网络和所述解码器神经网络基于变分自动编码器框架。
11.根据权利要求10所述的系统,其中,所述编码器神经网络包括变分自动编码器的编码器部分,并且所述解码器神经网络包括所述变分自动编码器的解码器部分。
12.根据权利要求10所述的系统,其中,所述编码器神经网络和所述解码器神经网络基于优化变分下限来训练。
13.根据权利要求1所述的系统,其中,所述输出数据项与所述输入数据项具有相同的分类。
14.根据权利要求1所述的系统,其中,所述输入数据项是从由以下各项组成的群组中选择的类别的数据项:图像数据、视频数据、运动数据、语音数据、音频数据、电子文档、表示环境状态的数据和表示动作的数据。
15.根据权利要求1或2所述的系统,其中,所述编码器神经网络或解码器神经网络中的一个或多个包括循环神经网络。
16.一种生成数据项的方法,包括:
由一个或多个计算机接收输入数据项;
由所述一个或多个计算机基于接收到的输入数据项选择存储器地址,所选择的存储器地址与存储在所述一个或多个存储器中的多个模板数据项之一对应;
由所述一个或多个计算机并从所述一个或多个存储器获取与所选择的存储器地址对应的模板数据项;
将从所述存储器获取的获取的模板数据项和接收到的输入数据项作为输入提供给编码器神经网络,该编码器神经网络被配置为处理接收到的输入数据项和获取的模板数据项,以生成潜变量表示,所述潜变量表示表示变化的潜因素,所述变化的潜因素考虑了输入数据项中相对于获取的模板数据项的可变性;
从编码器神经网络获得潜变量表示作为输出,所述潜变量表示表示变化的潜因素,所述变化的潜因素考虑了输入数据项中相对于获取的模板数据项的可变性;
将所述潜变量表示和获取的模板数据项作为输入提供给解码器神经网络,该解码器神经网络被配置为处理获取的模板数据项和所述潜变量表示,以生成输出数据项;和
从解码器神经网络获得所述输出数据项作为输出。
17.一种存储指令的计算机存储介质,所述指令在由一个或多个计算机执行时使得所述一个或多个计算机实施根据权利要求1至15中任一项所述的神经网络系统。
CN201880027161.6A 2017-05-19 2018-05-22 神经网络系统 Active CN110770759B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201762508976P 2017-05-19 2017-05-19
US62/508,976 2017-05-19
PCT/EP2018/063303 WO2018211143A1 (en) 2017-05-19 2018-05-22 Neural network system

Publications (2)

Publication Number Publication Date
CN110770759A CN110770759A (zh) 2020-02-07
CN110770759B true CN110770759B (zh) 2023-12-29

Family

ID=62235955

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880027161.6A Active CN110770759B (zh) 2017-05-19 2018-05-22 神经网络系统

Country Status (4)

Country Link
US (1) US10860928B2 (zh)
EP (1) EP3596663A1 (zh)
CN (1) CN110770759B (zh)
WO (1) WO2018211143A1 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107241644B (zh) * 2017-05-31 2018-09-07 腾讯科技(深圳)有限公司 一种视频直播过程中的图像处理方法和装置
EP3807823A1 (en) 2018-06-12 2021-04-21 Intergraph Corporation Artificial intelligence applications for computer-aided dispatch systems
US11169514B2 (en) * 2018-08-27 2021-11-09 Nec Corporation Unsupervised anomaly detection, diagnosis, and correction in multivariate time series data
WO2020061489A1 (en) * 2018-09-20 2020-03-26 Nvidia Corporation Training neural networks for vehicle re-identification
US11568207B2 (en) * 2018-09-27 2023-01-31 Deepmind Technologies Limited Learning observation representations by predicting the future in latent space
US10963754B1 (en) * 2018-09-27 2021-03-30 Amazon Technologies, Inc. Prototypical network algorithms for few-shot learning
US11620555B2 (en) 2018-10-26 2023-04-04 Samsung Electronics Co., Ltd Method and apparatus for stochastic inference between multiple random variables via common representation
WO2020181098A1 (en) * 2019-03-05 2020-09-10 Memorial Sloan Kettering Cancer Center Systems and methods for image classification using visual dictionaries
EP3816865A1 (en) * 2019-10-30 2021-05-05 Robert Bosch GmbH Determining an output by aggregating parent instances
US11694089B1 (en) * 2020-02-04 2023-07-04 Rockwell Collins, Inc. Deep-learned photorealistic geo-specific image generator with enhanced spatial coherence
US11615317B2 (en) 2020-04-10 2023-03-28 Samsung Electronics Co., Ltd. Method and apparatus for learning stochastic inference models between multiple random variables with unpaired data
CN113807492A (zh) * 2020-06-17 2021-12-17 台达电子工业股份有限公司 类神经网络系统及其操作方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103455654A (zh) * 2012-05-30 2013-12-18 国际商业机器公司 基于机器学习的数据路径提取
CN105868829A (zh) * 2015-02-06 2016-08-17 谷歌公司 用于数据项生成的循环神经网络
CN106228185A (zh) * 2016-07-20 2016-12-14 武汉盈力科技有限公司 一种基于神经网络的通用图像分类识别系统及方法
CN106462802A (zh) * 2014-11-14 2017-02-22 谷歌公司 生成映像的自然语言描述

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6892193B2 (en) * 2001-05-10 2005-05-10 International Business Machines Corporation Method and apparatus for inducing classifiers for multimedia based on unified representation of features reflecting disparate modalities
US20080222065A1 (en) * 2007-03-05 2008-09-11 Sharkbait Enterprises Llc Learning and analysis systems and methods
WO2017212459A1 (en) * 2016-06-09 2017-12-14 Sentient Technologies (Barbados) Limited Content embedding using deep metric learning algorithms

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103455654A (zh) * 2012-05-30 2013-12-18 国际商业机器公司 基于机器学习的数据路径提取
CN106462802A (zh) * 2014-11-14 2017-02-22 谷歌公司 生成映像的自然语言描述
CN105868829A (zh) * 2015-02-06 2016-08-17 谷歌公司 用于数据项生成的循环神经网络
CN106228185A (zh) * 2016-07-20 2016-12-14 武汉盈力科技有限公司 一种基于神经网络的通用图像分类识别系统及方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Sergey Bartunov 等.FAST ADAPTATION IN GENERATIVE MODELS WITH GENERATIVE MATCHING NETWORKS.《arXiv:1612.02192v1》.2016,第1-17页. *
Tsendsuren Munkhdalai 等.Neural Semantic Encoders.《arXiv:1607.04315v1》.2016,第1-9页. *
李旭 ; .基于改进神经网络的WEB数据挖掘研究.计算机仿真.2008,(第06期),全文. *

Also Published As

Publication number Publication date
EP3596663A1 (en) 2020-01-22
CN110770759A (zh) 2020-02-07
US10860928B2 (en) 2020-12-08
WO2018211143A1 (en) 2018-11-22
US20200090043A1 (en) 2020-03-19

Similar Documents

Publication Publication Date Title
CN110770759B (zh) 神经网络系统
US11663441B2 (en) Action selection neural network training using imitation learning in latent space
US20210271968A1 (en) Generative neural network systems for generating instruction sequences to control an agent performing a task
US11842261B2 (en) Deep reinforcement learning with fast updating recurrent neural networks and slow updating recurrent neural networks
US20200090042A1 (en) Data efficient imitation of diverse behaviors
US11977967B2 (en) Memory augmented generative temporal models
JP6671515B2 (ja) 比較セットを使用する入力例の分類
EP3371747B1 (en) Augmenting neural networks with external memory
US20240078429A1 (en) Control policies for robotic agents
US11200482B2 (en) Recurrent environment predictors
JP2019508830A (ja) 優位推定を使用する強化学習
WO2017200597A1 (en) Progressive neural networks
US20200279134A1 (en) Using simulation and domain adaptation for robotic control
US11755879B2 (en) Low-pass recurrent neural network systems with memory
Hodnett et al. R Deep Learning Essentials: A step-by-step guide to building deep learning models using TensorFlow, Keras, and MXNet
WO2020074741A1 (en) Controlling agents over long time scales using temporal value transport
EP4272126A1 (en) Neural networks with adaptive gradient clipping
CN115362446A (zh) 用于少样本相似性确定和分类的交叉变换器神经网络系统

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