本技術(shù)涉及智能體,特別是涉及一種基于分層對抗的智能體訓(xùn)練方法和裝置。
背景技術(shù):
1、智能體之間的博弈對抗是指在人工智能領(lǐng)域中,兩個或多個智能體之間進(jìn)行基于策略和決策的對抗性行為。在博弈對抗中,每個智能體都試圖通過制定最佳策略,來最大化其自身的利益,同時也必須對其對手的行為進(jìn)行預(yù)測和回應(yīng)。
2、隨著人工智能技術(shù)的不斷涌現(xiàn),研究人員將人工智能技術(shù)應(yīng)用于智能體的訓(xùn)練中,特別是采用基于強(qiáng)化學(xué)習(xí)的智能體訓(xùn)練方法,在決策問題中取得了比較好的運(yùn)行效果。
3、在博弈對抗過程中,需考慮對手的各方面情況,例如對手的智能化水平、可用招數(shù)、對抗風(fēng)格及傾向等。然而,目前基于強(qiáng)化學(xué)習(xí)的智能體訓(xùn)練方法中,對手的對抗手段通常都是基于固定規(guī)則的,并且僅具有單一風(fēng)格/傾向。
4、基于固定規(guī)則或者單一風(fēng)格/傾向?qū)κ值姆抡嬗?xùn)練環(huán)境,訓(xùn)練出的智能體,只能應(yīng)對該規(guī)則對手或單一風(fēng)格/傾向?qū)κ郑瑢?dǎo)致智能體的泛化能力有限,難以應(yīng)對復(fù)雜多變的對抗任務(wù)。
技術(shù)實(shí)現(xiàn)思路
1、本技術(shù)提供一種基于分層對抗的智能體訓(xùn)練方法和裝置,以解決相關(guān)技術(shù)中訓(xùn)練出的智能體的泛化能力有限,難以應(yīng)對復(fù)雜多變的對抗任務(wù)的問題。
2、為了解決上述問題,本技術(shù)采用了以下的技術(shù)方案:
3、第一方面,本技術(shù)實(shí)施例提供了一種基于分層對抗的智能體訓(xùn)練方法,所述方法包括:
4、將對抗雙方中的任一方確定為目標(biāo)方,確定所述目標(biāo)方在目標(biāo)任務(wù)邊界下的多個目標(biāo)方優(yōu)化目標(biāo)和多個目標(biāo)方約束條件;
5、針對任一目標(biāo)方優(yōu)化目標(biāo),構(gòu)建得到所述目標(biāo)方在所述目標(biāo)方優(yōu)化目標(biāo)下的目標(biāo)方智能體簇,并基于多個所述目標(biāo)方約束條件,構(gòu)建得到所述目標(biāo)方智能體簇中的多個初始目標(biāo)方智能體;其中,不同的目標(biāo)方優(yōu)化目標(biāo)對應(yīng)不同的目標(biāo)方智能體簇;
6、將所述對抗雙方中相對于所述目標(biāo)方的另一方確定為對手方,對所述對手方的多個對手方智能體簇進(jìn)行組合,得到所述目標(biāo)方智能體簇的多個對手池;其中,不同的對手池由不同的對手方智能體簇組成;
7、復(fù)制所述目標(biāo)方智能體簇,得到與多個所述對手池一一對應(yīng)的多個個性化智能體簇;每個所述個性化智能體簇均包括所述目標(biāo)方智能體簇中的多個初始目標(biāo)方智能體;
8、針對任一個性化智能體簇,將所述個性化智能體簇與所述個性化智能體簇對應(yīng)的對手池中的對手方智能體簇進(jìn)行對抗訓(xùn)練,以訓(xùn)練得到所述個性化智能體簇中的每個初始目標(biāo)方智能體各自對應(yīng)的個性化智能體;
9、針對任一所述初始目標(biāo)方智能體,基于所述初始目標(biāo)方智能體對應(yīng)的多個所述個性化智能體的智能體參數(shù),確定所述初始目標(biāo)方智能體的智能體參數(shù),以得到所述初始目標(biāo)方智能體對應(yīng)的個性化目標(biāo)方智能體。
10、在本技術(shù)一實(shí)施例中,確定所述目標(biāo)方在目標(biāo)任務(wù)邊界下的多個目標(biāo)方約束條件的步驟,包括:
11、獲取所述目標(biāo)方的約束條件集合;所述約束條件集合包括多個約束條件子集,不同的所述約束條件子集用于表征所述目標(biāo)方的不同的約束條件;
12、對所述約束條件集合中的多個約束條件子集進(jìn)行組合,得到所述目標(biāo)方在所述目標(biāo)任務(wù)邊界下的多個目標(biāo)方約束條件。
13、在本技術(shù)一實(shí)施例中,針對所述目標(biāo)方智能體簇中的任一初始目標(biāo)方智能體,將所述初始目標(biāo)方智能體分別與所述多個對手池中的初始對手方智能體進(jìn)行對抗訓(xùn)練,以得到所述初始目標(biāo)方智能體對應(yīng)的個性化目標(biāo)方智能體的步驟之前,所述方法還包括:
14、對所述目標(biāo)方智能體簇中的多個所述初始目標(biāo)方智能體進(jìn)行初始化訓(xùn)練,以確定多個所述初始目標(biāo)方智能體各自對應(yīng)的初始智能體參數(shù)。
15、在本技術(shù)一實(shí)施例中,對所述目標(biāo)方智能體簇中的多個所述初始目標(biāo)方智能體進(jìn)行初始化訓(xùn)練,以確定多個所述初始目標(biāo)方智能體各自對應(yīng)的初始智能體參數(shù)的步驟,包括:
16、在所述目標(biāo)方智能體簇中的多個初始目標(biāo)方智能體的智能體結(jié)構(gòu)不一致的情況下,分別對所述目標(biāo)方智能體簇中的多個所述初始目標(biāo)方智能體進(jìn)行獨(dú)立訓(xùn)練,直到多個所述初始目標(biāo)方智能體滿足預(yù)設(shè)的第一訓(xùn)練截止條件,確定多個所述初始目標(biāo)方智能體各自對應(yīng)的初始智能體參數(shù)。
17、在本技術(shù)一實(shí)施例中,對所述目標(biāo)方智能體簇中的多個所述初始目標(biāo)方智能體進(jìn)行初始化訓(xùn)練,以確定多個所述初始目標(biāo)方智能體各自對應(yīng)的初始智能體參數(shù)的步驟,包括:
18、在所述目標(biāo)方智能體簇中的多個初始目標(biāo)方智能體的智能體結(jié)構(gòu)一致的情況下,去除任一所述初始目標(biāo)方智能體的屏蔽矩陣,得到所述目標(biāo)方智能體簇對應(yīng)的初始簡化智能體,并基于多個所述目標(biāo)方優(yōu)化目標(biāo),確定所述初始簡化智能體的簡化優(yōu)化目標(biāo);其中,所述屏蔽矩陣表征所述初始目標(biāo)方智能體的目標(biāo)方約束條件;
19、基于所述簡化優(yōu)化目標(biāo)以及預(yù)設(shè)的第一強(qiáng)化學(xué)習(xí)算法,對所述初始簡化智能體進(jìn)行訓(xùn)練,直到所述初始簡化智能體滿足預(yù)設(shè)的第一訓(xùn)練截止條件,得到經(jīng)過訓(xùn)練的第一簡化智能體;
20、基于多個目標(biāo)方智能體簇各自對應(yīng)的目標(biāo)方優(yōu)化目標(biāo)以及預(yù)設(shè)的第二強(qiáng)化學(xué)習(xí)算法,分別對第一簡化智能體進(jìn)行訓(xùn)練,直到所述第一簡化智能體滿足所述第一訓(xùn)練截止條件,得到與多個目標(biāo)方智能體簇一一對應(yīng)的多個第二簡化智能體;
21、針對任一第二簡化智能體,將所述第二簡化智能體的智能體參數(shù)作為對應(yīng)目標(biāo)方智能體簇中的多個初始目標(biāo)方智能體的智能體參數(shù),并基于預(yù)設(shè)的第三強(qiáng)化學(xué)習(xí)算法,對每個所述初始目標(biāo)方智能體進(jìn)行訓(xùn)練,直到所述初始目標(biāo)方智能體滿足所述第一訓(xùn)練截止條件,得到所述初始目標(biāo)方智能體的初始智能體參數(shù)。
22、在本技術(shù)一實(shí)施例中,針對任一個性化智能體簇,將所述個性化智能體簇與所述個性化智能體簇對應(yīng)的對手池中的對手方智能體簇進(jìn)行對抗訓(xùn)練,以訓(xùn)練得到所述個性化智能體簇中的每個初始目標(biāo)方智能體各自對應(yīng)的個性化智能體的步驟,包括:
23、針對任一所述個性化智能體簇中的任一所述初始目標(biāo)方智能體,重復(fù)以下步驟:在所述個性化智能體簇對應(yīng)的對手池中的對手方智能體簇中隨機(jī)選取一個初始對手方智能體與所述初始目標(biāo)方智能體進(jìn)行對抗訓(xùn)練,并基于對抗結(jié)果,更新所述初始目標(biāo)方智能體的智能體參數(shù);
24、在確定所述初始目標(biāo)方智能體滿足預(yù)設(shè)的第二訓(xùn)練截止條件的情況下,得到所述初始目標(biāo)方智能體基于所述對手池訓(xùn)練得到的個性化智能體。
25、在本技術(shù)一實(shí)施例中,所述方法還包括:
26、在多個所述個性化智能體簇為串行訓(xùn)練的情況下,針對未經(jīng)過訓(xùn)練的當(dāng)前個性化智能體簇,確定已經(jīng)過訓(xùn)練的歷史個性化智能體簇;
27、針對任一所述歷史個性化智能體簇,若所述歷史個性化智能體簇的對手池中包括所述當(dāng)前個性化智能體簇的對手池中的任一對手方智能體簇,則確定所述歷史個性化智能體簇為所述當(dāng)前個性化智能體簇的關(guān)聯(lián)個性化智能體簇,并將所述關(guān)聯(lián)個性化智能體簇所在的對手池中的對手方智能體簇的數(shù)量與所有所述關(guān)聯(lián)個性化智能體簇的對手池中的對手方智能體簇的總數(shù)之間的比值,確定為所述關(guān)聯(lián)個性化智能體簇中的個性化智能體的關(guān)聯(lián)權(quán)重;
28、針對所述當(dāng)前個性化智能體簇中的任一初始目標(biāo)方智能體,基于所述關(guān)聯(lián)個性化智能體簇中與所述初始目標(biāo)方智能體對應(yīng)的個性化智能體的關(guān)聯(lián)權(quán)重和智能體參數(shù),確定所述初始目標(biāo)方智能體的初始智能體參數(shù)。
29、在本技術(shù)一實(shí)施例中,針對任一所述初始目標(biāo)方智能體,基于所述初始目標(biāo)方智能體對應(yīng)的多個所述個性化智能體的智能體參數(shù),確定所述初始目標(biāo)方智能體的智能體參數(shù)的步驟,包括:
30、將所述初始目標(biāo)方智能體對應(yīng)的多個所述個性化智能體的智能體參數(shù)的平均值,確定為所述初始目標(biāo)方智能體的智能體參數(shù);或者,
31、針對所述初始目標(biāo)方智能體對應(yīng)的任一所述個性化智能體,基于所述個性化智能體對應(yīng)的對手池中的對手方智能體簇的數(shù)量與所有對手池中的對手方智能體簇的總數(shù)之間的比值,確定所述個性化智能體的權(quán)重參數(shù);并基于多個所述個性化智能體各自對應(yīng)的權(quán)重參數(shù)和智能體參數(shù),確定所述初始目標(biāo)方智能體的智能體參數(shù)。
32、在本技術(shù)一實(shí)施例中,針對任一所述初始目標(biāo)方智能體,基于所述初始目標(biāo)方智能體對應(yīng)的多個所述個性化智能體的智能體參數(shù),確定所述初始目標(biāo)方智能體的智能體參數(shù),以得到所述初始目標(biāo)方智能體對應(yīng)的個性化目標(biāo)方智能體的步驟之后,所述方法還包括:
33、獲取用戶輸入的目標(biāo)方信息和/或?qū)κ址叫畔?;其中,所述目?biāo)方信息包括針對目標(biāo)方輸入的目標(biāo)方優(yōu)化目標(biāo)和/或目標(biāo)方約束條件,所述對手方信息包括針對對手方輸入的對手方優(yōu)化目標(biāo)和/或?qū)κ址郊s束條件;
34、基于所述目標(biāo)方信息和/或所述對手方信息,在多個所述個性化目標(biāo)方智能體中確定一個或者多個目標(biāo)智能體;其中,所述目標(biāo)智能體用于生成針對所述對手方的對抗方案。
35、第二方面,基于相同發(fā)明構(gòu)思,本技術(shù)實(shí)施例提供了一種基于分層對抗的智能體訓(xùn)練裝置,所述裝置包括:
36、條件確定模塊,用于將對抗雙方中的任一方確定為目標(biāo)方,確定所述目標(biāo)方在目標(biāo)任務(wù)邊界下的多個目標(biāo)方優(yōu)化目標(biāo)和多個目標(biāo)方約束條件;
37、智能體構(gòu)建模塊,用于針對任一目標(biāo)方優(yōu)化目標(biāo),構(gòu)建得到所述目標(biāo)方在所述目標(biāo)方優(yōu)化目標(biāo)下的目標(biāo)方智能體簇,并基于多個所述目標(biāo)方約束條件,構(gòu)建得到所述目標(biāo)方智能體簇中的多個初始目標(biāo)方智能體;其中,不同的目標(biāo)方優(yōu)化目標(biāo)對應(yīng)不同的目標(biāo)方智能體簇;
38、對手池確定模塊,用于將所述對抗雙方中相對于所述目標(biāo)方的另一方確定為對手方,對所述對手方的多個對手方智能體簇進(jìn)行組合,得到所述目標(biāo)方智能體簇的多個對手池;其中,不同的對手池由不同的對手方智能體簇組成;
39、復(fù)制模塊,用于復(fù)制所述目標(biāo)方智能體簇,得到與多個所述對手池一一對應(yīng)的多個個性化智能體簇;每個所述個性化智能體簇均包括所述目標(biāo)方智能體簇中的多個初始目標(biāo)方智能體;
40、對抗訓(xùn)練模塊,用于針對任一個性化智能體簇,將所述個性化智能體簇與所述個性化智能體簇對應(yīng)的對手池中的對手方智能體簇進(jìn)行對抗訓(xùn)練,以訓(xùn)練得到所述個性化智能體簇中的每個初始目標(biāo)方智能體各自對應(yīng)的個性化智能體;
41、參數(shù)確定模塊,用于針對任一所述初始目標(biāo)方智能體,基于所述初始目標(biāo)方智能體對應(yīng)的多個所述個性化智能體的智能體參數(shù),確定所述初始目標(biāo)方智能體的智能體參數(shù),以得到所述初始目標(biāo)方智能體對應(yīng)的個性化目標(biāo)方智能體。
42、在本技術(shù)一實(shí)施例中,所述條件確定模塊包括:
43、集合獲取子模塊,用于獲取所述目標(biāo)方的約束條件集合;所述約束條件集合包括多個約束條件子集,不同的所述約束條件子集用于表征所述目標(biāo)方的不同的約束條件;
44、約束條件組合子模塊,用于對所述約束條件集合中的多個約束條件子集進(jìn)行組合,得到所述目標(biāo)方在所述目標(biāo)任務(wù)邊界下的多個目標(biāo)方約束條件。
45、在本技術(shù)一實(shí)施例中,所述基于分層對抗的智能體訓(xùn)練裝置還包括:
46、初始化訓(xùn)練模塊,用于對所述目標(biāo)方智能體簇中的多個所述初始目標(biāo)方智能體進(jìn)行初始化訓(xùn)練,以確定多個所述初始目標(biāo)方智能體各自對應(yīng)的初始智能體參數(shù)。
47、在本技術(shù)一實(shí)施例中,所述初始化訓(xùn)練模塊包括:
48、第一初始化訓(xùn)練子模塊,用于在所述目標(biāo)方智能體簇中的多個初始目標(biāo)方智能體的智能體結(jié)構(gòu)不一致的情況下,分別對所述目標(biāo)方智能體簇中的多個所述初始目標(biāo)方智能體進(jìn)行獨(dú)立訓(xùn)練,直到多個所述初始目標(biāo)方智能體滿足預(yù)設(shè)的第一訓(xùn)練截止條件,確定多個所述初始目標(biāo)方智能體各自對應(yīng)的初始智能體參數(shù)。
49、在本技術(shù)一實(shí)施例中,所述初始化訓(xùn)練模塊包括:
50、智能體簡化子模塊,用于在所述目標(biāo)方智能體簇中的多個初始目標(biāo)方智能體的智能體結(jié)構(gòu)一致的情況下,去除任一所述初始目標(biāo)方智能體的屏蔽矩陣,得到所述目標(biāo)方智能體簇對應(yīng)的初始簡化智能體,并基于多個所述目標(biāo)方優(yōu)化目標(biāo),確定所述初始簡化智能體的簡化優(yōu)化目標(biāo);其中,所述屏蔽矩陣表征所述初始目標(biāo)方智能體的目標(biāo)方約束條件;
51、第一訓(xùn)練子模塊,用于基于所述簡化優(yōu)化目標(biāo)以及預(yù)設(shè)的第一強(qiáng)化學(xué)習(xí)算法,對所述初始簡化智能體進(jìn)行訓(xùn)練,直到所述初始簡化智能體滿足預(yù)設(shè)的第一訓(xùn)練截止條件,得到經(jīng)過訓(xùn)練的第一簡化智能體;
52、第二訓(xùn)練子模塊,用于基于多個目標(biāo)方智能體簇各自對應(yīng)的目標(biāo)方優(yōu)化目標(biāo)以及預(yù)設(shè)的第二強(qiáng)化學(xué)習(xí)算法,分別對第一簡化智能體進(jìn)行訓(xùn)練,直到所述第一簡化智能體滿足所述第一訓(xùn)練截止條件,得到與多個目標(biāo)方智能體簇一一對應(yīng)的多個第二簡化智能體;
53、第三訓(xùn)練子模塊,用于針對任一第二簡化智能體,將所述第二簡化智能體的智能體參數(shù)作為對應(yīng)目標(biāo)方智能體簇中的多個初始目標(biāo)方智能體的智能體參數(shù),并基于預(yù)設(shè)的第三強(qiáng)化學(xué)習(xí)算法,對每個所述初始目標(biāo)方智能體進(jìn)行訓(xùn)練,直到所述初始目標(biāo)方智能體滿足所述第一訓(xùn)練截止條件,得到所述初始目標(biāo)方智能體的初始智能體參數(shù)。
54、在本技術(shù)一實(shí)施例中,所述對抗訓(xùn)練模塊包括:
55、迭代訓(xùn)練子模塊,用于針對任一所述個性化智能體簇中的任一所述初始目標(biāo)方智能體,重復(fù)以下步驟:在所述個性化智能體簇對應(yīng)的對手池中的對手方智能體簇中隨機(jī)選取一個初始對手方智能體與所述初始目標(biāo)方智能體進(jìn)行對抗訓(xùn)練,并基于對抗結(jié)果,更新所述初始目標(biāo)方智能體的智能體參數(shù);
56、智能體參數(shù)確定子模塊,用于在確定所述初始目標(biāo)方智能體滿足預(yù)設(shè)的第二訓(xùn)練截止條件的情況下,得到所述初始目標(biāo)方智能體基于所述對手池訓(xùn)練得到的個性化智能體。
57、在本技術(shù)一實(shí)施例中,所述基于分層對抗的智能體訓(xùn)練裝置還包括:
58、歷史個性化智能體簇確定模塊,用于在多個所述個性化智能體簇為串行訓(xùn)練的情況下,針對未經(jīng)過訓(xùn)練的當(dāng)前個性化智能體簇,確定已經(jīng)過訓(xùn)練的歷史個性化智能體簇;
59、關(guān)聯(lián)權(quán)重確定模塊,用于針對任一所述歷史個性化智能體簇,若所述歷史個性化智能體簇的對手池中包括所述當(dāng)前個性化智能體簇的對手池中的任一對手方智能體簇,則確定所述歷史個性化智能體簇為所述當(dāng)前個性化智能體簇的關(guān)聯(lián)個性化智能體簇,并將所述關(guān)聯(lián)個性化智能體簇所在的對手池中的對手方智能體簇的數(shù)量與所有所述關(guān)聯(lián)個性化智能體簇的對手池中的對手方智能體簇的總數(shù)之間的比值,確定為所述關(guān)聯(lián)個性化智能體簇中的個性化智能體的關(guān)聯(lián)權(quán)重;
60、初始智能體參數(shù)確定模塊,用于針對所述當(dāng)前個性化智能體簇中的任一初始目標(biāo)方智能體,基于所述關(guān)聯(lián)個性化智能體簇中與所述初始目標(biāo)方智能體對應(yīng)的個性化智能體的關(guān)聯(lián)權(quán)重和智能體參數(shù),確定所述初始目標(biāo)方智能體的初始智能體參數(shù)。
61、在本技術(shù)一實(shí)施例中,所述參數(shù)確定模塊包括:
62、第一參數(shù)確定子模塊,用于將所述初始目標(biāo)方智能體對應(yīng)的多個所述個性化智能體的智能體參數(shù)的平均值,確定為所述初始目標(biāo)方智能體的智能體參數(shù);或者,
63、第二參數(shù)確定子模塊,用于針對所述初始目標(biāo)方智能體對應(yīng)的任一所述個性化智能體,基于所述個性化智能體對應(yīng)的對手池中的對手方智能體簇的數(shù)量與所有對手池中的對手方智能體簇的總數(shù)之間的比值,確定所述個性化智能體的權(quán)重參數(shù);并基于多個所述個性化智能體各自對應(yīng)的權(quán)重參數(shù)和智能體參數(shù),確定所述初始目標(biāo)方智能體的智能體參數(shù)。
64、在本技術(shù)一實(shí)施例中,所述基于分層對抗的智能體訓(xùn)練裝置包括:
65、信息獲取模塊,用于獲取用戶輸入的目標(biāo)方信息和/或?qū)κ址叫畔?;其中,所述目?biāo)方信息包括針對目標(biāo)方輸入的目標(biāo)方優(yōu)化目標(biāo)和/或目標(biāo)方約束條件,所述對手方信息包括針對對手方輸入的對手方優(yōu)化目標(biāo)和/或?qū)κ址郊s束條件;
66、智能體確定模塊,用于基于所述目標(biāo)方信息和/或所述對手方信息,在多個所述個性化目標(biāo)方智能體中確定一個或者多個目標(biāo)智能體;其中,所述目標(biāo)智能體用于生成針對所述對手方的對抗方案。
67、與現(xiàn)有技術(shù)相比,本技術(shù)包括以下優(yōu)點(diǎn):
68、本技術(shù)實(shí)施例提供的一種基于分層對抗的智能體訓(xùn)練方法,首先根據(jù)對抗雙方各自對應(yīng)的優(yōu)化目標(biāo)和約束條件,構(gòu)建得到對抗雙方的智能體簇,然后,針對目標(biāo)方的任一目標(biāo)方智能體簇,構(gòu)建其對應(yīng)的多個對手池,由于每個對手池中的對手方智能體簇包括多個具有不同對手方優(yōu)化目標(biāo)和不同對手方約束條件的對手方智能體,因此,通過將目標(biāo)方智能體簇分別與多個對手池中的對手方智能體簇進(jìn)行對抗訓(xùn)練,能夠訓(xùn)練得到與初始目標(biāo)方智能體對應(yīng)的多個個性化智能體,由于每個個性化智能體均適應(yīng)對應(yīng)對手池中的對手風(fēng)格,因此,通過綜合考慮初始目標(biāo)方智能體對應(yīng)的多個個性化智能體的智能體參數(shù)得到的個性化目標(biāo)方智能體具備較強(qiáng)的綜合能力,能夠更好地適應(yīng)各種具有不同風(fēng)格和傾向的對手,如此,能夠有效提高智能體的泛化能力,在面臨復(fù)雜多變的對抗任務(wù)時,均能取得較好的對抗效果。