背景技术:
1、本说明书涉及神经网络。
2、神经网络是采用一层或多层非线性单元来对于接收到的输入预测输出的机器学习模型。一些神经网络除了输出层之外还包括一个或多个隐藏层。每个隐藏层的输出用作对于在网络中下一层(即,下一个隐藏层或输出层)的输入。网络的每一层根据相应参数集的当前值从接收到的输入生成输出。
技术实现思路
1、本说明书描述了一种在一个或多个位置中的一个或多个计算机上实现为计算机程序的系统,该系统被配置为处理表示数字电路设计的数据以生成该设计的机器经学习的表示(或者等效地,根据该设计来制造的数字电路的机器经学习的表示)。然后,系统可以使用一个或多个预测神经网络来处理数字电路设计的经学习的表示,以生成关于数字电路设计的相应预测。
2、本说明书中描述的主题可以在特定实施例中实现,以便实现以下优点中的一个或多个。
3、使用本说明书中描述的技术,系统可以生成数字电路设计的机器经学习的表示,并且将机器经学习的表示用于多个不同的下游任务。机器学习表示可以对有关数字电路设计的属性的信息以及来自用于实现电路的程序语句的源代码信息进行编码。
4、对数字电路设计执行验证的现有系统可能需要对每个新设计进行不同的手工设计的测试,这需要数百或数千个专家工程师小时。使用本说明书中描述的一些技术,经过训练的神经网络可以自动为给定的数字电路设计生成新的测试。
5、执行手工设计的测试可能需要大量的时间和计算成本,有时需要数小时或数天来完成单套测试。使用本说明书中描述的一些技术,系统可以更快地以高精度预测特定测试的结果。例如,在一些实现方式中,生成对测试结果的预测仅需要通过训练的神经网络的单次前向传播,这可能需要例如几秒或几分之一秒。向数字电路设计工程师提供即时反馈可以显著提高设计新电路的过程的效率,使工程师能够测试更多设计并快得多地迭代。
6、在附图和下面的描述中阐述本说明书的主题的一个或多个实施例的细节。本主题的其他特征、方面和优点根据该描述、附图和权利要求将变得显而易见。
1.一种生成数字电路设计的经学习的表示的方法,所述方法包括:
2.根据权利要求1所述的方法,还包括:
3.根据权利要求2所述的方法,其中,所述预测是针对所述数字电路设计的硬件验证任务。
4.根据权利要求3所述的方法,其中,关于所述数字电路设计的所述预测包括对根据所述数字电路设计来制造的数字电路的特定输入是否将导致特定覆盖点被覆盖的预测。
5.根据权利要求4所述的方法,其中,所述网络输入包括:
6.根据权利要求5所述的方法,其中,使用所述预测神经网络处理所述网络输入以生成所述预测包括:
7.根据权利要求5或6中任一项所述的方法,其中:
8.根据权利要求7所述的方法,其中,获得所述子集中的每个语句的相应的经学习的表示包括:
9.根据权利要求7或8中任一项所述的方法,其中,组合所获得的经学习的表示包括:使用循环神经网络来处理所获得的经学习的表示。
10.根据权利要求5-9中任一项所述的方法,其中,已通过执行操作来生成所述第二网络输入,所述操作包括:
11.根据权利要求2-10中任一项所述的方法,其中,关于所述数字电路设计的所述预测包括被预测将覆盖期望的覆盖点的新测试的标识。
12.根据权利要求11所述的方法,其中,已通过执行操作来生成所述新测试,所述操作包括:
13.根据权利要求2-12中任一项所述的方法,还包括取决于所述预测来制造数字电路硬件。
14.根据权利要求1-13中任一项所述的方法,还包括为所述图形中表示语句的每个节点生成所述节点的初始嵌入,包括:
15.根据权利要求14所述的方法,其中,处理(i)所述第三数据和(ii)所述令牌序列以生成所述节点的所述初始嵌入包括:
16.根据权利要求1-15中任一项所述的方法,还包括根据所述设计来制造数字电路硬件。
17.一种系统,包括一个或多个计算机和一个或多个存储指令的存储设备,所述指令当由所述一个或多个计算机执行时使得所述一个多个计算机执行根据权利要求1-16中任一项所述的相应的方法的操作。
18.存储指令的一个或多个计算机存储介质,所述指令当由一个或多个计算机执行时,使得所述一个多个计算机执行根据权利要求1-16中任一项所述的相应的方法的操作。