使用本地设备提供的传感器数据和标签的基于云的处理的制作方法

文档序号:15884508发布日期:2018-11-09 18:35阅读:154来源:国知局
使用本地设备提供的传感器数据和标签的基于云的处理的制作方法

本申请要求于2016年3月18日提交且题为“cloud-basedprocessingusinglocaldeviceprovidedsensordataandlabels(使用本地设备提供的传感器数据和标签的基于云的处理)”的美国临时专利申请no.62/310,147的权益,其公开内容通过援引全部明确纳入于此。

背景

领域

本公开的某些方面一般涉及机器学习,尤其涉及改进使用本地设备的传感器数据和标签的基于云的处理的系统和方法。

背景技术

可包括一群互连的人工神经元(例如,神经元模型)的人工神经网络是一种计算设备或者表示将由计算设备执行的方法。

卷积神经网络是一种前馈人工神经网络。卷积神经网络可包括神经元集合,其中每个神经元具有感受野并且共同地拼出一输入空间。卷积神经网络(cnn)具有众多应用。具体而言,cnn已被广泛使用于模式识别和分类领域。

深度学习架构(诸如深度置信网络和深度卷积网络)是分层神经网络架构,其中第一层神经元的输出变成第二层神经元的输入,第二层神经元的输出变成第三层神经元的输入,依此类推。深度神经网络可被训练以识别特征阶层并且因此它们已被越来越多地用于对象识别应用。类似于卷积神经网络,这些深度学习架构中的计算可分布在处理节点群体上,其可被配置在一个或多个计算链中。这些多层架构可每次训练一层并可使用后向传播微调。

其他模型也可用于对象识别。例如,支持向量机(svm)是可被应用于分类的学习工具。支持向量机包括对数据进行归类的分离超平面(例如,决策边界)。该超平面由受监督式学习来定义。期望的超平面增加训练数据的裕量。换言之,超平面应该具有到训练示例的最大的最小距离。

尽管这些解决方案在数个分类基准上达到了优异的结果,但它们的计算复杂度可能极其高。另外,模型的训练可能是有挑战性的。

概述

在本公开的一方面,给出了一种训练因设备而异的基于云的音频处理器的方法。该方法包括接收从本地设备处的多个传感器获取的传感器数据,以及接收使用本地配置信息在该本地设备上计算出的空间信息标签。这些空间信息标签与所获取的传感器数据相关联。该方法还包括基于这些空间信息标签和传感器数据来训练第一神经网络的下层。附加地,该方法包括将已训练的下层纳入到用于音频分类的第二较大神经网络中。该方法进一步包括使用第一神经网络的已训练的下层来重新训练第二神经网络。

在本公开的另一方面,给出了一种使用人工神经网络来进行基于云的音频处理的方法。该方法包括接收本地设备的设备标识信息和从该本地设备处的多个传感器获取的传感器数据。该方法还包括基于该设备标识信息来设置该神经网络的卷积滤波器。该方法进一步包括在不重新训练该神经网络的情况下基于该传感器数据来预测音频事件分类。

在本公开的又一方面,给出了一种用于训练因设备而异的基于云的音频处理器的装置。该装置包括耦合到至少一个处理器的存储器。该一个或多个处理器被配置成:接收从本地设备处的多个传感器获取的传感器数据,以及接收使用本地配置信息在该本地设备上计算出的空间信息标签。这些空间信息标签与所获取的传感器数据相关联。该(一个或多个)处理器还被配置成基于这些空间信息标签和传感器数据来训练第一神经网络的下层。附加地,该(一个或多个)处理器被配置成将已训练的下层纳入到用于音频分类的第二较大神经网络中。该(一个或多个)处理器被进一步配置成使用第一神经网络的已训练的下层来重新训练第二神经网络。

在本公开的再一方面,给出了一种用于使用人工神经网络来进行基于云的音频处理的装置。该装置包括耦合到至少一个处理器的存储器。该一个或多个处理器被配置成接收本地设备的设备标识信息和从该本地设备处的多个传感器获取的传感器数据。该(一个或多个)处理器还被配置成基于该设备标识信息来设置该神经网络的卷积滤波器。该(一个或多个)处理器被配置成在不重新训练该神经网络的情况下基于该传感器数据来预测音频事件分类。

在本公开的一方面,给出了一种用于训练因设备而异的基于云的音频处理器的装备。该装备包括:用于接收从本地设备处的多个传感器获取的传感器数据的装置,以及用于接收使用本地配置信息在该本地设备上计算出的空间信息标签的装置。这些空间信息标签与所获取的传感器数据相关联。该装备还包括用于基于这些空间信息标签和传感器数据来训练第一神经网络的下层的装置。附加地,该装备包括用于将已训练的下层纳入到用于音频分类的第二神经网络中的装置。该装备进一步包括用于使用第一神经网络的已训练的下层来重新训练第二较大神经网络的装置。

在本公开的另一方面,给出了一种用于使用人工神经网络来进行基于云的音频处理的装备。该装备包括用于接收本地设备的设备标识信息和从该本地设备处的多个传感器获取的传感器数据的装置。该装备还包括用于基于该设备标识信息来设置该神经网络的卷积滤波器的装置。该装备进一步包括用于在不重新训练该神经网络的情况下基于该传感器数据来预测音频事件分类的装置。

根据本公开的又一方面,给出了一种非瞬态计算机可读介质。该非瞬态计算机可读介质上编码有用于训练因设备而异的基于云的音频处理器的程序代码。该程序代码由处理器执行并且包括用于接收从本地设备处的多个传感器获取的传感器数据的程序代码,以及用于接收使用本地配置信息在该本地设备上计算出的空间信息标签的程序代码。这些空间信息标签与所获取的传感器数据相关联。该程序代码还包括基于这些空间信息标签和传感器数据来训练第一神经网络的下层的程序代码。附加地,该程序代码包括用于将已训练的下层纳入到用于音频分类的第二神经网络中的程序代码。该程序代码进一步包括用于使用第一神经网络的已训练的下层来重新训练第二较大神经网络的程序代码。

根据本公开的再一方面,给出了一种非瞬态计算机可读介质。该非瞬态计算机可读介质上编码有用于使用人工神经网络来进行基于云的音频处理的程序代码。该程序代码由处理器执行并且包括用于接收本地设备的设备标识信息和从该本地设备处的多个传感器获取的传感器数据的程序代码。该处理器还包括用于基于该设备标识信息来设置该神经网络的卷积滤波器的程序代码。该程序代码进一步包括用于在不重新训练该神经网络的情况下基于该传感器数据来预测音频事件分类的程序代码。

本公开的附加特征和优点将在下文描述。本领域技术人员应当领会,本公开可容易地被用作修改或设计用于实施与本公开相同的目的的其他结构的基础。本领域技术人员还应认识到,这样的等效构造并不脱离所附权利要求中所阐述的本公开的教导。被认为是本公开的特性的新颖特征在其组织和操作方法两方面连同进一步的目的和优点在结合附图来考虑以下描述时将被更好地理解。然而,要清楚理解的是,提供每一幅附图均仅用于解说和描述目的,且无意作为对本公开的限定的定义。

附图简述

在结合附图理解下面阐述的详细描述时,本公开的特征、本质和优点将变得更加明显,在附图中,相同附图标记始终作相应标识。

图1解说了根据本公开的某些方面的使用片上系统(soc)(包括通用处理器)来设计神经网络的示例实现。

图2解说了根据本公开的各方面的系统的示例实现。

图3a是解说根据本公开的各方面的神经网络的示图。

图3b是解说根据本公开的各方面的示例性深度卷积网络(dcn)的框图。

图4是解说根据本公开的各方面的可将人工智能(ai)功能模块化的示例性软件架构的框图。

图5是解说根据本公开的各方面的智能手机上的ai应用的运行时操作的框图。

图6-8是解说根据本公开的各方面的基于云的处理的框图。

图9a-b是解说根据本公开的各方面的卷积神经网络的训练的框图。

图10解说了将递归神经网络用于对基于云的处理器进行处理的实现。

图11解说了根据本公开的各方面的用于使用人工神经网络的基于云的音频处理的方法。

图12解说了根据本公开的各方面的用于基于云的多媒体处理的方法。

图13解说了根据本公开的各方面的用于使用人工神经网络的基于云的音频处理的方法。

详细描述

以下结合附图阐述的详细描述旨在作为各种配置的描述,而无意表示可实践本文中所描述的概念的仅有配置。本详细描述包括具体细节以便提供对各种概念的透彻理解。然而,对于本领域技术人员将显而易见的是,没有这些具体细节也可实践这些概念。在一些实例中,以框图形式示出众所周知的结构和组件以避免湮没此类概念。

基于本教导,本领域技术人员应领会,本公开的范围旨在覆盖本公开的任何方面,不论其是与本公开的任何其他方面相独立地还是组合地实现的。例如,可以使用所阐述的任何数目的方面来实现装置或实践方法。另外,本公开的范围旨在覆盖使用作为所阐述的本公开的各个方面的补充或者与之不同的其他结构、功能性、或者结构及功能性来实践的此类装置或方法。应当理解,所披露的本公开的任何方面可由权利要求的一个或多个元素来实施。

措辞“示例性”在本文中用于表示“用作示例、实例、或解说”。本文中描述为“示例性”的任何方面不必被解释为优于或胜过其他方面。

尽管本文描述了特定方面,但这些方面的众多变体和置换落在本公开的范围之内。虽然提到了优选方面的一些益处和优点,但本公开的范围并非旨在被限定于特定益处、用途或目标。相反,本公开的各方面旨在能宽泛地应用于不同的技术、系统配置、网络和协议,其中一些作为示例在附图以及以下对优选方面的描述中解说。详细描述和附图仅仅解说本公开而非限定本公开,本公开的范围由所附权利要求及其等效技术方案来定义。

使用本地设备提供的传感器数据和标签的基于云的处理

现代数字设备获取各种各样的传感器数据,并且能够与远程计算设备(诸如基于云的计算系统或处理器(其可被称为“云”))通信以用于进行数据分析。然而,云往往不具有用于计算设备所获取的传感器数据的相关标签的资源,并且因此数据不能在受监督式分类任务中被有效地使用。

在其中期望从具有多个输入(例如,相机、话筒、或视频馈送)的设备向服务器发送数据流以用于处理的情况下,传感器分配和空时信息可以是相关的。因此,与原始传感器数据一起传送此类信息可以是有用的。

许多智能电话、平板设备、和其他便携式多媒体设备具有多个传感器(例如,多个话筒、多个相机等)。因此,本地设备可以例如以不同格式(例如,5.1格式、7.1格式、以及立体声)来编码声音,因为传感器在本地设备上的放置是已知的。本地设备还可被配置成跟踪源(例如,一个或多个扬声器或由话筒获取的声音的其他源)。例如,本地设备可以能够确定抵达方向(doa)并且可以跟随源。附加地,本地设备可被配置成执行波束成形。即,本地设备可被配置成监听源自空间中的一个方向的声音并且使源自其他方向的声音失效。许多本地设备可以低延迟来执行这些任务。然而,在将这样的多传感器数据发送到基于云的处理器时,高效地利用数据是非常困难的并且这样做在计算上是昂贵的。

本公开的各方面涉及对本地设备的传感器数据和标签的基于云的处理。与可使用地理标签的常规方法不同,在一些方面,可以使用神经网络(诸如卷积神经网络(cnn)或长短期记忆递归神经网络(lstm-rnn))来将在本地设备处获取的多传感器数据和本地设备提供的标签提供给基于云的处理器以用于分类任务。与地理标签相反,在使用全球定位系统(gps)数据用坐标来标记彼此距离数百米或数千米的地理位置的情况下,本地设备空间传感器位置是在房间内的并且所有位置都获取相同的声源但在传感器之间具有不同的振幅/相位关系。根据本公开的各方面,可以组合多个传感器信息以在空间受限的位置(诸如房间、音乐厅等)内(例如,经由波束成形)提供源的增强型空间辨别。

图1解说了根据本公开的某些方面的使用片上系统(soc)100的前述基于云的处理的示例实现,soc100可包括通用处理器(cpu)或多核通用处理器(cpu)102。变量(例如,神经信号和突触权重)、与计算设备相关联的系统参数(例如,带有权重的神经网络)、延迟、频率槽信息、以及任务信息可被存储在与神经处理单元(npu)108相关联的存储器块、与cpu102相关联的存储器块、与图形处理单元(gpu)104相关联的存储器块、与数字信号处理器(dsp)106相关联的存储器块、专用存储器块118中,或可跨多个块分布。在通用处理器102处执行的指令可从与cpu102相关联的程序存储器加载或可从专用存储器块118加载。

soc100还可包括为具体功能定制的附加处理块(诸如gpu104、dsp106、连通性块110(其可包括第四代长期演进(4glte)连通性、无执照wi-fi连通性、usb连通性、蓝牙连通性等))以及例如可检测和识别姿势的多媒体处理器112。在一种实现中,npu实现在cpu、dsp、和/或gpu中。soc100还可包括传感器处理器114、图像信号处理器(isp)、和/或导航120(其可包括全球定位系统)。

soc100可基于arm指令集。在本公开的一方面,加载到通用处理器102中的指令可包括用于接收从本地设备处的多个传感器获取的传感器数据的代码。加载到通用处理器102中的指令还可包括用于接收使用本地配置信息在本地设备上计算出的空间信息标签的代码。各标签与所获取的数据相关联。另外,加载到通用处理器102中的指令可包括用于基于空间信息标签和传感器数据来训练第一神经网络的下层的代码。此外,加载到通用处理器102中的指令还可包括用于将经训练的下层纳入到用于音频分类的第二较大神经网络中的代码。此外,加载到通用处理器102中的指令可包括用于使用第一神经网络的经训练的下层来重新训练该较大神经网络的代码。

在本公开的一方面,加载到通用处理器102中的指令可包括用于获取传感器数据和用于使用本地配置信息来计算标签的代码。各标签与所获取的传感器数据相关联。加载到通用处理器102中的指令还可包括用于将标签发送到基于云的处理器的代码。加载到通用处理器102中的指令可进一步包括用于从云接收分类结果以及用于基于该分类结果来执行任务的代码。

在本公开的又一方面,加载到通用处理器102中的指令可包括用于接收本地设备的设备标识信息和从本地设备处的多个传感器获取的传感器数据的代码。加载到通用处理器102中的指令还可包括用于基于设备标识信息来设置神经网络的卷积滤波器的代码。加载到通用处理器102中的指令可进一步包括用于在不重新训练神经网络的情况下基于传感器数据来预测音频事件分类的代码。

图2解说了根据本公开的某些方面的系统200的示例实现。如图2中所解说的,系统200可具有可执行本文所描述的方法的各种操作的多个局部处理单元202。每个局部处理单元202可包括局部状态存储器204和可存储神经网络的参数的局部参数存储器206。另外,局部处理单元202可具有用于存储局部模型程序的局部(神经元)模型程序(lmp)存储器208、用于存储局部学习程序的局部学习程序(llp)存储器210、以及局部连接存储器212。此外,如图2中所解说的,每个局部处理单元202可与用于为该局部处理单元的各局部存储器提供配置的配置处理器单元214对接,并且与提供各局部处理单元202之间的路由的路由连接处理单元216对接。

深度学习架构可通过学习在每一层中以逐次更高的抽象程度来表示输入、藉此构建输入数据的有用特征表示来执行对象识别任务。以此方式,深度学习解决了传统机器学习的主要瓶颈。在深度学习出现之前,用于对象识别问题的机器学习办法可能严重依赖人类工程设计的特征,或许与浅分类器相结合。浅分类器可以是两类线性分类器,例如,其中可将特征向量分量的加权和与阈值作比较以预测输入属于哪一类别。人类工程设计的特征可以是由拥有领域专业知识的工程师针对具体问题领域定制的模版或内核。相反,深度学习架构可学习以表示与人类工程师可能会设计的类似的特征,但它是通过训练来学习的。此外,深度网络可以学习以表示和识别人类可能还没有考虑过的新类型的特征。

深度学习架构可以学习特征阶层。例如,如果向第一层呈递视觉数据,则第一层可学习以识别输入流中的相对简单的特征(诸如边)。在另一示例中,如果向第一层呈递听觉数据,则第一层可学习以识别特定频率中的频谱功率。取第一层的输出作为输入的第二层可以学习以识别特征组合,诸如对于视觉数据识别简单形状或对于听觉数据识别声音组合。例如,更高层可学习以表示视觉数据中的复杂形状或听觉数据中的词语。再高层可学习以识别常见视觉对象或口语短语。

深度学习架构在被应用于具有自然阶层结构的问题时可能表现特别好。例如,机动车辆的分类可受益于首先学习以识别轮子、挡风玻璃、以及其他特征。这些特征可在更高层以不同方式被组合以识别轿车、卡车和飞机。

神经网络可被设计成具有各种连通性模式。在前馈网络中,信息从较低层被传递到较高层,其中给定层中的每个神经元向更高层中的神经元进行传达。如上所述,可在前馈网络的相继层中构建阶层式表示。神经网络还可具有回流或反馈(也被称为自顶向下(top-down))连接。在回流连接中,来自给定层中的神经元的输出可被传达给相同层中的另一神经元。回流架构可有助于识别跨越不止一个按顺序递送给该神经网络的输入数据组块的模式。从给定层中的神经元到较低层中的神经元的连接被称为反馈(或自顶向下)连接。当高层级概念的识别可辅助辨别输入的特定低层级特征时,具有许多反馈连接的网络可能是有助益的。

参照图3a,神经网络的各层之间的连接可以是全连接的(302)或局部连接的(304)。在全连接网络302中,第一层中的神经元可将它的输出传达给第二层中的每个神经元,从而第二层中的每个神经元将从第一层中的每个神经元接收输入。替换地,在局部连接网络304中,第一层中的神经元可连接至第二层中有限数目的神经元。卷积网络306可以是局部连接的,并且被进一步配置成使得与针对第二层中每个神经元的输入相关联的连接强度被共享(例如,308)。更一般化地,网络的局部连接层可被配置成使得一层中的每个神经元将具有相同或相似的连通性模式,但其连接强度可具有不同的值(例如,310、312、314和316)。局部连接的连通性模式可能在更高层中产生空间上相异的感受野,这是由于给定区域中的更高层神经元可接收到通过训练被调谐为到网络的总输入的受限部分的性质的输入。

局部连接的神经网络可能非常适合于其中输入的空间位置有意义的问题。例如,被设计成识别来自车载摄像机的视觉特征的网络300可发展具有不同性质的高层神经元,这取决于它们与图像下部关联还是与图像上部关联。例如,与图像下部相关联的神经元可学习以识别车道标记,而与图像上部相关联的神经元可学习以识别交通信号灯、交通标志等。

深度卷积网络(dcn)可以用受监督式学习来训练。在训练期间,可向dcn呈递图像(诸如限速标志的经裁剪图像326),并且可随后计算“前向传递(forwardpass)”以产生输出322。输出322可以是对应于特征(诸如“标志”、“60”、和“100”)的值向量。网络设计者可能希望dcn在输出特征向量中针对其中一些神经元输出高得分,例如与经训练网络300的输出322中所示的“标志”和“60”对应的那些神经元。在训练之前,dcn产生的输出很可能是不正确的,并且由此可计算实际输出与目标输出之间的误差。dcn的权重可随后被调整以使得dcn的输出得分与目标更紧密地对准。

为了调整权重,学习算法可为权重计算梯度向量。该梯度可指示在权重被略微调整情况下误差将增加或减少的量。在顶层,该梯度可直接对应于连接倒数第二层中的活化神经元与输出层中的神经元的权重的值。在较低层中,该梯度可取决于权重的值以及所计算出的较高层的误差梯度。权重可随后被调整以减小误差。这种调整权重的方式可被称为“后向传播”,因为其涉及在神经网络中的“后向传递(backwardpass)”。

在实践中,权重的误差梯度可能是在少量示例上计算的,从而计算出的梯度近似于真实误差梯度。这种近似方法可被称为随机梯度下降法。随机梯度下降法可被重复,直到整个系统可达成的误差率已停止下降或直到误差率已达到目标水平。

在学习之后,dcn可被呈递新图像326并且在网络中的前向传递可产生输出322,其可被认为是该dcn的推断或预测。

深度置信网络(dbn)是包括多层隐藏节点的概率性模型。dbn可被用于提取训练数据集的阶层式表示。dbn可通过堆叠多层受限波尔兹曼机(rbm)来获得。rbm是一类可在输入集上学习概率分布的人工神经网络。由于rbm可在没有关于每个输入应该被分类到哪个类别的信息的情况下学习概率分布,因此rbm经常被用于无监督式学习中。使用混合无监督式和受监督式范式,dbn的底部rbm可按无监督方式被训练并且可以用作特征提取器,而顶部rbm可按受监督方式(在来自先前层的输入和目标类别的联合分布上)被训练并且可用作分类器。

深度卷积网络(dcn)是卷积网络的网络,其配置有附加的池化和归一化层。dcn已在许多任务上达成现有最先进的性能。dcn可使用受监督式学习来训练,其中输入和输出目标两者对于许多典范是已知的并被用于通过使用梯度下降法来修改网络的权重。

dcn可以是前馈网络。另外,如上所述,从dcn的第一层中的神经元到下一更高层中的神经元群的连接跨第一层中的神经元被共享。dcn的前馈和共享连接可被利用于进行快速处理。dcn的计算负担可比例如类似大小的包括回流或反馈连接的神经网络小得多。

卷积网络的每一层的处理可被认为是空间不变模版或基础投影。如果输入首先被分解成多个通道,诸如彩色图像的红色、绿色和蓝色通道,那么在该输入上训练的卷积网络可被认为是三维的,其具有沿着该图像的轴的两个空间维度以及捕捉颜色信息的第三维度。卷积连接的输出可被认为在后续层318和320中形成特征图,该特征图(例如,320)中的每个元素从先前层(例如,318)中一定范围的神经元以及从该多个通道中的每一个通道接收输入。特征图中的值可以用非线性(诸如矫正)max(0,x)进一步处理。来自毗邻神经元的值可被进一步池化(这对应于降采样)并可提供附加的局部不变性以及维度缩减。还可通过特征图中神经元之间的侧向抑制来应用归一化,其对应于白化。

深度学习架构的性能可随着有更多被标记的数据点变为可用或随着计算能力提高而提高。现代深度神经网络用比仅仅十五年前可供典型研究者使用的计算资源多数千倍的计算资源来例行地训练。新的架构和训练范式可进一步推升深度学习的性能。经矫正的线性单元可减少被称为梯度消失的训练问题。新的训练技术可减少过度拟合(over-fitting)并因此使更大的模型能够达成更好的普遍化。封装技术可抽象出给定的感受野中的数据并进一步提升总体性能。

图3b是解说示例性深度卷积网络350的框图。深度卷积网络350可包括多个基于连通性和权重共享的不同类型的层。如图3b所示,该示例性深度卷积网络350包括多个卷积块(例如,c1和c2)。每个卷积块可配置有卷积层、归一化层(lnorm)、和池化层。卷积层可包括一个或多个卷积滤波器,其可被应用于输入数据以生成特征图。尽管仅示出了两个卷积块,但本公开不限于此,而是,根据设计偏好,任何数目的卷积块可被包括在深度卷积网络350中。归一化层可被用于对卷积滤波器的输出进行归一化。例如,归一化层可提供白化或侧向抑制。池化层可提供在空间上的降采样聚集以实现局部不变性和维度缩减。

例如,深度卷积网络的平行滤波器组可任选地基于arm指令集被加载到soc100的cpu102或gpu104上以达成高性能和低功耗。在替换实施例中,平行滤波器组可被加载到soc100的dsp106或isp116上。另外,dcn可访问其他可存在于soc上的处理块,诸如专用于传感器114和导航120的处理块。

深度卷积网络350还可包括一个或多个全连接层(例如,fc1和fc2)。深度卷积网络350可进一步包括逻辑回归(lr)层。深度卷积网络350的每一层之间是要被更新的权重(未示出)。每一层的输出可以用作深度卷积网络350中后续层的输入以从第一卷积块c1处提供的输入数据(例如,图像、音频、视频、传感器数据和/或其他输入数据)学习阶层式特征表示。

图4是解说可使人工智能(ai)功能模块化的示例性软件架构400的框图。使用该架构,应用402可被设计成可使得soc420的各种处理块(例如cpu422、dsp424、gpu426和/或npu428)在该应用402的运行时操作期间执行支持计算。

ai应用402可配置成调用在用户空间404中定义的功能,例如,这些功能可提供对指示该设备当前操作位置的场景的检测和识别。例如,ai应用402可取决于识别出的场景是否为办公室、报告厅、餐馆、或室外环境(诸如湖泊)而以不同方式配置话筒和摄像机。ai应用402可向与在场景检测应用编程接口(api)406中定义的库相关联的经编译程序代码作出请求以提供对当前场景的估计。该请求可最终依赖于配置成基于例如视频和定位数据来提供场景估计的深度神经网络的输出。

运行时引擎408(其可以是运行时框架的经编译代码)可进一步可由ai应用402访问。例如,ai应用402可使得运行时引擎请求特定时间间隔的场景估计或由应用的用户接口检测到的事件触发的场景估计。在使得运行时引擎估计场景时,运行时引擎可进而发送信号给在soc420上运行的操作系统410(诸如linux内核412)。操作系统410进而可使得在cpu422、dsp424、gpu426、npu428、或其某种组合上执行计算。cpu422可被操作系统直接访问,而其他处理块可通过驱动器(诸如用于dsp424、gpu426、或npu428的驱动器414-418)来访问。在示例性示例中,深度神经网络可被配置成在处理块的组合(诸如cpu422和gpu426)上运行,或可在npu428(如果存在的话)上运行。

图5是解说智能手机502上的ai应用的运行时操作500的框图。ai应用可包括预处理模块504,该预处理模块504可(例如,使用java编程语言)被配置成转换图像506的格式并随后对该图像进行剪裁和/或调整大小(508)。经预处理的图像可随后被传达给分类应用510,该分类应用510包含场景检测后端引擎512,该场景检测后端引擎512可以(例如,使用c编程语言)被配置成基于视觉输入来检测和分类场景。场景检测后端引擎512可被配置成通过缩放(516)和剪裁(518)来进一步预处理(514)该图像。例如,该图像可被缩放和剪裁以使所得到的图像是224像素×224像素。这些维度可映射到神经网络的输入维度。神经网络可由深度神经网络块520配置以使得soc100的各种处理块借助深度神经网络来进一步处理图像像素。深度神经网络的结果可随后被取阈(522)并被传递通过分类应用510中的指数平滑块524。经平滑的结果可随后使得智能手机502的设置和/或显示改变。

图6-8是视觉上解说根据本公开的各方面的用于基于云的处理的过程流的框图。图6是解说根据本公开的各方面的用于基于云的处理的系统的框图600。参照图6,本地设备602可被配置成向远程处理器或基于云的处理器606提供信息或信息分组以供处理。本地设备602可包括多媒体设备,诸如移动电话(例如,智能电话)、相机、音频设备等。本地设备602可配置有处理器,诸如举例而言,数字信号处理器(dsp)。在一些方面,dsp可被耦合到或被包括在一个或多个传感器内。传感器(例如可包括音频传感器(例如,话筒)、视觉传感器(例如,相机)、和/或其他类型的传感器)可以检测环境状况。

本地设备602可以搜集传感器信息,该传感器信息可包括来自每一个传感器的原始传感器数据和相关信息(例如,时间戳和位置),并且产生信息分组。该分组可包括例如原始传感器数据、标签、用户设备标识、以及其他信息。标签可以基于仅可用于本地设备602的信息,诸如话筒位置、速度、和设备位置。在一些方面,标签可以基于设备几何形状、分离的经波束成形流、设备标识和/或类似物。

可以将信息分组提供给应用处理器(ap)604或其他处理器。ap604可在本地设备602的外部,或者可被包括在本地设备602内。在一些方面,ap604可被用于操作本地神经网络。ap604可以基于来自多个话筒的传感器数据来计算分类输出(诸如抵达方向(doa)标签)。ap604还可以处置与基于云的处理器606的交互,并且在一些情形中更新本地设备分类器。此外,应用处理器604可进一步将分组发送到远程或基于云的处理器606。

基于云的处理器606可以被配置成计算分类输出。基于云的处理器606还可以存储分组,并且可以使用该分组基于本地设备标签和/或设备标识信息来训练神经网络模型。在一些方面,基于云的处理器606还可以计算大规模分类器的更新。此外,基于云的处理器606还可以将分类器更新传送到本地设备602,以改进本地设备602上的分类性能。

图7是解说根据本公开的各方面的本地设备处理(在图6中示出)的示例的框图700。如在图7中所示,在框702中,可以收集原始传感器数据,并且在一些方面可以记录该传感器数据。可以经由本地设备的多个传感器来收集原始传感器数据。例如,可以使用与本地设备或其他传感器设备(例如,相机)相关联的多话筒音频设备来记录原始传感器数据。

在框704中,本地设备可以在逐帧的基础上提供标签。标签可包括基于传感器数据的抵达方向(doa)或前台/后台信息。本地设备还可以提供具有附加元数据(诸如环境信息或配置信息)的标签。例如,在一些方面,环境信息可包括关于空调的使用或空调设置的信息。配置信息可包括加速计传感器输出(例如,电话的取向(侧向、上下颠倒等)、设备行进的每小时英里数、设备抵达方向的最大数目、和/或操作模式(例如,手持机模式、扬声器模式、免提模式)。配置信息还可包括设备功能信息。例如,设备可被配置成网际协议(ip)相机。这样的功能或使用情形信息可以通知或者影响标签的复杂性。在一些方面,本地设备的传感器的数目和/或位置可以基于设备身份(例如,智能电话型号)、操作模式、和/或设备功能而变化。

在一些方面,本地设备还可以基于doa信息来确定分离的经波束成形流。本地设备还可以提供分离的前台和后台流。可以在逐帧的基础上提供分离的经波束成形流。

在框706中,本地设备可以检索原始传感器数据、标签、以及设备标识。本地设备还可以检索与所收集的原始传感器数据相关的时间戳。在一些方面,可以将检索到的信息组装为分组。

在框708中,本地设备可以将分组或检索到的信息发送到基于云的处理器(例如,云计算设备或服务器)以供进一步处理。在一些方面,可以实时地提供分组或检索到的信息。在一些方面,可以按指定的时间周期来提供分组或检索到的信息。例如,在较低网络拥塞时段期间或在本地设备处理活动较低时(例如,在本地设备正在充电的夜晚),可以在传感器测量结束时(例如,在使用多话筒音频设备记录事件停止时)发送分组或检索到的信息。

图8是解说基于云的处理的示例方法800的框图。参照图8,在框802中,基于云的处理器从本地设备接收传感器数据、标签和本地设备标识信息。在一些方面,基于云的处理器还可以接收与传感器数据相对应的时间戳。此外,基于云的处理器还可以接收分离的经波束成形流和/或前台/后台流。

在框804中,该过程基于本地设备标识信息来确定是否存在用于本地设备的已保存的神经网络。在一些方面,该过程可以基于本地设备的配置信息来确定已保存的神经网络。例如,该过程可以基于doa的最大数目和其他元数据来确定已保存的神经网络。

如果没有适合于处理所接收到的数据(例如,确定分类输出)的已保存的神经网络,则在框806中,该过程可以使用传感器数据和所接收到的标签来训练神经网络的下层中的一者或多者(例如,第一卷积层(卷积1(conv1)))。使用标签(例如,doa标签)作为神经网络的顶层的输出(或训练数据)并且使用传感器数据作为神经网络的输入,可以学习下层的卷积滤波器系数。例如,可以训练卷积滤波器以执行波束成形。神经网络的下层(例如,第一卷积层的卷积滤波器)可被纳入到神经网络中以用于传感器数据的分类。

在一些方面,可以针对分类任务来重新训练包括已训练的下层的神经网络。例如,已训练的波束成形滤波器可被纳入到神经网络中以用于音频识别。可以使用音频事件标签作为输出以及使用传感器数据作为输入来训练用于音频识别的神经网络。如此,音频识别神经网络可以结合音频识别来学习波束成形。在框810中,该过程可以重新训练神经网络,以基于传感器数据来预测分类输出。

在另一方面,如果针对设备标识存在已保存的神经网络,则在框812中,该过程检索已保存的神经网络。例如,在用于对神经网络的下层处的波束成形进行建模的滤波器系数对于特定设备标识而言是已知的并且先前已经被存储的情况下,可以检索这些系数。随后,在框810中,该过程可以基于传感器数据来预测分类输出,而无需训练或重新训练神经网络。

在一个示例中,如果本地设备(设备标识)对于云服务(基于云的处理器)而言是已知的,并且该设备正在以与先前的云服务交互相同的用户模式来使用(例如,电话可在手持机模式、扬声器模式、以及桌面模式中使用),则神经网络可以在不进行重新训练的情况下操作,因为空间设置是相同的。例如,如果电话管理服务可以从许多不同类型的设备(电话、汽车、智能扬声器等,其各自具有不同数目和空间布置的话筒(mic))接收数据,则可以跟踪用户模式/设备标识。相应地,云服务(例如,基于云的处理器)可以确定其先前已经用于训练神经网络的空间信息是否仍然有效。如果空间信息保持有效,则对应的先前已训练的神经网络(例如,卷积滤波器系数)可被检索并且被用于操作神经网络以及预测分类输出(音频事件),而无需重新训练该神经网络。以此方式,可以保留系统资源并且可以达成计算效率。

在框814中,该过程可以将预测出的分类输出传送到本地设备。在框816中,该过程可以根据本地设备的标识来存储神经网络。

图9a-b是解说根据本公开的各方面的卷积神经网络的训练的示例的框图。远程或云计算设备可以利用来自本地设备的标签和传感器数据来训练云计算设备以用于改进分类性能。作为示例而非限制,图9a-b解说了使用感测到的音频数据和用于音频事件分类的标签来进行训练。然而,这仅仅是为了便于理解,并且可以使用其他类型的传感器数据来训练可被用于执行其他分类任务的神经网络。

参照图9a,提供多通道输入脉冲编码调制(pcm)帧作为卷积神经网络(cnn)的下层的输入。在图9a的示例中,来自七个话筒输入(诸如在圆形阵列中)的传感器数据以多对多的连接方式作为输入提供给输入节点。各输入可包括时域信号。在一些方面,每个话筒具有输入节点。cnn包括卷积层。在卷积层中,卷积滤波器(例如,f1、f2、...、fn)被提供给输入节点中的每一者。

可以使用常规训练技术来训练cnn,以学习卷积滤波器的权重(或系数)。在一个示例性方面,所接收到的在本地设备上计算出的空间信息标签(例如,doa标签)可被用于训练卷积滤波器。在该示例中,空间信息标签(例如,doa标签)可被用作输出或训练数据,并且传感器数据(例如,经由多个话筒)可被用作输入。输入节点与矫正器线性单元(relu)之间的每条路径对应于波束成形器输出。如此,如果对应的抵达方向(doa)对于特定数据帧而言是已知的,则由本地设备提供的标签可被用作训练标签,以将每个记录(传感器数据)映射到特定doa。标签的各示例包括0度、30度、60度、90度、120度、150度、以及180度。已学习的滤波器可实现窄带宽波束成形器,例如,聚焦在30度区间处。这样,基于云的处理器可被配置成估计源的位置。

如在图9b中所示,在已经训练了神经网络的下层(例如,第一卷积层)以考虑多传感器数据(例如,具有doa标签的多话筒数据)之后,就可以移除doa标签。已训练的神经网络的下层(例如,卷积层的已学习的滤波器)可包括在常规的语音识别(音位(phoneme))分类网络之下,以使得每个波束成形器输出被提供作为常规分类网络的输入并且可被用于预测音频事件标签。在一些方面,可以训练包括已训练的下层的语音识别网络以执行语音识别。例如,已训练的卷积滤波器的系数可以保持固定。使用音频事件训练标签作为输出以及将接收到的传感器数据作为输入,可以训练语音识别网络的其余层。以此方式,可以训练语音识别网络以结合语音或音频识别来执行波束成形。

图10解说了根据本公开的各方面的将递归神经网络(例如,长短期记忆(lstm))用于基于云的处理器上的处理的实现。如在图10中所示,例如,可以在第一阶段使用本地标签来训练lstm1000。在训练阶段期间,lstm可以接收诸如举例而言来自多通道输入pcm帧的输入。时间输入步(例如,xt-1、xt、xt+1)被提供给lstm1000的输入层。每个时步t处的输入可包括例如在一定时段上获取的七个话筒时域脉冲编码调制(pcm)样本(为了便于解说,图10中仅示出了四个输入节点)。对于每个时间帧,可以在隐藏层单元(例如,ht-1、ht、ht+1)中的每一者处确定隐藏状态并且该隐藏状态可被用于预测输出(例如,yt-1、yt、yt+1)。在一些方面,输出yt可以由yt=w×xt给出。在训练阶段期间,输出可以是已知或给定的并且被用于学习隐藏层的权重(例如,w,其中w可包括权重矩阵)。在先前隐藏层单元(例如,ht)处确定的权重w可以被提供给后续隐藏层单元(例如,ht+1)并且被用于计算后续隐藏层的状态以及预测对应的后续时步(例如,yt+1)处的输出。在一些方面,可以关于多话筒处理来训练/更新lstm的各层。各输出可包括通过将替换波束成形设计作为训练标签来获得的抵达方向(doa)或波束成形时步输出。如此,在训练阶段期间,lstm可以学习波束成形器。lstm1000(其架构例如是由单向或双向lstm单元的若干层来定义的),可随后使用跨越训练数据的时间范围的这些输入时步(例如,xt)和对应的训练标签(例如,n个doa或波束成形器输出标签)来训练。最后的已训练的lstm1000可以预测与多话筒输入对应的doa或经波束成形的输出。这样,已训练的lstm1000可以有效地模仿波束成形操作本身(其可以是非线性的)并且在不同的输出节点处产生空间辨别输出。

在第二阶段或操作阶段期间,可以移除训练标签(例如,doa或波束成形器标签层)。已训练的lstm1000可被包括在第二神经网络1050中,该第二神经网络1050可以例如包括卷积神经网络、dcn、或其他神经网络。第二神经网络1050可以比已训练的(第一)lstm大(例如,具有附加层)或比已训练的(第一)lstm更有特征(例如,较大的处理能力和/或存储器容量)。附加地,在第二阶段期间,事件层(例如,包括如在图10中所示的音频事件标签的音频事件目标层)可随后被用于训练包括已训练的lstm的第二神经网络。通过使用输入数据和给定的事件训练标签,第二神经网络1050可以被训练以识别训练数据(例如,音频事件标签)中的事件(例如,音频事件)。

在一个示例中,包括在第二神经网络1050中的已训练的lstm1000可接收多通道输入pcm帧(例如,xt-1、xt、xt+1)。输入可以被提供给隐藏层单元(例如,ht-1、ht、ht+1),权重w可被提供并用于确定每个时步处的隐藏状态。隐藏状态可进而被用于预测输出(例如,yt-1、yt、yt+1)。例如,输出中的每一者可包括与doa标签对应的多维矢量。输出yt(例如,doa标签)可被提供给第二神经网络1050的上层。第二神经网络1050的附加层可进而被用于解读已训练的lstm1000的输出。如在图10中所示,输出可被编群到缓冲器中。当然,这仅仅是示例性的,并且例如也可以使用其他层,诸如最大池化层。在缓冲层中,(例如,在每个时步处)可以确定最大或最高输出(例如,能量)。在一些方面,可以将最高输出传递到神经网络的后续层以供进一步处理,并且可以丢弃其他输出。每个时步处的最高输出可被认为是输出标签(例如,波束成形方向)。随后,这些最高输出标签可被传播到神经网络的上层并且被用于预测事件标签(例如,音频事件)。

在一个配置中,机器学习模型被配置用于接收从本地设备处的多个传感器获取的传感器数据。该模型还被配置用于接收使用本地配置信息在本地设备上计算出的空间信息标签。另外,该模型被配置用于基于空间信息标签和传感器数据来训练第一神经网络的下层。此外,该模型被配置用于将已训练的下层纳入到用于音频分类的第二较大神经网络中。此外,该模型被配置用于使用第一神经网络的已训练的下层来重新训练该较大神经网络。该模型包括用于接收传感器数据的装置、用于接收空间信息标签的装置、训练装置、纳入装置、和/或重新训练装置。在一个方面,用于接收传感器数据的装置、用于接收空间信息标签的装置、训练装置、纳入装置、和/或重新训练装置可以是配置成执行所叙述功能的通用处理器102、与通用处理器102相关联的程序存储器、存储器块118、局部处理单元202、和/或路由连接处理单元216。

在另一配置中,机器学习模型被配置用于接收本地设备的设备标识信息和从该本地设备处的多个传感器获取的传感器数据。该模型还被配置用于基于设备标识信息来设置神经网络的卷积滤波器。此外,该模型被配置用于在不重新训练神经网络的情况下基于传感器数据来预测音频事件分类。该模型包括接收装置、设置装置、和/或预测装置。在一个方面,接收装置、设置装置、和/或预测装置可以是配置成执行所叙述功能的通用处理器102、与通用处理器102相关联的程序存储器、存储器块118、局部处理单元202、和/或路由连接处理单元216。

在又一配置中,前述装置可以是配置成执行由前述装置所叙述的功能的任何模块或任何装置。

根据本公开的某些方面,每个局部处理单元202可被配置成基于模型的一个或多个期望功能特征来确定模型的参数,以及随着所确定的参数被进一步适配、调谐和更新来使这一个或多个功能特征朝着期望的功能特征发展。

图11解说了用于训练因设备而异的基于云的音频处理人工神经网络的方法1100。在框1102中,该过程接收从本地设备处的多个传感器获取的传感器数据。

在框1104中,该过程接收使用本地配置信息在本地设备上计算出的空间信息标签。各空间信息标签与所获取的传感器数据相关联。在一些示例性方面,各空间信息标签可包括本地设备传感器几何结构、抵达方向信息、前台后台分离信息、本地计算出的波束成形输出(例如,经波束成形的流)等。

在框1106中,该过程用空间信息标签和传感器数据来训练第一神经网络的下层。在一些方面,各下层可包括一个或多个卷积层。在框1108中,该过程将已训练的下层纳入到用于音频分类的第二神经网络中。在一些方面,该第二神经网络可以比第一神经网络大或包括更多特征(例如,增加的处理能力或存储器容量)。

在框1110中,该过程使用第一神经网络的已训练的下层来重新训练第二较大神经网络。该重新训练可包括仅重新训练第二神经网络或重新训练第一神经网络和第二神经网络。

在一些方面,该过程可以从本地设备接收用于波束成形滤波器的系数,以用于集成到卷积神经网络中。以此方式,该过程可以实现更高效和准确的源分离。

在一些方面,该过程可以进一步包括基于标签来将经波束成形的流与传感器数据分离。此外,音频分类可以基于经波束成形的流。

图12是解说用于基于云的处理的多媒体处理的方法1200的框图。在框1202中,该过程获取传感器数据。在框1204中,该过程使用本地配置信息来计算标签。各标签与所获取的传感器数据相关联。在一些方面,各标签可包括传感器几何结构信息、抵达方向信息、前台后台分离信息、本地计算出的波束成形输出(例如,经波束成形的流)等。在一些方面,可以通过将经波束成形的流与所获取的数据分离来计算标签。经波束成形的流可被用作所获取数据的标签。

在框1206中,该过程将标签发送到基于云的处理器。在框1208中,该过程从基于云的处理器接收分类结果。在框1210中,该过程基于分类结果来执行任务。

图13是解说用于基于云的处理的多媒体处理的方法1300的框图。在框1302中,该过程接收本地设备的设备标识信息和从该本地设备处的多个传感器获取的传感器数据。在框1304中,该过程基于设备标识信息来设置神经网络的卷积滤波器。此外,在框1306中,该过程在不重新训练神经网络的情况下基于传感器数据来预测音频事件分类。

在一些方面,该过程还可以接收本地设备的波束成形滤波器。在此方面,不是如上所述地(参照图11)训练或重新训练神经网络,该过程可以用接收到的波束成形滤波器来代替神经网络的卷积滤波器,而无需重新训练神经网络。

在一些方面,方法800、1100、1200、以及1300可由soc100(图1)或系统200(图2)来执行。即,举例而言但不作为限定,方法800、1100、1200、以及1300的每个元素可由soc100或系统200、或者一个或多个处理器(例如,cpu102和局部处理单元202)和/或其中所包括的其他组件来执行。在一些方面,方法800、1100、1200、以及1300可由soc420(图4)、或者一个或多个处理器(例如,cpu422)和/或其中包括的其他组件来执行。

以上所描述的方法的各种操作可由能够执行相应功能的任何合适的装置来执行。这些装置可包括各种硬件和/或(诸)软件组件和/或(诸)模块,包括但不限于电路、专用集成电路(asic)、或处理器。一般而言,在附图中有解说的操作的场合,那些操作可具有带相似编号的相应配对装置加功能组件。

如本文中所使用的,术语“确定”涵盖各种各样的动作。例如,“确定”可包括演算、计算、处理、推导、研究、查找(例如,在表、数据库或其他数据结构中查找)、探知及诸如此类。另外,“确定”可包括接收(例如接收信息)、访问(例如访问存储器中的数据)、及类似动作。此外,“确定”可包括解析、选择、选取、确立及类似动作。

如本文中所使用的,引述一列项目“中的至少一个”的短语是指这些项目的任何组合,包括单个成员。作为示例,“a、b或c中的至少一个”旨在涵盖:a、b、c、a-b、a-c、b-c、以及a-b-c。

结合本公开所描述的各种解说性逻辑框、模块、以及电路可用设计成执行本文中所描述的功能的通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列信号(fpga)或其他可编程逻辑器件(pld)、分立的门或晶体管逻辑、分立的硬件组件或其任何组合来实现或执行。通用处理器可以是微处理器,但在替换方案中,处理器可以是任何市售的处理器、控制器、微控制器、或状态机。处理器还可以被实现为计算设备的组合,例如,dsp与微处理器的组合、多个微处理器、与dsp核心协同的一个或多个微处理器、或任何其他此类配置。

结合本公开描述的方法或算法的步骤可直接在硬件中、在由处理器执行的软件模块中、或在这两者的组合中实施。软件模块可驻留在本领域所知的任何形式的存储介质中。可使用的存储介质的一些示例包括随机存取存储器(ram)、只读存储器(rom)、闪存、可擦除可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom)、寄存器、硬盘、可移动盘、cd-rom,等等。软件模块可包括单条指令、或许多条指令,且可分布在若干不同的代码段上,分布在不同的程序间以及跨多个存储介质分布。存储介质可被耦合到处理器以使得该处理器能从/向该存储介质读写信息。替换地,存储介质可以被整合到处理器。

本文中所公开的方法包括用于达成所描述的方法的一个或多个步骤或动作。这些方法步骤和/或动作可以彼此互换而不会脱离权利要求的范围。换言之,除非指定了步骤或动作的特定次序,否则具体步骤和/或动作的次序和/或使用可以改动而不会脱离权利要求的范围。

所描述的功能可在硬件、软件、固件或其任何组合中实现。如果以硬件实现,则示例硬件配置可包括设备中的处理系统。处理系统可以用总线架构来实现。取决于处理系统的具体应用和整体设计约束,总线可包括任何数目的互连总线和桥接器。总线可将包括处理器、机器可读介质、以及总线接口的各种电路链接在一起。总线接口可用于尤其将网络适配器等经由总线连接至处理系统。网络适配器可用于实现信号处理功能。对于某些方面,用户接口(例如,按键板、显示器、鼠标、操纵杆,等等)也可以被连接到总线。总线还可以链接各种其他电路,诸如定时源、外围设备、稳压器、功率管理电路以及类似电路,它们在本领域中是众所周知的,因此将不再进一步描述。

处理器可负责管理总线和一般处理,包括执行存储在机器可读介质上的软件。处理器可用一个或多个通用和/或专用处理器来实现。示例包括微处理器、微控制器、dsp处理器、以及其他能执行软件的电路系统。软件应当被宽泛地解释成意指指令、数据、或其任何组合,无论是被称作软件、固件、中间件、微代码、硬件描述语言、或其他。作为示例,机器可读介质可包括随机存取存储器(ram)、闪存存储器、只读存储器(rom)、可编程只读存储器(prom)、可擦式可编程只读存储器(eprom)、电可擦式可编程只读存储器(eeprom)、寄存器、磁盘、光盘、硬驱动器、或者任何其他合适的存储介质、或其任何组合。机器可读介质可被实施在计算机程序产品中。该计算机程序产品可包括包装材料。

在硬件实现中,机器可读介质可以是处理系统中与处理器分开的一部分。然而,如本领域技术人员将容易领会的,机器可读介质或其任何部分可在处理系统外部。作为示例,机器可读介质可包括传输线、由数据调制的载波、和/或与设备分开的计算机产品,所有这些都可由处理器通过总线接口来访问。替换地或补充地,机器可读介质或其任何部分可被集成到处理器中,诸如高速缓存和/或通用寄存器文件可能就是这种情形。虽然所讨论的各种组件可被描述为具有特定位置,诸如局部组件,但它们也可按各种方式来配置,诸如某些组件被配置成分布式计算系统的一部分。

处理系统可以被配置成通用处理系统,该通用处理系统具有一个或多个提供处理器功能性的微处理器、以及提供机器可读介质中的至少一部分的外部存储器,它们都通过外部总线架构与其他支持电路系统链接在一起。替换地,该处理系统可包括一个或多个神经元形态处理器以用于实现本文中所描述的神经元模型和神经系统模型。作为另一替换方案,处理系统可以用带有集成在单块芯片中的处理器、总线接口、用户接口、支持电路系统、和至少一部分机器可读介质的专用集成电路(asic)来实现,或者用一个或多个现场可编程门阵列(fpga)、可编程逻辑器件(pld)、控制器、状态机、门控逻辑、分立硬件组件、或者任何其他合适的电路系统、或者能执行本公开通篇所描述的各种功能性的电路的任何组合来实现。取决于具体应用和加诸于整体系统上的总设计约束,本领域技术人员将认识到如何最佳地实现关于处理系统所描述的功能性。

机器可读介质可包括数个软件模块。这些软件模块包括当由处理器执行时使处理系统执行各种功能的指令。这些软件模块可包括传送模块和接收模块。每个软件模块可以驻留在单个存储设备中或者跨多个存储设备分布。作为示例,当触发事件发生时,可以从硬驱动器中将软件模块加载到ram中。在软件模块执行期间,处理器可以将一些指令加载到高速缓存中以提高访问速度。可随后将一个或多个高速缓存行加载到通用寄存器文件中以供处理器执行。在以下述及软件模块的功能性时,将理解此类功能性是在处理器执行来自该软件模块的指令时由该处理器来实现的。此外,应领会,本公开的各方面产生对处理器、计算机、机器或实现此类方面的其它系统的机能的改进。

如果以软件实现,则各功能可作为一条或多条指令或代码存储在计算机可读介质上或藉其进行传送。计算机可读介质包括计算机存储介质和通信介质两者,这些介质包括促成计算机程序从一地向另一地转移的任何介质。存储介质可以是能被计算机访问的任何可用介质。作为示例而非限定,此类计算机可读介质可包括ram、rom、eeprom、cd-rom或其他光盘存储、磁盘存储或其他磁存储设备、或能用于携带或存储指令或数据结构形式的期望程序代码且能被计算机访问的任何其他介质。另外,任何连接也被正当地称为计算机可读介质。例如,如果软件是使用同轴电缆、光纤电缆、双绞线、数字订户线(dsl)、或无线技术(诸如红外(ir)、无线电、以及微波)从web网站、服务器、或其他远程源传送而来,则该同轴电缆、光纤电缆、双绞线、dsl或无线技术(诸如红外、无线电、以及微波)就被包括在介质的定义之中。如本文中所使用的盘(disk)和碟(disc)包括压缩碟(cd)、激光碟、光碟、数字多用碟(dvd)、软盘、和碟,其中盘(disk)常常磁性地再现数据,而碟(disc)用激光来光学地再现数据。因此,在一些方面,计算机可读介质可包括非瞬态计算机可读介质(例如,有形介质)。另外,对于其他方面,计算机可读介质可包括瞬态计算机可读介质(例如,信号)。上述的组合应当也被包括在计算机可读介质的范围内。

因此,某些方面可包括用于执行本文中给出的操作的计算机程序产品。例如,此类计算机程序产品可包括其上存储(和/或编码)有指令的计算机可读介质,这些指令能由一个或多个处理器执行以执行本文中所描述的操作。对于某些方面,计算机程序产品可包括包装材料。

此外,应当领会,用于执行本文中所描述的方法和技术的模块和/或其它恰适装置能由用户终端和/或基站在适用的场合下载和/或以其他方式获得。例如,此类设备能被耦合至服务器以促成用于执行本文中所描述的方法的装置的转移。替换地,本文中所描述的各种方法能经由存储装置(例如,ram、rom、诸如压缩碟(cd)或软盘等物理存储介质等)来提供,以使得一旦将该存储装置耦合至或提供给用户终端和/或基站,该设备就能获得各种方法。此外,可利用适于向设备提供本文中所描述的方法和技术的任何其他合适的技术。

将理解,权利要求并不被限于以上所解说的精确配置和组件。可在以上所描述的方法和装置的布局、操作和细节上作出各种改动、更换和变形而不会脱离权利要求的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1