基于用于深度神经网络的增强学习的张量分解中的排序选择制造技术

技术编号:29465343 阅读:37 留言:0更新日期:2021-07-27 17:55
张量分解对于压缩深度神经网络(DNN)有利。在DNN的许多应用中,减少参数的数量和计算工作量有助于提高部署中的推理速度。现代DNN包括具有多阵列权重的多个层,其中张量分解是执行压缩的自然方式,其中卷积层或完全连接层中的权重张量用指定的张量排序(例如,标准排序、张量列排序)来分解。使用DNN的常规张量分解涉及手动选择排序,这需要繁琐的人工来优化性能。因此,本文提出了排序选择实施方式,其受增强学习的启发,以自动选择张量分解中的排序。实验结果验证了基于学习的排序选择实施方式显着地优于对多个测试数据集的手工制作的排序选择试探法,目的是有效地压缩深度神经网络,同时保持相当的精度。

【技术实现步骤摘要】
【国外来华专利技术】基于用于深度神经网络的增强学习的张量分解中的排序选择
本公开大体上涉及用于计算机学习的系统和方法,其可提供改进的计算机性能、特征和使用。更具体地,本公开涉及用于改进深度学习模型的系统和方法。
技术介绍
深度神经网络在诸如计算机视觉、自然语言处理、推荐系统等领域取得了巨大的成功。随着机器学习模型的能力增长,其潜在用途也扩展了。新的应用领域每天都在扩大。然而,机器学习模型经常需要大量资源,诸如存储器、计算资源和功率。这种高资源需求限制了机器学习技术的使用,因为遗憾的是,在许多情况下,只有资源受限的设备可用。例如,移动电话、嵌入式设备和物联网(IoT)设备非常流行,但是它们通常具有有限的计算和功率资源。如果模型大小可减小,则其相应的资源要求通常也将减小。但是,减小模型大小并不是一个很小的任务。确定如何减小模型大小很复杂。另外,可减小模型的尺寸,但是随后可能严重影响其性能。因此,所需要的是用于在不显著影响模型性能的情况下减少模型的资源需求的新方法。
技术实现思路
根据第一方面,本公开的一些实施方式提供了一种计算机实现的方法,用于选择对预训练的深度神经网络(DNN)的一个或多个层的权重张量进行分解的排序,所述方法包括:将与所述预训练的DNN的一个或多个层相关的元素嵌入到状态空间中;对于要分解其权重张量的经过预训练的DNN的每一层,初始化具有预置值的动作;迭代,直到达到停止条件,一组步骤包括:对于要分解其权重张量的经过预训练的DNN的每一层,使代理使用嵌入元素的至少部分和来自先前迭代的奖励值,如可用,以确定与该层的排序相关的动作值;响应于要分解其权重张量的预训练DNN的每一层具有动作值:对于要分解其权重张量的预训练DNN的每一层,根据从其动作值确定的其排序来分解其权重张量;利用具有分解后的权重张量的预训练后的DNN对目标数据集执行推理以获得奖励度量,该奖励度量基于推理精度和由于分解后的权重张量的模型压缩;以及响应于已达到的停止条件,输出预训练的DNN的每一层的对应于最佳奖励度量的排序,所述预训练的DNN的每一层的权重张量均已进行分解。根据第二方面,本公开的一些实施方式提供了一种包括一个或多个指令序列的非暂时性计算机可读介质,所述指令序列在由至少一个处理器执行时引起执行用于选择对预训练的深度神经网络(DNN)的一个或多个层的权重张量进行分解的排序的步骤,所述步骤包括:对于要分解其权重张量的经过预训练的DNN的每一层,使代理使用嵌入元素的至少部分和来自先前迭代的奖励值,如可用,以确定与该层的排序相关的动作值;响应于要分解其权重张量的预训练DNN的每一层具有动作值:对于要分解其权重张量的预训练DNN的每一层,根据从其动作值确定的其排序来分解其权重张量;利用具有分解后的权重张量的预训练后的DNN对目标数据集执行推理以获得奖励度量,该奖励度量基于推理精度和由于分解后的权重张量的模型压缩;以及响应于已达到的停止条件,输出预训练的DNN的每一层的对应于最佳奖励度量的排序,所述预训练的DNN的每一层的权重张量均已进行分解。根据第三方面,本公开的一些实施方式提供了一种系统,该系统包括:一个或多个处理器;以及包括一组或多组指令的非暂时性计算机可读介质,所述一组或多组指令在由所述一个或多个处理器中的至少一个执行时使得执行步骤,所述步骤包括:对于要分解其权重张量的经过预训练的DNN的每一层,使代理使用嵌入元素的至少部分和来自先前迭代的奖励值,如可用,以确定与该层的排序相关的动作值;响应于要分解其权重张量的预训练DNN的每一层具有动作值:对于要分解其权重张量的预训练DNN的每一层,根据从其动作值确定的其排序来分解其权重张量;利用具有分解后的权重张量的预训练后的DNN对目标数据集执行推理以获得奖励度量,该奖励度量基于推理精度和由于分解后的权重张量的模型压缩;以及响应于已达到的停止条件,输出预训练的DNN的每一层的对应于最佳奖励度量的排序,所述预训练的DNN的每一层的权重张量均已进行分解。附图说明将参考本公开的实施方式,其示例可在附图中示出。这些附图是说明性的,而不是限制性的。尽管在这些实施方式的上下文中一般性地描述了本公开,但应理解大,其并不旨在将本公开的范围限制于这些特定实施方式。图中各项可能不是按比例绘制的。附图(“图”))1用图形描绘了四个张量分解格式:(a)正则多元(CP)分解,三阶情况;(b)Tucker分解,三级情况;(c)张量列(TT)分解,一般N阶情况;以及(d)张量环(TR)分解,一般N阶情形。图2描绘了根据本公开的实施方式的基于用于深度神经网络中的张量分解的增强学习的排序选择方案的概观。图3描绘了根据本公开的实施方式的排序搜索过程。图4描绘了根据本公开的实施方式的用于更新深度神经网络的训练的方法,其中深度神经网络中的权重张量中的至少一个或多个已分解。图5描绘了根据本专利技术实施方式的计算装置/信息处理系统的简化框图。具体实施方式在以下描述中,出于解释的目的,阐述了具体细节以提供对本专利技术的理解。然而,对于本领域的技术人员显而易见的是,可在没有这些细节的情况下实践本公开。另外,本领域技术人员将认识到的是,以下描述的本公开的实施方式可以以多种方式来实现,诸如在过程、设备、系统、装置或有形计算机可读介质上的方法。在图中示出的组件或模块是本公开的示例性实施方式的示例,并且旨在避免混淆本公开。还应当理解的是,在整个讨论中,组件可描述为单独的功能单元,其可包括子单元,但是本领域技术人员将认识到的是,各种组件或其部分可划分为单独的组件,或可集成在一起,包括集成在单个系统或组件内。应注意的是,本文所论述的功能或操作可实施为组件。组件可用软件、硬件或其组合来实现。另外,附图中的组件或系统之间的连接并不限于直接连接。相反,这些组件之间的数据可由中间组件修改、重新格式化或以其它方式改变。另外,可使用另外的或更少的连接。还应当注意的是,应当将术语“联接”、“连接”或“通信联接”理解为包括直接连接、通过一个或多个中间设备的间接连接以及无线连接。在说明书中对“一个实施方式”、“优选实施方式”、“实施方式”或“多个实施方式”的引用意味着结合该实施方式描述的特定特征、结构、特性或功能包括于本公开的至少一个实施方式中,并且可在一个以上的实施方式中。另外,在说明书各处出现的上述短语不一定都是指相同的一个或多个实施方式。在本说明书各处使用某些术语是为了说明,而不应被解释为限制。服务、功能或资源不限于单个服务、功能或资源;这些术语的使用可指相关服务、功能或资源的分组,其可为分布式的或聚集的。术语“包括”和“包含”应理解为开放式术语,并且以下的任何列表都是示例,而不意味着限于所列出的项目。“层”可包括一个或多个操作。词语“最佳的”、“最佳化”、“最佳化”等是指结果或过程的改进,并且不要求指定的结果或过程已经达到“最佳的”或峰值状态。本文所用的任何标题仅用于组织目的,不应用于限制说明书或权利要求书的范围。在该专利文献中提及的本文档来自技高网...

【技术保护点】
1.一种用于选择排序以分解预训练的深度神经网络(DNN)的一个或多个层的权重张量的计算机实现的方法,所述方法包括:/n将与所述预训练的DNN的一个或多个层相关的元素嵌入到状态空间中;/n对于要分解其权重张量的所述预训练的DNN的每一层,初始化具有预置值的动作;/n迭代一组步骤,直到达到停止条件,所述一组步骤包括:/n对于要分解其权重张量的所述预训练的DNN的每一层,使代理使用嵌入元素的至少部分和来自先前迭代的奖励值,如果可用,以确定与所述层的排序相关的动作值;/n响应于要分解其权重张量的所述预训练的DNN的每一层具有动作值:/n对于要分解其权重张量的所述预训练的DNN的每一层,根据从其动作值确定的其排序来分解其权重张量;以及/n使用具有分解后的权重张量的所述预训练的DNN对目标数据集执行推理,以获得奖励度量,所述奖励度量基于推理精度和由于分解后的权重张量而导致的模型压缩;以及/n响应于已达到的停止条件,输出所述预训练的DNN的每一层的排序,所述预训练的DNN的每一层的权重张量已对应于最佳奖励度量进行分解。/n

【技术特征摘要】
【国外来华专利技术】1.一种用于选择排序以分解预训练的深度神经网络(DNN)的一个或多个层的权重张量的计算机实现的方法,所述方法包括:
将与所述预训练的DNN的一个或多个层相关的元素嵌入到状态空间中;
对于要分解其权重张量的所述预训练的DNN的每一层,初始化具有预置值的动作;
迭代一组步骤,直到达到停止条件,所述一组步骤包括:
对于要分解其权重张量的所述预训练的DNN的每一层,使代理使用嵌入元素的至少部分和来自先前迭代的奖励值,如果可用,以确定与所述层的排序相关的动作值;
响应于要分解其权重张量的所述预训练的DNN的每一层具有动作值:
对于要分解其权重张量的所述预训练的DNN的每一层,根据从其动作值确定的其排序来分解其权重张量;以及
使用具有分解后的权重张量的所述预训练的DNN对目标数据集执行推理,以获得奖励度量,所述奖励度量基于推理精度和由于分解后的权重张量而导致的模型压缩;以及
响应于已达到的停止条件,输出所述预训练的DNN的每一层的排序,所述预训练的DNN的每一层的权重张量已对应于最佳奖励度量进行分解。


2.根据权利要求1所述的计算机实现的方法,其中,与所述预训练的DNN相关的所述元素,对于要分解其权重张量的每一层,至少包括:
层索引;
其权重张量的维度;
步幅大小;
内核大小;
参数大小;以及
与先前层相关联的动作。


3.根据权利要求1所述的计算机实现的方法,其中,所述动作值是来自连续动作空间的连续值,以及所述方法还包括:
将所述动作值的连续值转换为整数的排序。


4.根据权利要求1所述的计算机实现的方法,其中,使用张量环分解来分解层的所述权重张量。


5.根据权利要求1所述的计算机实现的方法,其中,将与所述预训练的DNN的一个或多个层有关的元素嵌入到状态空间中的步骤包括:
将所述元素规格化到0至1的范围内。


6.根据权利要求1所述的计算机实现的方法,其中,输出所述预训练的DNN的每一层的排序,所述预训练的DNN的每一层的权重张量已对应于最佳奖励度量进行分解的步骤包括:
输出具有分解后的权重张量的所述预训练的DNN。


7.根据权利要求6所述的计算机实现的方法,还包括以下步骤:
使用训练数据集,对具有分解后的权重张量的所述预训练的DNN进行补充训练。


8.一种包括一个或多个指令序列的非暂时性计算机可读介质或媒质,所述一个或多个指令序列在由至少一个处理器执行时,所述执行用于选择排序以分解预训练的深度神经网络(DNN)的一个或多个层的权重张量的步骤,所述步骤包括:
将与所述预训练的DNN的一个或多个层相关的元素嵌入到状态空间中;
对于要分解其权重张量的所述预训练的DNN的每一层,初始化具有预置值的动作;
迭代一组步骤,直到达到停止条件,所述一组步骤包括:
对于要分解其权重张量的所述预训练的DNN的每一层,使代理使用嵌入元素的至少部分和来自先前迭代的奖励值,如果可用,以确定与所述层的排序相关的动作值;
响应于要分解其权重张量的所述预训练的DNN的每一层具有动作值:
对于要分解其权重张量的所述预训练的DNN的每一层,根据从其动作值确定的其排序来分解其权重张量;以及
使用具有分解后的权重张量的所述预训练的DNN对目标数据集执行推理,以获得奖励度量,所述奖励度量基于推理精度和由于分解后的权重张量而导致的模型压缩;以及
响应于已达到的停止条件,输出所述预训练的DNN的每一层的排序,所述预训练的DNN的每一层的权重张量已对应于最佳奖励度量进行分解。


9.根据权利要求8所述的非暂时性计算机可读介质或媒质,其中,与所述预训练的DNN相关的所述元素,对于要分解其权重张量的每一层,至...

【专利技术属性】
技术研发人员:程治宇李宝普范彦文包英泽
申请(专利权)人:百度时代网络技术北京有限公司百度美国有限责任公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1