【技术实现步骤摘要】
面向精简卷积神经网络的低代价加速器架构及其处理方法
本专利技术涉及计算与人工智能
,特别是涉及一种面向精简卷积神经网络的低代价加速器架构及其处理方法。
技术介绍
近几年来,图像目标识别、语音识别和自然语言处理等很多问题都取得了极大的进展,这些进展得益于深度学习技术的发展。作为深度学习基础的神经网络结构在不断演进,这其中作为图像识别领域最重要的卷积神经网络也在不断的演进。起初卷积神经网络演进的主要动力是提升性能,也因此出现了一系列“通用卷积神经网络”,例如:AlexNet、ZFNet、VGGNet,GoogleNet和ResNet等。这类网络对性能的提升主要是通过层数的增加,而核心计算结构变化不大,对硬件加速器的设计来说相对友好,现有的卷积神经网络加速器主要参照这类网络结构进行设计,通常以3×3×N的3D卷积作为基础运算单元。然而,对于一些资源受限的终端设备,上述通用卷积神经网络的规模过于庞大,难以部署,网络轻量化成了另外一个演进方向,出现了又一系列“精简卷积神经网络”,例如:SqueezeNet、MobileNet、shuffleNet、DenseNet、MobileNetV2、MnasNet等。相比于通用卷积神经网络,精简网络结构呈现“异构化”与“碎片化”特点,网络与网络的结构性差异变大,出现了较多的轻量化组件,组件间的计算方式差异性较大,例如MobileNetV2,主要结构为1x1xN卷积(占比达到97%以上)和深度可分离卷积,然而,这些精简卷积神经网络采用现有的神经网络加速器处理往往效率低下或功耗 ...
【技术保护点】
1.一种面向精简卷积神经网络的低代价加速器架构,包括:/n数据和权值张量存储单元,用于存储输入数据张量、输入权值张量以及输出数据张量;/n数据读取单元,用于从所述数据和权值张量存储单元读取数据张量,并按照预设规则对所读取的张量进行切分及向量化后存储到数据向量存储单元;/n数据向量存储单元,用于存储一批数据向量;/n数据向量读取单元,用于按预设规则从所述数据向量存储单元读取数据向量并写入到所述数据向量寄存单元;/n数据向量寄存单元,用于寄存1个或几个数据向量;/n权值读取单元,用于从所述数据和权值张量存储单元读取权值张量,并按照预设规则对所读取的张量进行切分与向量化后存储到对应的权值向量存储单元;/nm组权值向量存储单元,每组权值单元分别存储一批权值向量;/nm组权值向量读取单元,每组权值向量读取单元按预设规则从相应的权值向量存储单元读取参数向量,并将所读取的权值向量写入到对应权值向量寄存单元;/nm组权值向量寄存单元,每组权值向量寄存单元用于寄存1个或几个权值向量;/nm组向量运算单元,用于从数据向量寄存单元以及各权值向量寄存单元获取相应的数据和权值向量进行处理,并将处理结果存入数据和 ...
【技术特征摘要】
1.一种面向精简卷积神经网络的低代价加速器架构,包括:
数据和权值张量存储单元,用于存储输入数据张量、输入权值张量以及输出数据张量;
数据读取单元,用于从所述数据和权值张量存储单元读取数据张量,并按照预设规则对所读取的张量进行切分及向量化后存储到数据向量存储单元;
数据向量存储单元,用于存储一批数据向量;
数据向量读取单元,用于按预设规则从所述数据向量存储单元读取数据向量并写入到所述数据向量寄存单元;
数据向量寄存单元,用于寄存1个或几个数据向量;
权值读取单元,用于从所述数据和权值张量存储单元读取权值张量,并按照预设规则对所读取的张量进行切分与向量化后存储到对应的权值向量存储单元;
m组权值向量存储单元,每组权值单元分别存储一批权值向量;
m组权值向量读取单元,每组权值向量读取单元按预设规则从相应的权值向量存储单元读取参数向量,并将所读取的权值向量写入到对应权值向量寄存单元;
m组权值向量寄存单元,每组权值向量寄存单元用于寄存1个或几个权值向量;
m组向量运算单元,用于从数据向量寄存单元以及各权值向量寄存单元获取相应的数据和权值向量进行处理,并将处理结果存入数据和权值张量存储单元,每组向量运算单元每时钟周期处理一对数据和权值向量。
2.如权利要求1所述的一种面向精简卷积神经网络的低代价加速器架构,其特征在于:所述数据向量读取单元与向量运算单元采用握手同步机制协调数据向量的读取与运算处理。
3.如权利要求1所述的一种面向精简卷积神经网络的低代价加速器架构,其特征在于:所述m组向量运算单元共享数据向量而独享权值向量。
4.如权利要求1所述的一种面向精简卷积神经网络的低代价加速器架构,其特征在于:所述权值读取单元与向量运算单元采用握手同步机制协调权值向量的读取与运算处理。
5.如权利要求1所述的一种面向精简卷积神经网络的低代价加速器架构,其特征在于,所述向量运算单元包括:
向量乘累加运算单元,用于每周期读取一对数据向量和权值向量,并对其进行乘累加运算,获得乘累加运算结果序列Rv;
分组累加运算单元,用于接收所述向量乘累加处理单元的输出结果序列Rv,将所接收的乘累加结果序列按预设规则进行分组并累加到一起,获得累加结果Rg;
激活池化运算单元,用于对所述分组累加运算单元的输出序列Rg进行激活池化处理,处理后的输出结果记为Ra;
分组累加存储单元,用于存储所述分组累加运算单元的运算结果。
6.如权利要求5所述的一种面向精简卷积神经网络的低代价加速器架构,其特征在于,所述分组累加运算单元包括:
数据接收单元,用于接收向量乘累加运算单元的结果Rv;
历史累加结果判断处理单元,用于判断所接收到的当前Rv所属分组是否有历史累加结果,若有则读取对应的历史累加结果,将历史累加结果与当前Rv累加,将累加后结果记为Rg,并启动累加完成判断处理单元;若当前Rv所属分组还没有历史累加结果,则直接将当前Rv作为累加结果,将累加后结果记为Rg,并启动累加完成判断处理单元;
所属分组累加完成判断处理...
【专利技术属性】
技术研发人员:党韩兵,刘文庭,刘学彦,尹东,詹进,
申请(专利权)人:上海富瀚微电子股份有限公司,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。