【技术实现步骤摘要】
深度神经网络的硬件实现的端到端数据格式选择
本公开涉及深度神经网络的硬件实现的端到端数据格式选择。
技术介绍
深度神经网络(DNN)是可以用于机器学习应用的一种人工神经网络。具体地,DNN可以用于信号处理应用,包括图像处理和计算机视觉应用。DNN已经在其中功率资源不是重要因素的应用中被实现。尽管如此,DNN还应用于许多不同的
,在这些领域中用于实现DNN的硬件资源的功耗、处理能力或硅面积是有限的。因此,需要实现被配置为以有效方式(即,以在操作时需要更少硅面积或更少处理能力的方式)实现DNN的硬件。此外,DNN可以以多种不同的方式被配置以用于各种不同的应用。因此,还需要用于实现DNN的硬件能够灵活地支持各种DNN配置。以下描述的实施例仅作为示例被提供,并且不限制解决深度神经网络的已知硬件实现的任意或所有缺点的实现方式。
技术实现思路
本
技术实现思路
被提供介绍将在以下详细描述中进一步描述的一些概念。本
技术实现思路
不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。本文描述的是用于确定用于表示输入至和/或输出自DNN的层的值的定点数格式的方法,该方法考虑了定点数格式对DNN的上下文中的特定层的影响。方法包括根据预定序列一次针对一个层来选择用于表示输入至和/或输出自该层的多组值的(一个或多个)定点数格式,其中在序列中任何层之前是该层依赖的(一个或多个)层。基于与定点数格式相关联的DNN的输出中的误差来选择针对每个层的定点数格式。一旦针对一个层的(一个或多个)定点数格式已经被选择,则针对序列中后续层的DNN的输出中的误差的任意计 ...
【技术保护点】
1.一种标识用于表示输入至和/或输出自深度神经网络“DNN”的多个层的值的定点数格式以用于配置所述DNN的硬件实现的计算机实现的方法(300),所述方法包括:确定所述多个层的序列,其中,所述多个层中的每个层之前是所述多个层中该层所依赖的任意层(302);接收被配置为使用浮点数格式来表示输入至和/或输出自所述DNN的所述多个层的值的所述DNN的实例(304);针对确定的序列中的每个层(306,312,314):选择用于表示输入至或输出自该层的一组或多组值中的每组值的定点数格式,其中,用于表示输入至或输出自一个层的一组值的定点数格式被选择以使得最小化所述DNN的实例的输出误差(308);以及重新配置所述DNN的实例以使用针对所述一组或多组值中的每组值的选择的定点数格式来表示该组值(310)。
【技术特征摘要】
2017.11.03 GB 1718289.01.一种标识用于表示输入至和/或输出自深度神经网络“DNN”的多个层的值的定点数格式以用于配置所述DNN的硬件实现的计算机实现的方法(300),所述方法包括:确定所述多个层的序列,其中,所述多个层中的每个层之前是所述多个层中该层所依赖的任意层(302);接收被配置为使用浮点数格式来表示输入至和/或输出自所述DNN的所述多个层的值的所述DNN的实例(304);针对确定的序列中的每个层(306,312,314):选择用于表示输入至或输出自该层的一组或多组值中的每组值的定点数格式,其中,用于表示输入至或输出自一个层的一组值的定点数格式被选择以使得最小化所述DNN的实例的输出误差(308);以及重新配置所述DNN的实例以使用针对所述一组或多组值中的每组值的选择的定点数格式来表示该组值(310)。2.根据权利要求1所述的方法(300),其中,选择用于表示输入至或输出自一个层的一组值的定点数格式包括:针对多个可能的定点数格式中的每个定点数格式(502,510,512):临时配置所述DNN的实例以使用所述定点数格式来表示针对该层的该组值(504);响应于测试输入数据而确定临时配置的所述DNN的实例的输出(506);并且确定临时配置的所述DNN的实例的输出误差(508);以及基于与所述多个可能的定点数格式中的每个定点数格式相关联的输出误差来选择定点数格式以表示输入至或输出自该层的该组值。3.根据权利要求2所述的方法(300),其中,与最低输出误差相关联的定点数格式被选择作为用于表示该组值的定点数格式。4.根据权利要求2所述的方法(300),其中,每个可能的定点数格式包括指数和尾数位长度,并且所述多个可能的定点数格式中的每个可能的定点数格式包括相同的尾数位长度和不同的指数。5.根据前述权利要求中任一项所述的方法(300),其中,选择用于表示输入至或输出自该层的一组或多组值中的每组值的定点数格式包括:选择最小化所述DNN的实例中的输出误差的用于表示针对该层的输入数据值的至少一部分的定点数格式(904);重新配置所述DNN的实例以用选择的定点数格式来表示针对该层的输入数据值的至少一部分(906);以及在所述重新配置之后,选择最小化所述DNN的实例中的输出误差的用于表示针对该层的输出数据值的至少一部分的定点数格式(922)。6.根据权利要求5所述的方法(300),其中,选择用于表示输入至或输出自该层的一组或多组值中的每组值的定点数格式还包括:选择最小化所述DNN的实例中的输出误差的用于表示针对该层的权重的至少一部分的定点数格式(910);以及在选择用于表示针对该层的输出数据值的至少一部分的定点数格式之前,重新配置所述DNN的实例以用选择的定点数格式来表示针对该层的权重的至少一部分(912)。7.根据权利要求1至4中任一项所述的方法(300),其中,所述DNN是分类网络,并且所述输出误差是响应于测试输入数据的所述DNN的实例的输出的前1名的分类准确度。8.根据权利要求1至4中任一项所述的方法(300),其中,所述DNN是分类网络,并且所述输出误差是响应于测试输入数据的所述DNN的实例的输出的前5名的分类准确度。9.根据权利要求1至4中任一项所述的方法(300),其中,所述DNN是分类网络,并且所述输出误差是响应于测试输入数据的所述DNN的实例的输出的分对数与基线输出的分对数之间的L1差异的总和。10.根据权利要求1至4中任一项所述的方法(300),其中,所述DNN是分类网络,并且所述输出误差是所述DNN的实例的输出的柔性最大归一化的分对数与基线输出的柔性最大归一化的分对数之间的L1差...
【专利技术属性】
技术研发人员:詹姆斯·因贝尔,
申请(专利权)人:畅想科技有限公司,
类型:发明
国别省市:英国,GB
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。