CN111523664A - 超网络参数更新方法、装置和电子设备 - Google Patents
超网络参数更新方法、装置和电子设备 Download PDFInfo
- Publication number
- CN111523664A CN111523664A CN202010327389.6A CN202010327389A CN111523664A CN 111523664 A CN111523664 A CN 111523664A CN 202010327389 A CN202010327389 A CN 202010327389A CN 111523664 A CN111523664 A CN 111523664A
- Authority
- CN
- China
- Prior art keywords
- network
- sub
- super
- pair
- coexistence
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了超网络参数更新方法、装置和电子设备,涉及人工智能领域。具体实现方案为:从超网络中获取至少一个子网络对;对所述至少一个子网络对中的各子网络对的共存性系数进行预测,获得至少一个共存性系数;基于所述至少一个共存性系数,对所述超网络的参数进行更新。在对超网络的参数进行更新时,综合考虑了子网络对中两个子网络之间的共存性,这样,可使得更新后的超网络可兼顾各个子网络的性能,使得子网络基于超网络的训练获得的性能与子网络单独训练的性能一致,使得超网络的各子网络的性能均能达到较优。
Description
技术领域
本申请涉及计算机技术领域中的人工智能技术,尤其涉及一种超网络参数更新方法、装置和电子设备。
背景技术
神经网络架构搜索(Neural Architecture Search,简称NAS)需要独立的评估每个子网络的性能,因此搜索效率非常低,这可通过参数共享的方式提升搜索效率,即训练一个超网络,超网络内部的子结构在构建不同子网络时共享参数,这样,可以只对超网络训练,无需再对子网络重新训练。然而,由于超网络内部的子结构是共存的,训练超网络过程中存在着互斥的问题。例如,对超网络进行训练,使得第一子网络的性能达到较优,但是可能会导致第二子网络的性能较差。
也就是说,已有的对超网络的训练方式,不能兼顾各个子网络的性能,会使得超网络的部分子网络的性能较差。
发明内容
本申请实施例提供一种超网络参数更新方法、装置和电子设备,以解决已有的对超网络的训练方式,使得超网络的部分子网络的性能较差的问题。
为解决上述技术问题,本申请是这样实现的:
本申请第一方面提供一种超网络参数更新方法,包括:
从超网络中获取至少一个子网络对;
对所述至少一个子网络对中的各子网络对的共存性系数进行预测,获得至少一个共存性系数;
基于所述至少一个共存性系数,对所述超网络的参数进行更新。
本申请第二方面提供一种超网络参数更新装置,包括:
第一获取模块,用于从超网络中获取至少一个子网络对;
第二获取模块,用于对所述至少一个子网络对中的各子网络对的共存性系数进行预测,获得至少一个共存性系数;
第一更新模块,用于基于所述至少一个共存性系数,对所述超网络的参数进行更新。
本申请第三方面提供一种电子设备,其特征在于,包括:
至少一个处理器;
以及与所述至少一个处理器通信连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行第一方面所述的方法。
本申请第四方面提供一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行第一方面所述的方法。
上述申请中的一个实施例具有如下优点或有益效果:
从超网络中获取至少一个子网络对;对所述至少一个子网络对中的各子网络对的共存性系数进行预测,获得至少一个共存性系数;基于所述至少一个共存性系数,对所述超网络的参数进行更新。在对超网络的参数进行更新时,综合考虑了子网络对中两个子网络之间的共存性,这样,可使得更新后的超网络可兼顾各个子网络的性能,使得子网络基于超网络的训练获得的性能与子网络单独训练的性能一致,使得超网络的各子网络的性能均能达到较优。
上述可选方式所具有的其他效果将在下文中结合具体实施例加以说明。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是本申请实施例提供的超网络参数更新方法的流程图;
图2是本申请实施例提供的超网络参数更新装置的结构图;
图3是用来实现本申请实施例的超网络参数更新方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
根据超网络的子结构可构造多个子网络,这多个子网络共享超网络的参数。对超网络进行训练,即对超网络的参数进行更新,也会影响到子网络的参数,从而影响到子网络的性能,例如,对于一个用于检测的子网络来说,子网络的性能为检测准确率;对于一个用于识别的子网络来说,子网络的性能为识别准确率。
同样的,在对子网络进行训练,更新子网络的参数时,超网络的参数也会得到更新。
参见图1,图1是本申请实施例提供的超网络参数更新方法的流程图,如图1所示,本实施例提供一种超网络参数更新方法,应用于电子设备,包括以下步骤:
步骤101、从超网络中获取至少一个子网络对。
超网络包括多个子网络,每两个子网络可组成一个子网络对。在从超网络中获取至少一个子网络对之前,可对超网络进行初始化,例如,将超网络的参数初始化为预设参数。
步骤102、对所述至少一个子网络对中的各子网络对的共存性系数进行预测,获得至少一个共存性系数。
共存性系数可用于表示子网络对中两个子网络的共存性。对于多个子网络对,可获得多个共存性系数。
步骤103、基于所述至少一个共存性系数,对所述超网络的参数进行更新。
利用至少一个共存性系数,对超网络的参数进行更新,例如,根据共存性系数的大小进行排序,选择排序靠前的至少一个共存性系数,对该至少一个共存性系数对应的子网络进行训练,获得新的参数,从而实现对超网络的参数进行更新。
本实施例中,从超网络中获取至少一个子网络对;对所述至少一个子网络对中的各子网络对的共存性系数进行预测,获得至少一个共存性系数;基于所述至少一个共存性系数,对所述超网络的参数进行更新。在对超网络的参数进行更新时,综合考虑了子网络对中两个子网络之间的共存性,这样,可使得更新后的超网络可兼顾各个子网络的性能,使得子网络基于超网络的训练获得的性能与子网络单独训练的性能一致,使得超网络的各子网络的性能均能达到较优。
在本申请一个实施例中,在步骤102、对所述至少一个子网络对中的各子网络对的共存性系数进行预测,获得至少一个共存性系数之前,还包括:
从所述超网络中获取n个子网络,n为大于1的正整数;
根据所述n个子网络,确定N个子网络对,N为正整数;
从所述N个子网络对中,获取K个子网络对,K为正整数;
利用所述K个子网络对,对基础网络进行训练,获得所述预测网络;
相应的,步骤102、对所述至少一个子网络对中的各子网络对的共存性系数进行预测,获得至少一个共存性系数,包括:
利用所述预测网络,对所述至少一个子网络对中的各子网络对的共存性系数进行预测,获得所述至少一个共存性系数。
上述获取预测网络的各步骤可在步骤101之后执行,也可在步骤101之前执行,在此不做限定。
从超网络中获取n个子网络,根据n个子网络,确定N个子网络对。可从N个子网络对中,选出K个子网络对,K为小于N的正整数,例如,可通过随机选取的方式选出K个子网络对,对基础网络进行训练,获得预测网络,基础网络可为神经网络。然后利用预测网络,对至少一个子网络对中的各子网络对的共存性系数进行预测,获得至少一个共存性系数。
至少一个子网络对可为N个子网络对中的一个或多个,优选的,所述至少一个子网络对为所述N个子网络对,即采用N个子网络对中的K个子网络对对预测网络进行训练,然后采用预测网络对N个子网络对进行预测,获得共存性系数,最后使用这些共存性系数,对超网络进行更新。
本实施例中,通过N个子网络对中的K个子网络对对预测网络进行训练,然后采用预测网络对至少一个子网络对进行预测,获得至少一个共存性系数,以对所述超网络的参数进行更新。这种方式综合考虑了子网络对中各子网络之间的共存性,可使得更新后的超网络可兼顾各个子网络的性能,使得子网络基于超网络的训练获得的性能与子网络单独训练获得的性能一致,使得超网络的各子网络的性能均能达到较优。
在本申请一个实施例中,所述利用所述K个子网络对,对基础网络进行训练,获得所述预测网络,包括:
对于所述K个子网络对中的每一个子网络对,获取第一子网络和第二子网络分别在所述超网络训练前的第一性能信息,以及所述第一子网络和所述第二子网络分别在超网络训练后的第二性能信息,所述子网络对包括所述第一子网络和所述第二子网络;
根据所述第一子网络的第一性能信息和所述第一子网络的第二性能信息,计算获得所述第一子网络的增益比;
根据所述第二子网络的第一性能信息和所述第二子网络的第二性能信息,计算获得所述第二子网络的增益比;
利用所述第一子网络的增益比和所述第二子网络的增益比,对所述子网络对进行标注,获得标注后的子网络对;
采用标注后的子网络对,对所述基础网络进行训练,获得所述预测网络。
具体的,子网络基于自身特定任务确定的性能,可获得子网络对应的性能信息。特定任务可为检测任务、识别任务、分类任务等等,性能信息可为检测准确率,识别准确率,分类准确率等等。对于一个用于检测的子网络来说,子网络的性能信息为检测准确率;对于一个用于识别的子网络来说,子网络的性能信息为识别准确率。
对K个子网络对中的每一个子网络对,计算子网络对中各子网络的增益比。例如,对于子网络A、B来说,分别获取子网络A、B在超网络训练前的第一性能信息a,第一性能信息b,分别获取子网络A、B在超网络训练后的第二性能信息,即若超网络的训练基于对子网络A的训练获得,可获得子网络B的第二性能信息ba;若超网络的训练基于对子网络B的训练获得,可获得子网络A的第二性能信息ab。
根据子网络的第一性能信息和子网络的第二性能信息,计算获得所述子网络的增益比,例如,根据表达式(ab-a)/a来计算获得子网络A的增益比;根据表达式(ba-b)/b来计算获得子网络B的增益比。
利用所述第一子网络的增益比和所述第二子网络的增益比,对所述子网络对进行标注,获得标注后的子网络对。子网络对中超网络的训练所基于的子网络不同,例如,超网络的训练是基于子网络A的训练获得,还是基于子网络B的训练获得,可获得不同子网络的增益比,增益比也可理解为共存性系数。对于同一个子网络对,可获得2个共存性系数,同一个子网络对中的两个子网络顺序不同,对应的共存性系数不同。例如,对于子网络A、B来说,子网络对(A,B)对应一个共存性系数,子网络对(B,A)对应另一个共存性系数。
利用所述第一子网络的增益比和所述第二子网络的增益比,对所述子网络对进行标注,获得标注后的子网络对,例如,子网络对(A,B)采用第一子网络的增益比进行标注,子网络对(B,A)采用第二子网络的增益比进行标注。然后采用标注后的子网络对,对所述基础网络进行训练,获得所述预测网络。训练后的预测网络用于对输入的子网络对进行预测,获得子网络对的共存性系数。
进一步的,所述利用所述K个子网络对,对基础网络进行训练,获得所述预测网络,包括:
从所述K个子网络对中获取一个第一子网络对,获取第一子网络对中第一子网络和第二子网络分别在所述超网络训练前的第一性能信息,以及所述第一子网络和所述第二子网络分别在超网络训练后的第二性能信息;
根据所述第一子网络的第一性能信息和所述第一子网络的第二性能信息,计算获得所述第一子网络的增益比;
根据所述第二子网络的第一性能信息和所述第二子网络的第二性能信息,计算获得所述第二子网络的增益比;
利用所述第一子网络的增益比和所述第二子网络的增益比,对所述子网络对进行标注,获得标注后的子网络对;
采用标注后的子网络对,对所述基础网络进行训练,获得所述预测网络;
若所述预测网络的训练次数未达到预设训练次数,则从所述K个子网络对中获取一个第二子网络对,将第一子网络对更新为第二子网络对,并执行获取第一子网络对中第一子网络和第二子网络分别在所述超网络训练前的第一性能信息,以及所述第一子网络和所述第二子网络分别在超网络训练后的第二性能信息的步骤,直到预测网络的训练次数未达到预设训练次数。
上述过程可对预测网络进行多次迭代更新,可使得预测网络收敛,优化预测网络的预测性能。
本实施例中的方法,可应用在超网络在线训练场景中,采用少数的子网络对对基础模型进行训练,获得预测网络,然后利用预测网络对超网络中更多的子网络对的共存性系数进行预测,并基于预测结果,对超网络的参数进行更新。
本实施例中,通过所述第一子网络的增益比和所述第二子网络的增益比,对所述子网络对进行标注,获得标注后的子网络对,然后采用标注后的子网络对,对所述基础网络进行训练,获得所述预测网络,可使用训练好的预测网络对任意子网络对的共存性系数进行预测,便于后续在基于共存性系数更新超网络的参数时,综合考虑子网络对中各子网络之间的共存性,可使得更新后的超网络可兼顾各个子网络的性能,使得子网络基于超网络的训练获得的性能与子网络单独训练获得的性能一致,使得超网络的各子网络的性能均能达到较优。
在本申请一个实施例中,所述对于所述K个子网络对中的每一个子网络对,获取第一子网络和第二子网络分别在所述超网络训练前的第一性能信息,以及所述第一子网络和所述第二子网络分别在超网络训练后的第二性能信息,包括:
对所述超网络进行初始化,获得第一超网络;
对于所述K个子网络对中的每一个子网络对,获取所述第一超网络中所述第一子网络和所述第二子网络的第一性能信息;
对所述第一超网络中的所述第一子网络进行训练,获得第二超网络;
获取所述第二超网络中所述第二子网络的第二性能信息;
对所述第一超网络中的所述第二子网络进行训练,获得第三超网络;
获取所述第三超网络中所述第一子网络的第二性能信息。
具体的,对于所述K个子网络对中的每一个子网络对,获取第一子网络和第二子网络的第一性能信息,第一性能信息为第一子网络和第二子网络基于超网络未训练时获得的。
对第一子网络进行训练,更新超网络的参数,以获得第二超网络,然后获取第二超网络中第二子网络的第二性能信息,也就是说,第二子网络的第二性能信息是第二子网络基于训练后的第一子网络获得的性能信息,第一子网络的训练结果,可能会对第二子网络的性能产生影响,这可通过第二子网络的第二性能信息与第二子网络的第一性能信息比较获知。若第二子网络的第二性能信息比第二子网络的第一性能信息大,表明第一子网络的训练结果提升了第二子网络的性能;若第二子网络的第二性能信息比第二子网络的第一性能信息小,表明第一子网络的训练结果降低了第二子网络的性能;若第二子网络的第二性能信息与第二子网络的第一性能信息相同,表明第一子网络的训练结果未影响第二子网络的性能。
在本实施例中,采用增益比来表征一个子网络对另一个子网络的影响。例如,对于子网络A、B来说,分别获取子网络A、B在超网络训练前的第一性能信息a,第一性能信息b,分别获取子网络A、B在超网络训练后的第二性能信息,即若超网络的训练基于对子网络A的训练获得,可获得子网络B的第二性能信息ba;若超网络的训练基于对子网络B的训练获得,可获得子网络A的第二性能信息ab。根据表达式(ab-a)/a来计算获得子网络A的增益比;根据表达式(ba-b)/b来计算获得子网络B的增益比。
为了便于衡量一个子网络对中两个子网络相互影响的程度,本实施例中,子网络对中的第一子网络的第二性能信息是第一子网络基于第二子网络训练后获得的,第二子网络的训练结果,可能会对第一子网络的性能产生影响,通过比较第一子网络的第一性能信息和第一子网络的第二性能信息可获知影响程度,将该影响程度采用增益比表示,然后采用增益比对所述子网络对进行标注,并采用标注后的子网络对,对所述基础网络进行训练,获得所述预测网络,可使用训练好的预测网络对任意子网络对的共存性系数进行预测,便于后续在基于共存性系数更新超网络的参数时,综合考虑子网络对中各子网络之间的共存性,可使得更新后的超网络可兼顾各个子网络的性能,使得子网络基于超网络的训练获得的性能与子网络单独训练获得的性能一致,使得超网络的各子网络的性能均能达到较优。
在本申请一个实施例中,步骤103、基于所述至少一个共存性系数,对所述超网络的参数进行更新,包括:
对所述至少一个共存性系数中的共存性系数从大到小排序,获取排序在前的M个共存性系数,M为正整数;
基于所述M个共存性系数,对所述超网络的参数进行更新。
对多个共存性系数按照从大到小进行排序,选取排序在前的M个共存性系数,并对这M个共存性系数对应的子网络进行训练,以对超网络的参数进行更新,可以最大化子网络的共存性,从而使得子网络基于超网络的训练获得的性能与子网络单独训练的性能一致,使得超网络的各子网络的性能均能达到较优。
在本申请一个实施例中,所述基于所述M个共存性系数,对所述超网络的参数进行更新,包括:
对于所述M个共存性系数中的每一个共存性系数,获取所述共存性系数对应的目标子网络对;
对于每一个共存性系数对应的目标子网络对中的各子网络,预测对所述子网络进行训练后,获得的新的超网络的负梯度;
根据所述预测获得的负梯度,确定目标负梯度;
根据所述目标负梯度,对所述超网络的参数进行更新。
具体的,每一个共存性系数由两个子网络确定,获取所有共存性系数对应的目标子网络对中的各子网络,并预测对各子网络进行训练后,获得的超网络的负梯度,这样,可获得多个负梯度。可对这多个负梯度求解平均值,确定目标负梯度,然后基于目标负梯度,对超网络的参数进行更新。
上述过程中,预测对根据共存性系数确定的各子网络进行训练,可获得的超网络的负梯度,然后根据多个负梯度确定目标负梯度,最终基于目标负梯度对超网络的参数进行更新。根据最终确定的目标负梯度,对超网络的参数进行更新,可综合考虑多个子网络的训练结果对超网络的影响,这样,可使得更新后的超网络可兼顾各个子网络的性能,使得各子网络的性能均能达到较优。
在本申请一个实施例中,在步骤103、基于所述至少一个共存性系数,对所述超网络的参数进行更新之后,还包括:
从所述N个子网络对中,获取第i次更新过程中的Ui个子网络对,i为不大于预设阈值的正整数,Ui为小于K的正整数,Ui+1<Ui;
利用所述Ui个子网络对,对所述预测网络进行训练,获得新的预测网络;
利用所述新的预测网络,对所述至少一个子网络对中的各子网络对的共存性系数进行预测,获得新的至少一个共存性系数;
基于所述新的至少一个共存性系数,对所述超网络的参数进行更新;
将所述i更新为新次数,并执行所述从所述N个子网络对中,获取第i次更新过程中的Ui个子网络对的步骤,直到所述i等于所述预设阈值。
具体的,预设阈值可根据实际情况进行设置,在此不做限定。对超网络的训练,需要进行多次,以使得超网络收敛。
在本实施例中,每更新一次超网络的参数,会采用新的子网络对对预测网络进行训练,即从N个子网络对中选择Ui个子网络对对预测网络进行训练,获得新的预测网络。随着更新次数的增多,用于对预测网络进行训练的子网络对的个数也会相应减少,以提高预测网络的训练效率,优先的,后一次选择的Ui+1个子网络对并不全部包括在前一次选择的Ui个子网络对中;然后采用新的预测网络对至少一个子网络对中的各子网络对的共存性系数进行预测,并基于预测获得的新的至少一个共存性系数,对所述超网络的参数进行更新。
本实施例中,通过对超网络的参数进行多次迭代更新,可使得超网络收敛,使得超网络中各子网络的性能均能达到较优。
参见图2,图2是本申请实施例提供的超网络参数更新装置的结构图,如图2所示,本实施例提供一种超网络参数更新装置200,包括:
第一获取模块201,用于从超网络中获取至少一个子网络对;
第二获取模块202,用于对所述至少一个子网络对中的各子网络对的共存性系数进行预测,获得至少一个共存性系数;
第一更新模块203,用于基于所述至少一个共存性系数,对所述超网络的参数进行更新。
在本申请一个实施例中,超网络参数更新装置200还包括:
第三获取模块,用于从所述超网络中获取n个子网络,n为大于1的正整数;
第四获取模块,用于根据所述n个子网络,确定N个子网络对,N为正整数;
第五获取模块,用于从所述N个子网络对中,获取K个子网络对,K为正整数;
第六获取模块,用于利用所述K个子网络对,对基础网络进行训练,获得所述预测网络;
所述第二获取模块202,用于利用所述预测网络,对所述至少一个子网络对中的各子网络对的共存性系数进行预测,获得所述至少一个共存性系数。
在本申请一个实施例中,所述第六获取模块,包括:
第一获取子模块,用于对于所述K个子网络对中的每一个子网络对,获取第一子网络和第二子网络分别在所述超网络训练前的第一性能信息,以及所述第一子网络和所述第二子网络分别在超网络训练后的第二性能信息,所述子网络对包括所述第一子网络和所述第二子网络;
第一计算子模块,用于根据所述第一子网络的第一性能信息和所述第一子网络的第二性能信息,计算获得所述第一子网络的增益比;
第二计算子模块,用于根据所述第二子网络的第一性能信息和所述第二子网络的第二性能信息,计算获得所述第二子网络的增益比;
第二获取子模块,用于利用所述第一子网络的增益比和所述第二子网络的增益比,对所述子网络对进行标注,获得标注后的子网络对;
训练子模块,用于采用标注后的子网络对,对所述基础网络进行训练,获得所述预测网络。
在本申请一个实施例中,所述第一获取子模块,用于:
对所述超网络进行初始化,获得第一超网络;
对于所述K个子网络对中的每一个子网络对,获取所述第一超网络中所述第一子网络和所述第二子网络的第一性能信息;
对所述第一超网络中的所述第一子网络进行训练,获得第二超网络;
获取所述第二超网络中所述第二子网络的第二性能信息;
对所述第一超网络中的所述第二子网络进行训练,获得第三超网络;
获取所述第三超网络中所述第一子网络的第二性能信息。
在本申请一个实施例中,所述第一更新模块203,包括:
第三获取子模块,用于对所述至少一个共存性系数中的共存性系数从大到小排序,获取排序在前的M个共存性系数,M为正整数;
更新子模块,用于基于所述M个共存性系数,对所述超网络的参数进行更新。
在本申请一个实施例中,所述更新子模块,用于:
对于所述M个共存性系数中的每一个共存性系数,获取所述共存性系数对应的目标子网络对;
对于每一个共存性系数对应的目标子网络对中的各子网络,预测对所述子网络进行训练后,获得的新的超网络的负梯度;
根据所述预测获得的负梯度,确定目标负梯度;
根据所述目标负梯度,对所述超网络的参数进行更新。
在本申请一个实施例中,超网络参数更新装置200还包括:
第七获取模块,用于从所述N个子网络对中,获取第i次更新过程中的Ui个子网络对,i为不大于预设阈值的正整数,Ui为小于K的正整数,Ui+1<Ui;
训练模块,用于利用所述Ui个子网络对,对所述预测网络进行训练,获得新的预测网络;
第八获取模块,用于利用所述新的预测网络,对所述至少一个子网络对中的各子网络对的共存性系数进行预测,获得新的至少一个共存性系数;
第二更新模块,用于基于所述新的至少一个共存性系数,对所述超网络的参数进行更新;
触发模块,用于将所述i更新为新次数,并触发所述第七获取模块。
超网络参数更新装置200能够实现图1所示的方法实施例中电子设备实现的各个过程,为避免重复,这里不再赘述。
本申请实施例的超网络参数更新装置200,从超网络中获取至少一个子网络对;对所述至少一个子网络对中的各子网络对的共存性系数进行预测,获得至少一个共存性系数;基于所述至少一个共存性系数,对所述超网络的参数进行更新。在对超网络的参数进行更新时,综合考虑了子网络对中两个子网络之间的共存性,这样,可使得更新后的超网络可兼顾各个子网络的性能,使得子网络基于超网络的训练获得的性能与子网络单独训练的性能一致,使得超网络的各子网络的性能均能达到较优。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图3所示,是根据本申请实施例的超网络参数更新方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图3所示,该电子设备包括:一个或多个处理器301、存储器302,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图3中以一个处理器301为例。
存储器302即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的超网络参数更新方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的超网络参数更新方法。
存储器302作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的超网络参数更新方法对应的程序指令/模块(例如,附图2所示的第一获取模块201、第二获取模块202和第一更新模块203)。处理器301通过运行存储在存储器302中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的超网络参数更新方法。
存储器302可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据实现超网络参数更新方法的电子设备的使用所创建的数据等。此外,存储器302可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器302可选包括相对于处理器301远程设置的存储器,这些远程存储器可以通过网络连接至实现超网络参数更新方法的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
实现超网络参数更新方法的电子设备还可以包括:输入装置303和输出装置304。处理器301、存储器302、输入装置303和输出装置304可以通过总线或者其他方式连接,图3中以通过总线连接为例。
输入装置303可接收输入的数字或字符信息,以及产生与实现超网络参数更新方法的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置304可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
根据本申请实施例的技术方案,从超网络中获取至少一个子网络对;对所述至少一个子网络对中的各子网络对的共存性系数进行预测,获得至少一个共存性系数;基于所述至少一个共存性系数,对所述超网络的参数进行更新。在对超网络的参数进行更新时,综合考虑了子网络对中两个子网络之间的共存性,这样,可使得更新后的超网络可兼顾各个子网络的性能,使得子网络基于超网络的训练获得的性能与子网络单独训练的性能一致,使得超网络的各子网络的性能均能达到较优;
通过N个子网络对中的K个子网络对对预测网络进行训练,然后采用预测网络对至少一个子网络对进行预测,获得至少一个共存性系数,以对所述超网络的参数进行更新。这种方式综合考虑了子网络对中各子网络之间的共存性,可使得更新后的超网络可兼顾各个子网络的性能,使得子网络基于超网络的训练获得的性能与子网络单独训练获得的性能一致,使得超网络的各子网络的性能均能达到较优。
通过所述第一子网络的增益比和所述第二子网络的增益比,对所述子网络对进行标注,获得标注后的子网络对,然后采用标注后的子网络对,对所述基础网络进行训练,获得所述预测网络,可使用训练好的预测网络对任意子网络对的共存性系数进行预测,便于后续在基于共存性系数更新超网络的参数时,综合考虑子网络对中各子网络之间的共存性,可使得更新后的超网络可兼顾各个子网络的性能,使得子网络基于超网络的训练获得的性能与子网络单独训练获得的性能一致,使得超网络的各子网络的性能均能达到较优;
子网络对中的第一子网络的第二性能信息是第一子网络基于第二子网络训练后获得的,第二子网络的训练结果,可能会对第一子网络的性能产生影响,通过比较第一子网络的第一性能信息和第一子网络的第二性能信息可获知影响程度,将该影响程度采用增益比表示,然后采用增益比对所述子网络对进行标注,并采用标注后的子网络对,对所述基础网络进行训练,获得所述预测网络,可使用训练好的预测网络对任意子网络对的共存性系数进行预测,便于后续在基于共存性系数更新超网络的参数时,综合考虑子网络对中各子网络之间的共存性,可使得更新后的超网络可兼顾各个子网络的性能,使得子网络基于超网络的训练获得的性能与子网络单独训练获得的性能一致,使得超网络的各子网络的性能均能达到较优。
对多个共存性系数按照从大到小进行排序,选取排序在前的M个共存性系数,并对这M个共存性系数对应的子网络进行训练,以对超网络的参数进行更新,可以最大化子网络的共存性,从而使得子网络基于超网络的训练获得的性能与子网络单独训练的性能一致,使得超网络的各子网络的性能均能达到较优。
预测对根据共存性系数确定的各子网络进行训练,可获得的超网络的负梯度,然后根据多个负梯度确定目标负梯度,最终基于目标负梯度对超网络的参数进行更新。根据最终确定的目标负梯度,对超网络的参数进行更新,可综合考虑多个子网络的训练结果对超网络的影响,这样,可使得更新后的超网络可兼顾各个子网络的性能,使得各子网络的性能均能达到较优。
通过对超网络的参数进行多次迭代更新,可使得超网络收敛,使得超网络中各子网络的性能均能达到较优。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (16)
1.一种超网络参数更新方法,其特征在于,包括:
从超网络中获取至少一个子网络对;
对所述至少一个子网络对中的各子网络对的共存性系数进行预测,获得至少一个共存性系数;
基于所述至少一个共存性系数,对所述超网络的参数进行更新。
2.根据权利要求1所述的超网络参数更新方法,其特征在于,在所述对所述至少一个子网络对中的各子网络对的共存性系数进行预测,获得至少一个共存性系数之前,还包括:
从所述超网络中获取n个子网络,n为大于1的正整数;
根据所述n个子网络,确定N个子网络对,N为正整数;
从所述N个子网络对中,获取K个子网络对,K为正整数;
利用所述K个子网络对,对基础网络进行训练,获得预测网络;
所述对所述至少一个子网络对中的各子网络对的共存性系数进行预测,获得至少一个共存性系数,包括:
利用所述预测网络,对所述至少一个子网络对中的各子网络对的共存性系数进行预测,获得所述至少一个共存性系数。
3.根据权利要求2所述的超网络参数更新方法,其特征在于,所述利用所述K个子网络对,对基础网络进行训练,获得所述预测网络,包括:
对于所述K个子网络对中的每一个子网络对,获取第一子网络和第二子网络分别在所述超网络训练前的第一性能信息,以及所述第一子网络和所述第二子网络分别在超网络训练后的第二性能信息,所述子网络对包括所述第一子网络和所述第二子网络;
根据所述第一子网络的第一性能信息和所述第一子网络的第二性能信息,计算获得所述第一子网络的增益比;
根据所述第二子网络的第一性能信息和所述第二子网络的第二性能信息,计算获得所述第二子网络的增益比;
利用所述第一子网络的增益比和所述第二子网络的增益比,对所述子网络对进行标注,获得标注后的子网络对;
采用标注后的子网络对,对所述基础网络进行训练,获得所述预测网络。
4.根据权利要求3所述的超网络参数更新方法,其特征在于,所述对于所述K个子网络对中的每一个子网络对,获取第一子网络和第二子网络分别在所述超网络训练前的第一性能信息,以及所述第一子网络和所述第二子网络分别在超网络训练后的第二性能信息,包括:
对所述超网络进行初始化,获得第一超网络;
对于所述K个子网络对中的每一个子网络对,获取所述第一超网络中所述第一子网络和所述第二子网络的第一性能信息;
对所述第一超网络中的所述第一子网络进行训练,获得第二超网络;
获取所述第二超网络中所述第二子网络的第二性能信息;
对所述第一超网络中的所述第二子网络进行训练,获得第三超网络;
获取所述第三超网络中所述第一子网络的第二性能信息。
5.根据权利要求1所述的超网络参数更新方法,其特征在于,所述基于所述至少一个共存性系数,对所述超网络的参数进行更新,包括:
对所述至少一个共存性系数中的共存性系数从大到小排序,获取排序在前的M个共存性系数,M为正整数;
基于所述M个共存性系数,对所述超网络的参数进行更新。
6.根据权利要求5所述的超网络参数更新方法,其特征在于,所述基于所述M个共存性系数,对所述超网络的参数进行更新,包括:
对于所述M个共存性系数中的每一个共存性系数,获取所述共存性系数对应的目标子网络对;
对于每一个共存性系数对应的目标子网络对中的各子网络,预测对所述子网络进行训练后,获得的新的超网络的负梯度;
根据所述预测获得的负梯度,确定目标负梯度;
根据所述目标负梯度,对所述超网络的参数进行更新。
7.根据权利要求2所述的超网络参数更新方法,其特征在于,在基于所述至少一个共存性系数,对所述超网络的参数进行更新之后,还包括:
从所述N个子网络对中,获取第i次更新过程中的Ui个子网络对,i为不大于预设阈值的正整数,Ui为小于K的正整数,Ui+1<Ui;
利用所述Ui个子网络对,对所述预测网络进行训练,获得新的预测网络;
利用所述新的预测网络,对所述至少一个子网络对中的各子网络对的共存性系数进行预测,获得新的至少一个共存性系数;
基于所述新的至少一个共存性系数,对所述超网络的参数进行更新;
将i更新为新次数,并执行所述从所述N个子网络对中,获取第i次更新过程中的Ui个子网络对的步骤,直到i等于所述预设阈值。
8.一种超网络参数更新装置,其特征在于,包括:
第一获取模块,用于从超网络中获取至少一个子网络对;
第二获取模块,用于对所述至少一个子网络对中的各子网络对的共存性系数进行预测,获得至少一个共存性系数;
第一更新模块,用于基于所述至少一个共存性系数,对所述超网络的参数进行更新。
9.根据权利要求8所述的超网络参数更新装置,其特征在于,还包括:
第三获取模块,用于从所述超网络中获取n个子网络,n为大于1的正整数;
第四获取模块,用于根据所述n个子网络,确定N个子网络对,N为正整数;
第五获取模块,用于从所述N个子网络对中,获取K个子网络对,K为正整数;
第六获取模块,用于利用所述K个子网络对,对基础网络进行训练,获得预测网络;
所述第二获取模块,用于利用所述预测网络,对所述至少一个子网络对中的各子网络对的共存性系数进行预测,获得所述至少一个共存性系数。
10.根据权利要求9所述的超网络参数更新装置,其特征在于,所述第六获取模块,包括:
第一获取子模块,用于对于所述K个子网络对中的每一个子网络对,获取第一子网络和第二子网络分别在所述超网络训练前的第一性能信息,以及所述第一子网络和所述第二子网络分别在超网络训练后的第二性能信息,所述子网络对包括所述第一子网络和所述第二子网络;
第一计算子模块,用于根据所述第一子网络的第一性能信息和所述第一子网络的第二性能信息,计算获得所述第一子网络的增益比;
第二计算子模块,用于根据所述第二子网络的第一性能信息和所述第二子网络的第二性能信息,计算获得所述第二子网络的增益比;
第二获取子模块,用于利用所述第一子网络的增益比和所述第二子网络的增益比,对所述子网络对进行标注,获得标注后的子网络对;
训练子模块,用于采用标注后的子网络对,对所述基础网络进行训练,获得所述预测网络。
11.根据权利要求10所述的超网络参数更新装置,其特征在于,所述第一获取子模块,用于:
对所述超网络进行初始化,获得第一超网络;
对于所述K个子网络对中的每一个子网络对,获取所述第一超网络中所述第一子网络和所述第二子网络的第一性能信息;
对所述第一超网络中的所述第一子网络进行训练,获得第二超网络;
获取所述第二超网络中所述第二子网络的第二性能信息;
对所述第一超网络中的所述第二子网络进行训练,获得第三超网络;
获取所述第三超网络中所述第一子网络的第二性能信息。
12.根据权利要求8所述的超网络参数更新装置,其特征在于,所述第一更新模块,包括:
第三获取子模块,用于对所述至少一个共存性系数中的共存性系数从大到小排序,获取排序在前的M个共存性系数,M为正整数;
更新子模块,用于基于所述M个共存性系数,对所述超网络的参数进行更新。
13.根据权利要求12所述的超网络参数更新装置,其特征在于,所述更新子模块,用于:
对于所述M个共存性系数中的每一个共存性系数,获取所述共存性系数对应的目标子网络对;
对于每一个共存性系数对应的目标子网络对中的各子网络,预测对所述子网络进行训练后,获得的新的超网络的负梯度;
根据所述预测获得的负梯度,确定目标负梯度;
根据所述目标负梯度,对所述超网络的参数进行更新。
14.根据权利要求9所述的超网络参数更新装置,其特征在于,还包括:
第七获取模块,用于从所述N个子网络对中,获取第i次更新过程中的Ui个子网络对,i为不大于预设阈值的正整数,Ui为小于K的正整数,Ui+1<Ui;
训练模块,用于利用所述Ui个子网络对,对所述预测网络进行训练,获得新的预测网络;
第八获取模块,用于利用所述新的预测网络,对所述至少一个子网络对中的各子网络对的共存性系数进行预测,获得新的至少一个共存性系数;
第二更新模块,用于基于所述新的至少一个共存性系数,对所述超网络的参数进行更新;
触发模块,用于将i更新为新次数,并触发所述第七获取模块。
15.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的方法。
16.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010327389.6A CN111523664A (zh) | 2020-04-23 | 2020-04-23 | 超网络参数更新方法、装置和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010327389.6A CN111523664A (zh) | 2020-04-23 | 2020-04-23 | 超网络参数更新方法、装置和电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111523664A true CN111523664A (zh) | 2020-08-11 |
Family
ID=71904127
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010327389.6A Pending CN111523664A (zh) | 2020-04-23 | 2020-04-23 | 超网络参数更新方法、装置和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111523664A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112580803A (zh) * | 2020-12-18 | 2021-03-30 | 北京百度网讯科技有限公司 | 模型获取方法、装置、电子设备、存储介质和程序产品 |
-
2020
- 2020-04-23 CN CN202010327389.6A patent/CN111523664A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112580803A (zh) * | 2020-12-18 | 2021-03-30 | 北京百度网讯科技有限公司 | 模型获取方法、装置、电子设备、存储介质和程序产品 |
CN112580803B (zh) * | 2020-12-18 | 2024-01-09 | 北京百度网讯科技有限公司 | 模型获取方法、装置、电子设备、存储介质和程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111539514B (zh) | 用于生成神经网络的结构的方法和装置 | |
KR102484617B1 (ko) | 이종 그래프 노드를 표현하는 모델 생성 방법, 장치, 전자 기기, 저장 매체 및 프로그램 | |
CN111242306B (zh) | 量子主成分分析的方法、装置、电子设备以及计算机可读存储介质 | |
CN111582454B (zh) | 生成神经网络模型的方法和装置 | |
CN111639753B (zh) | 用于训练图像处理超网络的方法、装置、设备以及存储介质 | |
CN111104514A (zh) | 文档标签模型的训练方法及装置 | |
CN112241764A (zh) | 图像识别方法、装置、电子设备及存储介质 | |
CN111563592B (zh) | 基于超网络的神经网络模型生成方法和装置 | |
CN110569969A (zh) | 网络模型结构的采样方法、装置以及电子设备 | |
CN111652354B (zh) | 用于训练超网络的方法、装置、设备以及存储介质 | |
CN111582452B (zh) | 生成神经网络模型的方法和装置 | |
CN112559870A (zh) | 多模型融合方法、装置、电子设备和存储介质 | |
CN111598131A (zh) | 图像处理方法、装置、电子设备及存储介质 | |
CN111967591B (zh) | 神经网络自动剪枝方法、装置及电子设备 | |
CN111680600A (zh) | 人脸识别模型处理方法、装置、设备和存储介质 | |
CN111882035A (zh) | 基于卷积核的超网络搜索方法、装置、设备和介质 | |
CN110796191B (zh) | 轨迹分类方法及装置 | |
CN111680597A (zh) | 人脸识别模型处理方法、装置、设备和存储介质 | |
CN112580723B (zh) | 多模型融合方法、装置、电子设备和存储介质 | |
CN111160552B (zh) | 新闻信息的推荐处理方法、装置、设备和计算机存储介质 | |
CN111680599B (zh) | 人脸识别模型处理方法、装置、设备和存储介质 | |
CN111783951B (zh) | 基于超网络的模型获取方法、装置、设备及存储介质 | |
CN111523664A (zh) | 超网络参数更新方法、装置和电子设备 | |
CN112016524A (zh) | 模型训练方法、人脸识别方法、装置、设备和介质 | |
CN111488972A (zh) | 数据迁移方法、装置、电子设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |