掌桥专利:专业的专利平台
掌桥专利
首页

数据处理的方法及装置、电子设备

文献发布时间:2023-06-19 19:28:50


数据处理的方法及装置、电子设备

技术领域

本申请实施例涉及数据处理技术领域,并且更为具体地,涉及一种数据处理的方法及装置、电子设备。

背景技术

随着电子设备的自动化、智能化发展,终端设备通常基于神经网络处理器对视频、图像类的海量多媒体数据进行处理。但是受限于硬件资源,神经网络处理器中的神经网络模型能支持的宽度有限,普遍能支持的宽度不超过4096位,对于宽度较大(如大于10000位)的电磁信号的采样数据,神经网络模型难以支持,不能满足使用要求。

发明内容

本申请实施例提供一种数据处理的方法及装置、电子设备。下面对本申请实施例涉及的各个方面进行介绍。

第一方面,提供一种数据处理的方法,包括:获取电磁信号的采样数据,所述采样数据为一维数据;将所述一维数据分割成多个数据分段;将所述多个数据分段转换成二维数据,使得所述二维数据的宽度小于神经网络处理器支持的神经网络模型的宽度;基于所述神经网络处理器对所述二维数据进行处理。

第二方面,提供一种数据处理的装置,包括:通用处理器,用于获取电磁信号的采样数据,所述采样数据为一维数据;将所述一维数据分割成多个数据分段,将所述多个数据分段转换成二维数据;神经网络处理器,用于对所述二维数据进行处理;其中,所述二维数据的宽度小于所述神经网络处理器支持的神经网络模型的宽度。

第三方面,提供一种电子设备,包括如第二方面所述的数据处理的装置,以及存储器。

第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序用于执行如第一方面所述的方法。

本申请实施例将较宽的电磁信号的一维数据无损转换为二维数据,使得二维数据的宽度小于神经网络处理器支持的神经网络模型的宽度,通过神经网络模型对二维数据进行并行处理。本申请实施例有助于解决电磁信号的数据宽度太大无法在神经网络模型中部署的问题,通过对无损转换的二维数据的并行处理,也有助于提高处理效率和减少时延。

附图说明

图1是本申请实施例提供的数据处理的方法的流程示意图。

图2为一种卷积运算的计算顺序的示意图。

图3是本申请实施例提供的数据处理的装置的结构示意图。

图4是本申请实施例提供的电子设备的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。

随着电子设备的自动化、智能化发展,许多终端设备除具有通用处理器外,还具有专用处理器,如神经网络处理器。神经网络处理器也称为神经网络处理单元(neural-network processing units,NPU)。NPU通常采用“数据驱动并行计算”的架构,特别擅长于处理视频、图像类的海量多媒体数据及模式识别。

应理解,终端设备也称为端侧设备,还可以被称为客户端、终端、便携式终端、移动终端、通信终端、便携式通信终端、便携式移动终端、边缘侧设备、触摸屏等。例如,终端设备可以为但不限于各种智能手机、数码相机、摄像机、智能手机、笔记本电脑、平板电脑、智能电话、便携式电话、游戏机、电视、显示单元、个人媒体播放器(personal media player,PMP)、个人数字助理(personal digital assistant,PDA)、由电子计算机控制的机器人、车载终端,用于安防的设备(比如监控摄像设备、烟雾报警设备、灭火设备)、智能音箱等。终端设备也可以为具有无线通信功能和口袋大小的便携式通信终端。

NPU通常采用神经网络模型对视频、图像类的多媒体数据进行处理。神经网络(neural network,NN)或称为人工神经网络,是包含相互连接的一组神经元的数学模型或计算模型,以便对输入和输出之间的关系进行建模或者发现数据中的模式。按照处理数据的维度,神经网络可以分为一维神经网络、二维神经网络和三维神经网络等。神经网络的模型可以包括深度神经网络、卷积神经网络(convolutional neural networks,CNN)等。近年来,以卷积神经网络为代表的视觉神经网络(vision neural network,VNN)得到了迅速发展。VNN目前已成为一种适用于大多数识别任务的常用工具,其在图像分类、目标检测、人脸检测与识别、语义分割以及视觉问答等诸多领域都得到了广泛的应用。

视觉神经网络也是二维神经网络,其主要参数可以包括(N、H、W、C)。其中,N为批(batch)数量,例如图像帧的数目;H为高度(height),如特征图高度方向的像素个数;W为宽度(width),如特征图宽度方向的像素个数;C为通道(channel)数,例如彩色RGB图像的通道数为3。

在视觉神经网络中,高度、宽度参数通常代表图像的分辨率,通常高度值小于宽度值。神经网络可以处理参数范围内的图像数据,不能直接处理超过参数范围内的图像数据。例如分辨率为4K(4096×2160)的神经网络可以处理分辨率为(1980×1080)的图像数据,但不能无损处理分辨率为8K(7680×4320)的图像数据。视觉神经网络模型也可以对宽度小于模型支持的宽度的一维数据进行处理。

随着传感器分辨率的提高,即传感器的采样点数的增加,传感器输出的电磁信号数据通常具有较大的宽度。数据的宽度表示数据所占空间的大小,数据宽度的基本单位是字节和位(bite),位为二进制位。例如采集气象信息的雷达传感器输出的电磁信号数据的宽度通常较大,如为16384位、20480位。然而受限于终端设备的成本及芯片硬件资源,目前NPU中的神经网络模型普遍能支持的信号宽度不超过4096位。对于较大宽度的电磁信号数据,神经网络模型难以无损支持这种规模的输入,进而不能满足应用场景的要求。

因此,如何开发一种支持较大宽度的电磁信号数据的神经网络处理器部署的方案是需要解决的问题。

基于此,本申请实施例提出一种数据处理的方法。本申请实施例将超宽的电磁信号的一维数据进行无损转换为二维数据,以使神经网络对其进行并行处理。

图1是本申请实施例提供的数据处理的方法的流程示意图。下面结合图1对本申请实施例的数据处理的方法进行详细介绍。如图1所示,该方法主要可以包括步骤S110至步骤S130,下面对这些步骤进行详细描述。

需要指出的是,本申请实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

在步骤S110,获取电磁信号的采样数据,采样数据为一维数据。

电磁信号为传感器获取特定信息的输出信号。电磁信号的采样点数通常较大,或者称为分辨率较高,即电磁信号的采样数据的宽度较大。可以用二进制位表示采样数据的宽度,多个二进制位形成的采样数据为一维数据。一维数据也可以理解为多个二进制位形成的数据序列。例如采集气象信息的雷达输出的电磁信号的采样数据宽度可以为16384位,即电磁信号的一维数据的宽度为16384位。

NPU中的神经网络模型普遍能支持的信号宽度通常有限(如不超过4096位)。对于较大宽度的电磁信号的一维数据,超过神经网络模型支持的宽度,神经网络模型难以无损应用于超大宽度的一维数据的处理。

在步骤S120,将一维数据分割成多个数据分段,将多个数据分段转换成二维数据,使得二维数据的宽度小于神经网络处理器支持的神经网络模型的宽度。

将较大宽度的电磁信号的一维数据分割成多个的数据分段,各个数据分段的宽度均小于神经网络处理器支持的神经网络模型的宽度。将多个数据分段无损转换成二维数据,二维数据的形式可以为数组或矩阵。二维数据例如可以用于表示图像高度方向上的像素数和宽度方向上的像素数。因此,二维数据的宽度小于神经网络处理器支持的神经网络模型的宽度。通常神经网络模型的宽度值大于高度参数的值。

在一些实施例中,可以将较大宽度的电磁信号的一维数据均分成多个相同宽度的数据分段,各个数据分段的宽度均小于神经网络处理器支持的神经网络模型的宽度。在一些实施例中,也可以将较大宽度的电磁信号的一维数据均分成多个宽度不同的数据分段,各个数据分段的宽度均小于神经网络处理器支持的神经网络模型的宽度。例如,可以将宽度为20480位的电磁信号的一维数据均分成32个数据分段,每个数据分段的宽度为640位;也可以将宽度为20480位的电磁信号的一维数据均分成16个数据分段,每个数据分段的宽度为1280位。

在一些实施例中,分割的多个数据分段的数据没有交叠(或重叠)。在一些实施例中,分割的多个数据分段之间存在交叠数据(或重叠数据),以适应后续处理的需求。

不同的神经网络模型具有不同的结构特点,如具有不同的神经元(节点)布置结构、不同的网络深度。如卷积神经网络模型中每层卷积核的大小和数量不同,卷积计算中设置的不同的填充(padding)量和步进量等,都会影响输入数据、输出数据的映射关系。因此,如果不针对神经网络应用模型的结构特点、每层卷积核的大小或者填充量等因素调整二维数据,可能在某一层网络的处理过程中将丢失有效数据。

在一些实现方式中,根据神经网络模型的结构特点、卷积核和填充量中的一项或多项,在第一数据分段的头部和/或尾部增加填充数据,以使经过网络处理后的结果保留有效数据。其中第一数据分段为多个数据分段中的任一分段。从而将一维数据无损转换成二维数据通过神经网络进行处理,以保证计算结果不变。

在一些实施例中,在多个数据分段的头部和尾部增加相同的填充数据。在一些实施例中,可以在多个数据分段的头部和尾部增加不同的填充数据,以适应神经网络模型的结构特点以及各层卷积核的大小等因素。

在一些实现方式中,对于存在数据重叠的多个数据分段,需要计算出多个数据分段之间的数据重叠大小。根据神经网络模型的结构特点、卷积核和填充量中的一项或多项,以及多个数据分段之间的数据重叠大小,在第一数据分段的头部和/或尾部增加填充数据,以使经过网络处理后的结果保留有效数据。

在步骤S130,基于神经网络处理器对二维数据进行处理。

神经网络处理器中通常采用神经网络模型对视频、图像类的多媒体数据进行处理,神经网络模型可以对宽度小于模型支持的宽度的一维数据进行处理。下面以常用的视觉神经网络模型为例进行说明。在视觉神经网络中,高度、宽度参数分别对应可以处理的图像的高度和宽度分辨率,神经网络可以处理参数范围内的图像数据。例如高度、宽度参数为(4096×2160)的神经网络可以处理分辨率为(1980×1080)的图像数据。由于转换后的二维数据的宽度小于神经网络模型的宽度,神经网络模型可以对二维数据进行处理。

神经网络通常包括多层网络,每层网络具有输入数据(或特征向量)、卷积核、多个通道,经过计算后得到输出数据(或特征向量)。每层网络中输入特征向量与卷积核的运算中通常包括大量的乘积累加运算。下面以一种卷积运算为例进行说明。

图2为一种卷积运算的计算顺序的示意图。如图2所示,输入数据的大小4×4,卷积核大小3×3,步长S为1,填充P的大小为0,输出数据的尺寸为2×2。其中,输出数据的尺寸计算为2=(4-3+2×0)/1+1。

对于输入数据,卷积运算以一定间隔滑动滤波器的窗口并应用,所说的窗口是指图2中灰色的3×3的部分。如图2所示,将各个位置上卷积核(或称为过滤器)的元素和输入的对应元素相乘,然后再求和,这种计算称为乘积累加运算。然后,将这个结果保存到输出的对应位置。将这个过程在所有位置都进行一遍,如图2中的(一)、(二)、(三)、(四)步骤的运算,就可以得到卷积运算的输出。可见,神经网络中涉及大量的乘积累加运算,并且一些乘积累加运算可以并行处理。例如图2中的(一)、(二)、(三)、(四)步骤的运算可以并行处理。

为提高处理效率,在一些实现方式中,神经网络处理器中可以包括多个通道,如包括32个通道,多个通道可以用于并行计算。因此,神经网络处理器可以基于多个通道对二维数据在神经网络模型中的运算进行并行处理,有助于减少系统的时延,提高处理的及时性。

神经网络处理器中还可以包括多个乘加器计算单元。乘加器(multiply andaccumulate,MAC)为一个乘法和加法可以在同一个指令周内完成的运算单元。或者说,一个指令周期能够输出一个乘加结果,以节省整个乘加操作的执行延迟。优选地,神经网络处理器基于多个通道和多个乘加器对二维数据在神经网络模型中的运算进行并行处理,有助于减少系统的时延。

神经网络通常以乘法累加计算为主导,MAC计算的高能效与否将影响处理效率,MAC计算单元的低面积布置也影响待处理数据的搬运量。

在一些实现方式中,可以将乘加器组成MAC阵列计算单元,使MAC阵列计算单元与神经网络模型的机构及运算特点相匹配。例如,为了使硬件适应做卷积计算,可以将卷积操作变换为数学上等效的矩阵计算。可以利用神经网络处理器中的MAC阵列计算单元,对电磁信号无损转换后的二维数据进行多通道高效并行处理,有助于提高处理效率和及时性。

神经网络通常可以包括多层网络,每层网络的输入数据、卷积核的不同,涉及的计算也不同。深度学习算法由一个个计算单元组成,这些计算单元可以称为算子(operator)。在神经网络模型中,算子对应一层中的计算逻辑。例如,一个卷积层的计算是一个算子,一个全连接层中的权值求和过程,是一个算子。

在神经网络算子序列执行过程中,上一算子的输出数据即为下一层算子的输入数据,这涉及到数据的搬运和处理。如果硬件布置或设计不当,会引起数据的搬运和处理量的增加,进而导致存储器带宽的增加。存储器带宽是指单位时间里存储器所存取的信息量,也称为存储器在单位时间内读出/写入的位数或字节数。

一些实现方式中,通过合理的布局设计,可以将神经网络模型的当前层网络的输入数据与其上一层网络的输出数据存储于同一地址空间。从而无需进行数据搬运和处理,有助于降低存储器带宽,以及提高执行效率。

优选地,NPU可以独立执行指令序列,完成神经网络模型的计算,而无需通用的中央处理器(center processing unit,CPU)的指令干预,有助于提高电磁信号的数据处理网络的计算效率。

本申请实施例将超宽的电磁信号的一维数据无损转换为二维数据,使得二维数据的宽度小于神经网络处理器支持的神经网络模型的宽度,通过神经网络模型对二维数据进行并行处理。本申请实施例解决了电磁信号的数据宽度太大无法在神经网络模型中部署的问题,通过对无损转换的二维数据的并行处理,也有助于提高处理效率和减少时延。

上文结合图1-图2,详细描述了本申请的方法实施例,下面结合图3-4,详细描述本申请的装置实施例及设备实施例。应理解,装置实施例的描述与方法实施例的描述相互对应,因此,未详细描述的部分可以参见前面方法实施例。

图3是本申请实施例提供的数据处理的装置的结构示意图。如图3所示,数据处理的装置300可以包括通用处理器310和神经网络处理器320。

通用处理器310用于获取电磁信号的采样数据,采样数据为一维数据。通用处理器310用于将电磁信号的一维数据分割成多个数据分段,将多个数据分段转换成二维数据。

电磁信号为传感器获取特定信息的输出信号。电磁信号的采样点数通常较大,即电磁信号的采样数据的宽度较大。可以用二进制位表示采样数据的宽度,多个二进制位形成的采样数据为一维数据。例如电磁信号的采样数据宽度可以为16384位,即电磁信号的一维数据的宽度为16384位。

通用处理器310是运算和控制核心,是信息处理、程序运行的最终执行单元。通用处理器310可以为中央处理器(CPU)、微控制单元、网络处理器或者其它常规处理器。

神经网络处理器320用于对二维数据进行处理。其中,二维数据的宽度小于神经网络处理器支持的神经网络模型的宽度。

由于转换后的二维数据的宽度小于神经网络模型的宽度,神经网络模型可以对二维数据直接进行处理。

可选地,通用处理器310用于根据神经网络模型的结构特点、卷积核和填充量中的一项或多项,在第一数据分段的头部和/或尾部增加填充数据,第一数据分段为多个数据分段中的任一分段。

可选地,神经网络处理器320包括多个处理通道和多个乘加器。神经网络处理器320基于多个通道和多个乘加器对二维数据进行并行处理。

可选地,神经网络模型的当前层网络的输入数据与当前层网络的上一层网络的输出数据存储于同一地址空间。

本申请实施例将超宽的电磁信号的一维数据无损转换为二维数据,使得二维数据的宽度小于神经网络处理器支持的神经网络模型的宽度,通过神经网络模型对二维数据进行并行处理。本申请实施例解决了电磁信号的数据宽度太大无法在神经网络模型中部署的问题,也有助于提高处理效率和减少时延。

图4是本申请实施例提供的电子设备的结构示意图。如图4所示,电子设备400可以包括如前文任一所述的数据处理的装置410,以及存储器420。

存储器420用于存储数据处理的装置410执行的指令。示例性地,存储器420可以为只读存储器(read only memory,ROM),可擦除只读存储器(erasable programmable read-only memory,EPROM),电可擦除只读存储器(electric erasable programmable read-only Memory,EEPROM)、静态随机存取存储器(static random access memory,SRAM)、动态随机存取存储器(dynamic random access memory,DRAM)、同步动态随机存取存储器(synchronous dynamic random access memory,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,简称DDR)、DDR2、闪存等。本申请实施例对此不作具体限定。

需要说明的是,本申请实施例提及的电子设备是由微电子器件组成的电子设备,指可以由集成电路、晶体管、电子管等电子元器件组成,应用电子技术(包括软件)发挥作用的设备。电子设备可以为具有传感器信息采集功能的设备,电子设备可以指向用户提供语音和/或数据连通性的设备,可以用于连接人、物和机,例如具有无线连接功能的手持式设备、车载设备等。电子设备可以是随机设备,电子设备可以被称为终端设备。电子设备也可以为具有无线通信功能和口袋大小的便携式通信终端。

本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序用于执行如前文任一所述的数据处理的方法。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其他任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本公开实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在机器可读存储介质中,或者从一个机器可读存储介质向另一个机器可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述机器可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如数字视频光盘(digital video disc,DVD))、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。

本领域普通技术人员可以意识到,结合本公开实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本公开的范围。

应理解,在本申请的各种实施例中,“第一”、“第二”等是用于区别不同的对象,而不是用于描述特定顺序,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

在本申请所提供的几个实施例中,应理解,当称某一部分与另一部分“连接”或“相连”时,其意味着该部分不仅可以“直接连接”,而且也可以“电连接”,同时另一个元件介入其中。另外,术语“连接”也意指该部分“物理地连接”以及“无线地连接”。另外,当称某一部分“包含”某一元件时,除非另行加以陈述,否则,其意味着该某一部分可以包括另一元件,而不是排除所述另一个元件。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以所述权利要求的保护范围为准。

技术分类

06120115927506