[发明专利]深度学习加速装置、设备及方法在审
申请号: | 201910116441.0 | 申请日: | 2019-02-15 |
公开(公告)号: | CN109816108A | 公开(公告)日: | 2019-05-28 |
发明(设计)人: | 李静;袁龙涛;李建林;瞿鑫;蒋鑫 | 申请(专利权)人: | 领目科技(上海)有限公司 |
主分类号: | G06N3/08 | 分类号: | G06N3/08;G06N3/063;G06N3/04 |
代理公司: | 北京林达刘知识产权代理事务所(普通合伙) 11277 | 代理人: | 刘新宇 |
地址: | 201203 上海市自由*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 权值数据 缓存模块 学习 加速装置 控制模块 运算类型 运算模块 电连接 运算 缓存 计算结构 计算资源 运算结果 输出 | ||
本公开涉及深度学习加速装置、设备及方法,所述装置包括:缓存模块,用于缓存输入数据及权值数据,所述权值数据包括多种类型;控制模块,电连接于所述缓存模块,用于根据深度学习运算类型控制所述缓存模块输出所述深度学习运算类型对应的权值数据;运算模块,电连接于所述控制模块,用于接收所述输入数据及所述对应的权值数据,进行对应的深度学习运算,并输出运算结果。本公开利用同一个运算模块可以进行多种类型的深度学习运算,通过这样的方式,可以显著节省计算资源、简化计算结构。
技术领域
本公开涉及计算机技术领域,尤其涉及一种深度学习加速装置、设备及方法。
背景技术
近年来,神经网络领域依靠深度学习技术使其算法性能方面的优异表现被广泛关注,其中卷积神经网络表现突出。卷积神经网络广泛的应用于机器视觉、机器学习等应用领域,与在大规模服务器的中央处理单元(Center process Unit,CPU)上进行具有海量计算量的复杂网络结构和复杂算法不同,在嵌入式系统中,要求在CPU计算资源有限的情况下完成CNN大规模计算。
因此,为了提高CNN算法的硬件电路性能,采用具有很多专用算术功能单元、大量通用逻辑资源、片上存储资源、外围I/O接口和高速网络接口的FPGA器件是一个非常好的选择。
发明内容
根据本公开的一个方面,提出了一种深度学习加速装置,所述装置包括:
缓存模块,用于缓存输入数据及权值数据,所述权值数据包括多种类型;
控制模块,电连接于所述缓存模块,用于根据深度学习运算类型控制所述缓存模块输出所述深度学习运算类型对应的权值数据;
运算模块,电连接于所述控制模块,用于接收所述输入数据及所述对应的权值数据,进行对应的深度学习运算,并输出运算结果。
在一种可能的实施方式中,所述深度学习运算类型包括卷积运算类型、平均池化类型、最大池化类型的其中之一,其中:
所述控制模块还用于在所述深度学习运算类型为所述卷积运算类型时,控制所述缓存模块输出进行卷积运算的权值数据;或
所述控制模块,还用于在所述深度学习运算类型为所述平均池化类型时,控制所述缓存模块输出进行平均池化的权值数据;或
所述控制模块,还用于在所述深度学习运算类型为所述最大池化类型时,控制所述缓存模块输出进行最大池化的权值数据。
在一种可能的实施方式中,所述进行平均池化的权值数据为1/n2和/或所述进行最大池化的权值数据为1,其中,n表示深度学习运算中的卷积核的维度。
在一种可能的实施方式中,所述运算模块包括K*M个运算单元,所述运算单元用于利用预设卷积核进行乘法运算及累加运算,其中,K表示深度学习运算中一层输入层的输入通道数目,M表示深度学习运算中一层输出层的输出通道数目。
在一种可能的实施方式中,所述装置还包括:
移位寄存器模块,电连接于所述缓存模块及运算模块,用于接收所述缓存模块传输的输入数据,其中:
所述控制模块还用于对所述移位模块进行移位控制,将所述输入数据传输到所述运算模块。
在一种可能的实施方式中,所述装置还包括:
偏置模块,所述偏置模块用于在所述运算模块进行卷积运算时,对所述运算模块的中间数据进行偏置处理;
激活函数模块,电连接于所述偏置模块,用于在所述运算模块完成卷积运算后,对卷积运算的结果数据进行激活处理,并更新所述运算结果。
在一种可能的实施方式中,所述装置还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于领目科技(上海)有限公司,未经领目科技(上海)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910116441.0/2.html,转载请声明来源钻瓜专利网。