一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据处理装置、数据处理系统和数据处理方法与流程

2022-05-13 12:01:09 来源:中国专利 TAG:
数据处理装置、数据处理系统和数据处理方法与流程

本发明涉及生成对与神经网络的结构有关的信息进行编码而成的编码数据的数据处理装置、数据处理系统和数据处理方法。

背景技术

作为解决输入数据的分类(识别)问题和回归问题的方法,存在机器学习。在机器学习中,存在对脑的神经回路(神经元)进行模拟的神经网络这样的方法。在神经网络(以下记作NN)中,通过由神经元相互结合而成的网络表现的概率模型(识别模型、生成模型)进行输入数据的分类(识别)或回归。

此外,NN通过使用大量数据的学习对NN的参数进行优化,由此能够实现高性能化。但是,近年来的NN大规模化,NN的数据大小存在大容量化的倾向,使用NN的计算机的计算负荷也增加。

例如,在非专利文献1中记载有对表示NN的结构的信息即边的权重(包含偏置值)进行标量量化后进行编码的技术。通过对边的权重进行标量量化后进行编码,与边有关的数据的数据大小被压缩。

现有技术文献

非专利文献

非专利文献1:Vincent Vanhoucke,Andrew Senior,Mark Z.Mao,“Improving the speed of neural networks on CPUs”,Proc.Deep Learning and Unsupervised Feature Learning NIPS Workshop,2011.



技术实现要素:

发明要解决的问题

在经由数据传输网络使多个客户端与服务器连接的系统中,对表示在服务器侧学习得到的NN的构造的数据进行编码,在客户端侧对编码数据进行解码,由此,多个客户端有时分别使用在服务器学习得到的NN进行数据处理。在现有的系统中,在更新NN的构造的情况下,除了向客户端传输与更新后的层有关的信息之外,还向客户端传输与未更新的层有关的信息。因此,存在无法削减所传输的数据大小这样的课题。

本发明用于解决上述课题,其目的在于,得到能够削减表示NN的构造的数据的数据大小的数据处理装置、数据处理系统和数据处理方法。

用于解决问题的手段

本发明的数据处理装置具有:数据处理部,其学习神经网络;以及编码部,其生成对用于识别NN的模型的模型标题信息、用于识别NN的层的层标题信息和层单位的边的权重信息进行编码而成的编码数据,编码部对表示神经网络的层构造的层构造信息和表示被编码的各层是从参照模型的层的更新还是新层的新层标志进行编码。

发明的效果

根据本发明,编码部对表示NN的层构造的层构造信息和表示被编码的各层是从参照模型的层的更新还是新层的新层标志进行编码。表示NN的构造的数据中的仅与更新后的层有关的信息被编码并传输,因此,能够削减表示NN的构造的数据的数据大小。

附图说明

图1是示出实施方式1的数据处理系统的结构的框图。

图2是示出NN的结构例的图。

图3是示出实施方式1的数据处理装置(编码器)的结构的框图。

图4是示出实施方式1的数据处理装置(解码器)的结构的框图。

图5是示出实施方式1的数据处理装置(编码器)的动作的流程图。

图6是示出实施方式1的数据处理装置(解码器)的动作的流程图。

图7是示出实施方式1中的编码数据的例子的图。

图8是示出实施方式1中的编码数据的另一例的图。

图9是示出实施方式1中的一维数据的卷积处理的例子的图。

图10是示出实施方式1中的二维数据的卷积处理的例子的图。

图11是示出NN的第1层的层中的每个节点的边的权重信息的矩阵的图。

图12是示出NN的第1层的层中的每个节点的边的权重信息的量化步长的矩阵的图。

图13是示出卷积层中的边的权重信息的矩阵的图。

图14是示出卷积层中的边的权重信息的量化步长的矩阵的图。

图15是示出实施方式1的数据处理装置(编码器)的变形例的结构的框图。

图16是示出实施方式1中的编码数据的更新的概要的图。

图17是示出与图16所示的编码数据的更新对应的网络模型的结构的图。

图18是示出模型信息标题所包含的层构造信息的例子的图。

图19是示出与模型信息标题所包含的层构造信息对应的层识别信息的例子的图。

图20A是示出实现实施方式1的数据处理装置的功能的硬件结构的框图。图20B是示出执行实现实施方式1的数据处理装置的功能的软件的硬件结构的框图。

具体实施方式

实施方式1.

图1是示出实施方式1的数据处理系统的结构的框图。在图1所示的数据处理系统中,服务器1经由数据传输网络2而与客户端3-1、3-2、…、3-N连接。N是2以上的自然数。服务器1是通过使用大量数据的学习对NN(神经网络)的参数进行优化而生成高性能的NN的数据处理装置,是图1所示的数据处理系统具有的第1数据处理装置。

数据传输网络2是传输在服务器1与客户端3-1、3-2、…、3-N之间交换的数据的网络,是互联网或内联网。例如,在数据传输网络2中,从服务器1向客户端3-1、3-2、…、3-N发送用于生成NN的信息。

客户端3-1、3-2、…、3-N是生成由服务器1学习到的NN并使用生成的NN进行数据处理的设备。例如,客户端3-1、3-2、…、3-N是个人计算机(PC)、摄像机或机器人这样的具有通信功能和数据处理功能的设备。客户端3-1、3-2、…、3-N分别是图1所示的数据处理系统具有的第2数据处理装置。

在图1所示的数据处理系统中,在客户端3-1、3-2、…、3-N中,NN的模型、参数的数据大小和表示适当性能的值分别不同。因此,即使使用非专利文献1记载的技术对NN的模型和参数进行编码,也需要压缩成分别适合于客户端3-1、3-2、…、3-N的数据大小,编码的处理负荷变高。

因此,在实施方式1的数据处理系统中,服务器1生成对用于识别NN的模型的模型标题信息、用于识别NN的层的层标题信息和层单位的包含偏置值的边的权重(以后,只要没有特别明记,则边的权重包含偏置值)的信息进行编码而成的编码数据,经由数据传输网络2发送到客户端3-1、3-2、…、3-N。客户端3-1、3-2、…、3-N分别能够仅对经由数据传输网络2从服务器1传输的编码数据中的与必要的层有关的信息进行解码。由此,能够降低服务器1中的编码的处理负荷,可削减从服务器1向数据传输网络2传输的数据大小。

这里,对NN的结构进行说明。图2是示出NN的结构例的图。如图2所示,输入数据(x1、x2、…、xN1)在NN具有的各个层进行处理,输出处理结果(y1、…、yNL)。Nl(l=1、2、…、L)表示第l层的层的节点数,L表示NN的层数。如图2所示,NN具有输入层、隐藏层和输出层,在这些层中,分别成为多个节点用边连接的构造。多个节点各自的输出值能够根据由边连接前的层的节点的输出值、边的权重和按照每个层设定的激活函数来计算。

在NN中,例如存在不仅具有全连接层(Fully-connected layer)还具有卷积层(Convolutional layer)和池化层(Pooling layer)的卷积NN(CNN;Convolutional Neural Network)。在CNN中,能够生成实现数据的滤波处理的网络等实现分类和回归以外的数据处理的网络。

例如,能够将图像或声音作为输入,利用CNN实现实现输入信号的噪声去除或高品质化的图像或声音的滤波处理、压缩声音的高频丧失的声音的高频复原处理、一部分图像区域缺损的图像的复原处理(inpainting)或图像的超分辨率处理。在CNN中,还能够构筑使用判定是否是由生成模型生成的数据的识别模型判定数据真伪的、组合生成模型和识别模型而成的NN。

近年来,还提出对抗性生成网络(Generative Adversarial Network)这样的新的NN,该对抗性生成网络以对抗的方式进行学习,使得生成模型不生成被识别模型识破为不是真实数据的数据,识别模型将由生成模型生成的数据识破为不是真实数据。在该NN中,能够生成高精度的生成模型和识别模型。

图3是示出实施方式1的数据处理装置(编码器)的结构的框图。图3所示的数据处理装置是使用学习用数据集和评价用数据集学习NN并生成表示NN的结构的模型信息(以下记作模型信息)的编码数据的第1数据处理装置,例如是图1所示的服务器1。

图3所示的数据处理装置具有数据处理部10和编码部11。数据处理部10是学习NN的第1数据处理部,具有学习部101、评价部102和控制部103。编码部11生成对识别由学习部101学习到的NN的模型的模型标题信息、识别NN的层的层标题信息和层单位的边的权重信息进行编码而成的编码数据。此外,编码部11对要编码的层(编码层)的层构造信息进行编码,对新层标志进行编码。层构造信息是表示NN的层构造的信息。新层标志是用于识别该层是新追加的层还是对已经存在的层进行更新而成的层的标志信息,之后详细叙述。

学习部101使用学习用数据集实施NN的学习处理,生成学习到的NN的模型信息。模型信息从学习部101输出到评价部102。进而,学习部101具有由后述的控制部103控制的编码用模型信息,在由控制部103接受学习完成指示的情况下,将编码用模型信息输出到编码部11。评价部102使用模型信息生成NN,使用生成的NN,根据评价用数据集实施推理处理。作为推理处理的结果而得到的评价指标的值是评价结果,评价结果从评价部102输出到控制部103。评价指标在评价部102中被设定,例如是推理精度或损失函数的输出值。

控制部103根据由评价部102作为评价结果而得到的评价值,判定由学习部101学习到的NN的模型有无更新以及学习部101对NN的学习可否完成,根据判定结果对学习部101进行控制。例如,控制部103将评价值与模型更新判定基准进行比较,根据其比较结果判定是否将该模型信息更新成编码用模型信息。此外,控制部103将评价值与学习完成判定基准进行比较,根据其比较结果判定是否完成学习部101对NN的学习。另外,这些判定基准是根据评价值的历史决定的。

图4是示出实施方式1的数据处理装置(解码器)的结构的框图。图4所示的数据处理装置是第2数据处理装置,例如是图1所示的客户端3-1、3-2、…、3-N,其对由图3所示的编码部11生成的编码数据进行解码而生成NN,使用生成的NN对1个以上的评价用数据进行推理处理。

图4所示的数据处理装置具有解码部201和推理部202。解码部201从由编码部11生成的编码数据对模型信息进行解码。例如,解码部201能够从编码数据,仅对图4所示的数据处理装置中需要的信息进行解码。

推理部202是使用由解码部201解码后的模型信息生成NN并使用生成的NN实施数据处理的第2数据处理部。例如,数据处理是使用NN的针对评价用数据的推理处理。推理部202使用NN对评价用数据实施推理处理,输出推理结果。

接着,对实施方式1的数据处理系统的动作进行说明。图5是示出实施方式1的数据处理装置(编码器)的动作的流程图,示出图3所示的数据处理装置的数据处理方法。学习部101学习NN(步骤ST1)。例如,学习部101使用学习用数据集实施NN的学习,将通过该学习而得到的模型信息输出到评价部102。

模型信息是表示NN的模型结构的信息,构成为包含表示每个层的构造的层构造信息以及属于层的各边的权重信息。层构造信息包含有层类别信息、与层类别有关的结构信息以及边的权重以外构成层所需要的信息。边的权重以外构成层所需要的信息例如有激活函数。层类别信息是表示层的类别的信息,通过参照层类别信息,能够识别卷积层、池化层或全连接层这样的层的类别。

与层类别有关的结构信息是表示与层类别信息对应的类别的层的结构的信息。例如,在与层类别信息对应的层的类别是卷积层的情况下,与层类别有关的结构信息有进行卷积的通道数、卷积滤波器(核)的数据大小和形状、卷积间隔(步幅)、有无针对卷积处理的输入信号边界的填充以及有填充的情况下的填充方法。此外,在与层类别信息对应的层的类别是池化层的情况下,与层类别有关的结构信息有最大池化或平均池化这样的池化方法、进行池化处理的核的形状、池化间隔(步幅)、有无针对池化处理的输入信号边界的填充以及有填充的情况下的填充方法。

在表示各边的权重的信息中,有时如全连接层那样在各边独立地设定权重。另一方面,有时如卷积层那样边的权重以卷积滤波器(核)为单位(通道单位)共同,即在一个滤波器中边的权重共同。

评价部102对NN进行评价(步骤ST2)。例如,评价部102使用由学习部101生成的模型信息生成NN,使用生成的NN,根据评价用数据集实施推理处理。评价结果从评价部102输出到控制部103。评价结果例如是推理精度或损失函数的输出值。

接着,控制部103判定是否对模型信息进行更新(步骤ST3)。例如,控制部103在由评价部102生成的评价值不满足模型更新判定基准的情况下,判定为不对学习部101具有的编码用模型信息进行更新,在评价值满足模型更新判定基准的情况下,判定为对上述编码用模型信息进行更新。

作为模型更新判定基准的一例,存在如下例子:在评价值是损失函数的输出值的情况下,本次学习的评价值小于从学习开始时起的学习历史的评价值的最小值。作为另一例,存在如下例子:在评价值是推理精度的情况下,本次学习的评价值大于从学习开始时起的学习历史的评价值的最大值。

此外,学习历史的切换单位也可以是任意的。例如,设按照每个后述的模型识别编号(model_id)具有学习历史。该情况下,在该模型不具有后述的参照模型识别编号(reference_model_id)的情况下,设为无学习历史而开始学习。即,在第1次的步骤ST3中,必须对模型信息进行更新。另一方面,在该模型具有参照模型识别编号的情况下,参照该参照模型识别编号指示的模型的学习历史(历史A)。由此,能够防止在该模型的学习时被更新成评价值比参照模型识别编号指示的模型差(推理精度低,损失函数的值大等)的模型。此时,在该模型的模型识别编号和参照模型识别编号相同的情况下,每当实施该模型的学习时,与参照模型识别编号对应的学习历史(历史A)被更新。另一方面,在该模型的模型识别编号与参照模型识别编号不同的情况下,复制与参照模型识别编号对应的学习历史(历史A)作为该模型的模型识别编号的学习历史(历史B)的初始值,然后,每当实施该模型的学习时,该模型的学习历史(历史B)被更新。

在由控制部103判定为对模型信息进行更新的情况下(步骤ST3:是),学习部101将编码用模型信息更新成该模型信息(步骤ST4)。例如,控制部103生成表示对模型信息进行更新的模型更新指示信息,将包含模型更新指示信息的学习控制信息输出到学习部101。学习部101按照学习控制信息中包含的模型更新指示信息,将编码用模型信息更新成该模型信息。

另一方面,在判定为不对模型信息进行更新的情况下(步骤ST3:否),控制部103生成表示不对模型信息进行更新的模型更新指示信息,将包含模型更新指示信息的学习控制信息输出到学习部101。学习部101不按照学习控制信息中包含的模型更新指示信息对编码用模型信息进行更新。

接着,控制部103将评价值与学习完成判定基准进行比较,根据其比较结果判定是否完成学习部101对NN的学习(步骤ST5)。例如,在设学习完成判定基准为由评价部102生成的评价值是否达到特定值的情况下,控制部103在由评价部102生成的评价值满足学习完成判定基准时,判定为学习部101对NN的学习已完成,如果评价值不满足学习完成判定基准,则判定为学习部101对NN的学习未完成。或者,例如在连续M次(M为1以上的预定整数)选择不对模型信息进行更新(步骤ST3:否)时判定为学习完成等的学习完成判定基准基于最近的学习历史的情况下,如果学习历史不满足学习完成判定基准,则控制部103判定为学习部101对NN的学习未完成。

在由控制部103判定为NN的学习已完成的情况下(步骤ST5:是),学习部101将编码用模型信息输出到编码部11,并且转移到步骤ST6的处理。另一方面,在由控制部103判定为NN的学习未完成的情况下(步骤ST5:否),执行从步骤ST1起的处理。

编码部11对从学习部101输入的编码用模型信息进行编码(步骤ST6)。编码部11以NN的层为单位对由学习部101生成的编码用模型信息进行编码,生成由标题信息和层单位的编码数据构成的编码数据。此外,编码部11对层构造信息进行编码,对新层标志进行编码。

图6是示出实施方式1的数据处理装置(解码器)的动作的流程图,示出图4所示的数据处理装置的动作。解码部201从由编码部11编码而成的编码数据对模型信息进行解码(步骤ST11)。接着,推理部202根据由解码部201解码后的模型信息生成NN(步骤ST12)。推理部202使用生成的NN对评价用数据实施推理处理,输出推理结果(步骤ST13)。

接着,对图5的步骤ST6中的编码部11对模型信息的编码进行详细说明。关于编码部11对模型信息的编码,例如能够使用(1)或(2)的编码方法。或者也可以按照每个参数来定义使用(1)或(2)的编码中的哪一个。例如,通过设标题信息为(1)且设权重数据为(2),解码器不需要对标题信息进行可变长度解码而能够容易进行解析,并且占据编码数据的数据大小的大部分的权重数据能够通过可变长度解码实现高压缩,能够抑制编码数据整体的数据大小。

(1)在存在标题信息的情况下,将包含标题信息在内按照预先设定的顺序排列比特串本身而成的数据设为编码数据,该比特串本身是以参数中定义的比特精度记述构成模型信息中包含的各信息的参数而得到的。比特精度例如是int型8比特或float型32比特这样的参数中定义的比特精度。

(2)将包含标题信息在内按照预先设定的顺序排列比特串本身而成的数据设为编码数据,该比特串本身是通过按照每个参数设定的可变长度编码方法对构成模型信息中包含的各信息的参数进行编码而得到的。

图7是示出实施方式1中的编码数据的例子的图,上述(1)或(2)的编码数据也可以按照图7所示的顺序排列。图7所示的编码数据由称作数据单元的数据的集合构成,数据单元有非层数据单元和层数据单元。层数据单元是存储有层单位的编码数据即层数据的数据单元。

层数据由起始代码、数据单元类型、层信息标题和权重数据构成。层信息标题是对用于识别NN的层的层标题信息进行编码而得到的。权重数据是对属于层信息标题所示的层的边的权重信息进行编码而得到的。另外,在图7所示的编码数据中,各层数据单元的排列顺序也可以不是必须与NN的各层的排列顺序相同,是任意的。这是由于通过后述的层识别编号(layer_id)能够识别各层数据单元是NN的哪个位置的层。

非层数据单元是存储有层数据以外的数据的数据单元。例如,在非层数据单元中存储有起始代码、数据单元类型和模型信息标题。模型信息标题是对用于识别NN的模型的模型标题信息进行编码而得到的。

起始代码是存储于数据单元的开头位置且用于识别数据单元的开头位置的代码。客户端3-1、3-2、…、3-N(以下记作解码侧)通过参照起始代码,能够确定非层数据单元或层数据单元的开头位置。例如,在定义0x000001作为起始代码的情况下,数据单元中存储的起始代码以外的数据被设定成不产生0x000001。由此,能够根据起始代码确定数据单元的开头位置。

为了设定成不产生0x000001,例如在0x000000~0x000003的编码数据中的第3字节插入03而成为0x000300~0x000303,在进行解码时,将0x0003转换成0x0000,由此能够复原。另外,起始代码是能够唯一识别的比特串即可,也可以定义0x000001以外的比特串作为起始代码。此外,只要是能够识别数据单元的开头位置的方法即可,也可以不使用起始代码。例如,也可以将能够识别是数据单元的末端的比特串附加给数据单元的末端。或者,也可以仅对非层数据单元的开头附加起始代码,作为模型信息标题的一部分,对各层数据单元的数据大小进行编码。由此,能够根据上述信息识别各层数据单元的划分位置。

数据单元类型是在数据单元中存储于起始代码之后的用于识别数据单元的种类的数据。数据单元类型按照数据单元的每个种类预先定义值。解码侧通过参照数据单元中存储的数据单元类型,能够识别数据单元是非层数据单元还是层数据单元,进而,能够识别是什么样的非层数据单元或层数据单元。

在非层数据单元中的模型信息标题中包含有模型识别编号(model_id)、模型内层数据单元数(num_layers)和编码层数据单元数(num_coded_layers)。模型识别编号是用于识别NN的模型的编号。因此,基本上在各个模型中具有彼此独立的编号,但是,假设在实施方式1的数据处理装置(解码器)新接收到具有与过去接收到的模型相同的模型识别编号的模型的情况下,具有该模型识别编号的模型被覆盖。模型内层数据单元数是构成由模型识别编号识别的模型的层数据单元的数量。编码层数据单元数是编码数据中实际存在的层数据单元的数量。在图7的例子中,存在层数据单元(1)~(n),因此,编码层数据单元数为n。另外,编码层数据单元数必须为模型内层数据单元数以下。

在层数据单元中的层信息标题中包含有层识别编号(layer_id)和层构造信息。层识别编号是用于识别层的编号。预先固定地定义层识别编号的值的分配方法,使得能够通过层识别编号识别是哪个层的层。例如,以NN的输入层为0、下一个层为1的方式从接近输入层的层起依次分配编号等。层构造信息是表示NN的每个层的结构的信息,包含有层类别信息、与层类别有关的结构信息以及边的权重以外构成层所需要的信息。例如是后述的model_structure_information和layer_id_information的仅该层部分的信息。进而,作为层构造信息,具有表示该层的各边的权重的比特精度的weight_bit_length。例如,如果weight_bit_length=8,则表示权重是8比特的数据。因此,能够以层为单位设定边的权重的比特精度。由此,能够进行根据层的重要度(比特精度对输出结果产生影响的程度)以层为单位变更比特精度等的自适应控制。

另外,到此为止示出了包含有层构造信息的层信息标题,但模型信息标题也可以包含有编码数据中包含的全部的层构造信息(model_structure_information)和与本层构造信息对应的层识别信息(layer_id_information)。解码侧能够通过参照模型信息标题,确定各层识别编号的层的结构。进而,在上述情况下,通过参照模型信息标题,能够确定各层识别编号的层的结构,因此,层信息标题也可以仅具有层识别编号。由此,在层数据单元的数据大小大于非层数据单元的数据大小的情况下,能够减小各层数据单元的数据大小,能够减小编码数据内的数据单元的最大数据大小。

在层数据单元中,在层信息标题之后存储有以层为单位编码而成的权重数据。权重数据包含有非零标志和非零权重数据。非零标志是表示边的权重值是否是零的标志,设定与属于对应层的全部边的权重有关的非零标志。

非零权重数据是权重数据中接着非零标志设定的数据,关于非零标志表示非零(有意义)的权重,设定该权重值。在图7中,设定分别表示非零的权重值的权重数据(1)~权重数据(m)作为非零权重数据。非零的权重数据数m为对应层l的全部权重的数量Ml以下。另外,关于与权重值为非零的边稀疏的层有关的权重数据,非零权重数据较少,几乎仅成为非零标志,因此,可大幅削减权重数据的数据大小。

图8是示出实施方式1中的编码数据的另一个例子的图,上述(1)或(2)的编码数据也可以按照图8所示的顺序排列。关于图8所示的编码数据,权重数据的数据结构与图7不同,在非零权重数据中,属于对应层的全部边的权重从上位比特起依次按照每个比特平面统一排列。进而,在层信息标题中设定有表示示出边的权重的各比特的开头位置的比特平面数据位置识别信息。

例如,在边的权重中定义的比特精度为X时,属于对应层的全部边的权重分别利用比特精度X来记述。编码部11将这些权重的比特串中的第1比特的非零权重数据即第1比特的权重数据(1)、第1比特的权重数据(2)、…、第1比特的权重数据(m)设定成第1比特的各非零权重数据。从第2比特的非零权重数据到第X比特的非零权重数据反复进行该处理。另外,第1比特的权重数据(1)、第1比特的权重数据(2)、…、第1比特的权重数据(m)是构成第1比特的比特平面的非零的权重数据。

解码侧能够根据比特平面数据位置识别信息确定层单位的编码数据中的必要的编码数据,以任意的比特精度对确定的编码数据进行解码。即,解码侧能够从编码数据中仅选择必要的编码数据,能够对与解码侧的环境对应的NN的模型信息进行解码。另外,比特平面数据位置识别信息只要是能够识别比特平面数据间的划分位置的信息即可,也可以是表示各比特平面数据的开头位置的信息,还可以是表示各比特平面数据的数据大小的信息。

为了将表示NN的结构的全部编码数据传输到解码侧,在数据传输网络2的传输频带不充分的情况下,编码部11也可以对该编码数据中的根据数据传输网络2的传输频带传输的非零权重数据进行限制。例如,将以32比特精度记述的权重信息的比特串中的上位8比特的非零权重数据设为传输对象。解码侧能够根据该非零权重数据之后排列的起始代码,识别在编码数据中在第8比特的非零权重数据后排列有与下一个层对应的层数据单元。此外,解码侧通过参照权重数据中的非零标志,能够正确地对值为零的权重进行解码。

当在解码侧以任意的比特精度对权重数据进行了解码时,为了改善该比特精度下的推理精度,编码部11也可以将与以各比特精度进行了解码时的权重相加的偏置包含在层信息标题中。例如,编码部11以层为单位对以比特精度记述的权重的比特串加上同样的偏置,求出成为最高精度的偏置,将求出的偏置包含在层信息标题中进行编码。

此外,编码部11也可以将NN具有的全部层中的边的权重的偏置包含在模型信息标题中进行编码。进而,编码部11也可以在层信息标题或模型信息标题中设定表示是否包含偏置的标志,例如仅在标志有效的情况下将偏置包含在编码数据中。

编码部11也可以将边的权重值与特定值的差分设为编码对象。作为特定值,例如可举出编码顺序前一个的权重。此外,也可以将属于一个上位的层(接近输入层的层)的对应边的权重设为特定值,还可以将更新前的模型的对应边的权重设为特定值。

进而,编码部11具有(A)、(B)和(C)所示的功能。

(A)编码部11具有分成基础编码数据和增强编码数据进行编码的可伸缩编码功能。

(B)编码部11具有对与基准的NN中的边的权重之间的差分进行编码的功能。

(C)编码部11具有仅将基准的NN中的部分信息(例如层单位的信息)作为NN的更新用信息进行编码的功能。

对(A)的例子进行说明。

编码部11使用针对边的权重预先定义的量化方法对边的权重进行量化,将对量化后的权重进行编码而成的数据设为基础编码数据,将把量化误差视为权重进行编码而成的数据设为增强编码数据。通过量化,成为基础编码数据的权重的比特精度比量化前的权重的比特精度低,因此可削减数据大小。在向解码侧传输编码数据的传输频带不充分的情况下,实施方式1的数据处理装置仅将基础编码数据传输到解码侧。另一方面,在向解码侧传输编码数据的传输频带充分的情况下,实施方式1的数据处理装置在基础编码数据的基础上,还包含增强编码数据在内传输到解码侧。

增强编码数据能够设为2个以上。例如,编码部11将对量化误差进一步进行量化时的量化值设为第1个增强编码数据,将该量化误差设为第2个增强编码数据。进而,也可以分成对第2个增强编码数据的量化误差进一步进行量化的量化值和该量化误差进行编码,以成为目标增强编码数据的数量。这样,通过使用可伸缩编码,能够进行传输与数据传输网络2的传输频带和传输容许时间对应的编码数据。

另外,编码部11也可以将图8所示的非零权重数据的上位M比特为止作为基础编码数据进行编码,将其余的比特串分割成1个以上,设为1个以上的增强编码数据。该情况下,编码部11在基础编码数据和增强编码数据中分别再次设定非零标志。在上位比特的增强编码数据中成为0的权重必须成为0。

对(B)的例子进行说明。

编码部11在存在学习部101的再次学习前的NN的模型的情况下,也可以对再次学习后的NN的模型中的边的权重与再次学习前的模型中的对应边的权重的差分进行编码。另外,再次学习有迁移学习或追加学习。在数据处理系统中,在以高频度对NN的结构进行更新或者每当再次学习时的学习数据的分布的变化小的情况下,边的权重的差分较小,因此,可削减再次学习后的编码数据的数据大小。

编码部11在模型识别编号的基础上,将用于识别应该参照的更新前的模型的参照模型识别编号(reference_model_id)包含在模型信息标题中。在(B)的例子中,能够根据上述参照模型识别编号识别再次学习前的模型。进而,编码部11也可以在模型信息标题中设定表示编码数据中是否存在参照源的标志(reference_model_present_flag)。此时,编码部11首先对上述标志(reference_model_present_flag)进行编码,仅在上述标志表示是模型更新用的编码数据的情况下,进一步在模型信息标题中设定参照模型识别编号。

例如,在图1所示的数据处理系统中,当NN的更新频度在客户端之间不同或者使用彼此不同的模型的NN实施数据处理的情况下,客户端通过参照参照模型识别编号,也能够正确地识别是针对哪个模型的更新用的编码数据。在根据参照模型识别编号识别到是不在客户端侧的模型更新用的编码数据的情况下,客户端也能够将该情况传达给服务器1。

对(C)的例子进行说明。

学习部101在存在再次学习前的NN的模型的情况下,例如以Fine-tuning为目的,有时从NN的上位(输入层侧)起固定1个以上的任意的层,仅对一部分层进行再次学习。该情况下,编码部11仅对表示通过再次学习而更新后的层的结构的信息进行编码。由此,在NN的更新中,可削减向解码侧传输的编码数据的数据大小。另外,编码数据中的编码层数据单元数(num_coded_layers)成为模型内层数据单元数(num_layers)。在解码侧,通过参照模型信息标题中包含的参照模型识别编号和层信息标题中包含的层识别编号,能够确定应该更新的层。

接着,对学习部101、评价部102和推理部202的数据处理进行说明。

图9是示出实施方式1中的一维数据的卷积处理的例子的图,示出进行一维数据的卷积处理的卷积层。一维数据例如有声音数据、时序数据。图9所示的卷积层在前一层具有9个节点10-1~10-9,在下一层具有3个节点11-1~11-3。对边12-1、12-6、12-11赋予相同的权重,对边12-2、12-7、12-12赋予相同的权重,对边12-3、12-8、12-13赋予相同的权重,对边12-4、12-9、12-14赋予相同的权重,对边12-5、12-10、12-15赋予相同的权重。此外,边12-1~12-5的权重有时全部成为不同的值,有时多个权重成为相同的值。

前一层的9个节点10-1~10-9中的5个节点以上述权重与下一层的1个节点连接。核大小K为5,核由这些权重的组合来规定。例如,如图9所示,节点10-1经由边12-1而与节点11-1连接,节点10-2经由边12-2而与节点11-1连接,节点10-3经由边12-3而与节点11-1连接,节点10-4经由边12-4而与节点11-1连接,节点10-5经由边12-5而与节点11-1连接。核由边12-1~12-5的权重的组合来规定。

节点10-3经由边12-6而与节点11-2连接,节点10-4经由边12-7而与节点11-2连接,节点10-5经由边12-8而与节点11-2连接,节点10-6经由边12-9而与节点11-2连接,节点10-7经由边12-10而与节点11-2连接。核由边12-6~12-10的权重的组合来规定。

节点10-5经由边12-11而与节点11-3连接,节点10-6经由边12-12而与节点11-3连接,节点10-7经由边12-13而与节点11-3连接,节点10-8经由边12-14而与节点11-3连接,节点10-9经由边12-15而与节点11-3连接。核由边12-11~12-15的权重的组合来规定。

学习部101、评价部102和推理部202在使用CNN的输入数据的处理中,使用卷积层的边的权重的组合,按照每个核以步数的间隔(在图9中S=2)实施卷积运算。边的权重的组合按照每个核通过学习来决定。另外,在图像识别用途的CNN中,多数情况下利用具有多个核的卷积层构成NN。

图10是示出实施方式1中的二维数据的卷积处理的例子的图,示出图像数据这样的二维数据的卷积处理。图10所示的二维数据中的核20是x方向的大小为Kx,y方向的大小为Ky的块区域。核大小K为K=Kx×Ky。学习部101、评价部102或推理部202在二维数据中,以x方向步数Sx的间隔和y方向步数Sy的间隔实施每个核20的数据的卷积运算。这里,步长Sx、Sy是1以上的整数。

图11是示出作为NN的全连接层的第l(l=1、2、…、L)层的层中的每个节点的边的权重信息的矩阵的图。图12是示出作为NN的全连接层的第l(l=1、2、…、L)层的层中的每个节点的边的权重信息的量化步长的矩阵的图。

在NN中,图11所示的每个层的权重wij的组合成为构成网络的数据。因此,在深度神经网络这种多层的NN中,一般成为数百Mbyte以上的数据量,需要较大的存储大小。i是节点索引,i=1、2、…、Nl。j是边索引,j=1、2、…、Nl-1 1(包含偏置。

因此,在实施方式1的数据处理装置中,为了削减边的权重信息的数据量,对权重信息进行量化。例如,如图12所示,量化步长qij按照每个边的权重wij来设定。量化步长可以是多个节点索引或多个边索引,多个节点索引和边索引也可以共同化。由此,可削减应该编码的量化信息。

图13是示出卷积层中的边的权重信息的矩阵的图。图14是示出卷积层中的边的权重信息的量化步长的矩阵的图。在卷积层中,针对1个核的边的权重在全部节点中是共同的,能够减小每一个节点连接的边数即核大小K,使核成为小区域。图13是按照每个核设定边的权重wi’j’而得到的数据,图14是按照每个核设定量化步长qi’j’而得到的数据。另外,i’是核索引,i’=1、2、…、Ml(l=1、2、…、L)。j’是边索引,j’=1、2、…、Kl 1(包含偏置)。

量化步长也可以在多个核索引、多个边索引或多个核索引和边索引中共同化。由此,可削减应该编码的量化信息。例如,可以使层内的全部量化步长共同化,在一个层中设为一个量化步长,也可以使模型内的全部量化步长共同化,在一个模型中设为一个量化步长。

图15是示出实施方式1的数据处理装置(编码器)的变形例的结构的框图。图15所示的数据处理装置是使用学习用数据集和评价用数据集学习NN并生成NN的模型信息的编码数据的第1数据处理装置,例如是图1所示的服务器1。图15所示的数据处理装置具有数据处理部10A、编码部11和解码部12。

数据处理部10A是生成并学习NN的数据处理部,具有学习部101A、评价部102和控制部103。编码部11对由学习部101生成的模型信息进行编码,生成由标题信息和层单位的编码数据构成的编码数据。解码部12从由编码部11生成的编码数据对模型信息进行解码。此外,解码部12将已解码的模型信息输出到学习部101A。

学习部101A与学习部101同样,使用学习用数据集实施NN的学习,生成表示学习得到的NN的结构的模型信息。此外,学习部101A使用已解码的模型信息生成NN,使用学习用数据集,对生成的NN的参数进行再次学习。

在上述再次学习时,通过固定一部分边的权重并进行再次学习,能够在将编码数据的数据大小保持得较小的同时实现高精度化。例如,通过在非零标志为0的权重固定为0的状态下实施再次学习,能够防止成为与再次学习前的边的权重有关的编码数据的数据大小以上,并且能够优化权重。

数据处理装置具有解码部12,数据处理部10A使用由解码部12解码后的信息对NN进行学习。由此,例如,即使在编码部11进行产生编码失真的非可逆编码的情况下,该数据处理装置也能够根据编码数据的实际的解码结果生成并学习NN,能够实现在对编码数据的数据大小施加了制约的状况下将编码误差的影响抑制为最小限度的NN的学习。

在具有与图1同样的结构且作为服务器1而具有图3所示的数据处理装置、作为客户端3-1、3-2、…、3-N而具有图4所示的数据处理装置的数据处理系统中,从NN的中间层输出的数据能够用作将下述参考文献1中记载的图像检索(retrieval)或匹配(matching)作为一例的针对图像数据和声音数据的数据处理的特征量。

(参考文献1)ISO/IEC JTC1/SC29/WG11/m39219,“Improved retrieval and matching with CNN feature for CDVA”,Chengdu,China,Oct.2016.

例如,作为图像检索、匹配或物体追踪这样的图像处理的图像特征量,在使用NN的中间层的输出数据的情况下,进行针对现有的上述图像处理中使用的图像特征量即HOG(Histogram of Oriented Gradients:方向梯度直方图)、SIFT(Scale Invariant Feature Transform:尺度不变特征转换)或SURF(Speeded Up Robust Features:加速鲁棒特征)的图像特征量的置换或追加。由此,能够以与使用现有的图像特征量的图像处理相同的处理步骤实现该图像处理。在实施方式3的数据处理系统中,编码部11对表示到输出图像特征量的中间层为止的NN的结构的模型信息进行编码。

进而,作为服务器1发挥功能的数据处理装置使用上述数据处理的特征量进行图像检索等数据处理。作为客户端发挥功能的数据处理装置生成从编码数据到中间层为止的NN,使用从生成的NN的中间层输出的数据作为特征量,实施图像检索等数据处理。

在数据处理系统中,编码部11对表示到NN的中间层为止的结构的模型信息进行编码,由此,基于量化的参数数据的压缩率提高,能够削减编码前的权重信息的数据量。客户端使用由解码部201解码后的模型信息生成NN,使用从生成的NN的中间层输出的数据作为特征量进行数据处理。

此外,实施方式1的数据处理系统具有与图1同样的结构,作为服务器1,能够具有图3或图15所示的数据处理装置,作为客户端3-1、3-2、…、3-N,能够具有图4所示的数据处理装置。在具有该结构的数据处理系统中,在编码数据中设定有新层标志(new_layer_flag)。在新层标志为0(无效)的情况下,与新层标志对应的层是以参照层为基准而被更新的层。在新层标志为1(有效)的情况下,与新层标志对应的层是新追加的层。

在新层标志为0(无效)的情况下,针对与新层标志对应的层,设定用于以通道为单位识别有无更新边的权重的标志(channel_wise_update_flag)。如果该标志为0(无效),则对全部通道的边的权重进行编码。如果该标志为1(有效),则设定通道单位的权重的更新标志(channel_update_flag)。该更新标志是按照每个通道而表示有无来自参照层的更新的标志。在该更新标志为1(有效)的情况下,通道的权重被编码,如果为0(无效),则被设为与参照层相同的权重。

进而,作为层信息标题,设定表示层的通道数的信息(num_channels)、表示通道单位的边的权重数的信息(weights_per_channels)。某个层l的weights_per_channels成为核大小Kl 1或者从前一个层即层l-1起的边数Nl-1 1。

编码数据通过具有上述的新层标志,能够仅根据层数据单元的编码数据,确定通道数和通道单位的权重数。因此,作为层数据单元的解码处理,能够对通道单位的权重的更新标志进行解码。

此外,在将用于以通道为单位而识别有无更新权重的标志设定为1(有效)的情况下,被制约为参照层和通道数相同时。这是由于在参照层与通道数不同的情况下,在参照层与对应于上述标志的层之间,各通道的对应关系变得不清楚。

图16是示出实施方式1中的编码数据的更新的概要的图。在图16中,上侧所示的数据由非层数据单元和层数据单元(1)~(4)构成,与图7同样,从层数据单元(4)起依次被编码。在非层数据单元中,作为模型标题信息而设定有模型识别编号(model_id)=0、模型内层数据单元数(num_layers)=4、层构造信息(model_structure_information)和层识别信息(layer_id_information),在表示编码数据中是否存在参照源的标志(reference_model_present_flag)中设定有0(无效)。

在层数据单元(1)中,在层识别编号(layer_id)中设定有0,在表示层的通道(滤波器、核)数的信息(num_channels)中设定有32,在表示通道(滤波器、核)单位的权重数(包含偏置值)的信息(weights_per_channels)中设定有76。此外,在层数据单元(2)中,在层识别编号(layer_id)中设定有1,在表示层的通道数的信息(num_channels)中设定有64,在表示通道单位的权重数的信息(weights_per_channels)中设定有289。

在层数据单元(3)中,在层识别编号(layer_id)中设定有2,在表示层的通道数的信息(num_channels)中设定有128,在表示通道单位的权重数的信息(weights_per_channels)中设定有577。此外,在层数据单元(4)中,在层识别编号(layer_id)中设定有3,在表示层的通道数的信息(num_channels)中设定有100,在表示通道单位的权重数的信息(weights_per_channels)中设定有32769。

在图16中,下侧所示的数据是使用层构造信息、层更新标志和新层标志从上侧所示的数据被更新后的数据,由非层数据单元和层数据单元(1’)、(2)、(3)、(5)、(4’)构成。针对被传输上侧所示的数据的客户端,需要发送非层数据单元和层数据单元(1’)、(5)、(4’)(Need to transmit),但层数据单元(2)和(3)不被更新,无需发送(No need to transmit)。

在图16的下侧所示的非层数据单元中,作为模型标题信息而设定有模型识别编号(model_id)=10、模型内层数据单元数(num_layers)=5、层构造信息(model_structure_information)和层识别信息(layer_id_information),在表示编码数据中是否存在参照源的标志(reference_model_present_flag)中设定有1(有效),在参照模型识别编号(reference_model_id)中设定有0,在编码层数据单元数(num_coded_layers)中设定有3。

在层数据单元(1’)中,层识别编号(layer_id)为0,在新层标志(new_layer_flag)中设定有0,在表示层的通道数的信息(num_channels)中设定有32,在表示通道单位的权重数的信息(weights_per_channels)中设定有76。此外,在用于以通道为单位而识别有无更新权重的的标志(channel_wise_update_flag)中设定有1(有效),因此,设定有通道单位的权重的更新标志(channel_update_flag)。

由于层识别编号(layer_id)为1的层数据单元(2)和层识别编号(layer_id)为2的层数据单元(3)不是更新对象,因此,不包含在编码数据中。因此,上述模型标题信息设定有模型内层数据单元数(num_layers)=5、编码层数据单元数(num_coded_layers)=3。

在层数据单元(5)中,层识别编号(layer_id)为4,在新层标志(new_layer_flag)中设定有1(有效)。此外,在表示层的通道数的信息(num_channels)中设定有256,在表示通道单位的权重数的信息(weights_per_channels)中设定有1153。

在层数据单元(4’)中,层识别编号(layer_id)为3,在新层标志(new_layer_flag)中设定有0,在表示层的通道数的信息(num_channels)中设定有100,在表示通道单位的权重数的信息(weights_per_channels)中设定有16385。此外,在以通道为单位而用于识别有无更新权重的标志(channel_wise_update_flag)中设定有0(无效),通道单位的权重不更新。

在下侧所示的数据中,上侧所示的数据中的层数据单元(1)和(4)被更新为层数据单元(1’)和(4’),进而追加了层识别编号为4的层数据单元(5)。

图17是示出与图16所示的编码数据的更新对应的网络模型的结构的图。在图17中,左侧所示的网络模型是对图16的上侧所示的数据进行解码而实现的网络模型。此外,右侧所示的网络模型是对图16的下侧所示的数据进行解码而实现的网络模型。

在层数据单元(1’)中,以通道为单位而用于识别有无更新权重的标志(channel_wise_update_flag)为1,因此,从层数据单元(1)更新了若干通道的权重。此外,通过追加层数据单元(5)并从层数据单元(4)更新成层数据单元(4’),在右侧所示的网络模型中,在到全连接层(Fu11y Connected layer)之间,追加了2D卷积层(2D convolution layer)和2D最大池化层(2D maxpooling layer)。

图18是示出模型信息标题中包含的层构造信息的例子的图。作为模型信息标题中包含的全层构造信息(model_structure_information),也可以设定图18所示的文本信息。图18所示的文本信息是表示基于NNEF(Neural Network Exchange Format:神经网络交换格式)这样的参考文献2中记载的标准规格的模型的层构造的文本信息。

(参考文献2)“Neural Network Exchange Format”,The Khronos NNEF Working Group,Version 1.0,Revision 3,2018-06-13.

在图18中,(A)model_id=0的网络模型是与图16的上侧所示的数据对应的网络模型(图17的左侧所示的网络模型)。(B)model_id=10的网络模型是与图16的下侧所示的数据对应的网络模型(图17的右侧所示的网络模型)。

图19是示出与模型信息标题中包含的层构造信息对应的层识别信息(layer_id_information)的例子的图,示出设定了与图18的层构造信息对应的层识别编号的层识别信息。在图19中,(A)model_id=0的网络模型是与图17的左侧所示的网络模型对应的层识别信息。(B)model_id=10的网络模型是与图17的右侧所示的网络模型对应的层识别信息。各层的权重和偏置值被分配给层识别编号,其值对应于图16所示的数据。

记载有全层构造信息即model_structure_information和表示对应于全层构造信息的层识别编号的信息即layer_id_information的文件等的文件数据在模型信息标题中,分别以在表示上述文件数据的字节数的信息之后插入的形式构成编码数据。或者,也能够采用将表示上述文件数据的获取来源的URL(Uniform Resource Locator)包含在模型信息标题中的结构。进而,也可以在模型信息标题中的上述文件数据或URL之前设定识别是哪一个结构的标志,使得能够选择这些结构中的任意结构。上述识别标志可以在model_structure_information和layer_id_information中共同,也可以单独地持有。如果是前者,则能够削减模型信息标题的信息量,如果是后者,则能够根据使用时的前提条件独立地设定。

进而,模型信息标题包含表示上述文本信息的格式的信息。例如,是NNEF为索引0、其他格式为1以后这样的信息。由此,能够识别以哪种格式被记述,能够正确地进行解码。

另外,图18和图19所示的由文本信息表示的层构造信息和表示对应于层构造信息的层识别编号的信息能够应用于实施方式1所示的全部系统。进而,能够从model_structure_information和layer_id_information中,仅根据该编码数据识别各层数据单元是模型内的哪个层的数据。因此,在更新模型的情况下(reference_model_present_flag为有效的情况),也能够将未根据本实施方式所示的编码数据生成的模型设为参照模型。即,本实施方式所示的编码数据通过具有model_structure_information和layer_id_information作为模型信息标题的一部分,能够将任意的模型设定为参照模型。但是,在该情况下,需要预先另外定义参照模型识别编号(reference_model_id)与参照模型之间的对应。

接着,对实现实施方式1的数据处理装置的功能的硬件结构进行说明。实施方式1的数据处理装置中的数据处理部10和编码部11的功能通过处理电路实现。即,实施方式1的数据处理装置具有用于执行图5的步骤ST1~步骤ST6的处理的处理电路。处理电路可以是专用硬件,但也可以是执行存储器中存储的程序的CPU(Central Processing Unit:中央处理单元)。

图20A是示出实现实施方式1的数据处理装置的功能的硬件结构的框图。在图20A中,处理电路300是作为图3所示的数据处理装置发挥功能的专用电路。图20B是示出执行实现实施方式1的数据处理装置的功能的软件的硬件结构的框图。在图20B中,处理器301和存储器302通过信号总线而彼此连接。

在上述处理电路是图20A所示的专用硬件的情况下,处理电路300例如是单一电路、复合电路、程序化的处理器、并行程序化的处理器、ASIC(Application Specific Integrated Circuit:专用集成电路)、FPGA(Field-Programmable Gate Array)或对它们进行组合而得到的部件。另外,可以通过不同的处理电路实现数据处理部10和编码部11的功能,也可以统一通过一个处理电路实现这些功能。

在上述处理电路是图20B所示的处理器的情况下,数据处理部10和编码部11的功能通过软件、固件或软件和固件的组合来实现。软件或固件记作程序,存储于存储器302。处理器301读出并执行存储器302中存储的程序,由此实现数据处理部10和编码部11的功能。即,实施方式1的数据处理装置具有存储器302,该存储器302用于存储在由处理器301执行时其结果是执行图5所示的步骤ST1~步骤ST6的处理的程序。这些程序使计算机执行数据处理部10和编码部11的步骤或方法。存储器302也可以是存储有用于使计算机作为数据处理部10和编码部11发挥功能的程序的计算机可读存储介质。

存储器302例如是RAM(Random Access Memory:随机存取存储器)、ROM(Read Only Memory:只读存储器)、闪存、EPROM(Erasable Programmable Read Only Memory:可擦除可编程只读存储器)、EEPROM(Electrically-EPROM:电可擦除可编程只读存储器)等非易失性或易失性半导体存储器、磁盘、软盘、光盘、高密度盘、迷你盘、DVD等。

另外,关于数据处理部10和编码部11的功能,也可以通过专用硬件实现一部分,通过软件或固件实现一部分。例如,也可以是,关于数据处理部10,通过作为专用硬件的处理电路实现其功能,关于编码部11,处理器301读出并执行存储器302中存储的程序,由此实现其功能。这样,处理电路能够通过硬件、软件、固件或它们的组合分别实现上述功能。

另外,对图3所示的数据处理装置进行了说明,但是,图4所示的数据处理装置也是同样的。例如,图4所示的数据处理装置具有用于执行图6的步骤ST11~步骤ST13的处理的处理电路。该处理电路可以是专用硬件,也可以是执行存储器中存储的程序的CPU。

在上述处理电路是图20A所示的专用硬件的情况下,处理电路300例如是单一电路、复合电路、程序化的处理器、并行程序化的处理器、ASIC、FPGA或对它们进行组合而得到的部件。另外,可以通过不同的处理电路实现解码部201和推理部202的功能,也可以统一通过一个处理电路实现这些功能。

在上述处理电路是图20B所示的处理器时,解码部201和推理部202的功能通过软件、固件或软件和固件的组合来实现。软件或固件记作程序,存储于存储器302。处理器301读出并执行存储器302中存储的程序,由此实现解码部201和推理部202的功能。即,图4所示的数据处理装置具有存储器302,该存储器302用于存储在由处理器301执行时其结果是执行图6所示的步骤ST11~步骤ST13的处理的程序。这些程序使计算机执行解码部201和推理部202的步骤或方法。存储器302也可以是存储有用于使计算机作为解码部201和推理部202发挥功能的程序的计算机可读存储介质。

另外,关于解码部201和推理部202的功能,也可以通过专用硬件实现一部分,通过软件或固件实现一部分。例如,也可以是,关于解码部201,通过作为专用硬件的处理电路实现其功能,关于推理部202,处理器301读出并执行存储器302中存储的程序,由此实现其功能。

如以上那样,在实施方式1的数据处理装置中,编码部11对层构造信息进行编码并对层更新标志进行编码,在层更新标志表示层构造的更新的情况下,对新层标志进行编码。表示NN的构造的数据中的仅与更新后的层有关的信息被编码并传输,因此,能够削减表示NN的构造的数据的数据大小。

此外,编码部11对表示NN的结构的信息进行编码,生成由标题信息和层单位的编码数据构成的编码数据。能够仅对与解码侧所需要的层有关的信息进行编码,因此,能够降低对与NN的结构有关的信息进行编码的处理负荷,削减向解码侧传输的数据大小。

在实施方式1的数据处理装置中,编码部11从上位比特起以比特平面为单位对属于NN的层的边的权重信息进行编码。由此,能够削减向解码侧传输的编码数据的数据大小。

在实施方式1的数据处理装置中,编码部11对与由标题信息指定的1个以上的层有关的信息进行编码。由此,仅对与解码侧所需要的层有关的信息进行编码,能够削减向解码侧传输的编码数据的数据大小。

在实施方式1的数据处理装置中,编码部11对属于由标题信息指定的层的边的权重值与特定值的差分进行编码。由此,能够削减向解码侧传输的编码数据的数据大小。

在实施方式1的数据处理装置中,编码部11将边的权重信息分成基础编码数据和增强编码数据进行编码。由此,能够实现与数据传输网络2的传输频带和传输容许时间对应的编码数据传输。

另外,本发明不限于上述实施方式,能够在本发明的范围内进行实施方式各自的自由组合或实施方式各自的任意结构要素的变形或实施方式各自的任意结构要素的省略。

产业利用性

本发明的数据处理装置例如能够利用于图像识别技术。

标号说明

1服务器,2数据传输网络,3-1~3-N客户端,10、10A数据处理部,10-1~10-9、11-1~11-3节点,11编码部,12解码部,12-1~12-15边,20核,101、101A学习部,102评价部,103控制部,201解码部,202推理部,300处理电路,301处理器,302存储器。

再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献