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

用于使用神经网络的经编码数据的错误减少的系统

文献发布时间:2024-04-18 19:53:33


用于使用神经网络的经编码数据的错误减少的系统

相关申请的交叉参考

本申请主张2021年4月27日提交的第17/302,228号美国非临时申请的提交权益。本申请的全文以引用的方式且出于所有目的而并入本文中。

技术领域

本文中所描述的实例涉及用于减少经编码数据中的错误(例如,噪声)的神经网络,包含递归神经网络。描述可与错误校正编码(ECC)一起使用的神经网络的实例,其中神经网络可被用来通过估计经编码数据的错误减少版本来促进经编码数据的错误减少。

背景技术

错误校正编码(ECC)可被用于多种应用(例如存储器装置或无线基带电路系统)中。通常,错误校正编码技术可利用额外位对原始数据进行编码以描述意在被存储、检索及/或传输的原始位。额外位可连同原始位一起被存储。因此,可存在待存储及/或传输的原始数据的L个位。编码器可提供N-L个额外位,使得经编码数据可为值N个位的数据。原始位可被存储为原始位,或可由编码器改变以形成经编码的N个位的经存储数据。解码器可对N个位进行解码以检索及/或估计原始L个位,其可在一些实例中根据ECC技术进行校正。

另外,存储器装置可利用复杂的错误校正技术操作,其面积及功率要求正在上升;从而导致更高成本的硅及更长的固件开发时间。例如,对经编码数据进行解码的一些方面可能对存储器装置强加额外面积及功率要求。

非易失性存储器装置中可能发生位翻转(例如,存储器单元处的电荷变化)。经编码数据(例如,存储在降级的存储器单元中的若干个位的经编码数据)的位翻转将噪声引入到经编码数据,由此在经编码数据中引入错误。

发明内容

描述用于使用神经网络的经编码数据的错误减少的设备、系统及方法。一种实例设备包含:编码器,其经配置以根据编码技术提供经编码数据;及存储器,其经配置以存储所述经编码数据。所述实例设备进一步包含神经网络,所述神经网络经配置以从所述存储器接收包含至少一个错误位的所述经编码数据的存储版本且进一步经配置以在为从所述存储器检索的数据的错误减少而选择的一组预定权重当中混合所述经编码数据的所述存储版本。所述神经网络还经配置以估计所述经编码数据的错误减少版本。经配置以接收所述经编码数据的所述错误减少版本的解码器基于所述经编码数据的所述错误减少版本提供经解码数据。

一种实例方法包含在包括神经网络的计算装置处,接收经错误编码数据及根据编码技术编码的数据。所述经错误编码数据包含至少一个错误位。所述实例方法进一步包含对于所述神经网络确定使用根据所述编码技术编码的所述数据修改所述经错误编码数据的一组权重。

另一实例方法包含将在处理单元处接收的经编码数据的存储版本与多个系数混合。从存储器检索为数据的错误减少而选择的所述多个系数。所述混合所述经编码数据包含在多个乘法/累加处理单元(MAC单元)中的MAC单元的第一层处,将所述经编码数据的所述存储版本及MAC单元的所述第一层的相应输出的延迟版本与所述多个系数中的某些混合以产生第一处理结果。所述混合经编码数据进一步包含在所述多个MAC单元中的MAC单元的额外层处,将所述第一处理结果及所述第一处理结果的至少一部分的延迟版本与所述多个系数中的其它者混合以产生第二处理结果。部分地基于所述第二处理结果估计所述经编码数据的错误减少版本,使得所述经编码数据的所述错误减少版本是所述经编码数据相对于与所述编码技术相关联的编码器的输出的估计。

附图说明

图1A是根据本文中所描述的实例布置的ECC系统的示意说明。

图1B是根据本文中所描述的实例布置的存储器系统的实例的示意说明。

图1C是根据本文中所描述的实例布置的计算系统的示意说明。

图1D是根据本文中所描述的实例布置的神经网络的示意说明。

图1E是根据本文中所描述的实例布置的递归神经网络的示意说明。

图2A到2C是布置在根据本文中所描述的实例的系统中的处理电路系统的示意说明。

图3是根据本文中所描述的实例布置的设备的示意说明。

图4及5到根据本文中所描述的实例布置的方法的流程图。

图6是根据本公开的方面布置的无线通信系统的示意说明。

图7是根据本公开的方面布置的通信系统的示意说明。

具体实施方式

多层神经网络及/或多层递归神经网络可被用来对经编码数据(例如,使用一或多种编码技术编码的数据)进行解码。此类神经网络可具有非线性映射及分布式处理能力,这在采用神经网络解码器的许多系统中可为有利的。在本文中所描述的实例中,神经网络(NN)(举例来说,例如递归神经网络(RNN))可经训练以将有噪声的经编码数据变换为经编码数据的错误减少版本。经编码数据的错误减少版本可为在编码器的输出处提供的经编码数据的估计。编码器可利用编码技术,且所使用NN可与那种编码技术相关联。例如,与从存储器检索的经编码数据的位错误率(BER)或信噪比(SNR)相比较,经编码数据的错误减少版本可具有相应的降低的BER或提高的SNR。从存储器检索的经编码数据可能包含错误(例如,由在读取过程期间出现的位翻转引入的错误)。

有利地,经编码数据的错误减少版本可由解码器在减少错误的情况下进行解码。例如,错误减少NN可减少及/或改进可能由经编码数据中存在的噪声引入的错误。当将经编码数据存储在降级的存储器中时及/或当从存储器读取数据时,可能引入噪声。作为实例,在一些非易失性存储器装置中,位翻转可能使存储器存储能力降级。因此,错误减少NN可例如通过减少经编码数据中存在的噪声来促进经编码数据的解码,由此在对经编码数据的错误减少版本的解码之后减少经解码数据中的错误。

存在可根据本文中所描述的实例使用的各种特定错误校正编码技术,包含低密度奇偶校验编码(LDPC)、里德-索罗门编码、博斯-乔杜里-霍克恩海姆(BCH)及极性编码。然而,这些编码技术的使用可能以降低频率及/或通道及/或存储资源使用效率及提高处理复杂性为代价。例如,编码技术的使用可增加可(例如,在存储器系统内)存储及/或传达的数据量。频繁存储及/或传输经编码数据可增加经编码数据中存在的错误。经编码数据中存在的错误可被称为错误位,这是因为当经编码数据的存储版本的至少一部分经历噪声时,一或多个位可能在经编码数据的版本中被改变。例如,经编码数据的存储版本在被提供到解码器时可能包含错误位,这是因为经编码数据的存储版本在存储期间可能遭受噪声失真(例如,位翻转)或在通信(例如,往/返用于存储的存储器,或到解码器)期间可能经历噪声。因此,可能需要减少经编码数据的版本中的错误(例如,错误位),以促进对经编码数据的解码。

与对可能包含错误位的经编码数据的存储版本进行解码相比较,经编码数据的错误减少版本可在经解码数据中存在更少错误的情况下进行解码。有利地,经编码数据的错误减少版本的解码可提高处理速度(例如,用以对经编码数据进行解码的时间)或减少用于解码的计算/功率资源。因此,本文中所描述的系统及方法的实例可被用于高度期望超低功耗及超低延时的许多新兴应用(例如物联网(IoT)及/或触觉因特网)中。因此,需要提供可减少使用编码器及/或解码器的电子装置中的半导体面积及/或功率要求的错误减少NN。

图1A是根据本文中所描述的实例布置的ECC系统的示意说明。在ECC系统10中,编码器14可接收L个位的输入数据(a1,a2,...aL)12。任何数目个位可被用作L。作为ECC系统10的部分,编码器14可根据编码技术对输入数据进行编码以提供L个位的经编码数据作为输出代码(b1,b2,...bN)18。任何数目个位可被用作N-通常,N可大于L。例如,如图1A中所描绘,编码器14可接收一组L个输入数据位{0,1}且可将L个位编码成一组N个经编码数据{0,1}。在一些实施方案中,可存储及/或传输经编码数据,或对经编码数据采取一些其它动作,这可能将噪声引入到所述数据中。例如,在ECC系统10的电子装置实施方案中传输或传达经编码数据期间,在ECC系统10中作为信号传达的经编码数据可能由于电子装置中的电压或电流干扰而经历噪声。

继续参考图1A的ECC系统10,解码器24可接收N个位的经编码数据(x1,x2,...xN)的版本作为输入代码数据22。N个位的经编码数据(x1,x2,...xN)可对应于由编码器输出的N个位的经编码数据(b1,b2,...bN),但引入错误。错误可能因存储及/或从存储器检索及/或传输到解码器而引入。例如,在ECC系统10中从存储器传输到解码器期间,经编码数据可能例如由于将存储器耦合到解码器的总线上的电压或电流干扰而在所述总线上经历噪声。解码器24可将输入代码数据22解码成L位原始数据(a1,a2,...aL)的估计作为输出数据28(y1,y2,...yL)。例如,如图1A中所描绘,解码器24可接收一组N个输入经编码数据位{0,1}以将N个位解码为一组L个经解码数据{0,1}。

存储器装置或无线基带电路系统的实例可利用错误校正编码(例如低密度奇偶校验编码LDPC)。编码器14可将特定选择的N-L个位添加到L个位的原始数据中,这可允许解码器24对数据进行解码且减少及/或最小化因数据存储及传输中的噪声、干扰及/或其它实际因素引入的错误。

本文中所描述的实例利用神经网络(NN)(例如多层神经网络及/或多层递归神经网络(RNN))来减少N个位的经编码数据(x1,x2,...xN)中存在或引入的任何错误;使得NN提供经编码数据的错误减少版本的估计。由错误减少NN输出的经编码数据的错误减少版本是由编码器14输出的N个位的经编码数据(b1,b2,...bN)的估计。例如,与从存储器检索的经编码数据的错误率(BER)或信噪比(SNR)相比较,由NN作为经编码数据(b1,b2,...bN)的估计(例如,等效物)提供的经编码数据的错误减少版本可包含相应的BER的降低或SNR的提高。用来执行包含错误(例如,包含至少一个错误位)的经编码数据的错误减少的NN可经训练以将经检索的经编码数据变换为经编码数据的错误减少版本的估计。因此,在本文中所描述的实例实施方案中,包含错误减少RNN的错误减少NN可估计经编码数据的错误减少版本,以促进将经编码数据提供到解码器进行解码。

图1B是根据本文中所描述的实例布置的存储器系统50的实例的示意说明。存储器系统50包含耦合到存储器54(例如,存储器装置)的编码器52。编码器52可将经编码数据提供到存储器54以供存储及/或可经由存储器54将经编码数据传输到错误减少神经网络(NN)56。例如,编码器52可实施编码器14以输出N个位的经编码数据(b1,b2,...bN)。经编码数据可为根据编码技术(例如任何错误校正编码技术,包含LDPC编码、里德-索罗门编码、BCH编码或极性编码)编码的任何经编码数据。因此,编码器52可为用于任何类型的ECC编码的ECC编码器。

存储器54可将N个位的经编码数据(x1,x2,...xN)提供到错误减少NN 56。在所述实例中,由存储器54输出的N个位的经编码数据(x1,x2,...xN)代表由编码器52输出的N个位的经编码数据(b1,b2,...bN),但其中引入错误。例如,在从存储器54传输到错误减少NN56期间,经编码数据可能例如由于将存储器54耦合到编码器52的总线上的电压或电流干扰而在所述总线上经历噪声。作为另一实例,经编码数据可能例如由于将存储器54耦合到错误减少NN 56的存储器总线上的电压或电流干扰而在那些存储器总线上经历噪声。

另外或替代地,将N个位的经编码数据(b1,b2,...bN)存储在存储器54中可能会引入环境或其它噪声。因此,在将经编码数据存储在降级的存储器54中时可能引入噪声(例如,由于位翻转)。因此,从存储器54检索的经编码数据可被称为经编码数据的存储版本,其可能包含经编码数据的那个存储版本中存在的错误。例如,错误可为由于经编码数据的某些位在存储在存储器54中时被翻转而引起的错误位。因此,由于传输或存储或其它原因而在经编码数据中存在错误,错误减少NN 56接收N个位的经编码数据作为经编码数据(x1,x2,...xN)。

存储器系统50可进一步包含基于经编码数据的接收版本(x1,x2,...xN)估计经编码数据的错误减少版本(xr1,xr2,...xrN)的错误减少NN 56。从存储器54检索的经编码数据的这个接收版本可被称为经编码数据的存储版本。在所述实例中,错误减少NN56接收N个位的经编码数据(x1,x2,...xN)。因此,错误减少NN 56可接收包含例如因将N个位的经编码数据(b1,b2,...bN)存储在存储器54中及/或经由存储器54传输N个位的经编码数据(b1,b2,...bN)而存在的错误的经编码数据。错误减少NN 56可使用任何类型的神经网络(包含本文中所描述的递归神经网络的实例)来实施。通常,本文中所描述的神经网络可使用一或多个处理器及编码有指令的存储器来实施,所述指令在由(若干)处理器执行时实施神经网络。可训练神经网络,例如,可确定神经网络的权重及/或连接。可存储在训练期间确定的权重及/或连接(例如,存储在用来存储用于实施神经网络的指令的相同或不同存储器中)。

在所述实例中,基于经编码数据的存储版本及在错误减少NN 56的训练过程期间获取的权重,错误减少NN 56可估计经编码数据的错误减少版本(xr1,xr2,...xrN)。因此,错误减少NN 56可产生N个位的经编码数据(b1,b2,...bN)的估计。例如,经编码数据的错误减少版本(xr1,xr2,...xrN)的估计可等效于来自编码器52的输出及/或可比经检索噪声数据更接近来自编码器52的输出。以此方式,神经网络可被用来实施错误减少NN 56,所述错误减少NN 56已经训练以接收经编码数据且输出经编码数据的错误减少版本。在一些实例中,可使用特定编码技术关于数据训练神经网络(例如,神经网络可特定于编码技术)。有利地,与从存储器54检索的N个位的经编码数据(x1,x2,...xN)的位错误率(BER)或信噪比(SNR)相比较,错误减少NN 56的输出-N个位的(xr1,xr2,...xrN)-可包含相应的BER的降低或SNR的提高。因此,错误减少NN56可减少及/或改进可能由经编码数据中存在的噪声引入的错误。

错误减少NN 56可经训练以确定由错误减少NN 56使用的参数(例如,权重)以执行输入经编码数据与输出经编码数据的错误减少版本之间的特定映射。例如,训练神经错误减少NN 56可提供一组参数(例如,权重)以在减少已利用特定编码技术(例如,低密度奇偶校验编码(LDPC)、里德-索罗门编码、博斯-乔杜里-霍克恩海姆(BCH)及/或极性编码)编码的经编码数据中存在的错误(例如,由于其存储或传输)时使用。在各种实例中,错误减少NN56的训练可根据不同编码技术或特定于不同编码技术而变动,使得对于每一种编码技术训练不同组的参数。例如,可使用不同的已知的经错误编码数据及已知的经编码数据训练错误减少NN 56多次。多次训练可得到多组连接权重。例如,可对于多种编码技术中的每一者确定一组不同权重一例如,可确定与对经LDPC编码数据进行解码一起使用的一组权重,且确定与对经BCH编码数据进行解码一起使用的另一组权重。因此,在各种实施方案中,各组权重可对应于用来基于经编码数据的接收版本估计经编码数据的错误减少版本的权重,以促进例如在存在减少的错误的情况下提供经解码数据。在所述实例中,已知的经错误编码数据可为以与如何将数据提供到错误减少NN(例如,错误减少NN 56)类似的方式检索的数据。例如,已知的经错误编码数据可为从具有已知存储器缺陷的存储器54检索的数据(例如,N个位的经编码数据(x1,x2,...xN))。使用已知的经错误编码数据,可关于数据训练错误减少NN,使得错误减少NN 56一旦经训练就也可使用具有存储器缺陷的同一存储器54,但具有减少的错误。

存储器系统50可进一步包含ECC解码器58,所述ECC解码器58可能够针对由编码器52利用的任何类型的编码技术对数据进行解码。ECC解码器58可从错误减少NN56接收-经编码数据的错误减少版本-N位(xr1,xr2,...xrN)。ECC解码器58可根据ECC编码技术的对应解码过程对经编码数据的错误减少版本进行解码。基于经编码数据的错误减少版本,ECC解码器58可根据由ECC解码器58实施的解码技术提供经解码数据。在一些实例中,解码器58可包含迭代解码器,例如消息概率计算(MPC)电路系统。在所述实例中,ECC解码器58可实施一或多种消息传递技术来执行解码。有利地,与从存储器54检索的N个位的经编码数据(x1,x2,...xN)(其可能包含由于在存储或传达经编码数据期间引入的噪声而引起的错误位)相比较,经编码数据的错误减少版本(例如,N位(xr1,xr2,...xrN))可在经解码数据中存在更少错误的情况下进行解码。另外且有利地,由ECC解码器58对经编码数据的错误减少版本进行解码可提高处理速度(例如,用以对经编码数据进行解码的时间)或减少用于解码的计算/功率资源。因此,存储器系统50可被用于非常期望超低功耗及超低延时的许多新兴应用(例如物联网(IoT)及/或触觉因特网)中。

虽然在图1B的特定背景下进行描述,但一般来说,存储器系统50可包含任何数目个电路系统或组件来实施存储器系统50的方面,所述存储器系统50通常操作以对经编码数据的错误减少版本进行解码。

图1C是布置在根据本文中所描述的实例的系统100中的电子装置110的示意说明。电子装置110可经由网络120耦合到存储器140及/或可耦合到及/或包含存储器145,所述存储器140及所述存储器145中的每一者可存储系数数据。例如,系数数据可为用于神经网络或递归神经网络的权重。在本文中所描述的实例中,存储在存储器140或存储器145中的系数数据可包含可与由电子装置110接收的经编码数据混合的系数数据。经编码数据也可存储在存储器140或145中。电子装置110可从存储器140或存储器145获得经编码数据(例如,N个经编码输入位)以对待作为经解码输出数据输出的数据进行解码。

电子装置110还包含可与计算机可读媒体105交互的处理电路系统112,所述计算机可读媒体105可被编码有可由处理电路系统112执行的指令,例如可执行指令115。在一些实施方案中,计算机可读媒体105可被实施为存储器,其可包含存储媒体及通信媒体两者。实例计算机可读媒体105可包含以用于存储信息(例如计算机可读指令)的任何方法或技术实施的易失性及非易失性、可抽换及不可抽换媒体。计算机可读媒体105包含存储在其中的用于使神经网络基于经编码数据的接收版本(x1,x2,...xN)估计经编码数据的错误减少版本(例如,从错误减少NN 56输出的(xr1,xr2,...xrN))的可执行指令115。例如,可执行指令115可包含用以(例如,从存储器140或存储器145)选择某些系数数据且将所述系数数据作为权重存储在计算机可读媒体105的权重存储器118中的指令。可执行指令115可进一步包含用以将那些权重118提供到图2A到2C的乘法/累加单元及/或存储器查找单元中的一或多者的指令,其细节将在描述图1C到1E之后进行呈现。如本文中所使用,权重118可被称为多个系数(a plurality of coefficients/pluralities of coefficients)(例如,系数数据)。在一些实例中,存储在计算机可读媒体105中的权重118可被使用处理电路系统112实施的神经网络(例如,错误减少NN 56)用来例如通过减少由于经编码数据的存储或传输而在经编码数据中存在的错误来促进对与特定编码技术相关联的经编码数据进行解码。可执行指令115可包含用以基于所指示编码技术选择某些系数数据作为权重118的指令。例如,与经编码数据(例如,从存储器140或145获得)相关联的标头信息或另一旗标可指示与特定编码技术相关联(例如,根据特定编码技术训练)的权重。在所述实例中,可执行指令115可经执行以存储来自存储器140或存储器145的某些权重118。另外,当权重118被实施神经网络的处理电路系统112用来基于在错误减少NN处接收的经编码数据的版本(例如,从存储器检索的经编码数据的存储版本)估计经编码数据的错误减少版本时,可执行指令115可经执行以促进将经编码数据解码成经解码数据。

处理电路系统112可被用来实施错误减少NN(例如,错误减少NN 56)。处理电路系统112可使用一或多个处理器(例如,具有任何数目个核)来实施。在一些实例中,处理电路系统112可包含定制电路系统(例如,一或多个现场可编程门阵列及/或专用集成电路),及/或用于执行本文中所描述的功能的固件。处理电路系统112可包含用于执行如本文中所描述的所描述功能(例如,使神经网络例如基于经编码数据的接收版本估计经编码数据的错误减少版本)的乘法单元/累加单元。在一些实例中,处理电路系统112可使用微处理器或数字信号处理器(DSP)或其任何组合来实施。在一些实例中,处理电路系统112可包含若干级高速缓存,例如一级高速缓存及二级高速缓存、核及寄存器。实例处理器核可包含算术逻辑单元(ALU)、位操纵单元、乘法单元、累加单元、加法器单元、查找表单元、存储器查找单元或其任何组合。本文中例如参考图2A、2B或2C描述处理电路系统112的实例。

计算机可读媒体105可被编码有用于使神经网络在处理电路系统112处估计经编码数据的错误减少版本的可执行指令115。例如,在来自对存储器140或145的经编码数据进行解码的情况下,用于使神经网络估计经编码数据的错误减少版本的可执行指令115可包含用于以下操作的指令:从存储器140或145接收经编码数据;及例如通过在错误减少NN 56处估计经编码数据的错误减少版本来在处理电路系统112处将经接收的经编码数据变换成经编码数据的错误减少版本。例如,可执行指令115可包含用于接收经由网络120从存储器140检索或从存储器145检索的经编码数据的存储版本(例如,经编码数据的存储版本)的指令。经编码数据的存储版本可代表N个位的经编码数据(例如,x1,x2,...xN)。经编码数据的存储版本可能包含(若干)错误,例如举例来说因将N个位的经编码数据(b1,b2,...bN)存储在存储器140或145中及/或经由存储器140或145传输N个位的经编码数据(b1,b2,...bN)而引入的错误。

用于使神经网络估计经编码数据的错误减少版本的可执行指令115可进一步包含用于将经编码数据的接收版本的一部分与系数数据(例如,权重118)相乘以产生系数乘法结果且累加系数乘法结果以与经编码数据的另一部分及系数数据进一步相乘及累加的指令,所述指令的实例在本文中进行描述。例如,为了产生系数乘法结果,乘法/累加处理单元(MAC单元)的第一层可利用多个系数计算经编码数据的接收版本以产生此类系数乘法结果,或MAC单元的第一层的第一处理结果。在所述实例中继续,为了提供输出数据,MAC单元的额外层可利用多个额外系数计算第一处理结果以产生额外系数乘法结果,或MAC单元的额外层的第二处理结果。MAC单元的额外层中的最后一个层的MLU可基于第二处理结果提供经编码数据的错误减少版本的估计。因此,用于使神经网络估计经编码数据的错误减少版本的可执行指令115可包含用于不同类型的硬件实施方案的各种组可执行指令(例如图2A到2C中所展示的那些可执行指令),以实施利用系数数据(例如,权重118)的对经编码数据的接收版本的此计算。

用户接口114可利用数个输入装置中的任一者(包含但不限于触摸屏、键盘、鼠标、麦克风或其组合)来实施。用户接口114可接收来自用户的例如关于在处理电路系统112处对某些经编码数据进行解码的输入。用户接口114可将用户输入传达到计算机可读媒体105。实例用户接口114包含串行接口控制器或并行接口控制器,所述串行接口控制器或并行接口控制器可经配置以与外部输入装置(例如,键盘、鼠标、电子笔、语音输入装置、触摸输入装置等)通信。

网络120可包含有线网络或直接有线连接及无线媒体,例如声学、射频(RF)、微波、红外线(IR)及其它无线媒体。

(若干)存储器140及145(或计算机可读媒体105,如果被实施为存储器)可使用处理电路系统112可存取的任何存储媒体来实施。例如,RAM、ROM、固态存储器、快闪存储器、磁盘驱动器、系统存储器、光学存储装置或其组合可被用来实施计算机可读媒体105或(若干)存储器140及145。在将经编码数据存储在存储器140或145中时,可能在存储过程中引入环境或其它噪声。例如,在将经编码数据存储在降级的存储器140或145中时可能引入噪声(例如,由于位翻转)。因此,从(若干)存储器140或145接收的经编码数据可被称为有噪声的经编码数据或包含至少一个错误位的经编码数据。在一些实施方案中,计算机可读媒体105可存储本文中所描述的系数与特定编码技术之间的关联,例如,使得可执行指令115可利用所述关联来选择存储器140或145中的某些系数数据作为权重118。

电子装置110可使用多种计算系统中的任一者(包含但不限于一或多个台式计算机、服务器、膝上型计算机或其它计算机)来实施。电子装置110通常包含处理电路系统112。计算系统100可被实施为使用任何用户通信装置的移动通信装置,包含但不限于台式计算机、膝上型计算机、蜂窝电话、平板计算机、电器、汽车或其组合。电子装置110可被编程有用于使神经网络估计经编码数据的错误减少版本的应用(例如,可包含处理电路系统112及编码有指令115的计算机可读媒体105,所述指令115在被执行时致使电子装置110执行所描述的功能)。例如,电子装置110可经编程以从移动通信装置的触摸屏接收5G无线传输中接收的某些经编码数据待通过首先将经编码数据的接收版本传递通过在处理电路系统112处实施的错误减少NN(例如,错误减少NN 56)来解码的指示。在所述实例中,5G无线传输可能由于对5G无线传输的噪声或环境干扰而将错误引入到经传输的经编码数据。有利地,错误减少NN及/或RNN可例如通过减少经编码数据中存在的噪声来促进经由5G无线传输接收的经编码数据的解码,由此在对经编码数据的错误减少版本的解码之后减少经解码数据中的错误。

应理解,系统100的计算系统的布置可相当灵活,且尽管未展示,但应理解,系统100可包含许多电子装置110,所述电子装置110可经由网络120连接,可彼此结合操作以执行本文中所描述的系统及方法。在一些实例中,存储器145及/或存储器140可使用同一媒体来实施,且在其它实例中可使用不同媒体来实施。例如,虽然存储器140在图1C中被展示为耦合到网络120,但应明白,存储器140也可被实施电子装置110,作为计算机可读媒体105的部分。另外,虽然图1C中展示单个用户接口114,但应明白,电子装置110可进一步包含任何数目个输入装置、输出装置及/或外围组件。例如,用户接口114可为移动通信装置的接口。

图1D是根据本文中所描述的实例布置的神经网络的示意说明。神经网络150包含三个级(例如,层)。虽然图1D中展示三个级,但在其它实例中可使用任何数目个级。神经网络150的第一级包含节点168、节点169、节点172及节点174。神经网络150的第二级包含组合器152、组合器154、组合器156及组合器158。神经网络150的第三级包含组合器160、组合器162、组合器164及组合器166。在其它实例中,可使用额外、更少及/或不同组件。

通常,可使用包含多个级的节点的神经网络。所述节点可使用处理电路系统112来实施,所述处理电路系统112可对从前一级接收的输入执行一或多个函数且将所述函数的输出提供到神经网络的下一级。处理单元可使用例如一或多个处理器、控制器及/或定制电路系统(例如专用集成电路(ASIC)及/或现场可编程门阵列(FPGA))来实施。在一些实例中,处理单元可使用关于图2A到2C所描述的一或多个处理单元的任何组合来实施。在图2A到2C的背景下,神经网络150的实例实施方案的细节将在图2A到2C的描述中进行呈现。处理单元可被实施为用于执行分配给处理单元的功能的组合器及/或求和器及/或任何其它结构。在一些实例中,本文中所描述的神经网络的某些元件执行加权和,例如,可使用一或多个乘法/累加单元来实施,所述乘法/累加单元可使用(若干)处理器及/或其它电路系统来实施。在实例中,神经网络150可由电子装置110实施。

在图1D的实例中,神经网络150可具有输入层,所述输入层可为包含节点168、节点169、节点172及节点174的神经网络的第一级。若干节点(节点168、节点169、节点172及节点174)可实施线性函数,所述线性函数可将输入信号(例如,x1(n),x2(n),...xN(n))提供到神经网络的另一级(例如,‘隐藏级’或‘隐藏层’)。因此,在图1D的实例中,N个位的经编码数据(例如,经编码数据的接收或存储版本)可在操作期间被提供到神经网络的输入级(例如,输入层)。在一些实例中,输入数据可为根据编码技术(例如,低密度奇偶校验编码(LDPC)、里德-索罗门编码、博斯-乔杜里-霍克恩海姆(BCH)及/或极性编码)编码的数据。N个位的输入数据可由神经网络150的第一级输出到神经网络150的下一级。在一些实例中,神经网络150的第一级与第二级之间的连接可不被加权—例如,在一些实例中,第二级中的处理单元可从第一级接收不变位。所述输入位中的每一者可被提供到下一级中的处理单元中的多者。虽然展示输入层,但在一些实例中,输入层可能不存在。

若干节点(节点168、节点169、节点172及节点174)可例如使用位操纵单元来实施,所述位操纵单元可将信号x

神经网络150可具有下一层,其在一些实例中可被称为‘隐藏层’。下一层可包含组合器152、组合器154、组合器156及组合器158,但可使用任何数目个元件。虽然神经网络150的第二级中的处理元件被称为组合器,但通常第二级中的处理元件可使用在处理元件处接收的输入数据位执行非线性激活函数。组合器152、组合器154、组合器156及组合器158可例如使用包含基于非线性激活函数的非线性向量集(例如,中心向量)的乘法单元来实施。可使用任何数目个非线性激活函数。可使用的函数的实例包含高斯函数,例如

‘隐藏层’中的每一元件可接收输入数据的选定位(例如,一些或全部)作为输入。例如,‘隐藏层’中的每一元件可从输入层中的多个选定元件(例如,一些或所有元件)的输出接收作为输入。例如,‘隐藏层’中的每一元件可从输入层中的多个选定单元(例如,一些或所有单元)的输出接收作为输入。例如,组合器152可接收节点168、节点169、节点172及节点174的输出作为输入。虽然在图1D中以实例的方式展示单个‘隐藏层’,但可存在任何数目个‘隐藏层’且其可串联连接。虽然在‘隐藏层’中展示四个元件,但可使用任何数目,且它们在数目上可与输入层中的节点的数目及/或任何其它隐藏层中的节点的数目相同或不同。隐藏层中的节点可使用在隐藏层节点(例如,元件)处接收的数据的组合评估至少一个非线性函数。以此方式,隐藏层可在一或多个隐藏层的输出处提供中间数据。

神经网络150可具有输出层。图1D的实例中的输出层可包含组合器160、组合器162、组合器164及组合器166,但可使用任何数目个元件。虽然神经网络150的输出级中的处理元件被称为组合器,但通常输出中的处理元件可使用从神经网络中的最后一个‘隐藏层’接收的数据位执行任何组合或其它操作。输出层中的每一元件可接收由最后一个‘隐藏层’提供的数据的选定位(例如,一些或全部)作为输入。例如,组合器160可从组合器152、组合器154、组合器156及组合器158的输出接收作为输入。隐藏层与输出层之间的连接可被加权。例如,可指定一组权重W。在一些实例中,隐藏层节点与输出层节点之间的每一连接可存在一个权重。在一些实例中,每一隐藏层节点可存在可应用于由那个节点提供到每一经连接输出节点的数据的一个权重。也可使用其它权重分布。在隐藏层的输出被提供到输出层之前,所述权重可与所述输出相乘。以此方式,输出层可执行加权输入的和。因此,神经网络150的输出(例如,输出层的输出)可被称为加权和。输出层可相应地使用权重组合从一或多个隐藏层接收的中间数据以提供输出数据。

在一些实例中,神经网络150可被用来提供表示对应于N个输入位的经处理数据的N个输出位。例如,在图1D的实例中,展示N个输入位(x

可训练神经网络的实例。训练通常是指确定待由神经网络用于创建输入数据到输出数据的所期望变换的权重、函数及/或其它属性的过程。在一些实例中,本文中所描述的神经网络可经训练以将有噪声的经编码数据(例如,包含至少一个错误位的经编码数据的接收版本)变换为经编码数据的错误减少版本。在一些实例中,本文中所描述的神经网络可经训练以使用经编码数据的估计将有噪声的经编码数据变换为经编码数据的错误减少版本。例如,与经编码数据的接收版本(x1,x2,...xN)的位错误率(BER)或信噪比(SNR)的相比较,由神经网络150作为经编码数据(b1,b2,...bN)的估计(或等效物)提供的经编码数据的错误减少版本可包含相应的BER的降低或SNR的提高。

在各种实例中,如本文中所描述的训练可为有监督的或无监督的。在一些实例中,训练可使用已知的预期输入与所期望输出数据对来进行。例如,训练可利用已知的经编码数据及已知的经错误编码数据对来训练神经网络以将后续的经编码数据解码成经编码数据的错误减少版本。在一些实例中,训练可利用已知的经编码数据及已知的经错误编码数据对来训练神经网络以将后续有噪声的经编码数据解码成经编码数据的错误减少版本。训练的实例可包含确定待由神经网络(例如图1D的神经网络150)使用的权重。在一些实例中,在训练期间使用与将在操作期间使用的神经网络硬件相同的神经网络硬件。然而,在一些实例中,在训练期间可使用不同神经网络硬件,且在训练期间确定的权重、函数或其它属性可经存储以供其它神经网络硬件在操作期间使用。

训练的实例可以数学方式描述。例如,考虑在时刻(n)的输入数据,其被给定为:X(n)=[x

隐藏层中的每一元件的输出接着可被给定为:

h

最后一个隐藏层与输出层之间的连接可被加权。输出层中的每一元件可具有线性输入-输出关系,使得其可执行求和(例如,加权求和)。因此,输出层中的第i元件在时间n的输出可被写为:

对于(i=1,2,...,L)且其中L是输出层的输出的元件数目及W

通常,神经网络架构(例如,图1D的神经网络150)可包含数个元件且可具有分布在输入域中的中心向量,使得神经网络可逼近非线性多维函数,且因此可逼近正向映射两种数据类型之间的逆映射(例如,从N位输入经编码数据到经编码数据的N位输出错误减少版本)。通常,由隐藏层中的元件使用的传递函数的选择可能不会影响神经网络的映射性能,且因此,在一些实例中,可使用可方便地以硬件实施的函数。例如,薄板样条函数及/或高斯函数可被用于各种实例中且两者都可提供足够的逼近能力。也可使用其它函数。

神经网络的实例可相应地由属性(例如,参数)来指定。在一些实例中,两组参数可被用来指定神经网络:连接权重及中心向量(例如,阈值)。所述参数可通过求解优化函数而从选定输入数据(例如,经编码数据)确定。实例优化函数可被给定为:

其中M是经训练输入向量(例如,经训练的经编码数据输入)的数目且Y(n)是使用上述方程(1)及(2)从样本输入向量计算的输出向量,且

Y(n)=[y

各种方法(例如,梯度下降程序)可被用来求解优化函数。然而,在一些实例中,另一方法可被用来确定神经网络的参数,所述方法通常可包含两个步骤一(1)确定中心向量C

在一些实例中,中心向量可选自可用样本向量的子集。在此类实例中,(若干)隐藏层中的元件的数目可能相对较大以覆盖整个输入域。因此,在一些实例中,可能期望应用k均值聚类算法。通常,k均值聚类算法根据吸引子的自然量度分布中心向量(例如,如果数据点的密度较高,那么中心的密度也较高)。k均值聚类算法可找到一组集群中心且将训练样本划分成子集。每一集群中心可与这个网络中的H个隐藏层元件中的一者相关联。数据可以使得训练点被指派给具有最近中心的集群的方式进行划分。集群中心对应于优化函数的最小值中的一者。用于与k均值聚类算法一起使用的实例优化函数可被给定为:

其中B

可将每一集群的中心初始化为不同的随机选择的训练点。接着,可将每一训练实例指派给最接近其的元件。当已指派所有训练点时,可找到每一集群的训练点的平均位置且将集群中心移动到那个点。所述集群可变成隐藏层元件的所期望中心。

在一些实例中,对于一些传递函数(例如,高斯函数),可确定缩放因子σ,且可在确定连接权重之前确定所述缩放因子σ。可选择缩放因子来覆盖训练点以允许所期望网络输出的平滑拟合。通常,这是指处理元件中心的凸包内的任何点可显著地激活多于一个元件。为了实现这个目标,每一隐藏层元件可在很大程度上激活至少一个其它隐藏层元件。用以确定缩放参数σ的适当方法可基于P最近邻试探法,其可被给定为,

其中C

可另外或代替地在训练期间确定连接权重。在具有加权连接一个的隐藏层作为求和单元的输出元件的神经网络的实例(例如图1D的神经网络150)中,一旦已确定中心向量及缩放参数,方程(3)的优化函数就可变成线性最小二乘问题。线性最小二乘问题可被写为

其中W={Wij}是连接权重的LxH矩阵,F是隐藏层处理元件的输出的HxM矩阵且其矩阵元件使用F

其中是F

首先,可将连接权重初始化为任何值(例如,可使用随机值)。输出向量Y(n)可使用方程(2)来计算。可如下计算输出层中的每一输出元件的错误项e

/>

接着,可基于错误项调整连接权重,例如如下:

W

(i=1,2,...,..,L;j=1,2,...,..,M)

其中γ是可为固定或时变的学习率参数。

总错误可根据来自输出层的输出及所期望(已知)数据来计算:

可通过再次计算新输出向量、错误项且再次调整连接权重来迭代所述过程。所述过程可继续,直到识别出将错误减少到等于或小于阈值错误的权重。

因此,图1D的神经网络150可经训练以确定由神经网络150用来执行输入经编码数据与输出经编码数据的错误减少版本之间的特定映射的参数(例如,权重)。例如,训练神经网络150可提供用以在减少已利用特定编码技术(例如,低密度奇偶校验编码(LDPC)、里德-索罗门编码、博斯-乔杜里-霍克恩海姆(BCH)及/或极性编码)编码的经编码数据中存在的错误(例如,由于其存储或传输)时使用的一组参数(例如,权重)。可例如使用不同的已知输入/输出数据对训练神经网络150(及/或另一神经网络)多次。多次训练可得到多组连接权重。例如,可针对多种编码技术中的每一者确定一组不同权重-例如,可确定与对经LDPC编码数据进行解码一起使用的一组权重,且确定与对经BCH编码数据进行解码一起使用的另一组权重。因此,在各种实施方案中,各组权重可对应于用来基于经编码数据的接收版本估计经编码数据的错误减少版本的权重,以促进例如在存在减少的错误的情况下提供经解码数据。

回想一下,图1D的神经网络150的结构仅以实例的方式提供。在其它实例中可使用其它多层神经网络结构。例如,如下文关于图1E所描述,可如本文中所公开那样利用多层递归神经网络结构。此外,本文中所描述的训练程序也以实例的方式提供。例如,可使用其它训练技术(例如,学习算法)来解决局部最小值问题及/或消失梯度问题。可通过神经网络的离线学习模式来获得对于每一解码器确定的权重及/或向量,这可有利地提供更多源及数据。在一些实施方案中,例如如参考图2A到2C所描述,组合器(例如,组合器152、组合器154、组合器156及组合器158)的隐藏层可包含乘法/累加(MAC)单元,其中每一层具有额外MAC单元。已在相应处理元件(例如,相应MAC单元)中累加中间处理结果的此类实施方能还可包含经配置以检索多个系数且提供所述多个系数作为用于待与输入数据混合的MAC单元的相应层的连接权重(例如,经确定权重)的存储器查找(MLU)单元。

在监督学习的实例中,输入训练样本:[x

图1E是根据本文中所描述的实例布置的递归神经网络的示意说明。神经网络170包含三个级(例如,层):输入节点171;组合器级173及175;以及输出节点177。虽然图1E中展示三个级,但在其它实例中可使用任何数目个级,例如,如参考图2A到2C所描述。在图2A到2C的背景下,神经网络170的实例实施方案的细节将在图2A到2C的描述中进行呈现。在一些实施方案中,神经网络170可具有多个组合器级使得来自一个组合器级的输出被提供到另一组合器级,直到被提供到输出节点177为止。例如,如参考图2A所描述,在神经网络170中可存在多个组合器级。如图1E中所描绘,延迟单元175a、175b及175c可为神经网络170的任选组件。当如本文中所描述那样利用此类延迟单元175a、175b及175c时,神经网络170可被称为递归神经网络。

神经网络170的第一级包含输入节点171。输入节点171可在递归神经网络的各自输入处接收输入数据。在一些实例中,输入节点171可包含多个输入节点,例如图1E的输入节点168、节点169、节点172及节点174。神经网络170的第二级是组合器级,包含组合器单元173a、173b、173c;及延迟单元175a、175b、175c。因此,组合器单元173及延迟单元175可统称为组合器级。在一些实施方案中,组合器单元173a、173b及173c可对应于例如图1D的组合器152、组合器154及组合器156。因此,如关于图1C在处理电路系统112实施此类组合器的情况下所描述,通常实施第二级中的组合器单元173a到c及延迟单元175a到c的处理电路系统112可使用来自输入节点171的输入数据(例如,输入信号X

递归神经网络170包含延迟单元175a、175b及175c,所述延迟单元175a、175b及175c基于从相应组合器单元173a到c接收输出数据而产生来自相应组合器单元173a到c的此输出的延迟版本。在所述实例中,组合器单元173a到c的输出数据可被表示为h(n);且因此,延迟单元175a到c中的每一者延迟组合器单元173a到c的输出数据以产生来自组合器单元173a到c的输出数据的延迟版本,所述输出数据可被表示为h(n-t)。在各种实施方案中,延迟量t也可变动,例如一个时钟循环、两个时钟循环或一百个时钟循环。即,延迟单元175可接收时钟信号且利用所述时钟信号来识别延迟量。在图1E的实例中,延迟版本被延迟一个时间段,其中‘1’表示一时间段。时间段可对应于任何数目个时间单位,例如由时钟信号定义的时间段或由神经网络170的另一元件定义的时间段。

继续图1E的实例,每一延迟单元175a到c将来自组合器单元173a到c的输出数据的延迟版本作为输入提供到组合器单元173a到c,以任选地作为递归神经网络来操作。此类延迟单元175a到c可将来自组合器单元173a到c的节点的输出数据的相应延迟版本提供到组合器单元173a到c的相应输入单元/节点。在利用来自组合器单元173a到c的输出数据的延迟版本时,递归神经网络170可在组合器单元173a到c处训练并入待由此递归神经网络170处理的输入数据的时变方面的权重。在一些实例中,一旦经训练,输入节点171就接收待在递归神经网络170中处理的输入经编码数据。例如,每一输入数据流可对应于代表时间信号的一组不同的经获得的经编码数据。因为RNN 170并入来自组合器单元173a到c的输出数据的延迟版本,所以来自组合器单元173a到c的输出数据的延迟版本提供代表时间性质的反馈信息,其中RNN 170提供更快地解码的输出且RNN 170将那个时间性质并入到计算输出经解码数据中。在所述实例中,输出经解码数据可代表例如基于根据相关联编码技术编码的经编码数据的接收版本的对经编码数据的错误减少版本的估计。

通常,递归神经网络可包含多个级的节点。所述节点可使用处理电路系统112来实施,所述处理电路系统112可对从前一级接收的输入执行一或多个函数且将所述函数的输出提供到递归神经网络的下一级。处理单元可使用例如一或多个处理器、控制器及/或定制电路系统(例如专用集成电路(ASIC)及/或现场可编程门阵列(FPGA))来实施。在一些实例中,处理单元可使用关于图2A到2C所描述的处理电路系统112中的任一者来实施。处理单元可被实施为用于执行分配给处理单元的功能的组合器及/或求和器及/或任何其它结构。在一些实例中,本文中所描述的神经网络的某些元件执行加权和,例如,可使用一或多个乘法/累加单元来实施,所述乘法/累加单元可使用(若干)处理器及/或其它电路系统来实施。在实例中,神经网络170可由电子装置110利用关于图2A到2C所描述的一或多个处理单元的任何组合来实施。

递归神经网络训练及推理的实例可以数学方式描述。而且,作为实例,考虑在时刻(n)的输入数据,其被给定为:x(n)=[x

接着,隐藏层中的每一元件的输出可被给定为:

h

t可为延迟单元175处的延迟使得组合器单元173的输出包含组合器单元173的输出的延迟版本。在一些实例中,这可被称为组合器单元173的反馈。因此,最后一个隐藏层与输出层之间的连接中的每一者可被加权。输出层中的每一元件可具有线性输入-输出关系使得其可执行求和(例如,加权求和)。因此,输出层中的第i个元件在时间n的输出可被写为:

对于(i=1,2,...,L)且其中L是输出层的输出的元件数目及W

另外或替代地,尽管已关于包含组合器单元173a到c及延迟单元175a到c的组合器的单个级(例如,第二级)描述图1E,但应明白,类似组合器级的多个级可被包含在例如具有不同类型的组合器单元及带有不同延迟的不同类型的延迟单元的神经网络170中,如现在将参考图2A到2C所描述。此外,同一神经网络(例如,图1E的神经网络170)可被用来通过选择通过针对所采用的特定错误校正技术的训练而获得的不同权重来促进对来自多个错误校正编码器中的任一者的经编码数据的解码。在所述实例中,不同权重可对应于用来基于所采用的特定错误校正技术的经编码数据的接收版本估计经编码数据的错误减少版本的特定权重。以此方式,递归神经网络可充当用于多种编码器类型的错误减少递归神经网络(例如,错误减少NN 56),如同神经网络150。在实例实施方案中,递归神经网络170可被用来实施错误减少NN 56。有利地,递归神经网络170利用来自组合器单元173a到c的输出数据的延迟版本,来提供代表时间性质的反馈信息。因而,例如与神经网络150相比较,RNN 170可提供利用RNN 170更快地解码的输出数据。例如,如果特定编码技术在存储在存储器140或存储器145中期间易受噪声影响(例如,位翻转),那么待由RNN 170解码的经获得的经编码数据可包含对经获得的经编码数据产生时变影响的噪声(例如,时间性质)。因此,包含在输出数据的延迟版本中的反馈信息可改进RNN 170的效率(例如,与神经网络150相比较),以例如在使用基于与编码技术相关联的经接收版本经编码数据的对经编码数据的错误减少版本的预测时减少经编码数据中存在的错误。有利地,与经编码数据的接收版本(x1,x2,...xN)的位错误率(BER)或信噪比(SNR)相比较,由RNN 170作为经编码数据(b1,b2,...bN)的估计(例如,等效物)提供的经编码数据的错误减少版本可包含相应的BER的降低或SNR的提高。

图2A是布置在根据本文中所描述的实例的系统200中的处理电路系统112的示意说明。此硬件实施方案(例如,系统200)可被用来例如实施一或多个神经网络,例如图1B的错误减少NN 56、图1D的神经网络150或图1E的递归神经网络170。另外或替代地,在一些实施方案中,处理电路系统112可从此计算系统接收输入数据210a、210b及210c。输入数据210a、210b及210c可为从传感器获得的经编码数据或存储在存储器145中的数据。因此,所获得的输入数据可为被提供到处理单元的输入级(例如,输入层)的N个位的有噪声的经编码数据,其中输入数据210a X

处理电路系统112可对电子装置110处的经接收的经编码数据实施错误减少功能性或估计操作以便输出经编码数据的错误减少版本的估计(例如,B(1)230)。在各种实施方案中,处理电路系统112可实施错误减少NN,例如图1B中所描绘的错误减少NN 56。因此,实施错误减少NN的图2A的处理电路系统112可被称为递归神经网络。

另外或替代地,在一些实施方案中,由于在将经编码数据存储在存储器140或存储器145中期间经历的噪声(例如,位翻转),输入数据可能是有噪声的。例如,可获得存储在存储器140或存储器145中的经编码数据作为待提供到其中实施处理电路系统112的电子装置110的输入数据。

处理电路系统112可包含当与从存储器145获得的输入数据混合时可产生输出数据(例如B(1))230的乘法单元/累加(MAC)单元212a到c、216a到b及220;延迟单元213a到c、217a到b及221;以及存储器查找单元(MLU)214a到c、218a到b及222。具有不同元件数目的每一组MAC单元及MLU单元可被称为处理电路系统112的组合器的相应级。例如,组合器的第一级包含结合延迟单元213a到c操作以形成第一级或“层”的MAC单元212a到c及MLU 214a到c,如参考具有作为各种组合器级的“隐藏”层的图1D。在所述实例中继续,组合器的第二级包含结合延迟单元217a到b操作以形成隐藏层的第二级或第二层的MAC单元216a到b及MLU218a到b。且组合器的第三级可为包含结合延迟单元221操作以形成隐藏层的第三级或第三层的MAC单元220及MLU 222的单个组合器。

例如,在图1D的神经网络150的背景下,处理电路系统112的组合器的第一级—包含结合延迟单元213a到c操作的MAC单元212a到c及MLU 214a到c—可对应于组合器152、组合器154、组合器156及组合器158,其是神经网络150的第二级。在所述实例中继续,如关于神经网络150所描述,在各种实施例中其可包含额外级或隐藏层,使得组合器160、组合器162、组合器164或组合器166对应于图2A的单个组合器,包含MAC单元220及MLU 222。类似地,在图1E的递归网络170的背景内的实例中,处理电路系统112的组合器的第一级—包含结合延迟单元213a到c操作的MAC单元212a到c—可对应于递归神经网络170的组合器级,其包含组合器单元173a、173b、173c;及延迟单元175a、175b、175c。

在输入数据被处理成经编码数据的错误减少版本的实例中,在一些实例中,输出数据230B(1)可为经编码数据的错误减少版本的估计。在操作中,处理电路系统112可实施用于使神经网络基于存储在计算机可读媒体105中的经编码数据估计经编码数据的错误减少版本的可执行指令115,以致使处理电路系统112配置乘法单元212a到c、216a到c及220以将输入数据210a、210b及210c以及来自延迟单元213a到c、217a到b及221的处理结果的延迟版本(例如,MAC单元的相应层的相应输出)与系数数据相乘及/或累加以产生输出数据230B(1)。例如,可执行指令115可致使存储器145将存储在存储器145中的权重及/或其它参数作为用于MAC单元212a到c、216a到b及220以及延迟单元213a到c、217a到b及221的权重提供到MLU 214a到c、218a到b及222,所述权重及/或其它参数可与某种编码技术相关联。因此,在操作期间,处理电路系统112可实施可执行指令115以基于经接收的经编码数据的所指示编码技术从存储器145选择某些系数数据(例如,多个系数)作为权重。

在执行用于使神经网络估计经编码数据的错误减少版本的此类指令115的实例中,指令115可包含在MAC单元212a到c及MLU 214a到c的第一层处将经编码数据与多个系数或权重混合(例如,作为权重118存储在计算机可读媒体105中),乘法单元/累加单元212a到c经配置以将来自对应输入数据210a、210b或210c的至少两个操作数与来自相应延迟单元213a到c的操作数相乘及累加以产生提供到MLU 214a到c的乘法处理结果。例如,乘法单元/累加单元212a到c可执行乘法-累加运算,使得三个操作数M、N及T相乘且接着与P相加以产生存储在其相应MLU 214a到c中的P的新版本。因此,MLU 214a锁存乘法处理结果,直到经存储乘法处理结果被提供到MAC单元的下一层为止。MLU 214a到c、218a到b及222可由作为存储器查找单元来操作的任何数目个处理元件(例如D、T、SR及/或JK锁存器)来实施。

图2A中所展示的MLU 214a到c、218a到b及222通常可执行从输入到输出的预定非线性映射。例如,MLU 214a到c、218a到b及222可被用来评估至少一个非线性函数。在一些实例中,所描绘的各种MLU 214a到c、218a到b及222的内容及大小可不同且可为预定的。在一些实例中,图2A中所展示的MLU 214a到c、218a到b及222中的一或多者可由单个合并MLU(例如,表查找)来替换。可由MLU 214a到c、218a到b及222执行的非线性映射(例如,函数)的实例包含高斯函数、分段线性函数、S型函数、薄板样条函数、复二次函数、三次逼近及逆复二次函数。函数的实例也已参考图1D进行描述。在一些实例中,选定MLU 214a到c、218a到b及222可被绕过及/或可被取消激活,这可允许MLU及其相关联MAC单元被认为是单位增益元件。

另外,在所述实例中,MLU 214a将处理结果提供到延迟单元213a。延迟单元213a延迟处理结果(例如,h

在递归神经网络的第一隐藏层的实例中,MLU 214a到c可检索存储在存储器145中的系数数据,所述系数数据可为与待应用于MAC单元的第一层以应用于来自当前时段的数据及来自前一时段的数据(例如,第一层处理结果的延迟版本)两者的权重相关联的权重。例如,MLU 214a可为检索待应用于操作数M及N两者的一或多个系数以及待应用于操作数T的额外系数的查找表。MLU 214a到c还将经产生乘法处理结果提供到MAC单元216a到b及MLU218a到b的下一层。分别结合MLU 218a、218b及MLU222工作的MAC单元216a、216b及MAC单元220的额外层可继续处理乘法结果以产生输出数据230B(1)。使用此电路系统布置,可从输入数据210a、210b及210c产生输出数据230B(1)。

有利地,例如与图2B的处理电路系统112相比较,系统200的处理电路系统112可利用减少数目个MAC单元及/或MLU。每一后续层可具有MAC单元、延迟单元及MLU的减少部分。如所描绘,例如在图2A中,当m=3时,MAC单元216a到b、延迟单元217a到b及MLU 218a到b的第二层可包含m-1个MAC单元及MLU。因此,包含MAC单元220、延迟单元221及MLU 222的处理电路系统112中的最后一个层仅包含一个MAC、一个延迟单元及一个MLU。

例如来自存储器145的多个系数可与输入数据210a到210c及处理结果的延迟版本混合以产生输出数据230B(1)。例如,基于输入数据210a到c及处理结果的延迟版本的多个系数与输出数据230B(1)的关系可被表示为:

其中a

乘法单元/累加单元212a到c、216a到b及220中的每一者可包含多个乘法器、多个累加单元及/或多个加法器。乘法单元/累加单元212a到c、216a到b及220中的任一者可使用ALU来实施。在一些实例中,乘法单元/累加单元212a到c、216a到b及220中的任一者可包含各自分别执行多次乘法及多次加法的一个乘法器及一个加法器。乘法/累加单元212a到c、216a到b及220的输入-输出关系可被表示为:

其中“I”表示将在那个单元中执行乘法的次数,C

虽然在图2A中被描述为将错误减少NN 56实施为递归神经网络的处理电路系统112,但应明白,本文中所描述的处理电路系统112可基于经编码数据的接收版本估计经编码数据的错误减少版本,例如,如在任何递归神经网络中实施,或执行错误减少NN(例如,错误减少NN 56)的任何错误减少功能性。

图2B是布置在根据本文中所描述的实例的系统250中的处理电路系统112的示意说明。此硬件实施方案(例如,系统250)可被用来例如实施一或多个神经网络,例如图1B的错误减少NN 56、图1D的神经网络150或图1E的递归神经网络170。处理电路系统112可对电子装置110处的经接收的经编码数据实施错误减少功能性或估计操作以便输出经编码数据的错误减少版本的估计(例如,B(1)275a、B(2)275b、…B(n)275c)。在各种实施方案中,处理电路系统112可实施错误减少神经网络,例如图1B中所描绘的错误减少NN 56。因此,实施错误减少NN 56的图2B的处理电路系统112可被称为递归神经网络。

另外或替代地,在一些实施方案中,处理电路系统112可从计算系统接收输入数据210a、210b及210c。图2B的类似描述元件可如关于图2A所描述那样操作,但也可包含关于图2B所描述的额外特征。例如,图2B描绘可如关于图2A的MAC单元212a到c及延迟单元213a到c所描述那样操作的MAC单元262a到c及延迟单元263a到c。因此,其数字指示符相对于图2A偏移50的图2B的元件类似地包含处理电路系统112的元件;例如,MAC单元266a相对于MAC单元216a类似地操作。包含处理电路系统112的系统250还包含图2A的处理电路系统112中未突显的额外特征。例如,图2B的处理电路系统112另外包含MAC单元266c及270b到c;延迟单元267c及271b到c;以及MLU 268c及272b到c,使得输出数据被提供为275a到c,而不是在图2A中单独地提供为B(1)230。有利地,包含处理电路系统112的系统250可处理输入数据260a到c以按更高精度产生输出数据275a到c。例如,输出数据275a到c可利用在MLU 268c处检索且由额外MAC单元266c及270b到c以及额外延迟单元267c及271b到c相乘及/或累加的额外系数来处理输入数据260a到260c。例如,此额外处理可得到在提供作为经编码数据的错误减少版本的估计的输出数据方面更精确(例如,与从图2A的处理电路系统112获得的输出数据相比较)的输出数据。在其中板空间(例如,印刷电路板)不是设计中的主要因素的实施方案中,与图2A的处理电路系统112的实施方案相比较,图2B的处理电路系统112的实施方案可能是期望的;其在一些实施中由于具有比图2B的处理电路系统112更少的元件而可占据更少的电路板空间。

虽然处理电路系统112在图2A及2B的背景下被描述为单个处理电路系统112,但所述特征也可在图1C的处理电路系统112中实施,使得图2A或2B中的单个处理电路系统112的描述可互换为如贯穿本文中所描述的实例实施的处理元件。因此,应明白,虽然在图2A或2B中提及单个处理电路系统112,但如同图1C,电子装置110可具有多个处理电路系统112,以具有与如关于图2A或2B的单个处理电路系统112所描述相同的特征。

例如,在图1D的神经网络150的背景下,处理电路系统112的组合器的第一级—包含结合延迟单元263a到c操作的MAC单元262a到c及MLU 264a到c—可对应于组合器152、组合器154、组合器156及组合器158,其是神经网络150的第二级。在所述实例中继续,如关于神经网络150所描述,在各种实施例中其可包含额外级或隐藏层,使得组合器160、组合器162、组合器164或组合器166对应于结合延迟单元271a到c操作的MAC单元270a到c及MLU272a到c。类似地,在图1E的递归网络170的背景内的实例中,处理电路系统112的组合器的第一级—包含结合延迟单元263a到c操作的MAC单元262a到c—可对应于递归神经网络170的组合器级,其包含组合器单元173a、173b、173c;及延迟单元175a、175b、175c。

图2C是布置在根据本文中所描述的实例的系统280中的处理电路系统112的示意说明。此硬件实施方案(例如,系统280)可被用来例如实施一或多个神经网络,例如图1B的错误减少NN 56、图1D的神经网络150或图1E的递归神经网络170。处理电路系统112可对电子装置110处的经接收的经编码数据实施错误减少功能性或估计操作以便输出经编码数据的错误减少版本的估计(例如,B(1)295a、B(2)295b、…B(n)295c)。在各种实施方案中,处理电路系统112可实施错误减少神经网络,例如图1B中所描绘的错误减少NN 56。因此,实施错误减少NN 56的图2C的处理电路系统112可被称为递归神经网络。

另外或替代地,在一些实施方案中,处理器电路系统112可被实施为图1C实例中的处理电路系统112。除了图2B的延迟单元263a到c、267a到c及271a到c之外,图2C的类似描述元件可如关于图2B所描述那样操作。例如,图2C描绘可如关于图2B的MAC单元262a到c及延迟单元263a到c所描述那样操作的MAC单元282a到c及延迟单元283a到c。因此,其数字指示符相对于图2B偏移20的图2C的元件类似地包含处理电路系统112的元件;例如,MAC单元286a相对于MAC单元266a类似地操作。

包含处理电路系统112的系统280还包含图2B的处理电路系统112中未突显的额外特征。与图2B不同,图2C描绘延迟单元283a、283b及283c。因此,图2C的处理单元说明处理电路系统112可包含用以放置延迟单元的输入及输出的不同布置,如对于延迟单元283a、283b及283c所说明。例如,MLU 288b的输出可被提供到延迟单元283b,以产生来自MAC单元的第二层的那个处理结果的延迟版本,作为MAC单元的第一层的输入,例如,作为MAC单元282b的输入。因此,与图2B中的系统250的处理电路系统112不同,系统280的处理电路系统112说明处理结果的延迟版本可作为输入提供到其它隐藏层,图2展示相应延迟版本作为输入提供到其中产生那些延迟版本的同一层(例如,MLU 268b的输出被提供到延迟单元267b,以产生用于从其输出处理结果的同一层中的MAC单元266b的延迟版本)。因此,在所述实例中,甚至输出B(n)295c也可从最后一个隐藏层被提供到第一隐藏层(例如,作为MAC单元282c的输入)。

有利地,例如,与图2A或2B的处理电路系统112相比较,可作为输入提供到不同或额外隐藏层的处理结果的此类延迟版本可更好地补偿实施图2C的处理电路系统112的递归神经网络170中的“高阶”存储器效应。例如,高阶存储器效应对在递归神经网络170的训练期间使用的超前及滞后包络信号的效应进行建模,以将处理电路系统112处的经获得的有噪声的经编码数据变换成经编码数据的错误减少版本的估计。存储在存储器140或存储器145中的具有噪声(例如,位翻转)或存储期间经历的其它噪声(例如,散粒或电压噪声)的经接收的经编码数据可为待例如部分地由递归神经网络170解码从而提供经编码数据的错误减少版本的估计的有噪声的经编码数据。在所述实例中,估计输出数据的递归神经网络170可包含对应于(例如,囊封(若干)噪声的各种包络)的此类超前及滞后包络的处理结果的不同延迟版本。因此,实施处理电路系统112并入此类高阶存储器效应,例如,用于推断递归神经网络170,以基于输入数据281a到c提供经编码数据的错误减少版本作为输出数据295a到c。

虽然处理电路系统112在图2A、2B及2C的背景下被描述为单个处理电路系统112,但所述特征也可在图1C的处理电路系统112中实施,使得在图2A、2B及2C中对单个处理电路系统112的描述可在任何处理电路系统中互换,如贯穿本文中所描述的实例所实施。因此,应明白,虽然在图2A、2B、2C中提及单个处理电路系统112,但如同图1C,电子装置110可具有多个处理电路系统112,以具有与关于图2A、2B或2C的单个处理电路系统112所描述相同的特征。

虽然在图2A、2B及2C中描述为将错误减少NN 56实施为递归神经网络的处理电路系统112,但应明白,本文中所描述的处理电路系统112可基于经编码数据的接收版本估计经编码数据的错误减少版本,例如,如在任何递归神经网络中实施,或执行错误减少NN(例如,错误减少NN 56)的任何错误减少功能性。在实例实施方案中,多个处理电路系统112(例如,图2A到2C中所描绘的任何处理电路系统112中的一或多者)经配置以接收经编码数据且产生经编码数据的错误减少版本的估计(xr1,xr2,...xrN)。有利地,经编码数据集的错误减少版本的估计等效于来自与编码技术相关联的编码器的输出(例如,由编码器52输出的N个位的经编码数据(b1,b2,...bN))。因此,处理电路系统112可在实施错误减少NN(例如,错误减少NN 56)以减小经编码数据的接收版本中存在的错误时促进对经编码数据的解码。例如,与经编码数据的接收版本(x1,x2,...xN)的位错误率(BER)或信噪比(SNR)相比较,由多处理电路系统112作为经编码数据(b1,b2,...bN)的估计(例如,等效物)提供的经编码数据的错误减少版本可包含相应的BER的降低或SNR的提高。

图3是根据本公开的实施例的设备300(例如,集成电路、存储器装置、存储器系统、电子装置或系统、智能电话、平板计算机、计算机、服务器、电器、车辆等)的示意说明。设备300通常可包含主机302及存储器系统304。

主机302可为主机系统,例如个人膝上型计算机、台式计算机、数码相机、移动电话或存储卡读卡器,以及各种其它类型的主机。主机302可包含数个存储器存取装置(例如,数个处理器)。主机302也可为存储器控制器,例如其中存储器系统304是存储器装置(例如,具有裸片上控制器的存储器装置)。

存储器系统304可为固态驱动器(SSD)或其它类型的存储器,且可包含主机接口306、控制器308(例如,处理器及/或其它控制电路系统)及数个存储器装置316。存储器系统304、控制器308及/或存储器装置316也可单独地被视为“设备”。存储器装置316可包含可为存储器系统304提供存储卷的数个固态存储器装置,例如NAND快闪装置。也可使用其它类型的存储器。

控制器308可经由多个通道耦合到主机接口306及存储器装置316以在存储器系统304与主机302之间传送数据。接口306可为呈标准化接口的形式。例如,当存储器系统304被用于设备300中的数据存储时,接口306可为串行高级技术附件(SATA)、外围组件互连快速(PCIe)或通用串行总线(USB),以及其它连接器及接口。一般来说,接口306提供用于在存储器系统304与具有用于接口306的兼容接受器的主机302之间传递控制、地址、数据及其它信号的接口。

控制器308可与存储器装置316(其在一些实施例中可包含单个裸片上的数个存储器阵列)通信以控制数据读取、写入及擦除操作,以及其它操作。控制器308可包含用于将控制器308耦合到存储器装置316的每一通道(图3中未展示)的离散存储器通道控制器。控制器308可包含呈硬件及/或固件(例如,一或多个集成电路)及/或软件的形式的用于控制对存储器装置316的存取及/或用于促进主机302与存储器装置316之间的数据传送的数个组件。

控制器308可包含用于使用一或多种编码技术对写入到存储器装置316的数据位进行编码的ECC编码器310。ECC编码器310可包含单奇偶校验(SPC)编码器及/或代数错误校正电路,例如包含博斯-乔杜里-霍克恩海姆(BCH)ECC编码器及/或里德-索罗门ECC编码器的群组中的一者,以及其它类型的错误校正电路。因此,ECC编码器310可基于由控制器308例如针对主机302实施的操作将经编码数据存储或提供到存储器装置316。在存储或传输由ECC 310输出的经编码数据期间,与存储器控制器308相关或来自存储器控制器308的噪声可能被引入到经编码数据中。例如,在存储器系统304中传输或传达经编码数据期间,通过总线从ECC编码器310传达到存储器装置316的经编码数据可能由于存储器控制器308或更一般地存储器系统304中的电压或电流干扰而经历噪声。因此,存储在存储器装置316中的经编码数据可代表N个位的经编码数据(x1,x2,...xN)的版本(例如,作为来自图1A的编码器14的输出)。

控制器308可进一步包含错误减少神经网络(NN)312及用于对经编码数据进行解码的ECC解码器314。错误减少NN 312与ECC解码器314可结合操作以促进基于来自ECC编码器310的经编码数据(无论是存储在存储器装置316中还是从ECC编码器310接收)将经解码数据直接提供到错误减少NN 312的输入。在实例实施方案中,图3的类似命名元件(错误减少NN 312及ECC解码器314)可如关于图1B的类似命名元件(例如,错误减少NN 56及ECC解码器58)所描述那样操作,但也可包含关于图3所描述的额外特征。

在存储器系统304中,控制器308可执行存储器命令,使得存储在存储器装置316中的经编码数据被检索及解码。在实例实施方案中,存储器装置316可例如包含可从存储器装置316的存储器单元读取经编码数据的一或多个输出缓冲器。输出缓冲器可提供输出数据,所述输出数据可作为经编码数据提供到错误减少NN 312。例如,一旦在错误减少NN 312处作为经编码数据的版本被接收,错误减少NN 312与ECC解码器314就可结合操作以促进提供经解码数据。在从存储器装置316传输到错误减少NN 312期间,经编码数据可能例如由于将存储器装置316耦合到错误减少NN 312的总线上、存储器控制器308中或更一般地存储器系统304中的电压或电流扰动而在所述总线上经历噪声。

另外或替代地,关于经编码数据中的噪声,将N个经编码数据(b1,b2,...bN)存储在存储器装置316中可能引入环境或其它噪声。例如,在将经编码数据存储在降级的存储器装置316中时可能引入噪声(例如,由于位翻转)。因此,从存储器装置316检索的经编码数据可被称为经编码数据的存储版本,其可包含经编码数据的那个存储版本中存在的错误。例如,错误可为由于经编码数据的某些位在存储在存储器装置316中时被翻转而引起的错误位。

在所述实例中,基于经编码数据的接收版本及在错误减少NN 312(例如,被训练为错误减少NN 56)的训练过程期间获得的权重,错误减少NN 312估计经编码数据的错误减少版本(xr1,xr2,...xrN)。因此,错误减少NN 312产生经编码数据的N位(b1,b2,...bN)的估计。例如,经编码数据的错误减少版本(xr1,xr2,...xrN)的估计可等效于来自ECC编码器310的输出。以此方式,神经网络可被用来实施已经训练以接收经编码数据且输出经编码数据的错误减少版本的错误减少NN 312。有利地,与从存储器装置316检索的经编码数据的N位(x1,x2,...xN)的位错误率(BER)或信噪比(SNR)相比较,错误减少NN 312的输出-N位(x1,x2,...xN)-可包含相应的BER的降低或SNR的提高。因此,错误减少NN 312可减少及/或改进可能由经编码数据中存在的噪声引入的错误。在各种实施方案中,错误减少NN 312可由多个处理电路系统112(例如,图2A到2C中所描绘的任何处理电路系统112中的一或多者)来实施。

存储器系统304可进一步包含ECC解码器314,所述ECC解码器314可能够针对由ECC编码器310利用的任何类型的编码技术对数据进行解码。ECC解码器314可-从错误减少NN312接收经编码数据的错误减少版本-N位(xr1,xr2,...xrN)。ECC解码器314可根据ECC编码技术的对应解码过程对经编码数据的错误减少版本进行解码。因此,基于经编码数据的错误减少版本,ECC解码器314可根据由ECC解码器314实施的解码技术提供经解码数据。在ECC解码器314处对经编码数据的错误减少版本进行解码还可包含识别错误单元、将错误单元转换为擦除及/或校正擦除。

在一些实例中,ECC解码器314可被实施为迭代解码器,例如,包含消息概率计算(MPC)电路系统。在各种实施方案中,ECC解码器314可根据本文中所描述的任何能力或功能性实施错误减少解码。

图1D的神经网络150及/或图1E的神经网络170(例如,如由图2A到2C的一或多个处理单元实施)可被用来实施图3的错误减少神经网络312。在所述实例中,图2A、2B或2C的存储器145可存储特定于与可由ECC编码器310编码的一或多种类型的经编码数据相关联的各种迭代解码技术的多个系数。因此,神经网络150或递归神经网络170的硬件实施方案可被用作错误减少NN以使用可用于ECC编码器的多种编码技术中的任一者,基于由ECC编码器310编码的输入数据估计经编码数据的错误减少版本。也可为错误减少RNN的错误减少NN312可估计经编码数据的错误减少版本,以促进提供从ECC解码器314提供经解码数据。

ECC编码器310及ECC解码器314可各自使用离散组件(例如专用集成电路(ASIC)或其它电路系统)来实施,或者所述组件可反映由控制器308内的电路系统提供的功能性,所述电路系统不一定具有与控制器308的其它部分分离的离散物理形式。尽管在图3中被说明为控制器308内的组件,但ECC编码器310及ECC解码器314中的每一者可在控制器308的外部或具有位于控制器308内的数个组件及位于控制器308外部的数个组件。

存储器装置316可包含数个存储器单元阵列(例如,非易失性存储器单元)。例如,所述阵列可为具有NAND架构的快闪阵列。然而,实施例不限于特定类型的存储器阵列或阵列架构。可使用NAND架构中的浮栅型快闪存储器单元,但实施例不限于此。所述单元可为多电平单元(MLC),例如每单元存储三个数据位的三电平单元(TLC)。例如,存储器单元可被分组成包含数个物理页面的数个块。数个块可被包含在存储器单元平面中且阵列可包含数个平面。作为一个实例,存储器装置可经配置以每页面存储8KB(千字节)的用户数据,每块存储128个页面的用户数据,每平面存储2048个块,且每装置存储16个平面。

根据数个实施例,控制器308可控制根据ECC编码器310对数个经接收数据位的编码,其允许稍后识别错误位且将那些错误位转换为擦除。控制器308还可控制将数个经编码的经接收数据位编程到存储器装置316中的存储器单元群组。

图3中所展示的设备可在采用处理器及存储器的多种产品中的任一者(包含例如照相机、电话、无线装置、显示器、芯片组、机顶盒、游戏系统、车辆及电器)中实施。采用存储器系统的所得装置可受益于本文中所描述的神经网络的实例来执行它们最终的用户功能。

图4是根据本文中所描述的实例的方法400的流程图。实例方法400可使用例如图1C中的系统100、图1D的神经网络150、图1E的神经网络170(例如,由图2A到2C的一或多个处理单元实施)及/或图3的错误减少NN 312、或前述附图中所描述的任何系统或系统组合来实施。在一些实例中,实例方法400中的框可由例如图1C的电子装置110的计算装置及/或结合例如图2A、2B或2C的处理电路系统112的处理单元来执行。框402到412中所描述的操作也可作为计算机可执行指令存储在计算机可读媒体105中,所述计算机可读媒体105存储用于使神经网络例如基于经编码数据的接收版本估计经编码数据的错误减少版本的可执行指令115。

实例方法400可从框402开始,所述框402起始执行估计经编码数据的错误减少版本例程。所述方法可包含框404,所述框404叙述“接收与编码技术相关联的经编码数据的存储版本”。在设备300的背景下,可从存储器装置316获得经编码数据,如关于图3所描述。如本文中所描述,实施错误减少NN的一或多个处理电路系统112可经配置以获得可利用各种编码技术编码的多种类型的输入数据,例如已利用低密度奇偶校验编码(LDPC)、里德-索罗门编码、博斯-乔杜里-霍克恩海姆(BCH)及/或极性编码编码的数据。在所述实例中,在将经编码数据从存储器(例如,存储器装置316)传输到错误减少NN期间,经编码数据可能例如由于存储器装置驻留在其中的计算或电子装置中的电压或电流干扰而经历噪声。另外或替代地,关于经编码数据中的噪声,将经编码数据存储在存储器中可能引入环境噪声或其它噪声。例如,在将经编码数据存储在降级的存储器中时可能引入噪声(例如,由于位翻转)。因此,从存储器检索的经编码数据可被称为经编码数据的存储版本,其可包含经编码数据的那个存储版本中存在的错误。例如,错误可能是由于经编码数据的某些位在存储在存储器中时被翻转而引起的错误位。

框404之后可为框406,所述框406叙述“从存储器检索多个系数,所述多个系数特定于从存储器检索的数据的错误减少”。如本文中所描述,处理单元可检索用于与经编码数据混合的系数;例如,利用存储器查找单元(MLU)。例如,存储器可(例如,在数据库中)存储多个系数与某些类型的经编码数据之间的关联。在所述实例中,多个系数可为每一编码类型的权重;其在由错误减少神经网络使用时允许错误减少神经网络估计经编码数据的错误减少版本。权重可存储在例如图1C的权重存储器118中。因此,处理电路系统112可检索特定于从存储器检索的数据的错误减少的多个系数。例如,处理电路系统12可从实施计算装置的存储器部分、从外部计算装置的存储器部分或从云计算装置中实施的存储器选择系数。进而,可根据处理电路系统112的请求从存储器检索多个系数。

框406之后可为框408,所述框408叙述“在乘法/累加处理单元(MAC单元)的第一层处,将经编码数据的存储版本与多个系数中的某些混合以产生第一处理结果”。如本文中所描述,处理电路系统112利用多个系数中的某些使得将此类系数与经编码数据的数据存储版本混合会产生反映由图2A、2B或2C的电路系统利用系数对输入数据的处理的输出数据。在递归神经网络(例如,递归神经网络170)的一些实施方案中,MAC单元的第一层的相应输出的延迟版本及经编码数据的存储版本经混合以产生输出数据,例如,经编码数据的错误减少版本的估计。例如,集成电路中的各种ALU可经配置以作为图2A、2B或2C的电路系统来操作,由此将输入数据及MAC单元的第一层的相应输出的延迟版本与本文中所描述的系数混合。例如,参考图2A,在乘法/累加单元(MAC单元)的第一层处,可利用多个系数计算输入数据及MAC单元的第一层的相应输出的延迟版本以产生第一处理结果。在一些实例中,各种硬件平台可实施图2A、2B或2C的电路系统,例如ASIC、实施为FPGA的部分的DSP或芯片上系统。

框408之后可为框410,所述框410叙述“在MAC单元的额外层处,将第一处理结果与多个系数中的其它者混合以产生第二处理结果”。如本文中所描述,处理电路系统112利用多个额外系数使得将其它系数与某些处理结果混合会产生反映由图2A、2B或2C的电路系统利用系数对输入数据的处理的输出数据。在递归神经网络(例如,递归神经网络170)的一些实施方案中,第一处理结果及第一处理结果的至少一部分的延迟版本经混合以产生输出数据(例如,经解码数据的估计)。例如,参考图2A,在乘法/累加单元(MAC单元)的第二层处,可利用多个额外系数计算第一层的处理结果(例如,乘法处理结果)及那些处理结果的至少一部分的延迟版本以产生第二处理结果。第二层的处理结果可利用多个额外系数来计算以产生输出数据B(1)230。

框410之后可为框412,所述框412叙述“估计经编码数据的错误减少版本,使得经编码数据的错误减少版本是相对于与编码技术相关联的编码器的输出的经编码数据的估计”。如本文中所描述,神经网络150或递归神经网络170提供输出数据作为表示对应于由编码器输出的经编码数据(例如,由编码器14输出的经编码数据)(N个经编码输入位)(b1,b2,...bN)的处理数据的输出位。因此,经编码数据的错误减少版本(xr1,xr2,...xrN)是相对于与编码技术相关联的编码器的输出的经编码数据的估计。例如,与从存储器检索的经编码数据的位错误率(BER)或信噪比(SNR)相比较,经编码数据的错误减少版本可包含相应的BER的降低或SNR的提高。有利地,经编码数据的错误减少版本可由解码器在经解码数据中存在减少的错误的情况下来解码。例如,错误减少NN或RNN可减少及/或改进可能由经编码数据中存在的噪声引入的错误。在所述实例中,此噪声可能在将经编码数据存储在降级的存储器中时引入(例如,由于位翻转)。因此,本文中所描述的神经网络将经编码数据变换为经编码数据的错误减少版本的估计。框412之后可为结束实例方法400的框414。在一些实例中,框410可为任选框。

图5是根据本文中所描述的实例布置的方法500的流程图。实例方法500可使用例如图1C中的系统100、图1D的神经网络150、图1E的神经网络170(例如,由图2A到2C的一或多个处理电路系统112实施)及/或图3的错误减少NN 312、或前述附图中所描述的任何系统或系统组合来实施。例如,错误减少NN 56或错误减少NN 312可使用方法500来训练。在一些实例中,实例方法500中的框可由例如图1C的电子装置110的计算装置及/或结合例如图2A、2B或2C的处理电路系统112的处理电路系统112来执行。框502到512中所描述的操作也可作为计算机可执行指令存储在计算机可读媒体105中,所述计算机可读媒体105存储可执行指令以训练神经网络基于经编码数据(例如,经编码数据的接收版本)估计经编码数据的错误减少版本。另外,在其它实例中可使用额外、更少及/或不同框,且在其它实例中所述框的次序可不同。

实例方法500可从框502开始,所述框502起始执行计算装置训练例程。所述方法可包含框504,所述框504叙述“接收已知的经错误编码数据及与编码技术相关联的已知的经编码数据”。已知的经错误编码数据及已知的经编码数据可由计算装置(例如,电子装置110)来接收,所述计算装置包含神经网络,例如图1D的神经网络150、图1E的神经网络170(例如,由图2A到2C的一或多个处理电路系统112实施)及/或图3的ECC解码器314。在所述实例中,经错误编码数据可对应于已知的经编码数据,但在经编码数据的至少一个已知部分中有至少一个错误位被引入到经编码数据中。因此,经错误编码数据可代表从存储器检索的经编码数据的接收版本(x1,x2,…xN),例如经编码数据的存储版本。指示已知数据(例如,一组数据对)的信令可被提供到计算装置。在所述实例中,已知的经编码数据可例如由ECC编码器310根据编码技术来编码。在所述实例中继续,可从计算装置300的存储器(例如,存储器装置316)检索数据(例如,指示数据的信令)(已知的经错误编码数据)。多种编码技术中的任一者已被用来对数据进行编码。例如,已知的经错误编码数据可包含指示由于已知存储器缺陷(例如,存储器装置316中的已知有缺陷的存储器单元)而引起的一或多个错误位的(若干)位置的标头信息。已知的经错误编码数据可为以与如何将数据提供到错误减少NN(例如,错误减少NN 56)类似的方式检索的数据。例如,已知的经错误编码数据可为从具有已知存储器缺陷的存储器检索的数据。使用已知的经错误编码数据,可关于数据训练错误减少NN,使得错误减少NN但一旦经训练就也可使用具有存储器缺陷的同一存储器,但具有减少的错误。

框506可跟随框504。框506叙述“对于神经网络确定使用已知的经编码数据修改已知的经错误编码数据的一组权重”。例如,神经网络(例如错误减少NN 56或错误减少NN312)可使用在框504中接收的已知的经编码数据及已知的经错误编码数据来训练。可将已知的经编码数据与框504中接收的已知的经错误编码数据进行比较。基于所述比较,用来通过使用神经网络估计经编码数据的错误减少版本的权重可被评估为所述一组权重。

所述权重可为数值,其在由神经网络使用时允许神经网络基于利用编码技术编码的经编码数据估计经编码数据的错误减少版本。所述权重可存储在例如图1C的权重存储器118或者图2A、2B或2C的存储器145中。在一些实例中,可不执行训练,且可例如基于另一神经网络的训练简单地将一组初始权重提供到神经网络。

在一些实例中,(例如,在框504中)可接收多组数据对,其中每一组对应于利用不同编码技术编码的数据。因此,(例如,在框506中)可确定多组权重,每一组对应于不同编码技术。例如,可确定可被用来对根据LDPC编码编码的数据进行解码的一组权重,同时可确定可被用来对利用BCH编码编码的数据进行解码的另一组权重。

框508可跟随框506。框508叙述“将所述一组权重存储在存储器中”。在一些实例中,可选择与用来对框504中接收的数据进行编码的特定编码技术相关联的一组权重。所述一组权重可存储在存储器(例如,图1C的存储器118)中以用于从多组可用权重当中进行选择,每一组权重用于例如基于经编码数据的接收版本且根据其相应的编码技术估计经编码数据的错误减少版本。

在一些实例中,可对于采用不同编码技术编码的数据重复框504到508。例如,可在框504中接收利用一种特定编码技术(例如,LDPC编码)的已知数据及与那个已知的经编码数据相关联的已知的经错误编码数据对。可选择与LDPC编码一起使用的一组权重且可将其提供到神经网络以用于在框506中确定权重。接着,在框504中,可接收利用不同编码技术(例如,BCH编码)编码的额外已知数据及与那个已知的经编码数据相关联的额外的已知的经错误编码数据对。可选择与BCH编码一起使用的另一组权重且可将其提供到神经网络以用于在框506中确定权重。以此方式,可训练一个神经网络来基于利用多种编码技术编码的数据估计经编码数据的错误减少版本。

所描述实例方法400及500中包含的框是用于说明目的。在一些实施例中,所述框可以不同次序执行。在一些其它实施例中,可消除各种框。在又其它实施例中,各种框可被划分成额外框,用其它框补充,或一起组合成更少框。考虑这些特定框的其它变动,包含框的次序的改变、被拆分或组合成其它框的框的内容的改变等。

图6展示根据本公开的方面的无线通信系统600的实例。无线通信系统600包含小型小区610、相机装置615、通信装置620、传感器装置630、通信装置640、数据中心650及传感器装置660。在所描绘系统600中,小型小区610可与相机装置615、通信装置620、传感器装置630及传感器装置660一起形成用于农业用途的阶层式网络。由小型小区610形成的此网络可在联网装置及数据中心650当中传达数据集及推断结果。在所描绘系统600中继续,另一小型小区610可与通信装置640、数据中心650及传感器装置660一起形成用于另一农业用途的另一阶层式网络。类似地,由额外小型小区610形成的此网络可在联网装置及数据中心650当中传达数据集及推断结果。虽然在具有特定小型小区610的某些农业网络中进行描绘,但应明白,可在无线通信系统600的装置、小区或数据中心当中形成各种网络,无论是阶层式的还是自组织的。

系统600可促进5G系统中的各种各种的无线通信连接,所述5G系统可包含各种频带,包含但不限于:亚6GHz频带(例如,700MHz通信频率)、中程通信频带(例如,2.4GHz)、毫米波频带(例如,24GHz)及NR频带(例如,3.5GHz)。

另外或替代地,无线通信连接可支持各种调制方案,包含但不限于:滤波器组多载波(FBMC)、通用频分复用(GFDM)、通用滤波多载波(UFMC)传输、双正交频分复用(BFDM)、稀疏码多址(SCMA)、非正交多址(NOMA)、多用户共享接入(MUSA)及具有时频打包的超奈奎斯特(FTN)信令。此类频带及调制技术可为标准框架的一部分,例如长期演进(LTE)(例如,1.8GHz频带)或由如同3GPP或IEEE的组织发布的其它技术规范,其可包含子载波频率范围、子载波数目、上行链路/下行链路传输速度、TDD/FDD及/或无线通信协议的其它方面的各种规范。

系统600可描绘无线电接入网络(RAN)的方面,且系统600可与核心网络(未展示)通信或包含核心网络。核心网络可包含一或多个服务网关、移动性管理实体、归属订户服务器及分组数据网关。核心网络可促进用户及控制平面经由RAN链接到移动装置,且其可为到外部网络(例如,因特网)的接口。小型小区610及数据中心650可经由有线或无线回程链路(例如,S1接口、X2接口等)与核心网络耦合,或彼此耦合,或既与核心网络耦合又彼此耦合。

系统600可提供连接到装置或“物品”(例如通信装置620、通信装置640以及传感器装置630及660)的通信链路,以提供物联网(“IoT”)框架。IoT内的所连接物品可在授权给蜂窝网络服务提供商且由其控制的频带内操作,或此类装置或物品可。此类频带及操作可被称为窄带IoT(NB-IoT),因为相对于总系统带宽,分配给IoT操作的频带可较小或窄。例如,分配给NB-IoT的频带可具有50、100、150或200kHz的带宽。

另外或替代地,IoT可包含在与传统蜂窝技术不同的频率下操作以促进无线频谱的使用的装置或物品。例如,IoT框架可允许系统600中的多个装置在亚6GHz频带或其它工业、科学及医疗(ISM)无线电频带下操作,其中装置可在未经许可使用的共享频谱上操作。亚6GHz频带也可被表征为NB-IoT频带且也可被表征为NB-IoT频带。例如,当在低频范围内操作时,为“物品”提供传感器数据的装置(例如传感器装置630)可利用更少能量,从而得到功率效率且可利用不太复杂的信令框架,使得装置可在那个亚6GHz频带上异步地传输。亚6GHz频带可支持各种各样的使用情况,包含从各种传感器装置传达传感器数据。传感器装置的实例包含用于检测能量、热量、光、振动、生物信号(例如,脉搏、EEG、EKG、心率、呼吸率、血压)、距离、速度、加速度或其组合的传感器。传感器装置可部署在建筑物、农田、个体上及/或环境中的其它位置中。传感器装置可彼此通信且与计算系统通信,所述计算系统可聚集及/或分析从环境中的一或多个传感器装置提供的数据。

另外或替代地,通信装置620及640可与系统600的其它通信装置或其它元件形成装置到装置(D2D)连接。例如,通信装置620可与包含通信装置640或传感器装置630的其它装置一起形成RFID、WiFi、MultiFire、Bluetooth或Zigbee连接。在一些实例中,D2D连接可使用经许可频谱带进行,且此类连接可由蜂窝网络或服务提供商来管理。因此,虽然在窄带IoT的背景下描述上述实例,但应明白,可由通信装置620或640利用其它装置到装置的连接来提供在与被通信装置620或640用于传输那个信息的频带不同的频带上收集的信息(例如,传感器数据)。例如,通信装置620或640以及传感器装置630及660可形成部分地取决于与系统600的另一元件的连接而以阶层式或自组织网络的方式操作的无线网络。

系统600中的装置还可与系统1000的其它移动装置或其它元件进行D2D连接。例如,通信装置640可与包含传感器装置660或通信装置620的其它装置一起形成窄带IoT连接。在一些实例中,D2D连接可使用经许可频谱带进行,且此类连接可由蜂窝网络或服务提供商(例如,小型小区610的蜂窝网络或服务提供商)来管理。因此,虽然在窄带IoT的背景下描述上述实例,但应明白,系统600的装置可利用其它装置到装置连接。

无线通信系统600也可被实施为具有各种移动或其它电子装置端点的5G无线通信系统。作为实例,相机装置615可为移动端点;且通信装置620及传感器装置630可为5G无线通信系统中的传感器端点。在所述实例中继续,相机装置615可收集用于在那个相应装置处训练及推断机器学习或AI技术的数据集,例如农田中的西瓜的图像。此类图像数据集可由相机装置来获取且可被提供到数据中心650以用于基于所获取图像数据集训练或处理推断结果。作为另一实例,通信装置620或640及/或传感器装置630或660可经由小型小区610传达经获取信息。例如,当任何此类装置被实施为电子装置110时,所述装置可被编程有用于使神经网络估计经编码数据的错误减少版本的应用(例如,可包含处理电路系统112及编码有指令115的计算机可读媒体105,所述指令115在被执行时致使电子装置110执行所描述功能)。例如,通信装置620或640及/或传感器装置630或600可经编程以从移动通信装置的触摸屏接收在5G无线传输中接收的某些经编码数据待通过首先将经编码数据的接收版本传递通过在处理电路系统112处实施的错误减少NN(例如,错误减少NN 56)来解码的指示。在所述实例中,由于对5G无线传输的噪声或环境干扰,5G无线传输可能将错误引入到经传输的经编码数据。有利地,错误减少NN可例如通过减少经编码数据中存在的噪声来促进经由5G无线传输接收的经编码数据的解码,由此在对经编码数据的错误减少版本的解码之后减少经解码数据中的错误。使用此类错误减少NN,无线通信系统600可促进例如基于农田中不同西瓜的各种生长阶段(例如,如由西瓜上的西瓜花所指示的完全生长西瓜或中等生长西瓜)的西瓜生长速率的预测的推断结果的传达。例如,一旦在错误减少的情况下传达到数据中心650,数据中心650就可做出推断结果,以提供此类推断结果用于无线通信系统600中。

在各种实例中,无线通信系统600的元件(例如相机装置615、通信装置620、传感器装置630、通信装置640、传感器装置660)可被实施为本文中所描述的可降低无线通信中传输的经编码数据中存在的噪声的电子装置。例如,传感器装置660可被实施为本文中所描述的电子装置,例如图1C的电子装置110、图2A到2C的处理电路系统112、图3的设备300或者本文中所描述的附图中所描绘的任何系统或系统组合。

因此,系统600可在实施此类错误减少NN时促进系统600中的各种装置的5G无线传输的通信,同时还提高5G无线传输的准确性,例如,包含图2A到2C的处理电路系统112中的高阶存储器效应。因此,系统600可包含例如通过减少经编码数据中存在的噪声来促进经由5G无线传输接收的经编码数据的解码由此在对经编码数据的错误减少版本的解码之后减少经解码数据中的错误的装置。

图7说明根据本公开的方面的通信系统700的实例。通信系统700包含小型小区710、有线通信链路712、无人机717、工业用户720、工业通信装置727、变电站730、工业管道725、管道接收站735、管道通信装置737、住宅用户740、商业用户745、数据中心750、传感器装置755、发电用户760、燃料站770、变电站775及燃料存储装置780。

在所描绘通信系统700中,小型小区710可形成阶层式网络以为工业管道系统的各种用户提供燃料状态,由此基于分布式燃料促进燃料传输、分配、存储或发电。燃料可为各种类型的气体或油,例如原油、柴油、氢气或天然气。燃料可由工业用户720、变电站730或变电站775、住宅用户740、商业用户745或者燃料站770提供及利用。关于燃料的各种状态可由此工业通信系统700中的各种通信装置提供到小型小区710、无人机717、数据中心750或有线通信链路712。例如,工业通信装置727、管道通信装置737或传感器装置755可提供关于通过图12中所描绘的管道网络的燃料流的状态。另外或替代地,燃料可通过管道网络提供以用于在发电用户760处发电或以用于存储在燃料存储装置780处。燃料由管道接收站735处的工业管道725提供到管道网络。

在燃料流经管道网络时,工业通信装置727、管道通信装置737或传感器装置755可被实施为耦合到各种I/O装置以接收关于燃料状态的数据输入的电子装置100。因此,关于燃料的经编码数据集可由工业通信装置727、管道通信装置737或传感器装置755获取以用于进一步处理关于燃料状态的推断结果。例如,管道通信装置737可经由5G通信信号传达指示管道网络的各种用户(例如工业用户720、住宅用户740或商业用户745)处的功耗的状态。作为另一实例,变电站730或变电站775可提供关于由耦合到变电站730或变电站775的管道网络的元件产生的电力的发电状态。因此,变电站730可提供工业用户720的发电状态作为经编码数据;且变电站775可提供发电用户760的发电状态作为经编码数据。此类各种状态可经由与位于管道网络的相应用户处的装置或者位于变电站730或775处的装置通信的无人机717或小型小区710提供到数据中心750。在系统700的实施方案中,燃料存储状态也可由燃料存储器780作为经编码数据提供到数据中心750。

在各种实例中,无线通信系统700的元件(例如工业通信装置727、管道通信装置737或传感器装置755)可被实施为本文中所描述的使用错误减少NN(例如,错误减少NN 56)减少经编码数据中存在的噪声的电子装置。例如,传感器装置755可被实施为本文中所描述的电子装置,例如图1C的电子装置100、图2A到2C的处理电路系统112、图3的设备300或者本文中所描述的附图中所描绘的任何系统或系统的组合。

在处理系统700的工业获取数据集的实例中,系统700的装置(例如工业通信装置727、管道通信装置737或传感器装置755)及系统700的用户可经由通信5G信号将关于燃料、功耗或发电的状态的经编码数据集传达到数据中心750以用于进一步处理推断结果。在实例中,传感器装置755处的燃料流状态可经由小型小区710传达到数据中心750。小型小区710可被编程有用于使神经网络估计经编码数据的错误减少版本的应用(例如,可包含处理电路系统112及编码有指令115的计算机可读媒体105,所述指令115在被执行时致使电子装置110执行所描述功能)。例如,小型小区710可经编程以从移动通信装置的触摸屏接收在5G无线传输中接收的某些经编码数据待通过首先将经编码数据的接收版本传递通过在处理电路系统112处实施的错误减少NN(例如,错误减少NN56)来解码的指示。在所述实例中,由于对5G无线传输的噪声或环境干扰,5G无线传输可能将错误引入到经传输的经编码数据。有利地,错误减少NN可例如通过减少经编码数据中存在的噪声来促进经由5G无线传输接收的经编码数据的解码,由此在对经编码数据的错误减少版本的解码之后减少经解码数据中的错误。

因此,当实施本文中所描述的此类神经网络时,系统700可促进系统700中的各种装置的经编码数据集的获取及传达,例如,包含图2A到2C的处理电路系统112中的高阶存储器效应。

上文阐述某些细节以提供对所描述实例的充分理解。然而,对于所属领域的技术人员来说将显而易见的是,可在没有多种这些特定细节的情况下实施所述实例。本文中结合附图的描述描述实例配置,且不表示可实施的或在权利要求书的范围内的所有实例。如本文中可使用的术语“实例性”及“实例”表示“用作实例、例子或说明”,而不是“优选的”或“优于其它实例”。出于提供对所描述技术的理解的目的,所述详细描述包含特定细节。然而,这些技术可在没有这些特定细节的情况下实践。在一些例子中,以框图形式展示众所周知的结构及装置以便避免混淆所描述实例的概念。

本文中所描述的信息及信号可使用多种不同技术及工艺中的任一者来表示。例如,可能贯穿上述描述引用的数据、指令、命令、信息、信号、位、符号及芯片可由电压、电流、电磁波、磁场或磁性粒子、光场或光学粒子或者其任何组合来表示。

本文中所描述的实例可将各种组件称为“耦合”或将信号称为“提供到某些组件”或“从某些组件接收”。应理解,在一些实例中,所述组件彼此直接耦合,而在其它实例中所述组件与安置在它们之间的中间组件耦合。类似地,信号可直接提供到所述组件及/或直接从所述组件接收,而不需要中间组件,但也可通过中介组件提供到某些组件及/或从某些组件接收。

本文中所描述的技术可被用于各种无线通信系统,所述无线通信系统可包含多址蜂窝通信系统,且可采用码分多址(CDMA)、时分多址(TDMA)、频分多址(FDMA)、正交频分多址(OFDMA)或单载波频分多址(SC-FDMA)或者此类技术的任何组合。这些技术中的一些已被例如第三代合作伙伴计划(3GPP)、第三代合作伙伴计划2(3GPP2)及IEEE的组织在标准化无线通信协议中采用或与所述协议相关。这些无线标准包含超移动宽带(UMB)、通用移动电信系统(UMTS)、长期演进(LTE)、高级LTE(LTE-A)、LTE-A Pro、新无线电(NR)、IEEE 802.11(WiFi)及IEEE 802.16(WiMAX)等等。

术语“5G”或“5G通信系统”可指根据由它们相应的发起组织在例如LTE版本13或14或WiMAX 802.16e-2005之后开发或论述的标准化协议操作的系统。本文中所描述的特征可在根据其它代无线通信系统配置的系统(包含根据上文所描述的标准配置的那些系统)中采用。

结合本公开所描述的各种说明性框及模块可利用经设计以执行本文中所描述的功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件或其任何组合来实施或执行。通用处理器可为微处理器,但在替代方案中,所述处理器可为任何常规处理器、控制器、微控制器或状态机。处理器也可被实施为计算装置的组合(例如,DSP与微处理器的组合、多个微处理器、一或多个微处理器结合DSP核或任何其它此类配置)。

本文中所描述功能可在硬件、由处理器执行的软件、固件或其任何组合中实施。如果在由处理器执行的软件中实施,所述功能可作为计算机可读媒体上的一或多个指令或代码来存储或传输。计算机可读媒体包含非暂时性计算机存储媒体及通信媒体两者,所述通信媒体包含促进计算机程序从一个地方传送到另一地方的任何媒体。非暂时性存储媒体可为可由通用或专用计算机存取的任何可用媒体。通过实例而非限制,非暂时性计算机可读媒体可包括RAM、ROM、电可擦除可编程只读存储器(EEPROM)、其它光盘存储装置、磁盘存储装置或其它磁性存储装置、或可用来以指令或数据结构形式携带或存储所期望程序代码且可由通用或专用计算机或通用或专用处理器存取的任何其它非暂时性媒体。

而且,任何连接适当地被称为计算机可读媒体。例如,如果使用同轴电缆、光纤电缆、双绞线、数字用户线(DSL)或无线技术(例如红外线、无线电及微波)从网站、服务器或其它远程源传输软件,那么媒体的定义中包含同轴电缆、光纤电缆、双绞线、数字用户线(DSL)或无线技术(例如红外线、无线电及微波)。上述的组合也包含在计算机可读媒体的范围内。

其它实例及实施方案在本公开及所附权利要求书的范围内。例如,由于软件的性质,上文所描述的功能可使用由处理器执行的软件、硬件、固件、硬连线或任何这些的组合来实施。实施特定的特征也可在物理上位于各种位置处,包含经分布使得功能的部分在不同物理位置处实施。

而且,如本文中(包含在权利要求书中)所使用,如项目列表(例如,以例如“…中的至少一者”或“…中的一或多者”的短语开始的项目列表)中使用的“或”指示包含性列表,使得例如A、B或C中的至少一者的列表表示A或B或C或AB或AC或BC或ABC(即,A且B且C)。而且,如本文中所使用,短语“基于”不应被解释为对条件闭集的引用。例如,在不脱离本公开的范围的情况下,描述为“基于条件A”的示范性步骤可基于条件A及条件B两者。换句话说,如本文中所使用,短语“基于”应以与短语“至少部分地基于”相同的方式来解释。

从前文将明白,尽管本文中出于说明的目的而描述特定实例,但可进行各种修改,同时仍保持在所主张技术的范围内。提供本文中的描述以使所属领域的技术人员能够制成或使用本公开。对本公开的各种修改对于所属领域的技术人员来说将是显而易见的,且在不脱离本公开的范围的情况下,本文中所定义的通用原理可应用于其它变型。因此,本公开不限于本文中所描述的实例及设计,而是应符合与本文中所公开的原理及新颖特征一致的最广范围。

技术分类

06120116336912