一种单样本学习相似度计算电路和方法与流程

文档序号:30451978发布日期:2022-06-18 02:10阅读:132来源:国知局
一种单样本学习相似度计算电路和方法与流程

1.本发明涉及存储器技术领域和机器学习领域,特别是涉及一种单样本学习相似度计算电路和方法。


背景技术:

2.元学习中的单样本学习仅用少量图片即可完成对未知样本的类别识别,其对标注数据的依赖大幅降低。单样本学习过程中,通常使用卷积神经网络与记忆增强网络结合实现。其使用训练集对卷积神经网络训练,得到网络模型。然后将支撑集和测试集输入网络模型,得到对应类别和未知类别的特征向量。之后将该向量输入记忆增强网络,计算未知向量与类别向量之间的相似度,根据最相似情况,得到测试集对应的类别。支撑集和测试集相似度计算过程中,会因为数据在cpu/gpu与dram两者间的反复传输带来大量的能耗和时延。因此,内容可寻址存储器cam可以作为记忆模块存储得到的特征向量,在存储器内部直接计算相似性,从而有效避免数据的反复传输,有效减少推理时间,减少能耗。
3.内容可寻址存储器cam有多种电路设计,目前已经应用于单样本学习的可寻址存储器有两种,使用2t-2r rram的tcam和基于两个铁电场效应晶体管的tcam。基于2t-2r rram的tcam与cmos工艺完全兼容,并且比使用传统cmos工艺16个晶体管的cam面积更小,但其存在器件偏差大,写功耗高且时间长,使用耐久度低以及保持性差等问题。基于两个铁电场效应晶体管的tcam因为仅使用两个晶体管,并使用电压驱动,写功耗低,电路设计简单、存储单元面积小,但其存在使用耐久度差,对工艺偏差要求高,相似度计算时间长等不足。


技术实现要素:

4.为了解决现有技术中存在的上述技术问题,本发明提出了一种单样本学习相似度计算电路和方法,具有集成度与存储密度高、读写功耗低、计算速度快、结构简单、稳定耐用的优点,其具体技术方案如下:一种单样本学习相似度计算电路,由tcam外围电路完整模块及二极管存储和匹配模块组成,其中二极管存储和匹配模块的基本单元结构使用两个可完全兼容cmos的三维可堆叠铁电二极管组成,tcam外围电路完整模块包括匹配线控制模块、搜索线控制模块、寄存计算模块, 匹配线控制模块,用于驱动匹配线,对匹配线进行电压控制;搜索线控制模块,用于驱动搜索线,对搜索线进行电压控制;二极管存储和匹配模块,是由多层m行*n列个tcam单元电路子模块、搜索线、匹配线、匹配线感应放大器构成的tcam阵列,tcam阵列每一层可复用tcam外围电路完整模块进行匹配线、搜索线的控制和匹配结果的寄存及计算;寄存计算模块,包含寄存器,寄存搜索的匹配结果,计数和计算单元,用于进行相似度计算,并输出最终结果。
5.进一步的,所述tcam单元电路子模块采用两个铁电二极管,通过一条匹配线ml和两条搜索线sl、连接;所述铁电二极管以tin为衬底,二氧化硅sio2堆积在hzo层上,其上通过原子层沉积技术ald沉积形成tin顶。
6.进一步的,所述铁电二极管为非线性二极管,具有伏安特性,扫描到正电压后,电流由低变高,状态由负向二极管变为正向二极管;扫描到负电压后,其状态从正向二极管变为负向二极管。
7.进一步的,所述铁电二极管利用其伏安特性可以存储0、1、x三态内容,具体的:利用铁电二极管的伏安特性,将特征以二进制信号1、0的状态通过铁电二极管存储至tcam阵列中,信号为1时铁电二极管导通,信号为0时铁电二极管关断,铁电二极管另有x状态,在x状态下,无论搜索线上的状态为1或0,都视为匹配。
8.一种单样本学习相似度计算方法,包括以下步骤:步骤一:通过公开的数据集设置训练集、支撑集和测试集,支撑集中类别为k,通过训练集训练网络模型,后将支撑集和测试集输入训练好的网络模型得到特征向量,再对特征向量进行量化,映射到[0,n]整数范围内;步骤二:将量化后的支撑集特征向量和测试集特征向量,使用温度计编码方法进行处理,将[0,n]范围内的十进制数转变为0、1组成的m位二进制信号特征,编码后的支撑集特征向量按行输入二极管存储和匹配模块中的tcam单元电路子模块存储,编码后的测试集特征向量通过搜索线控制模块输入,准备开始搜索匹配;步骤三:将搜索线控制模块中输入的二进制信号特征,与tcam单元电路子模块中存储的二进制信号特征并行地按位按维度依次进行匹配,并依次将匹配结果存入寄存器;步骤四:寄存计算模块中,计数和计算单元读取寄存器单元中的匹配结果,使用汉明距离计算每个存储特征和测试集特征的相似度,获得与测试样例最相似的类别,输出结果。
[0009]
进一步的,所述温度计编码方法,具体为:对于[0,n]整数范围内的特征向量,将其转化为m位二进制数,对于[0,n]范围内大小为l的数,其0至m-l位用0表示,m-l至m位用1表示。
[0010]
进一步的,所述将搜索线控制模块中输入的二进制信号特征,与tcam单元电路子模块中存储的二进制信号特征并行地按位按维度依次进行匹配,具体包括以下步骤:步骤3.1,首先通过匹配线控制模块,将匹配线电压预充电至gnd,编码后的测试集特征向量通过搜索线控制模块输入;步骤3.2,并行地处理一层中每行的tcam单元电路子模块,每行的匹配同步进行,以p bit为单位依次进匹配,直到完成该行m位的匹配;如果tcam单元电路子模块的存储信息与搜索线上的电平信息匹配即均为1或者均为0,或铁电二极管处于x状态,则匹配线将保持在gnd状态;如果tcam单元电路子模块的存储信息与搜索线上的电平信息不匹配即一个为1一个为0,则匹配线将被拉高至vdd电压;步骤3.3,每个tcam单元电路子模块匹配完成后,匹配线电压将通过匹配线感应放大器mlsa输出,输入寄存器中存储;步骤3.4,当前层处理结束后,依次对下一层进行处理,直到所有层都结束。
[0011]
进一步的,所述步骤四,具体包括:步骤4.1,以d(x,y)表示存储特征x和测试集特征y之间的汉明距离,两个长度相同的二进制特征x和y,将每位一一对应进行比较,若当前位对应数字不同,则d(x,y)加一,最终d(x,y)结果即汉明距离,表示两特征之间的相似度差异;
步骤4.2,在电路中,k个m位c维的特征匹配结果都一一存在寄存器中,使用计数单元,统计每一个特征匹配结果中的高电平,即未匹配的个数d(x,y) = count1(register),得到当前特征与测试特征之间的汉明距离d(x,y);步骤4.3,在电路中,对于k个存储的特征,共得到k个d(x,y)值,对这k个值使用计算单元进行比较,最小汉明距离min(d(x,y))对应的x则为y的类别;步骤4.4,将y类别输出,得到测试样例的类别结果。
[0012]
本发明的优势和有益效果在于:本发明可以有效应用于单样本学习中的特征存储及相似度计算过程中,减少数据在存储器与计算单元之间的反复传输带来的能耗损失,与其他应用于单样本学习的tcam电路相比,本发明电路仅使用两个二极管,存储单元面积小,结构简单,且二极管3d阵列的设计大幅提升了存储密度,铁电二极管实现读写功耗低、耐久度和稳定性高,3d堆叠工艺有利于大规模集成更加符合单样本学习的场景需求。
附图说明
[0013]
图1是本发明的电路模块结构示意图;图2是本发明的tcam单元电路子模块结构示意图;图3是本发明的铁电二极管内部结构示意图;图4是本发明的铁电二极管伏安特性曲线图;图5是本发明的单样本学习相似度计算流程示意图。
具体实施方式
[0014]
为了使本发明的目的、技术方案和技术效果更加清楚明白,以下结合说明书附图和实施例,对本发明作进一步详细说明。
[0015]
本发明提出一种单样本学习相似度计算的电路,如图1所示,由tcam(ternary content addressable memory,三态内容寻址存储器)外围电路完整模块及二极管存储和匹配模块组成,其具体结构包括:匹配线控制模块,用于驱动匹配线,对匹配线进行电压控制;搜索线控制模块,用于驱动搜索线,对搜索线进行电压控制;二极管存储和匹配模块,用于实现存储、搜索功能,是一个多层3d结构的铁电二极管阵列,具体是由多层m行*n列个tcam单元电路子模块、搜索线、匹配线、匹配线感应放大器等构成的tcam阵列,本实例中以8层*4行*8列为例;tcam阵列每一层可复用其他模块进行匹配线、搜索线的控制和匹配结果的寄存及计算,图1中为其中一层的平面图;寄存计算模块,包含寄存器,寄存搜索的匹配结果,计数和计算单元,用于进行相似度计算,并输出最终结果。
[0016]
其中,所述二极管存储和匹配模块是由tcam单元电路子模块构成,如图2所示,采用两个铁电二极管,通过一条匹配线ml和两条搜索线sl、及其阵列和驱动,是tcam单元电路子模块的基本单元。本实例以1 bit为单位进行匹配,即每1个基本单元构成一个tcam单元电路子模块,每个tcam单元电路子模块实现1 bit的匹配任务。4*8个tcam单元电路子模块构成一个完整tcam阵列,以实现二极管存储和匹配模块的完整特征存储或搜索功能。
[0017]
具体的,tcam单元电路子模块中的核心器件为两个铁电二极管,所述铁电二极管是一种高兼容cmos的可堆叠的8层3d铪基铁电二极管,具体内部结构如图3所示,以tin为衬底,二氧化硅sio2堆积在hzo层上,其上通过原子层沉积技术ald沉积形成tin顶。使用该内部结构,排列构成8层3d的垂直铁电二极管阵列。在该tin/hzo/tin器件中,肖特基-欧姆接触形成,导致类似二极管的传导,所述铁电二极管为非线性二极管,在不同的极化方向中势能会相应改变,扫描到正电压后,电流由低变高,状态由负向二极管变为正向二极管;扫描到负电压后,其状态从正向二极管变为负向二极管。
[0018]
铁电二极管伏安特性如图4所示,利用其在不同电压变化中的伏安特性,可以存储0、1、x三态内容,实现特征向量的存储功能,存储功能具体实现方法为:利用铁电二极管的伏安特性,将特征以二进制信号1、0的状态通过铁电二极管存储至tcam阵列中,信号为1时二极管导通,信号为0时铁电二极管关断。另外,此铁电二极管另外有x状态,在x状态下,无论搜索线上的状态为1或0,都视为匹配。
[0019]
基于上述电路的单样本学习相似度计算方法,其具体实现流程如图5所示,包括以下步骤:步骤一:通过公开的数据集设置训练集、支撑集和测试集,通过训练集训练记忆增强神经网络mann,后将支撑集和测试集输入训练好的网络模型得到特征向量,再对特征向量进行量化,映射到[0,n]整数范围内,n为整数。
[0020]
假设支撑集中类别为k,其中图像通过已经训练好的单样本学习网络模型得到k个通道数为c的特征向量,c表示维度,对测试集进行同样操作,将特征向量映射到[0,n]整数范围内。
[0021]
详细的,选用公开omniglot数据集,该数据集有1623个字符,每个字符有20个图片样本,使用1300个字符作为训练集,剩余的字符用于作为支撑集和测试集。首先使用训练集对神经网络进行初步训练,得到网络模型。再使用有k个类别图像的支撑集,为便于说明,本实例使用4种类别作为例子进行介绍。将支撑集输入网络模型后,得到4个3维的特征向量;同理,将测试集输入网络模型后,得到1个3维的特征向量;对特征向量进行九值量化,将其从原来的32位浮点数映射到[0,8]整数范围内。
[0022]
步骤二:将量化后的支撑集特征向量和测试集特征向量,使用温度计编码方法进行处理,将[0,n]范围内的十进制数转变为0、1组成的二进制信号m位c维特征,编码后的支撑集特征向量按行输入二极管存储和匹配模块中存储,编码后的测试集特征向量通过搜索线控制模块输入,准备开始搜索匹配。
[0023]
详细的,将量化后的支撑集特征向量和测试集特征向量,使用温度计编码方法进行处理,转变为0、1组成的8位二进制信号,编码后的支撑集特征向量按行输入二极管存储和匹配模块中存储,编码后的测试集特征向量通过搜索线控制模块输入,准备开始搜索匹配。
[0024]
所述温度计编码方法具体为:对于[0,8]整数范围内的特征向量,将其转化为8位二进制数;对于[0,8]范围内大小为l的数,其0至m-l位用0表示,m-l至m位用1表示,如数字6,表示为00111111。
[0025]
步骤三:将搜索线中输入的二进制信号m位c维特征,与二极管存储和匹配模块的tcam单元电路子模块中存储的k个m位c维的二进制信号并行地按位按维度依次进行匹配,
并依次将匹配结果存入寄存器。
[0026]
详细的,将搜索线中输入的1个3维8位二进制信号,与tcam单元电路子模块中存储的4个3维(特征的每个维度一层,即使用了8层中的3层)8位的二进制信号按位依次进行匹配,并依次将匹配结果存入寄存器。
[0027]
更加具体的,步骤三中的搜索线与存储信号的匹配操作包括以下步骤:步骤3.1,首先通过匹配线控制模块,将匹配线电压预充电至gnd,编码后的测试集特征向量通过搜索线控制模块输入。
[0028]
步骤3.2,并行地处理一层中每行的tcam单元电路子模块。每行的匹配同步进行,以1 bit为单位依次进匹配,直到完成该行8位的匹配;如果tcam单元电路子模块的存储信息与搜索线上的电平信息匹配即均为1或者均为0,或铁电二极管处于x状态,则匹配线将保持在gnd状态;如果tcam单元电路子模块的存储信息与搜索线上的电平信息不匹配即一个为1一个为0,则匹配线将被拉高至vdd电压。
[0029]
其中进行匹配时的匹配线电压状态通过以下方法实现变化:铁电二极管上存储信号为0,铁电二极管为关断状态,若此时搜索线上的信号为0,两者匹配,则匹配线上的电压保持gnd状态,若搜索线上的信号为1,两者不匹配,则匹配线上的电压将会充电至vdd。同理,铁电二极管上存储信号为1时,搜索线上的信号为1,两者匹配,匹配线上的电压保持gnd状态,若搜索线上的信号为0,两者不匹配,则匹配线上的电压将会被充电至vdd。
[0030]
步骤3.3,每个tcam单元电路子模块匹配完成后,匹配线电压将通过匹配线感应放大器mlsa输出,输入寄存器中存储。
[0031]
步骤3.4,当前层处理结束后,依次对下一层进行处理,直到所有3层都结束。3层中所有4行8个tcam单元电路子模块的匹配完成,代表匹配任务结束。
[0032]
步骤四:寄存计算模块中,计数和计算单元读取寄存器单元中的匹配结果,使用汉明距离计算每个存储特征和测试集特征的相似度,获得与测试样例最相似的类别,输出结果。
[0033]
具体的,所述步骤四通过以下子步骤实现:步骤4.1,以d(x,y)表示存储特征x和测试集特征y之间的汉明距离。两个长度相同的二进制特征x和y,将每位一一对应进行比较,若当前位对应数字不同,则d(x,y)加一,最终d(x,y)结果即汉明距离,表示两特征之间的相似度差异。
[0034]
步骤4.2,在tcam电路中,4个8位3维的特征匹配结果都一一存在寄存器中,使用计数单元,统计每一个特征匹配结果中的高电平,即未匹配的个数d(x,y) = count1(register),得到当前特征与测试特征之间的汉明距离d(x,y)。
[0035]
步骤4.3,在tcam电路中,对于4个存储的特征,共得到4个d(x,y)值,对这4个值使用计算单元进行比较,最小汉明距离min(d(x,y))对应的x则为y的类别。
[0036]
步骤4.4,将y类别输出,得到测试样例的类别结果。
[0037]
本发明使用基于铁电二极管的三态内容可寻址存储器tcam电路,存储单样本学习中记忆增强神经网络mann提取到的特征并进行相似度计算,相似性在tcam电路内部计算后再返回处理器,减少了传统计算机冯诺依曼架构中计算单元和存储器之间数据传输引起的能耗和延迟,本发明中tcam电路仅使用两个可完全兼容cmos的三维可堆叠铁电二极管组成基本单元结构,实现快速相似度计算和类别预测,与其他tcam电路相比,其电路紧凑节能、
稳定可靠,存储密度高、读写寿命长,能够有效降低单样本学习中相似度计算的硬件成本和功耗。
[0038]
以上所述,仅为本发明的优选实施案例,并非对本发明做任何形式上的限制。虽然前文对本发明的实施过程进行了详细说明,对于熟悉本领域的人员来说,其依然可以对前述各实例记载的技术方案进行修改,或者对其中部分技术特征进行同等替换。凡在本发明精神和原则之内所做修改、同等替换等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1