CN111492381A - 神经网络的功能子网络的同时训练 - Google Patents

神经网络的功能子网络的同时训练 Download PDF

Info

Publication number
CN111492381A
CN111492381A CN201880080275.7A CN201880080275A CN111492381A CN 111492381 A CN111492381 A CN 111492381A CN 201880080275 A CN201880080275 A CN 201880080275A CN 111492381 A CN111492381 A CN 111492381A
Authority
CN
China
Prior art keywords
network
sub
values
artificial neural
neural 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
CN201880080275.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.)
Advanced Micro Devices Inc
Original Assignee
Advanced Micro Devices Inc
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 Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Publication of CN111492381A publication Critical patent/CN111492381A/zh
Pending legal-status Critical Current

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

训练了一种人工神经网络[200],所述人工神经网络[200]包括实现已知功能的第一子网络[311‑315]和实现未知功能的第二子网络[310]。基于对应的已知训练数据集单独地且并行地训练所述第一子网络以确定定义所述第一子网络的第一参数值。在处理系统中的多个处理元件上执行所述第一子网络。将来自网络训练数据集的输入值[320,325]提供给包括所述受过训练的第一子网络的所述人工神经网络。通过将由所述人工神经网络产生的输出值[335]与所述网络训练数据集的标记后输出值比较来生成误差值。通过反向传播所述误差值来修改定义所述第二子网络的第二参数值而不修改所述第一参数值来训练第二子网络。

Description

神经网络的功能子网络的同时训练
背景技术
深度神经网络(DNN)是一类能够学习如何执行诸如图像识别、自然语言处理和玩游戏的任务的人工神经网络(ANN)。DNN架构包括实现将输入体积(诸如,数字图像)转化为输出体积(诸如,在数字图像中检测到的标记后特征)的功能的层叠堆。例如,DNN中的层可分为代表卷积神经网络(CNN)的卷积层、池化层和全连接层。可交叠多组卷积层、池化层和全连接层以形成完整的DNN。例如,DNN可包括接收输入并将输出提供给一组池化层的一组卷积层,所述池化层将输出提供给另一组卷积层。第二组卷积层将输出提供给另一组池化层,所述池化层将输出提供给一组或多组全连接层,所述全连接层生成输出体积。由DNN中的层实现的功能是显式的(即,已知或预定的)或隐藏的(即,未知的)。CNN是对含有多个隐藏层的任务执行深度学习的深度神经网络(DNN)。例如,用于实现计算机视觉的DNN包括视觉流的分级结构中的显式功能(诸如,方向映射)和多个隐藏功能。
附图说明
通过参考附图,可以更好地理解本公开,并且它的许多特征和优点对本领域技术人员来说变得显而易见。在不同附图中使用的相同附图标号指示相似或相同的项目。
图1是根据一些实施方案的处理系统的框图。
图2是示出根据一些实施方案的包括卷积层并且被训练以执行诸如图像识别的任务的深度神经网络(DNN)的框图。
图3是示出根据一些实施方案的训练在人工神经网络的实例内实现未知功能的子网络的框图,所述人工神经网络还包括实现已知功能的子网络。
图4是示出根据一些实施方案的被执行以执行质量保证步骤的图3所示CNN的实例的框图。
图5是示出根据一些实施方案的训练在人工神经网络的切割部分内实现未知功能的子网络的框图,所述人工神经网络还包括实现已知功能的子网络。
图6是根据一些实施方案的用于训练包括第一子网络的人工神经网络(诸如,CNN或DNN)的方法的流程图。
图7根据一些实施方案的用于训练在人工神经网络(诸如,CNN或DNN)内实现未知功能的子网络的方法的流程图,所述人工神经网络包括实现已知和未知的功能的子网络。
图8是根据一些实施方案的用于基于先前训练的子网络来生成和训练神经网络的方法的流程图。
具体实施方式
深度神经网络(DNN)的功能由不同层的不同组参数表示。卷积层的参数定义一组可学习滤波器(或内核),所述滤波器在输入体积的宽度和高度上对传入数据卷积以产生滤波器的二维(2-D)激活映射。池化层的参数定义如何将输入体积划分为子区域。例如,池化层可被配置为将输入图像划分为成一组不重叠的矩形,并生成每个子区域的最大值。完全连接层的参数定义DNN基于与先前层(诸如,先前池化层)中的激活的连接来执行的高级推理。通过使用包括一组输入体积和一组对应的(已知或标记后)输出值的训练数据集训练DNN来确定DNN的参数。例如,可使用已知包括要由面部识别DNN在其他图像中识别的个体的图像来训练面部识别DNN。训练图像称为标记后数据,其被定义为已被加标有一个或多个标记的一组样本。在训练期间,将来自训练数据集的输入数据顺序地提供给DNN,并且累积由DNN生成的输出值与已知输出值之间的误差。反向传播所累积的误差以修改DNN的参数。重复上述过程,直到满足收敛准则。但是,训练大型DNN是计算密集型任务,其根据网络的大小,可能需要数小时、数天或甚至数月。
训练人工神经网络通常是顺序过程。使用反向传播的误差来修改定义人工神经网络的参数。训练参数的例子包括网络中节点之间的连接的连接权重。由人工神经网络实现的功能(例如,模式识别)的准确性随着顺序过程的每次迭代而提高,因为基于训练集中每个连续样本生成的反向传播误差来修改参数。因此,难以通过细分训练数据集和并行训练网络的多个实例来并行化训练过程,因为网络的每个实例将仅基于训练集的一部分来训练。因此,将使用训练数据集的子集并行训练的网络的实例合并为单个受过训练的网络,可能不会导致以使用完整的训练数据集顺序地训练的网络的准确性执行其功能的网络。
通过并行化人工神经网络(诸如,CNN或DNN)的训练来解决常规顺序训练过程中的这些缺陷,所述人工神经网络包括实现已知功能的第一子网络(并且因此其可使用对应的已知训练数据集训练)和实现不具有对应的训练数据集的未知功能的第二子网络。基于已知的训练数据集单独地且并行地训练第一子网络。然后,通过将来自网络训练数据集的输入值提供给人工神经网络以及累积表示人工神经网络的输出值与来自网络训练数据集的标记后输出值之间的误差,基于网络训练数据集训练包括第一子网络和第二子网络的人工神经网络。反向传播所累积的误差以修改第二子网络的参数。在训练人工神经网络期间,不修改第一子网络的先前训练参数。迭代此过程,直到满足第二子网络的参数的收敛准则。第一子网络和第二子网络显著小于人工神经网络,并且因此,单独地训练第一子网络和第二子网络显著比训练人工神经网络快。
在给定针对受过训练的第一子网络和第二子网络确定的参数值的情况下,执行质量保证步骤以训练人工神经网络的参数。在质量保证步骤期间,将训练数据集的输入值提供给人工神经网络的实例,所述实例由第一子网络和第二子网络的修改后参数定义。反向传播由人工神经网络生成的误差值,以修改定义人工神经网络中的第一子网络和第二子网络的参数,并迭代上述过程,直到满足收敛准则。期望使用针对单独地训练的第一子网络和第二子网络确定的参数值来开始质量保证步骤,以加快质量保证步骤的收敛性(相对于使用反向传播来训练整个人工神经网络的技术),因为与参数的其他可能初始值(诸如,任意或随机选择的参数值)相比,受过训练的第一子网络和第二子网络的参数值预期显著地接近完整神经网络的收敛值。
图1是根据一些实施方案的处理系统100的框图。处理系统100包括或有权存取存储器105或使用诸如动态随机存取存储器(DRAM)的非暂时性计算机可读介质来实现的其他存储组件。然而,存储器105也可使用包括静态随机存取存储器(SRAM)、非易失性RAM等的其他类型的存储器来实现。处理系统100还包括总线110,以支持在处理系统100中实现的实体(诸如,存储器105)之间的通信。处理系统100的一些实施方案包括为了清楚起见未在图1中示出的其他总线、桥、开关、路由器等。
处理系统100包括被配置为渲染图像以呈现在显示器120上的图形处理单元(GPU)115。例如,GPU 115可渲染对象以产生像素值,所述像素值被提供给显示器120,所述显示器120使用像素值来显示表示所渲染对象的图像。GPU 115的一些实施方案还可用于通用计算。在所示的实施方案中,GPU 115实现多个处理元件116、117、118(在本文中统称为“处理元件116-118”),所述多个处理元件被配置为同时或并行地执行指令。在所示的实施方案中,GPU 115通过总线110与存储器105通信。然而,GPU 115的一些实施方案通过直接连接或经由其他总线、桥、开关、路由器等与存储器105通信。GPU 115可执行存储在存储器105中的指令,并且GPU 115可将诸如所执行指令的结果的信息存储在存储器105中。例如,存储器105可存储将由GPU 115执行的来自程序代码的指令的副本125。
处理系统100还包括实现多个处理元件131、132、133(在本文中统称为“处理元件131-133”)的中央处理单元(CPU)130。处理元件131-133被配置为同时或并行地执行指令。CPU 130连接到总线110,并且因此可经由总线110与GPU 115和存储器105通信。CPU 130可执行存储在存储器105中的诸如程序代码135的指令,并且CPU 130可将诸如所执行指令的结果的信息存储在存储器105中。CPU 130还能够通过向GPU 115发出绘制调用来发起图形处理。
输入/输出(I/O)引擎140处理与显示器120以及处理系统100的其他元件(例如,键盘、鼠标、打印机、外部磁盘等)相关联的输入或输出操作。I/O引擎140联接到总线110,使得I/O引擎140能够与存储器105、GPU 115或CPU 130通信。在所示的实施方案中,I/O引擎140被配置为读取存储在外部存储组件145上的信息,所述外部存储组件145使用非暂时性计算机可读介质(诸如,光盘(CD)、数字视盘(DVD)等)来实现。I/O引擎140还可将诸如由GPU 115或CPU 130处理的结果的信息写入到外部存储组件145。
人工神经网络(诸如,CNN或DNN)表示为使用对应参数集配置的程序代码。因此,人工神经网络可在GPU 115或CPU 130、或包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、在存储器中处理(PIM)等的其他处理单元上执行。如果人工神经网络实现了可使用对应的已知数据集训练的已知功能,则通过向在GPU 115或CPU 130上执行的人工神经网络提供已知训练数据集的输入值,然后将人工神经网络的输出值与已知训练数据集中的标记后输出值比较来训练人工神经网络(即,建立定义人工神经网络的参数的值)。基于比较来确定误差值,并且将其反向传播以修改定义人工神经网络的参数的值。迭代此过程,直到参数的值满足收敛准则。
但是,如本文所讨论的,人工神经网络通常由执行已知(或显式)功能的子网络和执行未知(或隐式)功能的子网络组成。基于网络训练数据集顺序地训练包括实现已知和未知功能的子网络的人工神经网络是耗费时间和资源的过程。为了减少通过训练人工网络而耗费的时间和资源,将人工神经网络细分为执行已知功能的第一子网络(其具有对应的已知训练数据集)和执行未知功能并且因此不具有已知训练数据集的第二子网络。基于对应的已知训练数据集来单独地且并行地训练第一子网络。例如,第一子网络的单独实例在GPU115中的处理元件116-118或CPU 130中的处理元件131-133或从所有处理元件116-118、131-133中提取的组合上同时执行。在一些实施方案中,单个第一子网络的多个实例可在处理元件上同时训练,然后选择最佳训练的实例以集成到人工神经网络中。还可针对已知功能的不同变化来训练第一子网络的单独实例。
一旦第一子网络已被训练,就基于网络训练数据集训练人工神经网络。在此训练阶段,第一子网络的参数保持恒定,因为期望通过基于已知数据集来训练第一子网络而准确地定义参数。将来自网络训练数据集的输入值提供给人工神经网络,所述人工神经网络在处理元件116-118、131-133中的一个、一些或所有上执行。通过将人工神经网络的输出值与网络训练数据集中的标记后输出值比较,生成误差值。反向传播所述误差值,并且用于修改第二子网络的参数。迭代此过程,直到定义第二子网络的参数的值满足收敛准则。例如,当两次迭代之间的参数的值变化的度量低于阈值时,定义第二子网络的参数的值收敛。然后,将定义人工神经网络的参数(例如,定义第一子网络和第二子网络的参数)的收敛值存储在诸如存储器105或外部存储组件145的非暂时性计算机可读介质中。在一些实施方案中,随后从非暂时性计算机可读介质读取第一子网络和第二子网络的参数的所存储值,并且将其用于构造其他神经网络,有可能与可能为受过训练的或可能为未受训练的其他子网络组合。
一旦确定了定义第一子网络和第二子网络的参数的值,就对完整的人工神经网络执行质量保证步骤。人工神经网络的实例在GPU 115或CPU 130中执行。通过将第一子网络和第二子网络集成到完整的人工神经网络中来定义实例。将输入值提供给人工神经网络的实例,所述实例基于定义人工神经网络的参数的当前值生成对应的输出值。通过将输出值与训练数据集中的标记后输出值比较,确定误差值。反向传播所述误差值,并且将其用于修改定义人工神经网络中的第一子网络和第二子网络的参数的值。迭代此过程,直到定义人工神经网络的参数的值满足收敛准则。然后,将人工神经网络视为受过训练的以执行其分配的任务。在一些实施方案中,对第一子网络的同时训练、第二子网络中的未知功能的训练以及人工神经网络的后续质量保证训练迭代一次或多次以训练人工神经网络。
图2是示出根据一些实施方案的被训练以执行诸如图像识别的任务的深度神经网络(DNN)200的框图。在图1中示出的GPU 115中的处理元件116-118或CPU 130中的处理元件131-133上执行DNN 200。DNN 200被配置为接收诸如图像210的一部分205的输入值,并且基于在DNN 200中实现的功能以及定义所述功能的参数的值来产生输出值215。
DNN 200包括实现由一组参数定义的卷积功能的卷积层220,所述参数基于一个或多个训练数据集而训练。参数包括一组可学习滤波器(或内核),它们具有较小的感受野,并且伸展穿过卷积层220的输入体积的整个深度。参数还可包括控制卷积层220的输出体积的大小的深度参数、步长参数和零填充参数。卷积层220将卷积运算应用于输入值,并且将卷积运算的结果提供给DNN 200中的后续层。例如,将图像210的一部分205作为输入225提供给卷积层220,所述卷积层220基于一组参数将卷积运算应用于输入225以生成对应的输出值230。在一些实施方案中,卷积层220被标识为DNN 200的子网络。然后,子网络代表卷积神经网络(CNN)。然而,卷积层220可为DNN 200的较大子网络的一部分,或卷积层220可进一步细分为DNN 200的多个子网络。
由卷积层220生成的结果被提供给DNN 200中的池化层235。池化层235将卷积层220的神经元簇的输出组合为从池化层235输出的较少数量的神经元簇。池化层235通常实现已知(或显式)功能。例如,实现最大池化的池化层235可将从卷积层220输出的簇中的神经元的值的最大值分配给从池化层235输出的单个神经元。又例如,实现平均池化的池化层235可将从卷积层220输出的簇中的神经元的值的平均值分配给从池化层235输出的单个神经元。因此,可使用预定的训练数据集来训练池化层235的已知(或显式)功能性。在一些实施方案中,池化层235被标识为DNN 200的子网络。然而,池化层235可为DNN 200的较大子网络的一部分,或池化层235可进一步细分为DNN 200的多个子网络。
在所示的实施方案中,DNN 200还包括从卷积层235接收输入的附加卷积层240和从附加卷积层240接收输入的附加池化层245。然而,附加卷积层240和附加池化层245是任选的,并且在DNN 200的一些实施方案中不存在。此外,DNN 200的一些实施方案可包括更多数量的卷积层和池化层。附加卷积层240和附加池化层245可标识为DNN 200的子网络、DNN200的子网络的一部分,或可细分为DNN 200的多个子网络。
来自附加池化层245的输出被提供给全连接层250、255。全连接层250、255中的神经元连接到另一层(诸如,附加池化层245或其他全连接层)中的每个神经元。全连接层250、255通常实现代表用于产生输出值215的高级推理的功能性。例如,如果DNN 200被训练以执行图像识别,则全连接层250、255实现标记已由DNN 200“识别”的图像的部分的功能性。标记的例子包括在图像210中检测到面部的人物的姓名、在图像中检测到的对象的类型等。如本文所讨论的,在全连接层250、255中实现的功能由使用训练数据集确定的参数的值表示。全连接层250、255被标识为DNN 200的子网络、DNN 200的子网络的一部分,或被细分为DNN200的多个子网络。
图3是示出根据一些实施方案的训练在人工神经网络的实例300内实现未知功能的子网络的框图,所述人工神经网络还包括实现已知功能的子网络。在诸如图1所示的处理元件116-118、131-133的处理元件上执行实例300。使用互连的子网络310、311、312、313、314、315(在本文中统称为“子网络310-315”)来实现DNN。子网络310-315实现不同的功能,所述功能由表征子网络310-315的参数的值定义。在所示的实施方案中,子网络310实现未知功能,并且因此不具有已知训练数据集。虽然在图3中示出了实现未知功能的单个子网络310,但是人工神经网络的一些实施方案包括实现一个或多个未知功能的多个子网络。子网络311-315实现具有对应的已知训练数据集的已知功能。因此,已基于对应的已知训练数据集来单独地且并行地训练子网络311-315。
使用包括输入值320和325以及标记后输出值330的网络训练数据集来训练DNN的实例300。DNN的实例300可接收输入值320、325并生成输出值335。然后,通过将输出值335与标记后输出值330比较来确定DNN的实例300的误差值。如实线所指示,将子网络310标识为训练子网络,这意味着基于反向传播的误差值来修改定义子网络310的参数。如虚线所指示,将子网络311-315标识为非训练子网络,这意味着并未基于反向传播的误差值来修改定义子网络311-315的参数,因为这些参数是先前基于与子网络311-315的功能相关联的已知训练数据集来训练的。
然后,通过假设由DNN的实例300产生的误差值是由定义训练子网络310的参数的不准确值产生的来训练训练子网络310。因此,基于在当前迭代期间产生的误差值来修改参数的值,以减小在后续迭代期间产生的误差值。在训练过程期间,定义其他(非训练)子网络311-315的参数的值保持恒定。例如,迭代地修改定义DNN的实例300中的子网络310的参数的值,以减少由DNN的实例300产生的误差值,同时定义子网络311-315的参数的值保持恒定。
图4是示出根据一些实施方案的被执行以执行质量保证步骤的图3所示DNN的实例400的框图。可在诸如图1所示的处理元件116-118、131-133中的一者的处理元件上执行实例400。在质量保证步骤期间,如实线所指示,将所有子网络310-315视为训练子网络。使用定义先前训练的子网络310-315的参数的值作为迭代训练过程的初始值基于网络训练数据集320、325、330训练完整的DNN(例如,如图3所示)。DNN的实例400接收输入值320、325,并且基于定义DNN的参数(例如,定义子网络310-315的参数)的当前值来产生输出值405。将输出值405与标记后输出值330后比较以确定误差值,反向传播所述误差值并且将其用于修改定义DNN的参数值。迭代此过程,直到满足收敛准则,诸如,误差值的变化率的度量或误差值的数值低于阈值。
独立地且并行地训练实现已知功能的子网络311-315允许在不同的处理元件上同时或并行地执行子网络训练,从而减少训练子网络311-315所需的时间。定义训练子网络311-315的参数的值可能更接近于通过使用训练数据集(例如,使用图4所示的实例400)的输入值320、325、330训练完整DNN所确定的参数的值。因此,与使用参数的任意或随机初始值基于训练数据集的输入值320、325、330训练完整CNN的常规做法相比,预期完整DNN的训练过程的收敛(包括训练子网络310-315和执行质量保证步骤)会耗费更少的时间、能量以及更少的资源。
图5是示出根据一些实施方案的训练在人工神经网络的切割部分500内实现未知功能的子网络的框图,所述人工神经网络还包括实现已知功能的子网络。在诸如图1所示的处理元件116-118、131-133的处理元件上执行切割部分500。使用互连的子网络510、511、512、513、514、515、516(在本文中统称为“子网络510-516”)来实现人工神经网络的切割部分500。子网络510-516实现不同的功能,所述功能由表征子网络510-516的参数的值定义。在所示的实施方案中,子网络510实现未知功能,并且因此不具有已知训练数据集。虽然在图5中示出了实现未知功能的单个子网络510,但是人工神经网络的一些实施方案包括实现一个或多个未知功能的多个子网络。子网络511-516实现具有对应的已知训练数据集的已知功能。因此,已基于对应的已知训练数据集单独地且并行地训练子网络511-516。
子网络510由子网络511-516基本上包围。如本文所用,短语“基本上包围”指示到子网络510的输入仅(或主要)由子网络511-516中的一者或多者提供,并且没有(或少量)来自子网络510的输出暴露于除子网络511-516以外的任何子网络。在那种情况下,基于由子网络511-516的已知训练数据集组成的组合训练数据集来训练子网络510。例如,如本文所讨论的,可基于对应的已知训练数据集来单独地且并行地训练子网络511-516。然后,通过基于组合的训练数据集训练切割部分500来训练子网络510,同时先前训练的子网络511-516的参数保持恒定。一旦被训练,切割部分500就被集成到完整的人工神经网络中,所述人工神经网络基于如本文所讨论的网络训练数据集来训练。
图6是根据一些实施方案的用于训练包括第一子网络的人工神经网络(诸如,CNN或DNN)的方法600的流程图。方法600在图1所示的处理系统100的一些实施方案中实现。
在框605处,将人工神经网络划分为在人工神经网络中执行已知功能的子网络和执行未知功能的子网络。功能的定义并不严格。DNN架构可基于网络拓扑或子网络执行的内部原型操作或任何其他合理准则来定义功能。例如,诸如图2所示的包括卷积层220、池化层235、卷积层240、池化层245以及全连接层250、255的深度神经网络200的人工神经网络被划分为包括卷积层220的第一子网络、包括池化层235的第二子网络、包括卷积层240的第三子网络、包括池化层245的第四子网络、包括全连接层250的第五子网络以及包括全连接层255的第六子网络。神经网络以更高或更低的粒度层的其他划分也是可能的。例如,层的划分可发生在单个层内,诸如在卷积层220内。
在不同的处理元件(诸如,图1所示的处理元件116-118、131-133)上单独地且并行地训练具有已知功能的第一子网络。基于与第一子网络中实现的功能相对应的已知数据集训练第一子网络。在所示的实施方案中,基于特定于每个子网络的训练数据集来修改定义训练子网络的参数的值。此训练数据集是已知的,因为子网络的功能(响应于输入而产生的输出值)也是已知的。例如,在框610处,基于误差值来修改定义第一已知子网络的参数的值,所述误差值是通过将此子网络的输出值与此子网络的训练数据集的标记后输出值比较而确定的。在框615处,基于误差值来修改定义第二已知子网络的参数的值,所述误差值是通过将第二子网络的输出值与第二已知子网络的训练数据集的标记后输出值比较而确定的。在框620处,基于误差值来修改定义第N已知子网络的参数的值,所述误差值是通过将第N子网络的输出值与第N子网络的已知训练数据集的标记后输出值比较而确定的。同时或并行地执行由框610、615、620表示的过程。
在框625处,基于用于人工神经网络的网络训练数据集来修改实现未知功能的第二子网络的参数。将定义人工神经网络中的第一子网络的参数的值设置为等于在框610、615、620中确定的参数的值,使得第一子网络被集成回整个人工神经网络中。将定义第二子网络的参数的值设置为随机值或任意值,或使用设置初始值的任何其他准则。将来自网络训练数据集的输入值提供给人工神经网络,所述人工神经网络基于参数的当前值来生成输出值。将输出值与网络训练数据集的标记后输出值比较以确定误差值,所述误差值被反向传播以修改定义第二子网络的参数的值。在此过程期间,定义第一子网络的参数保持恒定,迭代所述过程,直到满足第二子网络的收敛准则。
在框630处,执行质量保证步骤。在质量保证步骤中,将来自网络训练数据集的输入值提供给人工神经网络,所述人工神经网络基于参数的当前值来生成输出值。将输出值与网络训练数据集的标记后输出值比较,以确定误差值。在框630处执行的质量保证步骤与在框625处执行的步骤不同,因为误差值被反向传播以修改定义第一子网络和第二子网络的参数的值。迭代质量保证步骤,直到满足人工神经网络的收敛准则。一旦过程收敛,就将定义第一子网络和第二子网络的参数的值存储在使用诸如图1所示的存储器105或外部存储组件145的非暂时性计算机可读介质实现的存储组件中。
图7是根据一些实施方案的用于训练在包括实现已知和未知功能的子网络的人工神经网络(诸如,CNN或DNN)内实现未知功能的子网络的方法700的流程图。方法700在图1所示的处理系统100的一些实施方案中实现。方法700用于实现图6所示的方法600的一些实施方案。
在框705处,人工神经网络基于来自训练数据集的输入训练值和构成神经网络的子网络的参数的当前值来生成输出值。如本文所讨论的,在人工神经网络中实现未知功能的子网络被标识为训练子网络。
在框710处,将人工神经网络的输出值与训练数据集的标记后输出值比较。根据比较来确定误差值。例如,误差值可指示一个或多个训练图像中的人物或对象的百分比,所述人物或对象通过人工神经网络正确地识别,如由输出值与标记后输出值的比较所指示的。
在框715处,基于误差值来修改定义训练子网络(即,实现未知功能的子网络)的参数的值。定义实现人工神经网络中的已知功能的其他子网络的参数的值保持恒定,即,在假设误差是仅由定义训练子网络的参数的错误值引起的情况下,修改定义训练子网络的参数的值。
在决策框720处,对定义训练子网络的参数的值评估收敛准则。例如,可将在方法700的当前迭代中确定的参数的值与在方法700的先前迭代中确定的参数的值比较。参数的值满足收敛准则是对当前迭代与先前迭代之间的值的变化的度量低于阈值。可在其他实施方案中应用其他收敛准则,诸如将网络的输出与标记后数据比较。在此情况下,可在框710与框715之间放置收敛性测试(框720)。如果不满足收敛准则,则方法700流回到框705,以使用参数的修改后值开始方法700的另一迭代。通过反向传播或训练神经网络中使用的任何其他方法来完成修改。如果满足收敛准则,则方法700进入框725。
在框725处,将定义训练子网络的参数的收敛值存储在使用非暂时性计算机可读介质实现的存储组件中。例如,将收敛值存储在图1所示的存储器105或外部存储组件145中。然后,可存取所存储值,以进行针对神经网络执行的后续质量保证步骤。如本文所讨论的,还可存取所存储值并且将其与其他子网络的其他参数值组合,以形成新的神经网络。
图8是根据一些实施方案的用于基于先前训练的子网络来生成和训练神经网络的方法800的流程图。在所示的实施方案中,第一神经网络已细分为多个子网络,然后使用网络训练数据集训练。例如,可根据图6所示的方法600和图7所示的方法700的实施方案来训练第一神经网络。定义第一神经网络中的子网络的参数的值存储在诸如图1所示的外部存储组件145的非暂时性计算机可读介质中。第一神经网络的训练由图1所示的处理系统100或由其他处理系统执行。
在框805处,从非暂时性计算机可读存储介质中读取定义第一神经网络的子网络的子集的参数的值。在一些实施方案中,还从非暂时性计算机可读存储介质中读取定义其他神经网络的子网络的参数的值。
在框810处,将子网络组合以形成第二神经网络。如本文所讨论的,组合子网络以形成第二神经网络包括配置程序代码和参数值以表示第二神经网络,例如,将一组子网络的输出连接到另一组子网络的输入。可选择用于将来自多个网络的子网络集成到新网络中的各种准则,例如,功能集成、信息数据流、实时方面和许多其他方面。因此,可在一个或多个处理元件上执行第二神经网络。例如,互连定义第一神经网络的子网络的子集的参数的值和定义其他神经网络的子网络的参数的值(如果有的话)以构造第二神经网络,使得可在诸如图1所示的处理元件116-118、131-133的一个或多个处理元件上执行第二神经网络。
在框815处,基于网络训练数据集来训练第二神经网络。将定义第二神经网络的参数的值初始地设置为等于定义构成第二神经网络的子网络的参数的对应值。然后,可使用图6所示的方法600和图7所示的方法700的一些实施方案来训练第二神经网络。使用定义子网络的参数的先前训练值开始训练过程可加速训练过程,使得相对于使用定义第二神经网络的参数的任意或随机值开始第二神经网络的训练过程,训练耗费更少的时间和更少的资源。
在第一方面,一种方法包括训练人工神经网络,所述人工神经网络包括实现已知功能的第一子网络和实现未知功能的第二子网络,所述方法包括基于对应的已知训练数据集单独地且并行地训练第一子网络以确定定义第一子网络的第一参数值,将来自网络训练数据集的输入值提供给包括受过训练的第一子网络的人工神经网络,通过将由人工神经网络产生的输出值与网络训练数据集的标记后输出值比较来生成误差值,使用误差值来修改定义第二子网络的第二参数值而不修改第一参数值,以及存储第一参数值和第二参数值。
在第一方面的一个实施方案中,方法包括训练第一子网络,包括同时将对应的已知训练数据集的输入值提供给第一子网络、同时生成第一子网络的误差值、以及同时修改第一参数值。在一个实施方案中,方法包括迭代地执行同时将对应的已知训练数据集的输入值提供给第一子网络、同时生成第一子网络的误差值、以及同时修改定义第一子网络的第一参数值,直到满足第一参数值的收敛准则。在特定实施方案中,方法包括基于由与第一子网络的第一子集相对应的已知训练数据集的子集形成的切割训练集来训练第二子网络,其中第一子集包含第二子网络。
在第一方面的另一个实施方案中,方法包括将网络训练数据集的输入值提供给由第一子网络和第二子网络的修改后参数值定义的人工神经网络的实例,通过将来自人工神经网络的输出值与网络训练数据集中的标记后值比较来生成误差值,使用误差值来修改定义第一子网络和第二子网络的第一参数值和第二参数值,以及存储定义第一子网络和第二子网络的修改后参数值。在特定实施方案中,方法包括迭代地执行将网络训练数据集的输入值提供给人工神经网络、生成误差值、以及修改定义第一子网络和第二子网络的第一参数值,直到满足第一参数值的收敛准则。
在第一方面的另一个实施方案中,方法包括读取人工神经网络的第一子网络的子集的所存储参数值,以及使用人工神经网络的第一子网络的子集的所存储参数值来定义不同的人工神经网络的参数值。
在第二方面,处理系统包括多个处理元件,所述多个处理元件被配置为通过以下训练人工神经网络,所述人工神经网络包括实现已知功能的第一子网络和实现未知功能的第二子网络:基于对应的已知训练数据集单独地且并行地训练第一子网络以确定定义第一子网络的第一参数值,将来自网络训练数据集的输入值提供给包括受过训练的第一子网络的人工神经网络,通过将由人工神经网络产生的输出值与网络训练数据集的标记后输出值比较来生成误差值,通过使用误差值来修改定义第二子网络的第二参数值而不修改第一参数值来训练第二子网络,以及输入/输出引擎,所述输入/输出引擎被配置为将第一参数值和第二参数值存储在存储组件中。
在第二方面的另一个实施方案中,多个处理元件被配置为同时将对应的已知训练数据集的输入值提供给第一子网络、同时生成第一子网络的误差值、以及同时修改第一参数值。在特定实施方案中,多个处理元件被配置为迭代地同时将对应的已知训练数据集的输入值提供给第一子网络、同时生成第一子网络的误差值、以及同时修改定义第一子网络的第一参数值,直到满足第一参数值的收敛准则。在更特定实施方案中,多个处理元件被配置为基于由与第一子网络的第一子集相对应的已知训练数据集的子集形成的切割训练集来训练第二子网络,其中第一子集包含第二子网络。
在第二方面的另一个实施方案中,多个处理元件被配置为将网络训练数据集的输入值提供给由第一子网络和第二子网络的修改后第一参数值和第二参数值定义的人工神经网络的实例,通过将来自人工神经网络的输出值与网络训练数据集中的标记后值比较来生成误差值,以及使用误差值来修改定义第一子网络和第二子网络的第一参数值和第二参数值。此外,输入/输出引擎被配置为将定义第一子网络和第二子网络的修改后参数值存储在存储组件中。在特定实施方案中,多个处理元件被配置为迭代地将网络训练数据集的输入值提供给人工神经网络、生成误差值、以及修改定义第一子网络和第二子网络的第一参数值和第二参数值,直到满足第一参数值的收敛准则。
在第二方面的又一个实施方案中,输入/输出引擎被配置为从存储组件中读取人工神经网络的第一子网络的子集的参数值,并且多个处理元件中的至少一者被配置为使用人工神经网络的第一子网络的子集的参数值来定义不同人工神经网络的参数值。
在第三方面,一种方法包括使用处理系统的输入/输出引擎读取定义实现已知功能的第一子网络的第一参数值和定义实现未知功能的第二子网络的第二参数值,其中第一子网络已基于对应的已知训练数据集训练。方法还包括在处理系统处通过组合第一子网络和第二子网络来生成人工神经网络,将网络训练数据集的输入值提供给人工神经网络,在处理系统处通过将来自人工神经网络的输出值与网络训练数据集中的标记后输出值比较来生成人工神经网络的误差值,以及在处理系统处基于误差值来修改定义第二子网络的第二参数值。
在第三方面的一个实施方案中,迭代地执行将网络训练数据集的输入值提供给人工神经网络、生成人工神经网络的误差值、以及修改定义第二子网络的第二参数值,直到满足定义第二子网络的第二参数值的收敛准则。在另一个实施方案中,方法包括将第一参数值和第二参数值存储在存储组件中。在特定实施方案中,方法包括将网络训练数据集的输入值提供给由第二子网络的修改后参数值定义的人工神经网络的实例。方法还包括通过将来自人工神经网络的输出值与网络训练数据集中的标记后值比较来生成误差值,以及使用误差值来修改定义第一子网络和第二子网络的第一参数值和第二参数值。在另一个特定实施方案中,方法包括迭代地执行将网络训练数据集的输入值提供给人工神经网络、生成误差值、以及修改定义第一子网络和第二子网络的第一参数值和第二参数值,直到满足第一参数值和第二参数值的收敛准则。在一个甚至更特定的实施方案中,方法包括将定义第一子网络和第二子网络的修改后参数值存储在存储组件中,以及使用所存储参数值的子集来定义不同人工神经网络的参数值。
在一些实施方案中,上文所描述的设备和技术被实现在包括一个或多个集成电路(IC)装置(也称为集成电路封装或微芯片)的系统中,诸如上文参考图1至图7所述的处理系统。电子设计自动化(EDA)和计算机辅助设计(CAD)软件工具可用于设计和制作这些IC装置。这些IC装置可直接在晶体管电路中或作为在此电路上执行的可编程代码来实现本文所述的方法。
计算机可读存储介质可包括在使用期间可由计算机系统存取以向计算机系统提供指令和/或数据的任何非暂时性存储介质或非暂时性存储介质的组合。此类存储介质可包括但不限于光学介质(例如,压缩光盘(CD)、数字通用光盘(DVD)、蓝光光盘)、磁性介质(例如,软盘、磁带或磁性硬盘驱动器)、易失性存储器(例如,随机存取存储器(RAM)或高速缓存)、非易失性存储器(例如,只读存储器(ROM)或闪存存储器)或基于微机电系统(MEMS)的存储介质。计算机可读存储介质可嵌入在计算系统中(例如,系统RAM或ROM),固定地附接到计算系统(例如,磁性硬盘驱动器),可移除地附接到计算系统(例如,光盘或基于通用串行总线(USB)的闪存存储器),或通过有线或无线网络联接到计算机系统(例如,网络可存取存储装置(NAS))。本文所述的子网络和网络可存储在此类存储介质中。
在一些实施方案中,上述技术的某些方面可由执行软件的处理系统的一个或多个处理器来实现。软件包括存储或以其他方式有形地体现在非暂时性计算机可读存储介质上的一组或多组可执行指令。软件可包括指令和某些数据,当由一个或多个处理器执行时,所述指令和某些数据操纵所述一个或多个处理器来执行上述技术的一个或多个方面。非暂时性计算机可读存储介质可包括例如磁盘或光盘存储装置、固态存储装置,诸如闪存存储器、高速缓存、随机存取存储器(RAM)或一种或多种其他非易失性存储器装置等。存储在非暂时性计算机可读存储介质上的可执行指令可以是源代码、汇编语言代码、目标代码或由一个或多个处理器解译或以其他方式可执行的其他指令格式。
应注意,并非以上在一般性描述中所描述的所有活动或元素都是必需的,特定活动或装置的一部分可能不是必需的,并且除所描述的那些之外,可执行一个或多个其他活动,或者可包括一个或多个其他元素。更进一步,活动列出的次序不一定是它们执行的次序。另外,已经参考具体实施方案描述了这些概念。然而,本领域普通技术人员会理解,可在不偏离以下权利要求中所阐述的本公开的范围的情况下作出各种修改和更改。因此,本说明书和附图应被视为说明性的而不是限制性的,并且所有此类修改都意图包括在本公开的范围内。
以上关于具体实施方案描述了益处、其他优势以及问题的解决方案。然而,所述益处、优势、问题的解决方案,以及可导致任何益处、优势或解决方案出现或变得更加明显的任何特征,都不应被解释为是任何或所有权利要求的关键的、必需的或基本的特征。此外,以上所公开的特定实施方案仅是说明性的,因为所公开的主题可以受益于本文教义的本领域技术人员明白的不同但等效的方式修改和实践。除非如以下权利要求中有所描述,否则并不意图限制本文所示的构造或设计的细节。因此,显而易见的是,以上所公开的特定实施方案可变更或修改,并且将所有此类变化视为在所公开主题的范围内。因此,本文寻求的保护如下面的权利要求中所阐述。

Claims (20)

1.一种训练人工神经网络的方法,所述人工神经网络包括实现已知功能的第一子网络和实现未知功能的第二子网络,所述方法包括:
基于对应的已知训练数据集单独地且并行地训练所述第一子网络以确定定义所述第一子网络的第一参数值;
将来自网络训练数据集的输入值提供给包括所述受过训练的第一子网络的所述人工神经网络;
通过将由所述人工神经网络产生的输出值与所述网络训练数据集的标记后输出值比较来生成误差值;
使用所述误差值来修改定义所述第二子网络的第二参数值而不修改所述第一参数值;以及
存储所述第一参数值和所述第二参数值。
2.如权利要求1所述的方法,其中训练所述第一子网络包括同时将所述对应的已知训练数据集的输入值提供给所述第一子网络、同时生成所述第一子网络的误差值、以及同时修改所述第一参数值。
3.如权利要求2所述的方法,其中迭代地执行同时将所述对应的已知训练数据集的所述输入值提供给第一子网络、同时生成所述第一子网络的所述误差值、以及同时修改定义所述第一子网络的所述第一参数值,直到满足所述第一参数值的收敛准则。
4.如权利要求3所述的方法,所述方法还包括:
基于由与所述第一子网络的第一子集相对应的已知训练数据集的子集形成的切割训练集来训练第二子网络,其中所述第一子集包含所述第二子网络。
5.如权利要求1所述的方法,所述方法还包括:
将所述网络训练数据集的所述输入值提供给由所述第一子网络和所述第二子网络的所述修改后参数值定义的所述人工神经网络的实例;
通过将来自所述人工神经网络的输出值与所述网络训练数据集中的标记后值比较来生成误差值;
使用误差值来修改定义所述第一子网络和所述第二子网络的所述第一参数值和所述第二参数值;以及
存储定义所述第一子网络和所述第二子网络的所述修改后参数值。
6.如权利要求5所述的方法,其中迭代地执行将所述网络训练数据集的所述输入值提供给所述人工神经网络、生成所述误差值、以及修改定义所述第一子网络和所述第二子网络的所述第一参数值,直到满足所述第一参数值的收敛准则。
7.如权利要求1所述的方法,所述方法还包括:
读取所述人工神经网络的所述第一子网络的子集的所存储参数值;以及
使用所述人工神经网络的所述第一子网络的所述子集的所存储参数值来定义不同的人工神经网络的参数值。
8.一种处理系统,所述处理系统包括:
多个处理元件,所述多个处理元件被配置为通过以下训练人工神经网络,所述人工神经网络包括实现已知功能的第一子网络和实现未知功能的第二子网络:
基于对应的已知训练数据集单独地且并行地训练所述第一子网络以确定定义所述第一子网络的第一参数值;
将来自网络训练数据集的输入值提供给包括所述受过训练的第一子网络的所述人工神经网络;
通过将由所述人工神经网络产生的输出值与所述网络训练数据集的标记后输出值比较来生成误差值;
通过使用所述误差值来修改定义所述第二子网络的第二参数值而不修改所述第一参数值来训练所述第二子网络;以及
输入/输出引擎,所述输入/输出引擎被配置为将所述第一参数值和所述第二参数值存储在存储组件中。
9.如权利要求8所述的处理系统,其中所述多个处理元件被配置为同时将所述对应的已知训练数据集的输入值提供给所述第一子网络、同时生成所述第一子网络的误差值、以及同时修改所述第一参数值。
10.如权利要求9所述的处理系统,其中所述多个处理元件被配置为迭代地同时将所述对应的已知训练数据集的所述输入值提供给所述第一子网络、同时生成所述第一子网络的所述误差值、以及同时修改定义所述第一子网络的所述第一参数值,直到满足所述第一参数值的收敛准则。
11.如权利要求10所述的处理系统,其中所述多个处理元件被配置为:
基于由与所述第一子网络的第一子集相对应的已知训练数据集的子集形成的切割训练集来训练第二子网络,其中所述第一子集包含所述第二子网络。
12.如权利要求8所述的处理系统,其中所述多个处理元件被配置为:
将所述网络训练数据集的所述输入值提供给由所述第一子网络和所述第二子网络的所述修改后第一参数值和所述修改后第二参数值定义的所述人工神经网络的实例;
通过将来自所述人工神经网络的输出值与所述网络训练数据集中的标记后值比较来生成误差值;以及
使用所述误差值来修改定义所述第一子网络和所述第二子网络的所述第一参数值和所述第二参数值,并且其中
所述输入/输出引擎被配置为将定义所述第一子网络和所述第二子网络的所述修改后参数值存储在所述存储组件中。
13.如权利要求12所述的处理系统,其中所述多个处理元件被配置为迭代地将所述网络训练数据集的所述输入值提供给所述人工神经网络、生成所述误差值、以及修改定义所述第一子网络和所述第二子网络的所述第一参数值和所述第二参数值,直到满足所述第一参数值的收敛准则。
14.如权利要求8所述的处理系统,其中:
所述输入/输出引擎被配置为从所述存储组件读取所述人工神经网络的所述第一子网络的子集的参数值;并且
所述多个处理元件中的至少一者被配置为使用所述人工神经网络的所述第一子网络的所述子集的所述参数值来定义不同的人工神经网络的参数值。
15.一种方法,所述方法包括:
使用处理系统的输入/输出引擎读取定义实现已知功能的第一子网络的第一参数值和定义实现未知功能的第二子网络的第二参数值,其中所述第一子网络已基于对应的已知训练数据集训练;
在所述处理系统处通过组合所述第一子网络和所述第二子网络来生成人工神经网络;
将网络训练数据集的输入值提供给所述人工神经网络;
在所述处理系统处通过将来自所述人工神经网络的输出值与所述网络训练数据集中的标记后输出值比较来生成所述人工神经网络的误差值;以及
在所述处理系统处基于所述误差值来修改定义所述第二子网络的所述第二参数值。
16.如权利要求15所述的方法,其中迭代地执行将所述网络训练数据集的所述输入值提供给所述人工神经网络、生成所述人工神经网络的所述误差值、以及修改定义所述第二子网络的所述第二参数值,直到满足定义所述第二子网络的所述第二参数值的收敛准则。
17.如权利要求16所述的方法,所述方法还包括:
将所述第一参数值和所述第二参数值存储在存储组件中。
18.如权利要求17所述的方法,所述方法还包括:
将所述网络训练数据集的所述输入值提供给由所述第二子网络的所述修改后参数值定义的所述人工神经网络的实例;
通过将来自所述人工神经网络的输出值与所述网络训练数据集中的标记后值比较来生成误差值;以及
使用所述误差值来修改定义所述第一子网络和所述第二子网络的所述第一参数值和所述第二参数值。
19.如权利要求18所述的方法,其中迭代地执行将所述网络训练数据集的所述输入值提供给所述人工神经网络、生成所述误差值、以及修改定义所述第一子网络和所述第二子网络的所述第一参数值和所述第二参数值,直到满足所述第一参数值和所述第二参数值的收敛准则。
20.如权利要求18所述的方法,所述方法还包括:
将定义所述第一子网络和所述第二子网络的所述修改后参数值存储在所述存储组件;以及
使用所存储参数值的子集来定义不同人工神经网络的参数值。
CN201880080275.7A 2017-12-13 2018-09-24 神经网络的功能子网络的同时训练 Pending CN111492381A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/841,030 2017-12-13
US15/841,030 US11836610B2 (en) 2017-12-13 2017-12-13 Concurrent training of functional subnetworks of a neural network
PCT/US2018/052381 WO2019118041A1 (en) 2017-12-13 2018-09-24 Concurrent training of functional subnetworks of a neural network

Publications (1)

Publication Number Publication Date
CN111492381A true CN111492381A (zh) 2020-08-04

Family

ID=66696263

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880080275.7A Pending CN111492381A (zh) 2017-12-13 2018-09-24 神经网络的功能子网络的同时训练

Country Status (6)

Country Link
US (1) US11836610B2 (zh)
EP (1) EP3724823A4 (zh)
JP (1) JP7246392B2 (zh)
KR (1) KR20200088475A (zh)
CN (1) CN111492381A (zh)
WO (1) WO2019118041A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023083240A1 (zh) * 2021-11-10 2023-05-19 杭州海康威视数字技术股份有限公司 训练智能模型的方法、装置、电子设备及存储介质

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10592732B1 (en) * 2017-12-14 2020-03-17 Perceive Corporation Probabilistic loss function for training network with triplets
US11586902B1 (en) 2018-03-14 2023-02-21 Perceive Corporation Training network to minimize worst case surprise
US11995537B1 (en) 2018-03-14 2024-05-28 Perceive Corporation Training network with batches of input instances
US11995533B1 (en) 2018-12-05 2024-05-28 Perceive Corporation Executing replicated neural network layers on inference circuit
US11847567B1 (en) 2018-12-05 2023-12-19 Perceive Corporation Loss-aware replication of neural network layers
US11610116B2 (en) * 2018-12-31 2023-03-21 SK Hynix Inc. Storage device performance optimization using deep learning
EP3748545A1 (en) * 2019-06-07 2020-12-09 Tata Consultancy Services Limited Sparsity constraints and knowledge distillation based learning of sparser and compressed neural networks
US11494237B2 (en) * 2019-06-26 2022-11-08 Microsoft Technology Licensing, Llc Managing workloads of a deep neural network processor
CN110334799B (zh) * 2019-07-12 2022-05-24 电子科技大学 基于存算一体的神经网络推理与训练加速器及其运行方法
CN110414748B (zh) * 2019-08-12 2022-04-08 阳光新能源开发股份有限公司 光伏功率预测方法
US11941511B1 (en) 2019-11-11 2024-03-26 Perceive Corporation Storing of intermediate computed values for subsequent use in a machine trained network
US11620516B2 (en) * 2019-12-23 2023-04-04 Arm Limited Specializing neural networks for heterogeneous systems
US11809908B2 (en) 2020-07-07 2023-11-07 SambaNova Systems, Inc. Runtime virtualization of reconfigurable data flow resources
US11960989B2 (en) 2020-07-24 2024-04-16 SK Hynix Inc. Read threshold estimation systems and methods using deep learning
JP7423484B2 (ja) * 2020-09-16 2024-01-29 株式会社東芝 学習装置、方法及びプログラム
US11237880B1 (en) 2020-12-18 2022-02-01 SambaNova Systems, Inc. Dataflow all-reduce for reconfigurable processor systems
US11392740B2 (en) 2020-12-18 2022-07-19 SambaNova Systems, Inc. Dataflow function offload to reconfigurable processors
US11182221B1 (en) 2020-12-18 2021-11-23 SambaNova Systems, Inc. Inter-node buffer-based streaming for reconfigurable processor-as-a-service (RPaaS)
US20220202348A1 (en) * 2020-12-31 2022-06-30 X Development Llc Implementing brain emulation neural networks on user devices
US11782760B2 (en) 2021-02-25 2023-10-10 SambaNova Systems, Inc. Time-multiplexed use of reconfigurable hardware
US11978174B1 (en) * 2022-03-28 2024-05-07 Amazon Technologies, Inc. Virtual shoe try-on
US11804023B1 (en) * 2022-07-11 2023-10-31 Stylitics, Inc. Systems and methods for providing a virtual dressing room and a virtual stylist

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090132449A1 (en) * 2006-05-22 2009-05-21 Fujitsu Limited Neural network learning device, method, and program
CN104980518A (zh) * 2015-06-26 2015-10-14 深圳市腾讯计算机系统有限公司 多学习主体并行训练模型的方法、装置和系统
US20170032222A1 (en) * 2015-07-30 2017-02-02 Xerox Corporation Cross-trained convolutional neural networks using multimodal images
US20170039456A1 (en) * 2015-08-07 2017-02-09 Yahoo! Inc. BOOSTED DEEP CONVOLUTIONAL NEURAL NETWORKS (CNNs)
CN106471526A (zh) * 2014-08-29 2017-03-01 谷歌公司 使用深度神经网络来处理图像
US20170193361A1 (en) * 2015-12-31 2017-07-06 Microsoft Technology Licensing, Llc Neural network training performance optimization framework
US20170286809A1 (en) * 2016-04-04 2017-10-05 International Business Machines Corporation Visual object recognition
CN107341480A (zh) * 2017-07-12 2017-11-10 中国电子科技集团公司第二十八研究所 一种改进型pccnn神经网络模型的人群聚集检测方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2639736B1 (fr) 1988-11-25 1991-03-15 Labo Electronique Physique Procede de retropropagation du gradient et structure de reseau de neurones
JPH06309293A (ja) 1993-04-26 1994-11-04 Nippon Telegr & Teleph Corp <Ntt> 多層構造型ニューラルネットワークの構成方法
US6269351B1 (en) 1999-03-31 2001-07-31 Dryken Technologies, Inc. Method and system for training an artificial neural network
US6587845B1 (en) * 2000-02-15 2003-07-01 Benjamin B. Braunheim Method and apparatus for identification and optimization of bioactive compounds using a neural network
JP6164639B2 (ja) * 2013-05-23 2017-07-19 国立研究開発法人情報通信研究機構 ディープ・ニューラルネットワークの学習方法、及びコンピュータプログラム
US9224068B1 (en) * 2013-12-04 2015-12-29 Google Inc. Identifying objects in images
CN113255885A (zh) * 2014-04-11 2021-08-13 谷歌有限责任公司 使卷积神经网络的训练并行化
CN110443351B (zh) * 2014-11-14 2021-05-28 谷歌有限责任公司 生成映像的自然语言描述
US10482389B2 (en) * 2014-12-04 2019-11-19 Sap Se Parallel development and deployment for machine learning models
WO2016189675A1 (ja) 2015-05-27 2016-12-01 株式会社日立製作所 ニューラルネットワークの学習装置及び学習方法
US10824940B1 (en) * 2016-11-30 2020-11-03 Amazon Technologies, Inc. Temporal ensemble of machine learning models trained during different time intervals
US11551135B2 (en) * 2017-09-29 2023-01-10 Oracle International Corporation Techniques for generating a hierarchical model to identify a class among a plurality of classes

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090132449A1 (en) * 2006-05-22 2009-05-21 Fujitsu Limited Neural network learning device, method, and program
CN106471526A (zh) * 2014-08-29 2017-03-01 谷歌公司 使用深度神经网络来处理图像
CN104980518A (zh) * 2015-06-26 2015-10-14 深圳市腾讯计算机系统有限公司 多学习主体并行训练模型的方法、装置和系统
US20170032222A1 (en) * 2015-07-30 2017-02-02 Xerox Corporation Cross-trained convolutional neural networks using multimodal images
US20170039456A1 (en) * 2015-08-07 2017-02-09 Yahoo! Inc. BOOSTED DEEP CONVOLUTIONAL NEURAL NETWORKS (CNNs)
US20170193361A1 (en) * 2015-12-31 2017-07-06 Microsoft Technology Licensing, Llc Neural network training performance optimization framework
US20170286809A1 (en) * 2016-04-04 2017-10-05 International Business Machines Corporation Visual object recognition
CN107341480A (zh) * 2017-07-12 2017-11-10 中国电子科技集团公司第二十八研究所 一种改进型pccnn神经网络模型的人群聚集检测方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023083240A1 (zh) * 2021-11-10 2023-05-19 杭州海康威视数字技术股份有限公司 训练智能模型的方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
JP7246392B2 (ja) 2023-03-27
EP3724823A4 (en) 2021-09-01
KR20200088475A (ko) 2020-07-22
WO2019118041A1 (en) 2019-06-20
US11836610B2 (en) 2023-12-05
US20190180176A1 (en) 2019-06-13
JP2021507378A (ja) 2021-02-22
EP3724823A1 (en) 2020-10-21

Similar Documents

Publication Publication Date Title
CN111492381A (zh) 神经网络的功能子网络的同时训练
JP7128022B2 (ja) 完全教師あり学習用のデータセットの形成
EP3467723B1 (en) Machine learning based network model construction method and apparatus
US10963783B2 (en) Technologies for optimized machine learning training
US20210390397A1 (en) Method, machine-readable medium and system to parameterize semantic concepts in a multi-dimensional vector space and to perform classification, predictive, and other machine learning and ai algorithms thereon
US20200151573A1 (en) Dynamic precision scaling at epoch granularity in neural networks
CN110462639B (zh) 信息处理设备、信息处理方法及计算机可读存储介质
US20200184327A1 (en) Automated generation of machine learning models
CN111325664B (zh) 风格迁移方法、装置、存储介质及电子设备
KR20180134739A (ko) 전자 장치 및 학습 모델의 재학습 방법
KR101738825B1 (ko) 비연속적으로 확률 뉴런을 가지는 딥러닝 모델 및 지식 전파에 기반한 학습 방법 및 그 시스템
JP2021012693A (ja) 機能構造に対するモデリング演算
KR102185855B1 (ko) 데이터 세트에 정의되지 않은 특성 정보를 자동으로 생성하는 제로샷 인식 장치 및 방법
US11568212B2 (en) Techniques for understanding how trained neural networks operate
JP2020107042A (ja) 学習モデル生成装置、学習モデル生成方法、及びプログラム
US20200074277A1 (en) Fuzzy input for autoencoders
CN114972791A (zh) 图像分类模型训练方法、图像分类方法及相关装置
US20220121924A1 (en) Configuring a neural network using smoothing splines
Shi et al. Segmenting hybrid trajectories using latent odes
TW202329042A (zh) 三維建模方法、三維建模系統和非暫態電腦可讀取儲存媒體
US11875250B1 (en) Deep neural networks with semantically weighted loss functions
KR20200078865A (ko) 신경망의 프루닝-재훈련 장치 및 방법
US11625641B2 (en) Machine learning based function testing
KR20210103912A (ko) 뉴럴 네트워크를 학습시키는 학습 방법 및 장치, 뉴럴 네트워크를 이용한 데이터 처리 방법 및 장치
US20210319312A1 (en) Deep learning acceleration of physics-based modeling

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