用于在边缘设备上执行机器学习操作的可编程电路制造技术

技术编号:32875746 阅读:15 留言:0更新日期:2022-04-02 12:07
本公开的某些方面涉及一种用于对具有一个或多个可编程电路的设备进行编程以实现例如机器学习模型的方法和装置。一个示例装置通常包括多条字线、多条位线和可编程电路阵列。每个可编程电路被耦合至多条字线中的对应字线和多条位线中的对应位线,并且包括:被耦合在对应字线与对应位线之间的主电阻器、辅助电阻器、与辅助电阻器串联耦合的熔断器(其中该辅助电阻器和该熔断器被耦合在对应字线与对应位线之间)、以及被配置成选择性地将熔断器熔断的编程电路。熔断的编程电路。熔断的编程电路。

【技术实现步骤摘要】
【国外来华专利技术】用于在边缘设备上执行机器学习操作的可编程电路
[0001]根据35 U.S.C.
§
119的优先权要求
[0002]本申请要求于2019年8月30日提交的题为“PROGRAMMABLE CIRCUITS FOR PERFORMING MACHINE LEARNING OPERATIONS ON EDGE DEVICES(用于在边缘设备上执行机器学习操作的可编程电路)”的非临时申请No.16/556,505的优先权,该申请被转让给本申请受让人并由此通过援引明确纳入于此。
[0003]公开领域
[0004]本公开一般涉及人工神经网络,并且尤其涉及用于在边缘设备上执行机器学习操作的技术和装置。
[0005]相关技术描述
[0006]可包括一群互连的人工神经元(例如,神经元模型)的人工神经网络是一种计算设备或者表示将由计算设备执行的方法。这些神经网络可被用于各种应用和/或设备,诸如网际协议(IP)相机、物联网(IoT)设备、自主车辆、和/或服务机器人。
[0007]人工神经网络中的个体节点可通过获取输入数据并对该数据执行简单操作来模拟生物神经元。对输入数据执行的简单操作的结果被选择性地传递给其他神经元。权重值与网络中的每个向量和节点相关联,并且这些值限制了输入数据如何与输出数据有关。例如,每个节点的输入数据可乘以对应的权重值,并且可对该乘积求和。该乘积的总和可通过可任选的偏置进行调节,并且可将激活函数应用于结果,从而产生节点的输出信号或“输出激活”。权重值最初可由训练数据通过网络的迭代流来确定(例如,权重值是在其中网络学习如何通过其典型输入数据特征来标识特定类别的训练阶段期间建立的)。
[0008]存在不同类型的人工神经网络,诸如递归神经网络(RNN)、多层感知器(MLP)神经网络、卷积神经网络(CNN)等。RNN的工作原理是保存层的输出并将该输出反馈到输入,以帮助预测层的结果。在MLP神经网络中,数据可被馈送到输入层中,并且一个或多个隐藏层为数据提供抽象水平。随后可基于所抽象的数据来在输出层上进行预测。MLP可以特别适用于分类预测问题,其中输入被指派类别或标签。卷积神经网络(CNN)是一种前馈人工神经网络。卷积神经网络可包括人工神经元集合,其中每一个人工神经元具有感受野(例如,输入空间的空间局部化区域),并且共同地拼出一输入空间。卷积神经网络具有众多应用。具体而言,CNN已经在模式识别和分类领域中被广泛使用。
[0009]在分层神经网络架构中,第一层人工神经元的输出成为第二层人工神经元的输入,第二层人工神经元的输出成为第三层人工神经元的输入,依此类推。
[0010]卷积神经网络可被训练以识别特征阶层。卷积神经网络架构中的计算可分布在处理节点群体上,其可被配置在一个或多个计算链中。这些多层架构可每次训练一层并可使用后向传播来微调。
[0011]概述
[0012]本公开的某些方面涉及一种可在其上执行机器学习模型的装置。该装置通常包括多条字线、多条位线和可编程电路阵列。阵列中的每个可编程电路被耦合至多条字线中的对应字线和多条位线中的对应位线。每个可编程电路包括:主电阻器,其被耦合在对应字线
与对应位线之间;辅助电阻器;熔断器,其与辅助电阻器串联耦合,其中该辅助电阻器和该熔断器被耦合在对应字线与对应位线之间;以及编程电路,其被配置成选择性地将熔断器熔断。
[0013]本公开的某些方面涉及一种用于对具有多条字线、多条位线和可编程电路阵列的设备进行编程的方法。可编程电路阵列中的每个可编程电路被耦合至多条字线中的对应字线和多条位线中的对应位线。该方法一般包括:通过选择性地将熔断器熔断(例如,使用编程电路)来对可编程电路阵列中的可编程电路进行编程,其中该熔断器与辅助电阻器串联耦合,该辅助电阻器和该熔断器被耦合在对应字线与对应位线之间;以及主电阻器,其被耦合在对应字线与对应位线之间,以及使用经编程的可编程电路来操作该设备。
[0014]本公开的某些方面涉及一种用于对设备进行编程的装备。该装备通常包括多条字线,多条位线,可编程电路阵列,用于通过使用用于编程的装置选择性地将熔断器熔断来对可编程电路阵列中的可编程电路进行编程的装置,以及用于使用经编程的可编程电路来操作该设备的装置。熔断器与辅助电阻器串联耦合,该辅助电阻器和该熔断器被耦合在对应字线与对应位线之间,并且主电阻器被耦合在对应字线与对应位线之间。
[0015]本公开的某些方面涉及一种包括指令的非瞬态计算机可读介质,该指令在由至少一个处理器执行时使该处理器执行用于对具有多条字线、多条位线和可编程电路阵列的设备进行编程的操作。该操作一般包括:通过选择性地将熔断器熔断(例如,使用编程电路)来对可编程电路阵列中的可编程电路进行编程,其中该熔断器与辅助电阻器串联耦合,该辅助电阻器和该熔断器被耦合在对应字线与对应位线之间,并且主电阻器被耦合在对应字线与对应位线之间;以及使用经编程的可编程电路来操作该设备。
[0016]本公开的某些方面涉及一种用于对设备进行编程以实现机器学习模型的方法。该方法一般包括:在该设备处接收要在可编程电路上实现的经训练的机器学习模型的权重值;基于经训练的机器学习模型的权重值,通过选择性地解耦可编程电路中与主电阻器并联耦合的一个或多个辅助电阻器来对该可编程电路进行编程;以及使用经编程的可编程电路来操作该设备。
[0017]本公开的某些方面涉及一种包括指令的非瞬态计算机可读介质,该指令在由至少一个处理器执行时使该处理器执行用于对具有处理器和可编程电路的设备进行编程以实现机器学习模型的操作。该操作一般包括:在该设备处接收要在可编程电路上实现的经训练的机器学习模型的权重值;基于经训练的机器学习模型的权重值,通过选择性地解耦可编程电路中与主电阻器并联耦合的一个或多个辅助电阻器来对该可编程电路进行编程;以及使用经编程的可编程电路来操作该设备。
[0018]本公开的某些方面涉及一种用于对设备进行编程以实现机器学习模型的装备。该装备一般包括:可编程电路阵列;用于从服务器接收要在该可编程电路阵列上实现的经训练的机器学习模型的权重值的装置;用于基于经训练的机器学习模型的权重值,通过选择性地解耦可编程电路中与主电阻器并联耦合的一个或多个辅助电阻器来对该可编程电路阵列中的至少一个可编程电路进行编程的装置;以及用于使用经编程的可编程电路来操作该装备的装置;用于在该设备处从服务器接收要在可编程电路上实现的经训练的机器学习模型的权重值的装置;用于基于经训练的机器学习模型的权重值,通过选择性地解耦可编程电路中与主电阻器并联耦合的一个或多个辅助电阻器来对该可编程电路进行编程的装
置;以及用于使用经编程的可编程电路来操作该装备的装置。
[0019]本公开的某些方面涉及一种用于对设备进行编程以实现机器学习模型的装置。该装置包括可编程电路阵列,以及至少一个处理器,其被耦合至该可编程电路阵列。该至少一个处理器一般被配置成:接收要在该可编程电路阵列上实现的经训练的机器学习模型的权重值;基于经训练的机器学习本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种装置,包括:多条字线;多条位线;以及可编程电路阵列,其中每个可编程电路被耦合至所述多条字线中的对应字线和所述多条位线中的对应位线,并且包括:主电阻器,其被耦合在所述对应字线与所述对应位线之间,辅助电阻器,熔断器,其与所述辅助电阻器串联耦合,其中所述辅助电阻器和所述熔断器被耦合在所述对应字线与所述对应位线之间,以及编程电路,其被配置成选择性地将所述熔断器熔断。2.如权利要求1所述的装置,其中:所述可编程电路进一步包括耦合至至少一个附加熔断器的至少一个附加辅助电阻器,所述至少一个附加辅助电阻器和所述至少一个附加熔断器串联连接,以及所述编程电路被配置成选择性地将所述熔断器和所述至少一个附加熔断器中的一者或多者熔断。3.如权利要求1所述的装置,其中所述可编程电路进一步包括一个或多个开关,每个开关被耦合在被耦合至电压源的第一节点与被耦合至所述辅助电阻器和所述熔断器的第二节点之间。4.如权利要求1所述的装置,进一步包括处理器,其被配置成:基于经训练的机器学习模型的经更新权重值来对所述阵列中的所述可编程电路中的至少一者进行重新编程。5.如权利要求1所述的装置,进一步包括处理器,其被配置成:对所述阵列中的所述可编程电路中的至少一者进行重新编程以实现不同机器学习模型。6.如权利要求1所述的装置,其中每个可编程电路中的辅助电阻器的数目对应于与经训练的机器学习模型的权重值相关联的精度的比特数目。7.如权利要求1所述的装置,其中所述可编程电路阵列中的每个可编程电路的输出用于乘法和累加操作。8.如权利要求1所述的装置,其中所述可编程电路阵列被配置以执行经训练的机器学习模型,且其中所述经训练的机器学习模型是基于经训练以执行特定任务的深度神经网络的。9.如权利要求1所述的装置,其中所述装置是移动计算设备。10.如权利要求1所述的装置,其中所述装置是自主机动交通工具。11.一种用于对具有多条字线、多条位线和可编程电路阵列的设备进行编程的方法,其中每个可编程电路被耦合至所述多条字线中的对应字线和所述多条位线中的对应位线,所述方法包括:通过选择性地将熔断器熔断来对所述可编程电路阵列中的可编程电路进行编程,其中:所述熔断器与辅助电阻器串联耦合,
所述辅助电阻器和所述熔断器被耦合在所述对应字线与所述对应位线之间,并且主电阻器被耦合在所述对应字线与所述对应位线之间;以及使用经编程的可编程电路来操作所述设备。12.如权利要求11所述的方法,其中选择性地将所述熔断器熔断包括:选择性地将与所述辅助电阻器耦合的所述熔断器和与至少一个附加辅助电阻器耦合的至少一个附加熔断器中的一者或多者熔断,所述至少一个附加熔断器和所述至少一个附加辅助电阻器串联连接。13.如权利要求12所述的方法,其中选择性地将所述熔断器熔断包括选择性地闭合一个或多个开关,每个开关被耦合在被耦合到电压源的第一节点与被耦合到所述辅助电阻器和所述熔断器的第二节点之间。14.如权利要求11所述的方法,其中所述可编程电路被编程为实现经训练的机器学习模型,并且基于所述经训练的机器学习模型的权重值来编程。15.如权利要求14所述的方法,进一步包括基于所述经训练的机器学习模型的经更新权重值来对所述可编程电路进行重新编程。16.如权利要求14所述的方法,进一步包括对所述可编程电路进行重新编程以实现不同机器学习模型。17.如权利要求14所述的方法,其中所述经训练的机器学习模型是基于经训练以执行特定任务的深度神经网络的。18.如权利要求14所述的方法,其中所述可编程电路中的辅助电阻器的数目对应于与所述经训练的机器学习模型的所述权重值相关...

【专利技术属性】
技术研发人员:H
申请(专利权)人:高通股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1