劉 賀,張小川,刁志東,王 森
(重慶理工大學(xué) 兩江人工智能學(xué)院,重慶 401135)
基于深度學(xué)習(xí)算法的人工智能產(chǎn)品已經(jīng)開始落地應(yīng)用,在取得較好成果的同時(shí),也發(fā)生了很多意外事故。比如,微軟基于深度學(xué)習(xí)開發(fā)的聊天機(jī)器人Tay,在實(shí)踐中說出了涉及種族歧視的言論,特斯拉設(shè)計(jì)的自動(dòng)駕駛汽車發(fā)生撞人事件,因此,近幾年來(lái)深度學(xué)習(xí)模型的可解釋性問題逐漸成為了一個(gè)較為關(guān)注的領(lǐng)域[1-2]。深度學(xué)習(xí)的可解釋性研究對(duì)于這一類算法和基于這類算法的產(chǎn)品落地應(yīng)用來(lái)說具有重要的意義[3-4]。
深度學(xué)習(xí)加強(qiáng)化學(xué)習(xí)構(gòu)成的深度強(qiáng)化學(xué)習(xí)算法,已經(jīng)在智能體博弈領(lǐng)域有了非常成功的實(shí)踐,尤其是在棋類博弈當(dāng)中[5-6]。在深度學(xué)習(xí)給博弈智能體帶來(lái)成功的同時(shí),也把其可解釋性差的問題引入進(jìn)來(lái)。因此,對(duì)于深度強(qiáng)化學(xué)習(xí)智能體模型的可解釋性[7]研究也是必不可少的。對(duì)于該類算法,由于其內(nèi)部參數(shù)結(jié)構(gòu)非常復(fù)雜,所以目前很多研究者將其看作為一個(gè)“黑盒”[8],從其輸入、輸出進(jìn)行解釋性研究,并在此基礎(chǔ)上設(shè)計(jì)了很多方法來(lái)解釋這個(gè)“黑盒”的判斷邏輯或者判斷依據(jù)[9]。已有學(xué)者開始嘗試使用注意力機(jī)制[10]或者引入公理化的決策理論[11]等方法從模型內(nèi)部進(jìn)行模型的可解釋性研究。
在從模型內(nèi)部進(jìn)行可解釋性研究的同時(shí),不少學(xué)者提出用顯著圖[12]這種有較好展示效果的方法從外部對(duì)模型的決策進(jìn)行可解釋性研究。Iyer等[13]提出使用顯著圖來(lái)解釋該類游戲智能體決策依據(jù)(如圖1所示),以國(guó)際象棋智能體為目標(biāo),針對(duì)深度強(qiáng)化學(xué)習(xí)算法,設(shè)計(jì)了一種方法,計(jì)算棋局上每個(gè)特征的決策顯著性,最終生成顯著圖,展示了每個(gè)特征對(duì)于智能體決策的重要性,即解釋了智能體的決策依據(jù)。Greydanus等[14]設(shè)計(jì)了一種基于擾動(dòng)的顯著圖解釋方法,解釋了一些基于深度強(qiáng)化學(xué)習(xí)的像素游戲智能體的決策依據(jù),該方法通過刪除或者加入高斯噪聲的方式,改動(dòng)輸入圖像的像素特征,通過查看智能體是否改變決策的行為,以此來(lái)判斷該像素對(duì)智能體決策的重要性,并對(duì)重要性程度進(jìn)行量化,最終通過顯著圖的方式展示出來(lái),如圖2所示。Puri等[15]提出了對(duì)于深度強(qiáng)化學(xué)習(xí)智能體的決策依據(jù),需要從“重要性”和“相關(guān)性”2個(gè)角度對(duì)其進(jìn)行解釋性輸出。即在判斷一個(gè)特征重要性的同時(shí),要考慮該特征與要解釋的動(dòng)作是否相關(guān),若該動(dòng)作與要解釋的動(dòng)作不相關(guān),則其在決策中的重要性將非常小,只有該特征與要解釋的動(dòng)作相關(guān)時(shí),才會(huì)關(guān)注該特征的重要性,并將其輸出在顯著圖上。在此思路的基礎(chǔ)上,Puri等[15]設(shè)計(jì)了SARFA解釋方法,并用多個(gè)游戲智能體驗(yàn)證了其有效性。
圖1 文獻(xiàn)[13]的方法效果圖
圖2 文獻(xiàn)[4]的方法效果圖
綜上所述,基于顯著圖的解釋方法已經(jīng)在Atari游戲上驗(yàn)證了其有效性。但在棋類游戲智能體的決策依據(jù)解釋當(dāng)中,只會(huì)對(duì)有棋子的特征點(diǎn)進(jìn)行決策顯著性評(píng)估。從博弈行為角度分析,棋盤的所有合法落子點(diǎn)對(duì)于智能體的決策也具有參考價(jià)值,比如圍棋這一項(xiàng)目,智能體不僅需要對(duì)棋盤上雙方的落子分布進(jìn)行分析,棋盤上如果有大片未落子的空白區(qū)域,那么此區(qū)域?qū)τ凇皻狻钡臓?zhēng)奪也是很有意義的,如果在空白區(qū)域的中心位置或者其他重要位置落子,則會(huì)搶先占領(lǐng)該區(qū)域,為自己后續(xù)的棋子布局做好鋪墊。同樣,在國(guó)際象棋中,也需要對(duì)所有未落子的空白區(qū)域進(jìn)行分析,比如雙方棋子都可以到達(dá)的位置就可能需要進(jìn)行搶占式的落子,達(dá)到限制對(duì)手的目的。因此,上述方法在解釋棋類智能體決策依據(jù)時(shí),仍然不夠全面。針對(duì)該問題,提出一種基于顯著圖的解釋方法,不僅評(píng)估棋局已有棋子點(diǎn)特征對(duì)決策的顯著性影響,而且還設(shè)計(jì)了一種方法針對(duì)棋盤上空白的落子點(diǎn),評(píng)估其在決策當(dāng)中的顯著性,最終綜合兩者,得到較為全面的棋局特征的顯著圖,以期更全面地解釋棋類智能體的決策依據(jù)。實(shí)驗(yàn)結(jié)果表明,本文的方法初步達(dá)到了全面解釋棋類智能體決策依據(jù)的目的。
對(duì)于基于深度強(qiáng)化學(xué)習(xí)的棋類智能體的決策依據(jù),往往從其算法原理上進(jìn)行解釋,針對(duì)基于深度強(qiáng)化學(xué)習(xí)的棋類智能體M,通常是使用深度神經(jīng)網(wǎng)絡(luò)來(lái)擬合Q值函數(shù),從Q值函數(shù)值當(dāng)中使用某種策略(比如e-greedy策略),選擇最終的行動(dòng)策略。
根據(jù)已有規(guī)定,定義棋類智能體M的狀態(tài)空間為S,對(duì)應(yīng)的動(dòng)作空間為A,對(duì)局期間,每一步棋盤狀態(tài)為s(s∈S),對(duì)應(yīng)的Q值為Q(s),智能體對(duì)于狀態(tài)s做出最終決策,即選擇動(dòng)作a(a∈A)。棋局上所有特征集(棋子和空白落子點(diǎn))為F,每一處特征點(diǎn)為特征f。
目前大部分用于解釋智能體決策依據(jù)的解釋方法都是基于擾動(dòng)生成顯著圖方法,對(duì)于當(dāng)前狀態(tài)s中的特征f,擾動(dòng)特征f,將狀態(tài)s更改為exps,比如在圍棋游戲中,通過移除棋子的方式來(lái)達(dá)到該目的,在像素游戲中會(huì)通過加入高斯噪聲的方式達(dá)到該目的。在狀態(tài)改變之后,讓智能體對(duì)修改后的狀態(tài)進(jìn)行判斷得到Q(exps,a),?a∈As∩Aexp s。通過Q(s,a)和Q(exps,a)的差值計(jì)算得出該特征f的顯著性S[f]。
根據(jù)文獻(xiàn)[15],對(duì)于特征的顯著性分析可以從定性的相關(guān)性和定量的重要性兩方面評(píng)估特征f,首先要判斷f是否與a相關(guān),當(dāng)f與a相關(guān)性較低時(shí),f的重要性應(yīng)該很低,當(dāng)f與a相關(guān)性較高時(shí),則對(duì)f在決策中的重要性進(jìn)行計(jì)算,此外,相關(guān)性、重要性2個(gè)指標(biāo)的內(nèi)涵定義如下:
1)相關(guān)性:對(duì)于當(dāng)前狀態(tài)s中的特征f,f∈F,如果特征f被改變之后對(duì)決策動(dòng)作a之外的其他動(dòng)作產(chǎn)生同樣的影響,即其他動(dòng)作expa(expa∈A),expa≠a的預(yù)期回報(bào)也發(fā)生了變化,則說明特征f與決策動(dòng)作a的決策相關(guān)性較低
2)重要性:在特征f與決策動(dòng)作a決策相關(guān)性較強(qiáng)的前提下,在特征f被改變之后,棋局對(duì)應(yīng)狀態(tài)由s變?yōu)閑xps,決策動(dòng)作a的預(yù)期回報(bào)由Q(s,a)變?yōu)镼(expx,a),計(jì)算|Q(s,a)-Q(exps,a)|,差值為特征f在決策中的重要性程度。
基于前人的研究,根據(jù)文獻(xiàn)[15]提出的SARFA解釋性方法,對(duì)其進(jìn)行改進(jìn),設(shè)計(jì)出一種可以更全面地解釋棋類智能體決策的解釋性方法。該方法不僅能夠計(jì)算棋局上落子點(diǎn)的特征顯著性,而且從博弈行為方面分析棋局空白點(diǎn)特征的顯著性,最終將棋盤全局特征的特征顯著性以顯著圖的方式展示給外界,以此解釋棋類智能體對(duì)于棋局狀態(tài)的決策依據(jù)。下面分別從已落子區(qū)域、空白區(qū)域進(jìn)行特征分析。
在此,從決策相關(guān)性和決策重要性兩方面對(duì)已落子區(qū)特征進(jìn)行顯著性分析。
2.1.1相關(guān)性分析
(1)
使用相對(duì)熵來(lái)衡量原始狀態(tài)s與修改特征f后,狀態(tài)exps對(duì)應(yīng)動(dòng)作預(yù)期回報(bào)的差異程度。
DKL=Prem(exps,a)||Prem(s,a)
(2)
2.1.2重要性分析
(3)
2.1.3顯著性分析
DKL的值與特征f的相關(guān)性成反比,因此,將DKL值映射至0~1區(qū)間,再取倒數(shù)的方式,使其最終映射值與特征f的相關(guān)性成正比。
(4)
最終計(jì)算特征f的顯著性
(5)
從博弈行為而言,下棋者不僅會(huì)注意棋盤的棋局狀態(tài),同時(shí)還會(huì)根據(jù)空白區(qū)域,一是分析棋型布局,二是分析對(duì)方落子的威脅程度,最終做出落子決策,因此,可以對(duì)空白區(qū)域特征進(jìn)行顯著性分析。
對(duì)于空白區(qū)域,從人類經(jīng)驗(yàn)角度而言,更加注重的是對(duì)手在不同位置落子后對(duì)本方局勢(shì)的影響程度,對(duì)于基于深度強(qiáng)化學(xué)習(xí)算法的智能體而言,這種影響可以從對(duì)應(yīng)的Q值中各個(gè)動(dòng)作的估值改變程度中反映出。因此對(duì)于空白區(qū)域特征的顯著性分析可以從落子前后Q值的改變程度進(jìn)行分析,即模擬對(duì)手在空白區(qū)域的不同位置落子,觀測(cè)落子前Q(s,a)和落子后Q(exps,a)的變化差異,并對(duì)這種差異進(jìn)行量化,最終可以得到各個(gè)落子點(diǎn)特征在決策中的顯著性。
空白區(qū)域主要注重其對(duì)于智能體后序決策的影響程度,所以不需要像落子區(qū)域一樣從相關(guān)性和重要性2個(gè)方面進(jìn)行分析,僅僅分析其對(duì)于智能體決策中的依據(jù)(Q值)的影響程度即可。
使用KL散度對(duì)落子前后Q值的變化程度進(jìn)行計(jì)算,KL散度定義公式:
(6)
KL散度用來(lái)計(jì)算P(x)與Q(x)的相似度,二者相似度性越高,則KL散度越小,恰好可以定量的表示落子前Q(s,a)和落子后Q(exps,a)的變化差異程度。
對(duì)于空白區(qū)域特征f,使用添加棋子的方法,模擬對(duì)手角色在空白區(qū)域落子,改變特征f,使棋局狀態(tài)由s變?yōu)閑xps,根據(jù)其對(duì)智能體的所有合法動(dòng)作a(a∈AS)的預(yù)期回報(bào)的影響程度來(lái)判斷該特征對(duì)于智能體決策的顯著性S[f],使用相對(duì)熵來(lái)計(jì)算狀態(tài)改變前后動(dòng)作a預(yù)期回報(bào)的變化程度,進(jìn)而表示特征f的顯著性。
S[f]=Q(s,a)||Q(exps,a)
(7)
對(duì)手的落子會(huì)從兩方面影響己方的決策,一是對(duì)于己方某個(gè)動(dòng)作的估值產(chǎn)生很大影響,二是對(duì)于己方整體的大部分動(dòng)作的估值產(chǎn)生影響,此處計(jì)算出的特征顯著性S[f]包含了兩方面的差異程度,因此,可以定量反映落子點(diǎn)特征在決策中的顯著性。
為提高可視化程度,最終生成的顯著圖具體包含有落子區(qū)域和空白區(qū)域所有特征的顯著性。按此前的相關(guān)性和重要性兩方面相關(guān)顯著性,分析出空白區(qū)域特征的顯著性。二者的量綱不同,所以使用歸一化處理,將二者映射到統(tǒng)一量綱下,最終對(duì)二者進(jìn)行合并,生成最終的棋局特征顯著圖,以此展示整個(gè)棋盤全局特征在智能體決策中的顯著性,進(jìn)而達(dá)到解釋智能體決策依據(jù)的目的。
1)落子區(qū)域特征顯著性S[f]d歸一化處理:
(8)
2)空白區(qū)域特征顯著性S[f]b歸一化處理:
(9)
最終將S[f]d和S[f]b合并至同一棋盤中,并以圖像的形式進(jìn)行輸出。
使用基于深度強(qiáng)化學(xué)習(xí)的圍棋智能體和國(guó)際象棋智能體進(jìn)行實(shí)現(xiàn),給其棋盤局勢(shì),讓智能體執(zhí)子進(jìn)行下一步落子的決策,在做出決策的同時(shí)使用本文的解釋方法對(duì)智能體的決策進(jìn)行解釋性輸出,進(jìn)而分析智能體的決策依據(jù),并與前人的方法進(jìn)行對(duì)比,驗(yàn)證本文方法的有效性。
對(duì)于上述兩類智能體,以棋譜的形式輸入給智能體,智能體執(zhí)子落子后,使用本文方法計(jì)算棋局上各個(gè)特征在智能體決策中的重要性,并使用圖形化的方式進(jìn)行輸出,得到最終的顯著圖,并對(duì)其進(jìn)行分析。
3.3.1針對(duì)圍棋智能體的實(shí)驗(yàn)以及結(jié)果分析
最終對(duì)圍棋智能體的決策依據(jù)解釋效果如圖3所示。圖3(a)為棋盤狀態(tài),智能體執(zhí)黑子,下一步?jīng)Q策動(dòng)作為在A16落黑子;圖3(b)為SARFA方法解釋的智能體決策依據(jù),僅僅計(jì)算了落子區(qū)域特征顯著性;圖3(c)為最終生成的棋盤全局特征顯著圖。
圖3 圍棋智能體決策顯著圖
可以看出,在落子區(qū)域的特征顯著性分析上,本文方法計(jì)算的特征顯著性與SARFA方法計(jì)算的基本一致,對(duì)于整個(gè)棋局形式,白方E18處的棋子最為重要,白方可以憑借E18的棋子向右擴(kuò)充自己“氣”的范圍,但是黑方在此處沒有棋子分布,若單獨(dú)落子容易被白方吃掉,因此智能體考慮了對(duì)自己最有利的白方棋子,即B18、C18、B17處的棋子,是白方在左上的中心棋子,智能體在A16落子有利于進(jìn)一步吃掉白方在左上區(qū)域的棋子。
在空白區(qū)域,智能體同樣認(rèn)為有一部分的落子點(diǎn)較為重要,左下和右下部分目前雙方都未落子,因此在這些區(qū)域的中心點(diǎn)落子可以搶先占據(jù)布局,如M列第3、7、8行都可以做搶占式的落子,而邊角處的落子點(diǎn)對(duì)于“氣”的爭(zhēng)奪作用不大,因此智能體認(rèn)為其重要性較低。
3.3.2針對(duì)國(guó)際象棋智能體的實(shí)驗(yàn)以及結(jié)果分析
最終針對(duì)國(guó)際象棋智能體的決策依據(jù)解釋效果如圖4所示。圖4(a)為棋盤狀態(tài),智能體執(zhí)白方,將“兵”行至b4位置;圖4(b)為SARFA方法解釋的智能體決策依據(jù),僅僅計(jì)算了落子區(qū)域特征顯著性;圖4(c)為最終生成的棋盤全局特征顯著圖。
圖4 國(guó)際象棋智能體決策顯著圖
對(duì)于棋盤上所有的棋子,智能體認(rèn)為對(duì)方“王后”對(duì)于本方的威脅最大,其與本方的“王”最近,且是棋盤上棋力最強(qiáng)的棋種。本方靠近“王”的棋子同樣重要,用于吃掉對(duì)面的“王后”或者卡位限制對(duì)方王后的走位。
對(duì)于空白區(qū)域,智能體主要關(guān)注與本方“王”主要能走位的區(qū)域,同時(shí)關(guān)注于對(duì)方“王后”能走位的落子位,若對(duì)方“王后”越過棋盤第4行,則將對(duì)本方“王”產(chǎn)生很大威脅,但是“王后”不能越子行棋,因此將本方的“兵”行至b4,一方面可以阻止對(duì)方“王后”直接越過第4行,同時(shí),對(duì)方“王后”若吃掉該子,則本方的“馬”可以吃掉對(duì)方的“王后”,這樣的行棋可以很好地限制住對(duì)方“王后”的走位。
針對(duì)智能體的決策依據(jù)有所不同的情況,提出了適合棋類智能體的解釋方法,從棋局落子區(qū)域與空白區(qū)域2個(gè)區(qū)域?qū)χ悄荏w的決策依據(jù)進(jìn)行解釋,較好地展示了棋類智能體的決策依據(jù)。
該方法對(duì)于圍棋、不圍棋等吃子棋類智能體的決策依據(jù)解釋效果較好,但是對(duì)于中國(guó)象棋、國(guó)際象棋等吃子棋特征種類較多的棋類智能體,解釋效果仍然有不足,因此下一步研究將嘗試設(shè)計(jì)一種通用型更強(qiáng)的解釋方法。