CN109564584A - 用以在任意向量之间执行卷积的方法 - Google Patents
用以在任意向量之间执行卷积的方法 Download PDFInfo
- Publication number
- CN109564584A CN109564584A CN201780042033.4A CN201780042033A CN109564584A CN 109564584 A CN109564584 A CN 109564584A CN 201780042033 A CN201780042033 A CN 201780042033A CN 109564584 A CN109564584 A CN 109564584A
- Authority
- CN
- China
- Prior art keywords
- oscillator
- vector
- matching degree
- cluster
- norm
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 78
- 239000013598 vector Substances 0.000 claims abstract description 249
- 230000008878 coupling Effects 0.000 claims abstract description 128
- 238000010168 coupling process Methods 0.000 claims abstract description 128
- 238000005859 coupling reaction Methods 0.000 claims abstract description 128
- 238000011002 quantification Methods 0.000 claims description 17
- 238000012886 linear function Methods 0.000 claims description 15
- 238000012512 characterization method Methods 0.000 claims description 9
- 230000015654 memory Effects 0.000 claims description 8
- 230000007935 neutral effect Effects 0.000 claims description 4
- 102000002262 Thromboplastin Human genes 0.000 claims description 2
- 108010000499 Thromboplastin Proteins 0.000 claims description 2
- 238000013461 design Methods 0.000 description 26
- 230000006870 function Effects 0.000 description 9
- 230000008859 change Effects 0.000 description 8
- 230000010355 oscillation Effects 0.000 description 7
- 230000001360 synchronised effect Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 239000003990 capacitor Substances 0.000 description 3
- 230000007423 decrease Effects 0.000 description 3
- 230000002269 spontaneous effect Effects 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 241001290864 Schoenoplectus Species 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000033228 biological regulation Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 230000005611 electricity Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000009131 signaling function Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 241000208340 Araliaceae Species 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000011960 computer-aided design Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000002542 deteriorative effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004134 energy conservation Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000010304 firing Methods 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03L—AUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
- H03L7/00—Automatic control of frequency or phase; Synchronisation
- H03L7/26—Automatic control of frequency or phase; Synchronisation using energy levels of molecules, atoms, or subatomic particles as a frequency reference
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
- G06N3/065—Analogue means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/20—Image enhancement or restoration using local operators
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G3/00—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
- G09G3/20—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/001—Arbitration of resources in a display system, e.g. control of access to frame buffer by video controller and/or main processor
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03D—DEMODULATION OR TRANSFERENCE OF MODULATION FROM ONE CARRIER TO ANOTHER
- H03D7/00—Transference of modulation from one carrier to another, e.g. frequency-changing
- H03D7/14—Balanced arrangements
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K3/00—Circuits for generating electric pulses; Monostable, bistable or multistable circuits
- H03K3/02—Generators characterised by the type of circuit or by the means used for producing pulses
- H03K3/027—Generators characterised by the type of circuit or by the means used for producing pulses by the use of logic circuits, with internal or external positive feedback
- H03K3/03—Astable circuits
- H03K3/0315—Ring oscillators
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K4/00—Generating pulses having essentially a finite slope or stepped portions
- H03K4/06—Generating pulses having essentially a finite slope or stepped portions having triangular shape
- H03K4/08—Generating pulses having essentially a finite slope or stepped portions having triangular shape having sawtooth shape
- H03K4/48—Generating pulses having essentially a finite slope or stepped portions having triangular shape having sawtooth shape using as active elements semiconductor devices
- H03K4/50—Generating pulses having essentially a finite slope or stepped portions having triangular shape having sawtooth shape using as active elements semiconductor devices in which a sawtooth voltage is produced across a capacitor
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03L—AUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
- H03L7/00—Automatic control of frequency or phase; Synchronisation
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M1/00—Analogue/digital conversion; Digital/analogue conversion
- H03M1/66—Digital/analogue converters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/12—Transmitting and receiving encryption devices synchronised or initially set up in a particular manner
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/156—Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K3/00—Circuits for generating electric pulses; Monostable, bistable or multistable circuits
- H03K3/02—Generators characterised by the type of circuit or by the means used for producing pulses
- H03K3/353—Generators characterised by the type of circuit or by the means used for producing pulses by the use, as active elements, of field-effect transistors with internal or external positive feedback
- H03K3/354—Astable circuits
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Multimedia (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Power Engineering (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Neurology (AREA)
- Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)
- Complex Calculations (AREA)
Abstract
一种用以在任意向量之间执行卷积的方法包括:通过使用第一弱耦合振荡器集群来估计针对具有多个第一元素的第一向量与具有多个第二元素的第二向量之间的差值的第一匹配度;通过使用第二弱耦合振荡器集群来估计针对第一向量的第二匹配度;通过使用第三弱耦合振荡器集群来估计针对第二向量的第三匹配度;从第一匹配度导出第一平方L2范数;从第二匹配度导出第二平方L2范数;从第三匹配度导出第三平方L2范数;将第二平方L2范数与第三平方L2范数相加,并且减去第一平方L2范数以形成总和;以及将总和除以2。
Description
相关申请的交叉引用
本申请涉及2014年3月10日提交的美国专利申请14/202,200,该申请如同完全进行阐述那样并入本文。本申请要求2016年7月6日提交的U.S.S.N.15/203,596的优先权和权益,该申请通过引用并入本文。
有关联邦科研经费的声明
本发明是根据美国政府合同HR0011-13-C-0052进行的。美国政府对本发明具有某些权利。
【技术领域】
本公开涉及一种用以通过使用弱耦合震荡器集群来在任意向量之间执行卷积的方法。
【背景技术】
很多信号处理应用(范围从监视相机到汽车、飞机、UAV)需要对由许多传感器实时获取的大量信号执行滤波操作。例如,现有技术的对象识别算法采用其基本计算是卷积运算的深度学习网络。
在现有技术中,如在下面的通过引用的方式并入本文的参考文献[2]、[7]和[8]中描述的,已经使用耦合振荡器来计算两个向量之间的匹配度(DoM)。DoM是通过两个向量之间的差值而计算的,并且DoM基于耦合振荡器之间的自发同步的动态。概念是:如果向量具有相似的值,使得匹配较高并且差值很小,则振荡器在频率和相位上相对更快地同步。
图1示出了经由平均器12彼此弱耦合以执行模板匹配的振荡器10集群。单独的振荡器10基于五元素输入向量14与五元素向量模板16之间的差向量18中的对应元素在相位或者频率上被扰乱。通过对平均器12处的振荡求积分来读出匹配度。本领域的技术人员将领会,M维输入向量将需要M个振荡器的集群。
取决于振荡器行为,例如,如在参考文献[7]和[8]中针对CMOS张弛振荡器以及耦合架构(如在参考文献[2]中描述的,该耦合架构可以是环)描述的,已经表明输出的DoM测量与向量之间的距离的某些Lp范数大致相关。
本领域的技术人员理解用于Lp范数的公式,并且知道用于向量x的L2范数的公式是而用于范数L1的公式是
利用处处可微的Lp范数的封闭形式分析函数来表征DoM测量一直是具有挑战性的。能够执行对DoM的这种表征是至关重要的,因为通过使用梯度下降的变型来训练现有技术的模式识别和机器学习算法(例如,该机器学习算法可以使用卷积网络或者自动编码器的层次结构),例如,梯度下降的变型可以是delta规则和反向传播。Delta规则和反向传播仅用于针对网络中的大量单元中的每个单元的可微的激活函数。由于这个原因,如在下面的通过引用的方式并入本文的参考文献[3]和[4]中描述的,利用振荡器集群的概念来构建复杂的视觉对象识别系统的现有尝试仅取得了有限的成功。然而,如在参考文献[7]和[8]中描述的,使用振荡器集群但是不依赖于梯度下降训练的方法已经更加成功。
参考文献
下面的参考文献通过引用的方式并入。
[1]由J.Cruz-Albrecht和N.Srinivasa于2014年3月10日提交的标题为“A TimeEncoded Based Network for Image Processing”的美国专利申请14/202,200。
[2]由T.Shibata、R.Zhang、S.P.Levitan、D.Nikonov和G.Bourianoff于2012年发表在Proc.Intl.Workshop on Cellular Nanoscale Networks and their Applications上的“CMOS Supporting Circuitries for Nano-Oscillator-Based AssociativeMemories”。
[3]由S.P.Levitan、Y.Fang、D.H.Dash、T.Shibata、D.E.Nikonov和G.I.Bourianoff于2012年发表在Proc.Intl.Workshop on Cellular Nanoscale Networksand their Applications上的“Non-Boolean Associative Architectures Based onNano-Oscillators”。
[4]由Levitan,S.P.、Fang,Y.、Carpenter,J.A.、Gnegy,C.N.、Janosik,N.S.、Awosika-Olumo,S.、...和Porod,W.发表在ISLPED(第235页)上的“(2013).Associativeprocessing with coupled oscillators.”。
[5]由Sermanet,P.、Eigen,D.、Zhang,X.、Mathieu,M.、Fergus,R.和LeCun,Y.发表在International Conference on Learning Representations(ICLR 2014),April 2014上的“(2014).Overfeat:Integrated recognition,localization and detection usingconvolutional networks.”。
[6]由Krizhevsky,A.、Sutskever,I.和Hinton,G.E.发表在Advances in neuralinformation processing systems(第1097-1105页)中的“(2012).ImageNetclassification with deep convolutional neural networks.”。
[7]在2014的IEEE/ACM计算机辅助设计国际会议(ICCAD)DOI:10.1109/ICCAD.2014.7001336上第86至91页发表的“Modeling oscillator arrays for videoanalytic applications”。
[8]在2014年10月的2014IEEE信号处理系统(SiPS)研讨会DOI:10.1109/SiPS.2014.6986101上第1页、第6页和第20至22页发表的“HMAX Image ProcessingPipeline with Coupled Oscillator Acceleration”。
[9]在2015年7月8日至10日的法国蒙彼利埃展开的国际超大规模集成讨论会(ISVLSI 2015)上发表的第144期论文“A Computational Primitive for ConvolutionBased on Coupled Oscillator Arrays”。
所需要的是一种通过使用弱耦合振荡器集群来计算内积、点积和卷积的改进方法。本公开的实施例满足了这些以及其它需求。
【发明内容】
两个向量的卷积本质上是两个向量之间的点积。计算两个向量之间的点积在计算上是昂贵的。必须将每对元素M相乘并且然后对其进行求和。当涉及很多数据点时,这种直接计算会太昂贵,并且需要一种更快、在计算上更便宜的方法。一种这种方法是:通过两个向量之间的匹配度(DoM)和每个向量与零向量之间的DoM来计算两个向量的近似点积。弱耦合振荡器集群是一种用以计算两个向量之间的DoM的在计算上廉价的方式。一个集群用于第一向量而第二集群用于第一向量与零向量之间的DoM,并且第三集群用于计算第二向量与零向量之间的DoM。每个DoM用于输入预先计算的分段连续且可微函数以产生对两个向量之间的差值的大小平方的估计。然后,近似点积计算是如下所述对大小的平方的三种估计的直接组合。
在本文公开的第一实施例中,一种用以在任意向量之间执行卷积的方法包括:通过使用第一弱耦合振荡器集群来估计针对具有多个第一元素的第一向量与具有多个第二元素的第二向量之间的差值的第一匹配度;通过使用第二弱耦合振荡器集群来估计针对第一向量的第二匹配度;通过使用第三弱耦合振荡器集群来估计针对第二向量的第三匹配度;从第一匹配度导出第一平方L2范数(第一向量与第二向量之间的差值的大小的平方);从第二匹配度导出第二平方L2范数;从第三匹配度导出第三平方L2范数;将第二平方L2范数与第三平方L2范数相加,并且减去第一平方L2范数以形成总和;以及将总和除以2。最终结果是对第一向量与第二向量之间的卷积(点积)的估计。
在本文公开的另一实施例中,一种用以在任意向量与之间执行卷积的方法包括:计算以下公式:
其中,通过使用第一弱耦合振荡器集群来从针对向量与向量之间的差值的第一匹配度导出其中,通过使用第二弱耦合振荡器集群来从针对向量与零向量之间的差值的第二匹配度导出其中,通过使用第三弱耦合振荡器集群来从针对向量与零向量之间的差值的第三匹配度导出其中,将向量和向量的每个元素线性缩放到在-1和+1之间的范围以形成缩放向量并且形成缩放向量(并且),其中,是向量的L1范数,并且其中,是向量的L1范数。
在本文公开的又一实施例中,一种用以在任意向量与之间执行卷积的装置包括:处理器,该处理器用于计算以下公式:;第一弱耦合振荡器集群,该第一弱耦合振荡器集群用于确定针对向量与向量之间的差值的第一匹配度以导出第二弱耦合振荡器集群,该第二弱耦合振荡器集群用于确定针对向量与零向量之间的差值的第二匹配度以导出第三弱耦合振荡器集群,该第三弱耦合振荡器集群用于确定针对向量与零向量之间的差值的第三匹配度以导出其中,向量和向量的每个元素被线性缩放到在-1和+1之间的范围以形成缩放矢量并且形成缩放矢量其中,是向量的L1范数,并且其中,是向量的L1范数。
这些以及其它特征和优点将通过下面的详细描述和随附的各图而变得更明显。在各图和描述中,数字指示各种特征,相同的数字贯穿各图和描述两者表示相同的特征。
【附图说明】
图1示出了根据本公开的经由平均器弱耦合的振荡集群;
图2示出了根据本公开的通过使用弱耦合振荡器集群来估计点积的方法的示意图;
图3A和图3B示出了根据本公开的具有用以计算输入向量与目标向量之间的匹配度的M个时间编码振荡器的电路;
图4示出了根据本公开的图3的时间编码振荡器集群针对不同向量的各种L2范数的匹配度(DoM)值的曲线图;
图5示出了根据本公开的针对Y轴上的平方L2范数和X轴上的DoM的数据,具有五(5)个部分的最佳拟合分段线性函数;
图6示出了针对根据本公开的实际点积的各个实例与估计的对应值的相关性。
图7示出了根据本公开的压控CMOS张弛振荡器;
图8示出了根据本公开的具有用于导出匹配度(DOM)的缓冲器和积分器电路的耦合振荡器集群;以及
图9示出了根据本公开的通过对图8的积分输出进行采样而测得的匹配度(DOM)。
【具体实施方式】
在下面的描述中,阐述了许多具体细节以清楚地描述本文公开的各个具体实施例。然而,本领域的技术人员将理解,可以在没有下面所讨论的具体细节中的所有具体细节的情况下实践目前所要求保护的发明。在其它实例中,没有描述熟知的特征以免模糊本发明。
本公开描述了一种用以通过使用弱耦合振荡器集群来计算内积并且因此,计算卷积的模拟方法。振荡器可以是纳米级振荡器装置,诸如,谐振体振荡器(RBO)和自旋扭矩振荡器(STO)。本公开的方法将需要比传统的基于布尔运算的卷积所需的功耗少104的功耗。而且,本公开的方法的处理速度将比使用传统的布尔运算的计算卷积快103倍。因此,针对大小、重量、面积和功率(SWAP)的巨大改进是可能的。
本公开是一种用以近似对点积的计算的方法,针对该方法,对于训练深度学习网络,存在闭合形式最佳权值更新等式。例如,在卷积网络中,如在通过引用的方式并入本文的参考文献[5]和[6]中描述的,通过S形信号函数来控制特征匹配层中的每个单元的活动,该S形信号函数基于其扇入权值模板向量与其直接感受域中的输入之间的点积进行运算。如下面进一步描述的,本公开依赖于用分段线性函数来近似作为DoM的函数的L2范数,其中,分段线性函数中的部分的数量是单调地改进性能的变量。
给定具有任意值范围的两个高维向量和本公开的方法可以基于下面的等式(1)来提供对两个向量的内积的快速计算:
该等式(1)可以重新整理为等式(2),
该等式(2)等效于等式(3)
本公开的方法通过振荡器集群分别针对对应的三对向量(即, 和)的DoM输出来提取对所需平方L2范数(即,平方L2范数和)的估计。如本领域的技术人员将理解的,L2范数的给定值(例如,)可以是不同的几对和的结果,对于高维向量而言,该结果是恶化的。
本公开的方法适用于通过使用自发同步的物理学来计算两个向量之间的DoM的任何振荡器集群技术。
如在图2中示出的,可以利用用以计算作为DoM的函数的平方L2范数的离线过程和用以计算X和T的点积的在线运算模式来执行该方法。
在离线过程中,可以使用弱耦合振荡器集群(诸如,在图2中示出的弱耦合振荡器集群20或者图3中示出的32)来针对分别针对不同差向量 和的平方范数和生成DoM输出22。0向量针对每个元素具有0值。每个平方L2范数的每个输出样本22跨越各种差向量。由于X和T在该校准过程中是已知的,因此,也可以离线计算平方L2范数。这提供了DoM与平方L2范数之间的映射,在图4中示出了该映射的示例。接下来,导出分段连续函数以提供从DoM输入对平方L2范数的最佳估计。在图5中示出了该函数的示例。在该方法中,为了表征针对不同平方L2范数的DoM输出22,在不失去如下面进一步描述的一般性的情况下,假设针对每个向量和中的每个元素的最小值和最大值的范围在-1和+1之间。这确保了每个平方L2范数的范围从0到4N,其中,N是向量的维数。为了表征针对平方L2范数和的DoM输出22,优选地,在整个范围内均匀地对针对每个向量和的-1和+1的该范围进行采样。
一旦DoM输出22针对每个向量和跨-1和+1的范围,则可以针对每个平方L2范数和构造如在图2中示出的曲线图24,其中Y轴上为平方L2范数,而X轴上为DoM。下一步骤是:通过使用具有灵活的断点的指定数量的分段线性部分25来针对该关系找到使用每个曲线图24中的点的最佳拟合。可以通过使用本领域的技术人员熟知的许多优化技术中的任何优化技术(例如,样条插值、保形插值,多项式曲线拟合)来实现该步骤。可以将曲线图24或者分段线性函数或者各部分存储在一个或者多个存储器24中,该一个或者多个存储器24可以由处理器26访问以估计给定相应匹配度(DoM)的平方L2范数和还可以将曲线图24中的关系存储在存储器中的查找表中。
通过在离线过程中执行上述步骤,可以使用具有分段线性部分25的曲线图24来查找或者立即估计针对由弱耦合振荡器集群产生的DoM的平方L2范数。
如果向量和具有任意值的元素,而不是范围从-1到+1的元素,则可以对向量进行线性缩放并且将其移位到-1到1的范围。可以基于跨针对每个向量的元素的最小值和最大值来简单地实现该操作。线性变换函数如下:
以及
通过组合等式(3)至(5),可以导出以下等式(6):
上面的等式(6)表明:可以通过使用耦合振荡器的概念来估计点积26,其中,等式(6)的前三项是三个平方L2范数。如在图2中示出的,通过使用弱耦合振荡器集群20来导出这些平方L2范数以针对等式(6)中的前三项中的每项计算DoM 22。然后使用每个DoM来获得使用对应的曲线图24中的分段线性函数的对应平方L2范数。
等式(6)还需要计算两个向量(即,和)的L1范数,与乘法相比较,这些L1范数在计算上相对没那么昂贵,因为如上面讨论的向量的L1范数仅仅是向量中的元素的绝对值的总和。
可以通过具有存储和计算元件(无论是数字的还是模拟的)的任何处理器、计算机或者微处理器来执行等式(6)的计算。
可以按照两种方式(串行地和并行地)来实施生成针对不同平方L2范数和的DoM输出22。在第一实施方式中,使用相同的弱耦合振荡器集群24的来依次执行对所需平方L2范数的表征。在第二实施方式中,并行地使用三个弱耦合振荡器集群,用于表征三个平方L2范数。
图3A示出了用于时间编码振荡器集群的特定硬件设计的模拟电路,如在参考文献[1]中描述的,该参考文献[1]是2014年3月10日提交的美国专利申请14/202,200,并且该参考文献[1]通过引用的方式并入本文。可以利用MS-CMOS来实施该电路。该电路具有M个时间编码器振荡器32的阵列,一个时间编码器振荡器32用于输入向量和目标向量中的每个元素30。这些向量的每个元素可以具有模拟值。当和匹配时,时间编码器振荡器32更加同步。当它们不匹配时,时间编码器振荡器32没那么同步。输入向量与目标向量之间的同步量和匹配度(DoM)由在电路的输出处产生的输出信号d34指示。
如在图3A中示出的,输入向量和目标向量被输入至一组减法电路30,一个减法元素30用于向量中的每个元素。减法电路可以是具有可变增益的跨导放大器单元36。每个跨导放大器单元36具有针对输入向量的元素的电压输入、针对目标向量的元素的电压输入以及一个电流输出。振荡器32的阵列可以基于时间编码器。每个时间编码器由求和器40、积分器42、滞后量化器44和来自具有可变增益的1位DAC46的电流反馈组成。
可以利用电容器来实施积分器42,并且可以利用CMOS晶体管来实施滞后量化器44和1位DAC46。时间编码器的输出48是仅具有以下两个可能值的异步脉冲型信号:高和低。可以用具有低电压摆动的CMOS技术来有效地实施具有仅两个二进制幅度值的这种类型的振荡器。
每个时间编码器的输出47是平均器电路50的输入,该平均器电路50包括跨导放大器51,每个跨导放大器51连接至电阻器52。电阻器52可以连接至参考电压VREF1。跨导放大器51将时间编码器振荡器32的电压输出47转换为电流。可以通过接线合并来将所有跨导放大器51的电流合在一起并且将其连接至电阻器52以形成振荡信号y54。
然后,使用匹配电路来将振荡信号y54转换为输出信号d34,当接近时,该输出信号d34具有较高的电压,而当不接近时,该输出信号d34具有较低的电压。匹配电路包括缓冲器60、二极管62、电容器64、电流源电路66和积分器68。缓冲器60用于产生与由平均器电路50产生的信号y54具有相同电压值的电压信号yb70。缓冲器60用于确保流过二极管62的电流对平均器电路50的输出电压信号y54没有任何影响。二极管62、电容器64和电流源电路66用于对信号yb70进行整流。整流的结果是跟随振荡信号yb70的峰值的电压信号yc72。积分器68用于对yc72求积分。可以通过复位信号74来使积分器68复位。积分器的输出是电压信号d34。在启用复位信号74之后的某固定时间段测得的该信号d34的电压表示输入向量与目标向量之间的匹配度(DoM)。用以测量信号d34的时间段可以比振荡器32的典型平均振荡周期时间大大约五十(50)倍。
对于图3A所示电路,对每个振荡器的反馈信号54通常是将通过对所有振荡器输出47进行算术平均而生成的信号的大约36%。该反馈54用于弱耦合振荡器32。与标记为“平均电路”的子电路51中的gb的值相比较,通过调整R 52的值来控制反馈54,该子电路51可以执行平均和衰减。
在一些实施例中,反馈信号54在所有振荡器输出47的算术平均值的1%和36%之间。针对反馈信号的值的另一范围是:振荡器32的输出47的算术平均值的0.04到0.50。典型的反馈信号可以是:0.36*(Output_of_Oscillator_1+Output_of_Oscillator_2+...+Output_of_Oscillator_M)/M。振荡器M的数量是任意的。在图3A中,示出了三个振荡器32。在另一实施例中,振荡器的数量可以是九个。
图3B所示电路与图3所示电路相似,其中增加了用以如在等式4和等式5中示出的那样通过比例因子33和偏置37来将元素X′和T′的范围归一化到-1和+1之间的电路系统。
已经将图3A所示耦合振荡器集群模拟为估计点积。图4示出了针对图3A所示时间编码振荡器集群针对维数为16并且具有范围在-1和1之间的向量元素值的差向量的匹配度(DoM)值的曲线图。注意,图4描绘了DoM与L2距离而不是L2距离的平方。每个平方L2距离与输入向量和的各个集合对应。
图5是示出了具有五(5)个分段线性部分的最佳拟合分段线性函数的曲线图,其中对于维数为49并且其元素具有在-1和1之间的值的差向量,Y轴上为L2距离,X轴上为DoM。
图6表明:对于实际计算的点积80的各个实例和通过使用本公开的使用弱耦合时间编码振荡器集群的方法估计的对应值,存在较高的相关性。对于图6所示曲线图,向量的维数为16,向量的元素在0和255之间变化,而向量的元素在-1和1之间变化。在图6中,使用等式(6)来估计点积82和84。图6所示曲线图上的点式点82和星点84与具有分别用于表征平方L2范数与DoM输出之间的关系的5个和10个部分的分段线性函数近似值对应。图6描绘了纵坐标上的和的实际卷积与横坐标上的根据本公开的计算得出的卷积的关系。图6指示:通过使用本公开的方法,可以按照高精确度来估计点积。对于具有5个和10个部分的分段线性函数,实际计算得出的卷积与使用弱耦合时间编码振荡器集群的估计的卷积之间的相关性分别为0.9021和0.9034,这也表明:精确度根据最佳拟合分段线性函数中的部分的数量提高。
在另一实施例中,可以在图8所示的电路中使用更简单的耦合振荡器100(如在图7中示出的),而不是图3所示时间编码器振荡器32。可以利用CMOS电路系统来实施振荡器100。在图7中示出的振荡器100可以是压控CMOS振荡器100,并且还可以是压控张弛振荡器。多个压控CMOS振荡器100如在图8中示出的那样连接在一起。
对每个压控CMOS振荡器100的输入Vin 102是来自模拟电压差分电路101,并且是两个向量和的元素Xi和Ti的模拟电压差(Xi-Ti)。可以通过连接106处的直接电连接来组合压控CMOS振荡器100的输出104或者对其进行求和,并且然后通过缓冲器108来对其进行缓冲以及通过积分器110来对其求积分以形成输出120。
当和匹配时,压控CMOS振荡器100更加同步。当它们不匹配时,压控CMOS振荡器100没那么同步。输出120取决于输入向量和目标向量之间的同步量和匹配度(DoM)。如在图9中示出的,在输出120处的积分波形和输出120的采样电压具有平方L2范数的特征,该特征可以被表示为L22范数。图9所示倒转抛物线形状是针对两个向量和之间的距离的平方L2范数的特征。
在图8中示出的DoM电路根据可以如在等式7中示出的那样被建模为两个向量A和B之间的欧几里德距离平方(L2 2)的距离度量起作用。
因此,可以通过对等式(7)进行简单的代数变换利用振荡器来实施向量卷积。如在等式8中示出的,通过扩展和重新整理该等式,可以导出根据三个基于振荡器的DOM电路的A和B的卷积的表达式。
等式(8)表明:可以通过使用三个振荡器集群来计算两个向量A和B的点积或者卷积,每个振荡器集群计算DoM。一个振荡器集群计算向量A与B之间的DoM,DOM(A,B),第二振荡器集群计算向量A与零向量之间的DOM,DOM(A,0),并且第三振荡器集群计算向量B与零向量之间的DOM,DOM(B,0)。然后,如在等式(8)中示出的,可以使用简单的减法器和比例算子来产生向量A和向量B的点积。导出的点积的质量或者其与数学理想值的接近程度的测量是振荡器、耦合、DOM电路系统以及采样响应与L2 2范数的接近程度的函数。
对于上面参照图7和图8描述的电路,在一个实施例中,已经测得使用图8所示电路的导出的点积之间的拟合函数中的差值以及数学理想值具有0.0069的RMS误差。对耦合自旋扭矩振荡器(STO)的模拟已经示出了相同的L2 2范数。这表明:可以使用按照各种技术实施的大范围耦合振荡器系统。
本公开已经描述了用以在任意向量之间计算内积并且因此,计算卷积的方法和设备。可以使用通过使用自发同步动态来计算两个向量之间的匹配度的任何振荡器集群技术,包括在图3A、图3B、图7和图8中描述的那些振荡器集群技术以及纳米级振荡器装置(诸如,谐振体振荡器和自旋扭矩振荡器)。这些方法和设备提供节能和高吞吐量的卷积。
现在已经根据专利法规的要求描述了本发明,本领域的技术人员将理解如何对本发明进行改变和修改以满足其特定要求或者条件。在不脱离如本文所公开的本发明的范围的情况下,可以进行这种改变和修改。
根据法律的要求出于说明和公开之目的呈现了对示例性以及优选实施例的前述详细描述。其并不意图是详尽的,也不意图将本发明限于所描述的(多种)精确形式,而是仅使本领域的其他技术人员能够理解本发明适用于特定用途或者实施方式的方式。修改和变化的可能性对于本领域的从业技术人员而言将是明显的。对示例性实施例的描述不旨在进行任何限制,该描述可能已经包括公差、特征大小、特定操作条件或工程规范等,并且可以在实施方式之间发生变化或者随着现有技术的改变而发生变化,并且从该描述不应该暗示任何限制。申请人已经针对本领域的现状提出了本公开,但是也考虑了进步,并且预期在未来进行的调整会考虑那些进步,即,根据本领域的现状。意图是本发明的范围由所写出的权利要求书和适用的等效物限定。以单数形式提及权利要求要素不旨在表示“一个且仅一个”,除非明确地如此规定。此外,本公开中的任何元件、组件、方法或者过程步骤都不意图专用于公众,不管是否在权利要求书中明确地陈述了元件、组件或者步骤。本文中的任何权利要求要素都不应该根据35U.S.C.Sec.112的规定第六段来解释,除非通过使用短语“用于...的部件”来明确地叙述该要素,并且本文中的任何方法或者过程步骤都不应该根据那些规定来解释,除非通过使用短语“包括……的(多个)步骤:”来明确地叙述该一个或者多个步骤。
优选地包括本文描述的所有元件、部件和步骤。要理解,如对于本领域的技术人员而言将是显然的,这些元件、部件和步骤中的任何元件、部件和步骤都可以由其它元件、部件和步骤代替或者被完全删除。
概括地,本文至少公开了以下内容:一种用以在任意向量之间执行卷积的方法包括:通过使用第一弱耦合振荡器集群来估计针对具有多个第一元素的第一向量与具有多个第二元素的第二向量之间的差值的第一匹配度;通过使用第二弱耦合振荡器集群来估计针对第一向量的第二匹配度;通过使用第三弱耦合振荡器集群来估计针对第二向量的第三匹配度;从第一匹配度导出第一平方L2范数;从第二匹配度导出第二平方L2范数;从第三匹配度导出第三平方L2范数;将第二平方L2范数和第三平方L2范数相加,并且减去第一平方L2范数以形成总和;以及将总和除以2。
本文还提出了至少以下构思:
1.一种用以在任意向量之间执行卷积的方法,包括:
通过使用第一弱耦合振荡器集群来计算针对具有多个第一元素的第一向量与具有多个第二元素的第二向量之间的差值的第一匹配度;
通过使用第二弱耦合振荡器集群来计算针对第一向量的第二匹配度;
通过使用第三弱耦合振荡器集群来计算针对第二向量的第三匹配度;
通过第一匹配度来估计第一平方L2范数;
通过第二匹配度来估计第二平方L2范数;
通过第三匹配度来估计第三平方L2范数;以及
将第二平方L2范数与第三平方L2范数相加,并且减去第一平方L2范数以形成总和。
2.根据构思1所述的方法,其中:
通过第一匹配度来估计第一平方L2范数包括:使用第一预先计算的查找表或者第一预先计算的分段线性函数,用于从第一匹配度导出第一平方L2范数;
通过第二匹配度来估计第二平方L2范数包括:使用第二预先计算的查找表或者第二预先计算的分段线性函数,用于从第二匹配度导出第二平方L2范数;以及
通过第三匹配度来估计第三平方L2范数包括:使用第三预先计算的查找表或者第三预先计算的分段线性函数,用于从第三匹配度导出第三平方L2范数。
3.根据构思1所述的方法,其中:
通过第一匹配度来估计第一平方L2范数包括:
通过使用第一弱耦合振荡器集群来表征针对不同第一平方L2范数的第一匹配度以估计针对第一向量的多个元素样本且针对第二向量的多个元素样本的第一匹配度以形成相应第一匹配度与相应第一平方L2范数之间的对应,其中,第一向量的每个元素和第二向量的每个元素范围在-1和+1之间;
通过第二匹配度来估计第二平方L2范数包括:
通过使用第二弱耦合振荡器集群来表征针对不同第二平方L2范数的第二匹配度以估计针对第一向量的多个元素样本的第二匹配度以形成相应第二匹配度与相应第二平方L2范数之间的对应,其中,第一向量的每个元素范围在-1和+1之间;以及
通过第三匹配度来导出第三平方L2范数包括:
通过使用第三弱耦合振荡器集群来表征针对不同第三平方L2范数的第三匹配度以估计针对第二向量的多个元素样本的第三匹配度以形成相应第三匹配度与相应第三平方L2范数之间的对应,其中,第二向量的每个元素范围在-1和+1之间。
4.根据构思3所述的方法:
其中,估计针对具有多个第一元素的第一向量与具有多个第二元素的第二向量之间的差值的第一匹配度包括:估计针对第一向量与第二向量之间的差值的第一匹配度,其中,第一向量的每个元素和第二向量的每个元素范围在-1和+1之间;
其中,估计针对第一向量的第二匹配度包括:估计第二匹配度,其中,第一向量的每个元素范围在-1和+1之间;以及
其中,估计针对第二向量的第三匹配度包括:估计第三匹配度,其中,第二向量的每个元素范围在-1和+1之间;并且
进一步包括:
计算第一向量的第一L1范数;
计算第二向量的第二L1范数;
将第二平方L2范数与第三平方L2范数相加,并且减去第一平方L2范数,第一比例因子乘以第一L1范数,第二比例因子乘以第二L1范数,以及第三因子以形成总和;以及
将总和除以2。
5.根据构思1所述的方法:
其中,第二弱耦合振荡器集群是第一弱耦合振荡器集群;并且
其中,第三弱耦合振荡器集群是第一弱耦合振荡器集群。
6.根据构思1所述的方法,进一步包括:
在第一向量的第一元素的值范围内以及在第二向量的第二元素的值范围内估计针对多个第一向量和多个第二向量的多个第一匹配度以表征相应第一匹配度与相应第一平方L2范数之间的关系;
在第一向量的第一元素的值范围内估计针对多个第一向量的多个第二匹配度以表征相应第二匹配度与相应第二平方L2范数之间的关系;以及
在第二向量的第二元素的值范围内估计针对多个第二向量的多个第三匹配度以表征相应第三匹配度与相应第三平方L2范数之间的关系。
7.根据构思1所述的方法,其中:
通过使用第二弱耦合振荡器集群来估计针对第一向量的第二匹配度包括:估计针对第一向量与具有多个零元素的第三向量之间的差值的第二匹配度;以及
通过使用第三弱耦合振荡器集群来估计针对第二向量的第三匹配度包括:估计针对第二向量与具有所述多个零元素的第三向量之间的差值的第三匹配度。
8.根据构思1所述的方法,其中:
第一弱耦合振荡器集群包括谐振体振荡器或者自旋扭矩振荡器;
第二弱耦合振荡器集群包括谐振体振荡器或者自旋扭矩振荡器;以及
第三弱耦合振荡器集群包括谐振体振荡器或者自旋扭矩振荡器。
9.根据构思1所述的方法,其中:
第一弱耦合振荡器集群包括:
多个差分电路,每个相应的差分电路耦合至第一向量的相应元素和第二向量的相应元素并且具有相应的差分输出;
多个振荡器,每个相应的振荡器具有耦合至相应的差分输出的相应输入并且具有相应的振荡器输出;
求和器,用于将相应的振荡器输出相加;以及
积分器,用于在所述振荡器的多个周期上求积分并且具有用于提供对第一匹配度的估计的积分器输出。
10.根据构思9所述的方法,其中:
每个差分电路包括跨导放大器;以及
每个振荡器包括时间编码振荡器,所述时间编码振荡器包括:
求和器,所述求和器耦合至所述差分电路;
积分器,所述积分器耦合至所述求和器;
滞后量化器,所述滞后量化器耦合至所述积分器;以及
1位数模转换器,所述1位数模转换器耦合至具有耦合至所述求和器的输出的所述滞后量化器。
11.根据构思9所述的方法,其中:
每个差分电路包括模拟电压差分电路;以及
每个振荡器包括:
压控振荡器或者压控张弛振荡器。
12.根据构思1所述的方法,其中:
第二和第三弱耦合振荡器集群中的每个包括:
多个差分电路,每个相应的差分电路具有相应的输出;
多个振荡器,每个相应的振荡器耦合至相应的输出并且具有相应的振荡器输出;
求和器,用于将相应的振荡器输出相加;以及
积分器,用于在所述振荡器的多个周期上求积分并且具有用于提供对匹配度的估计的积分器输出。
13.一种用于在任意向量与之间执行卷积的方法,包括:
计算以下公式:
其中,通过使用第一弱耦合振荡器来从针对向量与向量之间的差值的第一匹配度导出
其中,通过使用第二弱耦合振荡器来从针对向量与零向量之间的差值的第二匹配度导出
其中,通过使用第三弱耦合振荡器来从针对向量与零向量之间的差值的第三匹配度导出
其中,将向量和向量的每个元素线性缩放到在-1和+1之间的范围以形成缩放向量并且形成缩放向量;
其中,是向量的L1范数;并且
其中,是向量的L1范数。
14.根据构思13所述的方法,进一步包括:
通过使用第一弱耦合振荡器集群来表征针对差值的第一匹配度;
通过使用第二弱耦合振荡器集群来表征针对差值的第二匹配度;以及
通过使用第三弱耦合振荡器集群来表征针对差值的第三匹配度。
15.根据构思13所述的方法:
其中,第二弱耦合振荡器集群是第一弱耦合振荡器集群;并且
其中,第三弱耦合振荡器集群是第一弱耦合振荡器集群。
16.根据构思13所述的方法,其中:
第一弱耦合振荡器集群包括谐振体振荡器或者自旋扭矩振荡器;
第二弱耦合振荡器集群包括谐振体振荡器或者自旋扭矩振荡器;以及
第三弱耦合振荡器集群包括谐振体振荡器或者自旋扭矩振荡器。
17.根据构思13所述的方法,其中:
第一弱耦合振荡器集群包括:
多个差分电路,每个相应的差分电路耦合至缩放向量的相应元素和缩放向量的相应元素并且具有相应的差分输出;
多个振荡器,每个相应的振荡器具有耦合至相应的差分输出的相应输入并且具有相应的振荡器输出;
求和器,用于将相应的振荡器输出相加;以及
积分器,用于在所述振荡器的多个周期上求积分并且具有用于提供对第一匹配度的估计的积分器输出。
18.根据构思17所述的方法,其中:
每个差分电路包括跨导放大器;以及
每个振荡器包括时间编码振荡器,所述时间编码振荡器包括:
求和器,所述求和器耦合至所述差分电路;
积分器,所述积分器耦合至所述求和器;
滞后量化器,所述滞后量化器耦合至所述积分器;以及
1位数模转换器,所述1位数模转换器耦合至具有耦合至所述求和器的输出的所述滞后量化器。
19.根据构思17所述的方法,其中:
每个差分电路包括模拟电压差分电路;以及
每个振荡器包括:
压控振荡器或者压控张弛振荡器。
20.根据构思13所述的方法,其中:
第二和第三弱耦合振荡器集群中的每个包括:
多个差分电路,每个相应的差分电路具有相应的输出;
多个振荡器,每个相应的振荡器耦合至相应的输出并且具有相应的振荡器输出;
求和器,用于将相应的振荡器输出相加;以及
积分器,用于在所述振荡器的多个周期上求积分并且具有用于提供对匹配度的估计的积分器输出。
21.一种用以在任意向量与之间执行卷积的装置,其包括:
处理器,用于计算以下公式:
第一弱耦合振荡器集群,用于确定针对向量与向量之间的差值的第一匹配度以导出
第二弱耦合振荡器集群,用于确定针对向量与零向量之间的差值的第二匹配度以导出
第三弱耦合振荡器集群,用于确定针对向量与零向量之间的差值的第三匹配度以导出
其中,向量和向量的每个元素分别按照αXβX和αTβT被线性缩放到在-1和+1之间的范围以形成缩放向量并且形成缩放向量;
其中,是向量的L1范数;并且
其中,是向量的L1范数。
22.根据构思21所述的装置,进一步包括:
第一存储器,用于通过使用第一弱耦合振荡器集群来存储对针对不同的第一匹配度的表征;
第二存储器,用于通过使用第二弱耦合振荡器集群来存储对针对不同的第二匹配度的表征;以及
第三存储器,用于通过使用第三弱耦合振荡器集群来存储对针对不同的第三匹配度的表征。
23.根据构思21所述的装置:
其中,第二弱耦合振荡器集群是第一弱耦合振荡器集群;并且
其中,第三弱耦合振荡器集群是第一弱耦合振荡器集群。
24.根据构思21所述的装置,其中
第一弱耦合振荡器集群包括谐振体振荡器或者自旋扭矩振荡器;
第二弱耦合振荡器集群包括谐振体振荡器或者自旋扭矩振荡器;以及
第三弱耦合振荡器集群包括谐振体振荡器或者自旋扭矩振荡器。
25.根据构思21所述的装置,其中:
第二和第三弱耦合振荡器集群中的每个包括:
多个差分电路,每个相应的差分电路具有相应的差分输出;
多个振荡器,每个相应的振荡器具有耦合至相应的差分输出的相应输入并且具有相应的振荡器输出;
求和器,用于将相应的振荡器输出相加;以及
积分器,用于在所述振荡器的多个周期上求积分并且具有用于分别提供第一、第二或者第三匹配度的积分器输出。
26.根据构思25所述的装置,其中:
每个差分电路包括跨导放大器;以及
每个振荡器包括时间编码振荡器,所述时间编码振荡器包括:
求和器,所述求和器耦合至所述差分电路;
积分器,所述积分器耦合至所述求和器;
滞后量化器,所述滞后量化器耦合至所述积分器;以及
1位数模转换器,所述1位数模转换器耦合至具有耦合至所述求和器的输出的所述滞后量化器。
27.根据构思25所述的装置,其中:
每个差分电路包括模拟电压差分电路;以及
每个振荡器包括:
压控振荡器或者压控张弛振荡器。
Claims (27)
1.一种用以在任意向量之间执行卷积的方法,包括:
通过使用第一弱耦合振荡器集群来计算针对具有多个第一元素的第一向量与具有多个第二元素的第二向量之间的差值的第一匹配度;
通过使用第二弱耦合振荡器集群来计算针对第一向量的第二匹配度;
通过使用第三弱耦合振荡器集群来计算针对第二向量的第三匹配度;
通过第一匹配度来估计第一平方L2范数;
通过第二匹配度来估计第二平方L2范数;
通过第三匹配度来估计第三平方L2范数;以及
将第二平方L2范数与第三平方L2范数相加,并且减去第一平方L2范数以形成总和。
2.根据权利要求1所述的方法,其中:
通过第一匹配度来估计第一平方L2范数包括:使用第一预先计算的查找表或者第一预先计算的分段线性函数,用于从第一匹配度导出第一平方L2范数;
通过第二匹配度来估计第二平方L2范数包括:使用第二预先计算的查找表或者第二预先计算的分段线性函数,用于从第二匹配度导出第二平方L2范数;以及
通过第三匹配度来估计第三平方L2范数包括:使用第三预先计算的查找表或者第三预先计算的分段线性函数,用于从第三匹配度导出第三平方L2范数。
3.根据权利要求1所述的方法,其中:
通过第一匹配度来估计第一平方L2范数包括:
通过使用第一弱耦合振荡器集群来表征针对不同第一平方L2范数的第一匹配度以估计针对第一向量的多个元素样本且针对第二向量的多个元素样本的第一匹配度以形成相应第一匹配度与相应第一平方L2范数之间的对应,其中,第一向量的每个元素和第二向量的每个元素范围在-1和+1之间;
通过第二匹配度来估计第二平方L2范数包括:
通过使用第二弱耦合振荡器集群来表征针对不同第二平方L2范数的第二匹配度以估计针对第一向量的多个元素样本的第二匹配度以形成相应第二匹配度与相应第二平方L2范数之间的对应,其中,第一向量的每个元素范围在-1和+1之间;以及
通过第三匹配度来导出第三平方L2范数包括:
通过使用第三弱耦合振荡器集群来表征针对不同第三平方L2范数的第三匹配度以估计针对第二向量的多个元素样本的第三匹配度以形成相应第三匹配度与相应第三平方L2范数之间的对应,其中,第二向量的每个元素范围在-1和+1之间。
4.根据权利要求3所述的方法:
其中,估计针对具有多个第一元素的第一向量与具有多个第二元素的第二向量之间的差值的第一匹配度包括:估计针对第一向量与第二向量之间的差值的第一匹配度,其中,第一向量的每个元素和第二向量的每个元素范围在-1和+1之间;
其中,估计针对第一向量的第二匹配度包括:估计第二匹配度,其中,第一向量的每个元素范围在-1和+1之间;以及
其中,估计针对第二向量的第三匹配度包括:估计第三匹配度,其中,第二向量的每个元素范围在-1和+1之间;并且
进一步包括:
计算第一向量的第一L1范数;
计算第二向量的第二L1范数;
将第二平方L2范数与第三平方L2范数相加,并且减去第一平方L2范数,第一比例因子乘以第一L1范数,第二比例因子乘以第二L1范数,以及第三因子以形成总和;以及
将总和除以2。
5.根据权利要求1所述的方法:
其中,第二弱耦合振荡器集群是第一弱耦合振荡器集群;并且
其中,第三弱耦合振荡器集群是第一弱耦合振荡器集群。
6.根据权利要求1所述的方法,进一步包括:
在第一向量的第一元素的值范围内以及在第二向量的第二元素的值范围内估计针对多个第一向量和多个第二向量的多个第一匹配度以表征相应第一匹配度与相应第一平方L2范数之间的关系;
在第一向量的第一元素的值范围内估计针对多个第一向量的多个第二匹配度以表征相应第二匹配度与相应第二平方L2范数之间的关系;以及
在第二向量的第二元素的值范围内估计针对多个第二向量的多个第三匹配度以表征相应第三匹配度与相应第三平方L2范数之间的关系。
7.根据权利要求1所述的方法,其中:
通过使用第二弱耦合振荡器集群来估计针对第一向量的第二匹配度包括:估计针对第一向量与具有多个零元素的第三向量之间的差值的第二匹配度;以及
通过使用第三弱耦合振荡器集群来估计针对第二向量的第三匹配度包括:估计针对第二向量与具有所述多个零元素的第三向量之间的差值的第三匹配度。
8.根据权利要求1所述的方法,其中:
第一弱耦合振荡器集群包括谐振体振荡器或者自旋扭矩振荡器;
第二弱耦合振荡器集群包括谐振体振荡器或者自旋扭矩振荡器;以及
第三弱耦合振荡器集群包括谐振体振荡器或者自旋扭矩振荡器。
9.根据权利要求1所述的方法,其中:
第一弱耦合振荡器集群包括:
多个差分电路,每个相应的差分电路耦合至第一向量的相应元素和第二向量的相应元素并且具有相应的差分输出;
多个振荡器,每个相应的振荡器具有耦合至相应的差分输出的相应输入并且具有相应的振荡器输出;
求和器,用于将相应的振荡器输出相加;以及
积分器,用于在所述振荡器的多个周期上求积分并且具有用于提供对第一匹配度的估计的积分器输出。
10.根据权利要求9所述的方法,其中:
每个差分电路包括跨导放大器;以及
每个振荡器包括时间编码振荡器,所述时间编码振荡器包括:
求和器,所述求和器耦合至所述差分电路;
积分器,所述积分器耦合至所述求和器;
滞后量化器,所述滞后量化器耦合至所述积分器;以及
1位数模转换器,所述1位数模转换器耦合至具有耦合至所述求和器的输出的所述滞后量化器。
11.根据权利要求9所述的方法,其中:
每个差分电路包括模拟电压差分电路;以及
每个振荡器包括:
压控振荡器或者压控张弛振荡器。
12.根据权利要求1所述的方法,其中:
第二和第三弱耦合振荡器集群中的每个包括:
多个差分电路,每个相应的差分电路具有相应的输出;
多个振荡器,每个相应的振荡器耦合至相应的输出并且具有相应的振荡器输出;
求和器,用于将相应的振荡器输出相加;以及
积分器,用于在所述振荡器的多个周期上求积分并且具有用于提供对匹配度的估计的积分器输出。
13.一种用于在任意向量与之间执行卷积的方法,包括:
计算以下公式:
其中,通过使用第一弱耦合振荡器来从针对向量与向量之间的差值的第一匹配度导出
其中,通过使用第二弱耦合振荡器来从针对向量与零向量之间的差值的第二匹配度导出
其中,通过使用第三弱耦合振荡器来从针对向量与零向量之间的差值的第三匹配度导出
其中,将向量和向量的每个元素线性缩放到在-1和+1之间的范围以形成缩放向量并且形成缩放向量
其中,是向量的L1范数;并且
其中,是向量的L1范数。
14.根据权利要求13所述的方法,进一步包括:
通过使用第一弱耦合振荡器集群来表征针对差值的第一匹配度;
通过使用第二弱耦合振荡器集群来表征针对差值的第二匹配度;以及
通过使用第三弱耦合振荡器集群来表征针对差值的第三匹配度。
15.根据权利要求13所述的方法:
其中,第二弱耦合振荡器集群是第一弱耦合振荡器集群;并且
其中,第三弱耦合振荡器集群是第一弱耦合振荡器集群。
16.根据权利要求13所述的方法,其中:
第一弱耦合振荡器集群包括谐振体振荡器或者自旋扭矩振荡器;
第二弱耦合振荡器集群包括谐振体振荡器或者自旋扭矩振荡器;以及
第三弱耦合振荡器集群包括谐振体振荡器或者自旋扭矩振荡器。
17.根据权利要求13所述的方法,其中:
第一弱耦合振荡器集群包括:
多个差分电路,每个相应的差分电路耦合至缩放向量的相应元素和缩放向量的相应元素并且具有相应的差分输出;
多个振荡器,每个相应的振荡器具有耦合至相应的差分输出的相应输入并且具有相应的振荡器输出;
求和器,用于将相应的振荡器输出相加;以及
积分器,用于在所述振荡器的多个周期上求积分并且具有用于提供对第一匹配度的估计的积分器输出。
18.根据权利要求17所述的方法,其中:
每个差分电路包括跨导放大器;以及
每个振荡器包括时间编码振荡器,所述时间编码振荡器包括:
求和器,所述求和器耦合至所述差分电路;
积分器,所述积分器耦合至所述求和器;
滞后量化器,所述滞后量化器耦合至所述积分器;以及
1位数模转换器,所述1位数模转换器耦合至具有耦合至所述求和器的输出的所述滞后量化器。
19.根据权利要求17所述的方法,其中:
每个差分电路包括模拟电压差分电路;以及
每个振荡器包括:
压控振荡器或者压控张弛振荡器。
20.根据权利要求13所述的方法,其中:
第二和第三弱耦合振荡器集群中的每个包括:
多个差分电路,每个相应的差分电路具有相应的输出;
多个振荡器,每个相应的振荡器耦合至相应的输出并且具有相应的振荡器输出;
求和器,用于将相应的振荡器输出相加;以及
积分器,用于在所述振荡器的多个周期上求积分并且具有用于提供对匹配度的估计的积分器输出。
21.一种用以在任意向量与之间执行卷积的装置,其包括:
处理器,用于计算以下公式:
第一弱耦合振荡器集群,用于确定针对向量与向量之间的差值的第一匹配度以导出
第二弱耦合振荡器集群,用于确定针对向量与零向量之间的差值的第二匹配度以导出
第三弱耦合振荡器集群,用于确定针对向量与零向量之间的差值的第三匹配度以导出
其中,向量和向量的每个元素分别按照αXβX和αTβT被线性缩放到在-1和+1之间的范围以形成缩放向量并且形成缩放向量
其中,是向量的L1范数;并且
其中,是向量的L1范数。
22.根据权利要求21所述的装置,进一步包括:
第一存储器,用于通过使用第一弱耦合振荡器集群来存储对针对不同的第一匹配度的表征;
第二存储器,用于通过使用第二弱耦合振荡器集群来存储对针对不同的第二匹配度的表征;以及
第三存储器,用于通过使用第三弱耦合振荡器集群来存储对针对不同的第三匹配度的表征。
23.根据权利要求21所述的装置:
其中,第二弱耦合振荡器集群是第一弱耦合振荡器集群;并且
其中,第三弱耦合振荡器集群是第一弱耦合振荡器集群。
24.根据权利要求21所述的装置,其中
第一弱耦合振荡器集群包括谐振体振荡器或者自旋扭矩振荡器;
第二弱耦合振荡器集群包括谐振体振荡器或者自旋扭矩振荡器;以及
第三弱耦合振荡器集群包括谐振体振荡器或者自旋扭矩振荡器。
25.根据权利要求21所述的装置,其中:
第二和第三弱耦合振荡器集群中的每个包括:
多个差分电路,每个相应的差分电路具有相应的差分输出;
多个振荡器,每个相应的振荡器具有耦合至相应的差分输出的相应输入并且具有相应的振荡器输出;
求和器,用于将相应的振荡器输出相加;以及
积分器,用于在所述振荡器的多个周期上求积分并且具有用于分别提供第一、第二或者第三匹配度的积分器输出。
26.根据权利要求25所述的装置,其中:
每个差分电路包括跨导放大器;以及
每个振荡器包括时间编码振荡器,所述时间编码振荡器包括:
求和器,所述求和器耦合至所述差分电路;
积分器,所述积分器耦合至所述求和器;
滞后量化器,所述滞后量化器耦合至所述积分器;以及
1位数模转换器,所述1位数模转换器耦合至具有耦合至所述求和器的输出的所述滞后量化器。
27.根据权利要求25所述的装置,其中:
每个差分电路包括模拟电压差分电路;以及
每个振荡器包括:
压控振荡器或者压控张弛振荡器。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/203,596 US9998130B2 (en) | 2016-07-06 | 2016-07-06 | Method to perform convolutions between arbitrary vectors using clusters of weakly coupled oscillators |
US15/203,596 | 2016-07-06 | ||
PCT/US2017/040779 WO2018009586A1 (en) | 2016-07-06 | 2017-07-05 | Method to perform convolutions between arbitrary vectors |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109564584A true CN109564584A (zh) | 2019-04-02 |
CN109564584B CN109564584B (zh) | 2020-10-30 |
Family
ID=60911150
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780042033.4A Active CN109564584B (zh) | 2016-07-06 | 2017-07-05 | 用以在任意向量之间执行卷积的方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9998130B2 (zh) |
EP (1) | EP3482303B1 (zh) |
CN (1) | CN109564584B (zh) |
WO (1) | WO2018009586A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10311341B1 (en) * | 2015-08-27 | 2019-06-04 | Hrl Laboratories, Llc | System and method for online deep learning in an ultra-low power consumption state |
CN110444242B (zh) * | 2018-05-03 | 2023-09-08 | 爱思开海力士有限公司 | 有基于深度学习的干扰校正能力的存储器系统及操作方法 |
US10541699B1 (en) * | 2018-10-11 | 2020-01-21 | Nxp B.V. | Signal processing and conversion |
US20210089876A1 (en) * | 2019-09-23 | 2021-03-25 | Intel Corporation | Oscillator based neural network apparatus |
CN111639523B (zh) * | 2020-04-17 | 2023-07-07 | 北京迈格威科技有限公司 | 目标检测方法、装置、计算机设备和存储介质 |
US11663809B2 (en) | 2020-05-22 | 2023-05-30 | International Business Machines Corporation | Thin-film active surface for fuzzy template matching |
US20200372333A1 (en) * | 2020-08-10 | 2020-11-26 | Intel Corporation | Staged oscillators for neural computing |
FR3113971B1 (fr) * | 2020-09-08 | 2023-11-03 | Thales Sa | dispositif implémentant un filtre convolutionnel d'un réseau de neurones |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101785684A (zh) * | 2010-01-27 | 2010-07-28 | 天津大学 | 超声内窥镜合成孔径成像系统及较大孔径的合成方法 |
US20110022994A1 (en) * | 2009-07-22 | 2011-01-27 | Luminescent Technologies Inc. | Determining Source Patterns for Use in Photolithography |
EP2717481A2 (en) * | 2012-10-05 | 2014-04-09 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | System and Method for determining an interferer transmitting an interfering signal |
CN104573731A (zh) * | 2015-02-06 | 2015-04-29 | 厦门大学 | 基于卷积神经网络的快速目标检测方法 |
CN104737465A (zh) * | 2012-09-28 | 2015-06-24 | 交互数字专利控股公司 | 用于wifi波束成形、反馈以及探测(wibeam)的方法 |
US9262843B1 (en) * | 2014-03-10 | 2016-02-16 | Hrl Laboratories, Llc | Time encoded based network for image processing |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5355435A (en) | 1992-05-18 | 1994-10-11 | New Mexico State University Technology Transfer Corp. | Asynchronous temporal neural processing element |
US7054850B2 (en) | 2000-06-16 | 2006-05-30 | Canon Kabushiki Kaisha | Apparatus and method for detecting or recognizing pattern by employing a plurality of feature detecting elements |
US7822698B1 (en) | 2007-03-23 | 2010-10-26 | Hrl Laboratories, Llc | Spike domain and pulse domain non-linear processors |
CN107251090B (zh) * | 2015-02-16 | 2021-05-04 | Hrl实验室有限责任公司 | 尖峰域卷积电路 |
-
2016
- 2016-07-06 US US15/203,596 patent/US9998130B2/en not_active Expired - Fee Related
-
2017
- 2017-07-05 CN CN201780042033.4A patent/CN109564584B/zh active Active
- 2017-07-05 WO PCT/US2017/040779 patent/WO2018009586A1/en unknown
- 2017-07-05 EP EP17824839.9A patent/EP3482303B1/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110022994A1 (en) * | 2009-07-22 | 2011-01-27 | Luminescent Technologies Inc. | Determining Source Patterns for Use in Photolithography |
CN101785684A (zh) * | 2010-01-27 | 2010-07-28 | 天津大学 | 超声内窥镜合成孔径成像系统及较大孔径的合成方法 |
CN104737465A (zh) * | 2012-09-28 | 2015-06-24 | 交互数字专利控股公司 | 用于wifi波束成形、反馈以及探测(wibeam)的方法 |
EP2717481A2 (en) * | 2012-10-05 | 2014-04-09 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | System and Method for determining an interferer transmitting an interfering signal |
US9262843B1 (en) * | 2014-03-10 | 2016-02-16 | Hrl Laboratories, Llc | Time encoded based network for image processing |
CN104573731A (zh) * | 2015-02-06 | 2015-04-29 | 厦门大学 | 基于卷积神经网络的快速目标检测方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2018009586A1 (en) | 2018-01-11 |
EP3482303A1 (en) | 2019-05-15 |
EP3482303A4 (en) | 2020-02-26 |
US20180013439A1 (en) | 2018-01-11 |
CN109564584B (zh) | 2020-10-30 |
EP3482303B1 (en) | 2022-11-09 |
US9998130B2 (en) | 2018-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109564584A (zh) | 用以在任意向量之间执行卷积的方法 | |
Zhang et al. | A new varying-parameter recurrent neural-network for online solution of time-varying Sylvester equation | |
Zhang et al. | Design and analysis of a general recurrent neural network model for time-varying matrix inversion | |
Xu et al. | Kernel-based random vector functional-link network for fast learning of spatiotemporal dynamic processes | |
Patra et al. | Nonlinear dynamic system identification using Legendre neural network | |
Tavakolpour-Saleh et al. | Parametric and nonparametric system identification of an experimental turbojet engine | |
Wan et al. | A new iterative least squares parameter estimation approach for equation-error autoregressive systems | |
Xiaofang et al. | Parameter selection of support vector machine for function approximation based on chaos optimization | |
Hu et al. | Three-step general discrete-time Zhang neural network design and application to time-variant matrix inversion | |
CN107749627B (zh) | 基于改进匹配追踪的智能配电网潮流雅可比矩阵估计方法 | |
Danilin et al. | Determining the fault tolerance of memristorsbased neural network using simulation and design of experiments | |
Lu et al. | Collaborative learning-based clustered support vector machine for modeling of nonlinear processes subject to noise | |
Zhang et al. | An exponential-type anti-noise varying-gain network for solving disturbed time-varying inversion systems | |
Lin et al. | Essential rate for approximation by spherical neural networks | |
Cotter | The variational particle-mesh method for matching curves | |
Mohamed | Model Order Reduction Method for Large-Scale $ RC $ Interconnect and Implementation of Adaptive Digital PI Controller | |
Huang et al. | Finding roots of arbitrary high order polynomials based on neural network recursive partitioning method | |
Jiang et al. | A recurrent neural network for real-time semidefinite programming | |
Bechtold et al. | Nonlinear model order reduction in nanoelectronics: combination of POD and TPWL | |
CN107305348B (zh) | 基于相依性度量的动态系统迟延计算方法 | |
Pratap et al. | DST interpolation techniques for Reisz based matrix differentiator of non-integer order | |
Haini et al. | Design of neural network output layer in fault diagnosis of analog circuit | |
Yunjun et al. | RS image PCNN automatical segmentation based on information entropy | |
Yu et al. | G2T-SNN: Fusing Topological Graph and Gaussian Prior Spiking Neural Networks for Tactile Object Recognition | |
Saputra et al. | Combined feed-forward neural network and iterative linear back projection for Electrical Capacitance Volume Tomography |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |