【技术实现步骤摘要】
【国外来华专利技术】基于用于深度神经网络的增强学习的张量分解中的排序选择
本公开大体上涉及用于计算机学习的系统和方法,其可提供改进的计算机性能、特征和使用。更具体地,本公开涉及用于改进深度学习模型的系统和方法。
技术介绍
深度神经网络在诸如计算机视觉、自然语言处理、推荐系统等领域取得了巨大的成功。随着机器学习模型的能力增长,其潜在用途也扩展了。新的应用领域每天都在扩大。然而,机器学习模型经常需要大量资源,诸如存储器、计算资源和功率。这种高资源需求限制了机器学习技术的使用,因为遗憾的是,在许多情况下,只有资源受限的设备可用。例如,移动电话、嵌入式设备和物联网(IoT)设备非常流行,但是它们通常具有有限的计算和功率资源。如果模型大小可减小,则其相应的资源要求通常也将减小。但是,减小模型大小并不是一个很小的任务。确定如何减小模型大小很复杂。另外,可减小模型的尺寸,但是随后可能严重影响其性能。因此,所需要的是用于在不显著影响模型性能的情况下减少模型的资源需求的新方法。
技术实现思路
根据第一方面,本公开的一些实施方式提供了一种计算机实现的方法,用于选择对预训练的深度神经网络(DNN)的一个或多个层的权重张量进行分解的排序,所述方法包括:将与所述预训练的DNN的一个或多个层相关的元素嵌入到状态空间中;对于要分解其权重张量的经过预训练的DNN的每一层,初始化具有预置值的动作;迭代,直到达到停止条件,一组步骤包括:对于要分解其权重张量的经过预训练的DNN的每一层,使代理使用嵌入元素的至少部分和来自先前迭代的 ...
【技术保护点】
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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。