張曉平 阮曉鋼 王力 李志軍 閆佳慶 畢松
近年來,人工智能與機器人在各國政府、研究機構及相關企事業(yè)單位中的受重視程度持續(xù)提升,其中主要研究目標之一是建立類似人或動物可以進行自主學習的認知型機器人.機器人具有認知能力表現(xiàn)為其能夠在與周身環(huán)境的交互過程中漸進掌握知識和技能[1].受人和動物感知運動系統(tǒng)的啟發(fā)[2],為機器人感知運動過程設計認知模型成為實現(xiàn)認知機器人的有效方法之一[3?5].
機器人感知行動認知模型的設計主要包含模型結構及模型算法兩方面.模型結構常借鑒神經(jīng)生物學相關知識[6?8],而算法方面則以心理學學習機制為指導,常見的有操作條件反射[9?11]、內(nèi)發(fā)動機[12]等,其中,內(nèi)發(fā)動機又涉及好奇心[13?14]、情感[7,15]等.在操作條件反射學習理論下,Cyr 等基于人工脈沖神經(jīng)網(wǎng)絡ASNN(Artif cial spiking neural networks)為機器人設計了一種大腦控制器,實現(xiàn)了機器人自主移動[10];Itoh 等為類人機器人設計了一種行為模型,成功實現(xiàn)了機器人握手行為學習[11].在內(nèi)發(fā)動機理論下,Ren 等借鑒多巴胺、丘腦、基底神經(jīng)節(jié)–大腦皮層工作機制,針對兩輪機器人自平衡學習問題提出一種計算模型C-DCCM(Curiosity-driven cognitive computing model),成功實現(xiàn)了機器人的自學習和對環(huán)境的自發(fā)探索[6];Mannella 等為平面機器人提出一種計算模型,實現(xiàn)了機器人自身運動技能學習[12];Baranes和Oudeyer 將感知運動理論與內(nèi)發(fā)動機理論結合,提出一種自適應目標生成–魯棒智能自適應好奇心算法SAGG-RIAC(Self-adaptive goal generationrobust intelligent adaptive curiosity),實現(xiàn)了冗余機器人對自身逆運動學的學習[13?14];Castellanos等則考慮機器人感知行動認知過程中的情感因素,為機器人提出一種情感評估模型,實現(xiàn)了機器人的個性化[15].以上工作,機器人在學習過程中,其認知模型算法會在一定程度上進行更新,但模型結構均為固定,一旦設計完成,不再發(fā)生變化.
2001年,Weng 在Science上發(fā)文,首次提出自主心智發(fā)育的概念[16],后期繼續(xù)提出一系列發(fā)育網(wǎng)絡DN(Development networks)理論[17],奠定了發(fā)育機器人研究基礎,其發(fā)育網(wǎng)絡核心理念就在于學習過程中網(wǎng)絡結構可變.Cai等以學習自動機為數(shù)學模型,結合操作條件反射機制與模糊理論設計的模糊斯金納操作條件反射自動機FSOCA(Fuzzy skinner operant conditioning automaton)就融合了這樣的思想,基于在線聚類算法實現(xiàn)了感知行動映射規(guī)則的增加和刪除[9].發(fā)育理念對于機器人學習非常重要,以文獻[18]為例,其在感知運動系統(tǒng)認知模型中同時結合操作條件反射與內(nèi)發(fā)動機機制,為兩輪機器人設計了一種具有內(nèi)發(fā)動機機制的認知模型,使得機器人表現(xiàn)出一定的認知能力,然而,其模型結構固定,研究過程中表現(xiàn)出兩個問題:1)模型需要學習的動作空間需要提前定義,降低了機器人的智能性,并且固定的動作學習空間存在大量對無效感知行動映射的探索和學習,造成學習的浪費,導致模型學習率低;2)固定感知行動映射空間下,模型需要對當前學習狀態(tài)下所有的感知行動映射取向性進行更新,存在計算上的浪費.
受發(fā)育理論啟發(fā),本文在文獻[18]的研究基礎上,借鑒潛在動作理論,設計了一種新的結構可發(fā)育的機器人感知行動認知模型D-SSCM,針對模型的發(fā)育式學習過程,分別設計了模型擴展式學習方法和算法以及縮減式學習方法和算法,同時節(jié)省了機器人學習成本和計算成本,很大程度上提高了機器人的學習速度和學習穩(wěn)定性.將文本模型與文獻[18]在相同實驗任務及參數(shù)設置下進行對比,對本文模型的特點及上述優(yōu)越性進行了說明和驗證.
潛在動作(Af fordance)理論由美國感知心理學家Gibson 于1977 年提出,認為嬰兒在環(huán)境學習過程中,首先學習的是物體的潛在動作,如箱子“可堆積”、椅子“可坐”等,之后才學習物體顏色、大小等屬性[19].21世紀,潛在動作理論被引入發(fā)育機器人研究領域[20],對此,歐盟還成立了專門的研究項目[21],RSS、ECCV等會議也舉辦了相關的Workshop[22].國內(nèi)有關潛在動作的相關研究主要來自華南理工大學易長安等的工作[23?25].
潛在動作理論重點研究機器人與環(huán)境之間可能的動作關聯(lián),從而實現(xiàn)機器人完成不同的任務.
潛在動作理論自提出以來,各學者對其理解不一,Turvey將潛在動作定義為環(huán)境的屬性[26];在Turvey理論基礎上,Stof fregen 認為潛在動作是存在于動物–環(huán)境系統(tǒng)中的某種屬性[27];Chemero認為潛在動作是動物屬性與環(huán)境屬性之間的關聯(lián)[28];Steedman忽略感知作用,將潛在動作理解為環(huán)境與動作的關聯(lián)[29];2015年,易長安等指出,潛在動作是指機器人結合自身行為能力及感知能力,判斷其在當前環(huán)境下可執(zhí)行的動作[30].機器人在與環(huán)境的交互過程中逐漸學習到不同環(huán)境中的潛在動作,從而完成不同的任務,并在任務學習過程中不斷提高自身行為學習能力.由此可見,潛在動作是機器人學習到的關于其周身環(huán)境的知識,是機器人獲得高級技能的重要基礎,它能夠使機器人預測動作結果,實現(xiàn)高效率的學習[31].
2007 年,Sahin等[32]總結潛在動作相關知識,定義潛在動作是效果和(實體,行為)組之間的關系,并給出了潛在動作學習的形式化,具體為一個三元組,如式(1)所示,為廣大學者所采用.式(1)具體表示當智能體對實體(entity)執(zhí)行行為(behavior)后,產(chǎn)生效果(effect).

2015年,易長安等對Sahin 等的潛在動作學習模型進行擴展,針對動態(tài)環(huán)境下的復雜任務,提出了基于子任務的潛在動作描述方法[30],如式(2)所示,其中precondition表示動作執(zhí)行前環(huán)境需要滿足的前置條件,postcondition表示動作執(zhí)行完成后環(huán)境需滿足的后置條件.在該模型之上,易長安等提出潛在動作預測框架,集成了分層強化學習、狀態(tài)抽象機制、任務圖和物體屬性等,提高了機器人學習效率.

機器人與環(huán)境的每次交互都可以產(chǎn)生一個潛在動作元組,多次交互可以得到更一般的關聯(lián),從而完成更復雜的任務.
本文在文獻[18]的基礎上,結合潛在動作理論,為機器人設計了一種結構可變的具有發(fā)育機制的感知行動認知模型D-SSCM(Developmentsensorimotor cognitive model),其結構如圖1所示,包含離散學習時間集t、內(nèi)部可感知離散狀態(tài)集S、可輸出動作集M、有效輸出動作空間集Ms、有效感知行動映射取向性集Os、有效感知行動映射學習次數(shù)集Ns、有效感知行動映射好奇心集Cs、狀態(tài)評價函數(shù)V、取向函數(shù)Vs、有效操作函數(shù)集Ps、有效動作空間取向性學習算法Ls、潛在動作關系集AF、可輸出動作空間探索率集Exp以及發(fā)育算法DL共14部分(下標s表示感知sensory,后文下標m 表示運動motor).

圖1 D-SSCM結構圖Fig.1 Structure of D-SSCM
為更清楚地顯示D-SSCM中各元素的含義,給出如下定義:
定義1.具有發(fā)育機制的感知行動認知模型DSSCM是一個14元組:D-SSCM=t,S,M,Ms,Os,Ns,Cs,V,Vs,Ps,Ls,AF,Exp,DL,其中各元素含義具體如下:
1)t∈{0,1,···,nt}:D-SSCM離散學習時刻集,其中t=0表示學習初始時刻,nt表示最大離散學習時刻數(shù);
2)S={si|i=1,2,···,ns}:D-SSCM內(nèi)部可感知離散狀態(tài)集,其中si∈S表示模型第i個可感知的內(nèi)部狀態(tài),ns為離散狀態(tài)數(shù);
3)M={mj|j=1,2,···,nm}:D-SSCM可輸出動作集,mj表示可輸出動作集中第j個動作,nm為動作空間可輸出動作數(shù);
4)Ms={Mi|i=1,2,···,ns}:D-SSCM有效輸出動作空間集,Mi={mik|k=1,2,···,ni}為狀態(tài)si下的有效輸出動作空間,mik∈M為D-SSCM在狀態(tài)si下從M中學習到的第k個有效動作,ni為狀態(tài)si下學習到的有效動作個數(shù).狀態(tài)si下的有效輸出動作指的是該狀態(tài)下能夠使機器人趨向任務目標的動作,Mi是在機器人對環(huán)境的學習過程中不斷構建的,隨著Mi結構的不斷變化,ni也隨之發(fā)生變化,體現(xiàn)出模型發(fā)育的思想.學習初始時刻,Mi(i=1,2,···,ns)均為空,ni=0(i=1,2,···,ns);
不同于文獻[18]中所設計模型需要學習的動作空間固定,在D-SSCM中各狀態(tài)si所對應的動作空間Mi并非教師或專家根據(jù)經(jīng)驗提前定義的,而是隨著學習過程漸進發(fā)育形成的,該模式下,有效避免了冗余感知行動映射造成的學習浪費和計算浪費.
5)Os={Oi|i=1,2,···,ns}:D-SSCM有效感知行動映射取向性集,其中Oi={oik|k=1,2,···,ni}為狀態(tài)si下的有效感知行動映射取向性集,oik為狀態(tài)si對其第k個有效動作的選擇取向性;
6)Ns={Ni|i=1,2,···,ns}:D-SSCM有效感知行動映射學習次數(shù)集,Ni={nik|k=1,2,···,ni}為狀態(tài)si下模型對其各有效動作的學習次數(shù)集,nik表示狀態(tài)si對動作mik的學習次數(shù),若t時刻,mik被選擇,則t+1時刻:

對于其他所有沒有被學習的有效感知行動映射,對應學習次數(shù)保持不變;
7)Cs={Ci|i=1,2,···,ns}:D-SSCM有效感知行動映射好奇心集,Ci={cik|k=1,2,···,ni}為狀態(tài)si下模型對其各有效動作的好奇心集,cik表示狀態(tài)si對動作mik的好奇度,計算方式同文獻[18],具體為:

其中,kc和c為好奇心參數(shù);
8)V:D-SSCM狀態(tài)評價函數(shù),用來評價模型當前感知狀態(tài)的理想程度,機器人越接近學習目標,模型對應感知狀態(tài)的狀態(tài)值越大,機器人越遠離學習目標,則模型對應感知狀態(tài)的狀態(tài)值越小;
9)Vs:D-SSCM取向函數(shù),用于決定模型學習方向,定義為:

10)Ps={Pi|i=1,2,···,ns}:D-SSCM有效操作函數(shù)集,用于決定模型在有效動作空間內(nèi)對動作的選擇,Pi={pik|k=1,2,···,ni}為狀態(tài)si所對應的有效操作函數(shù)集,pik為狀態(tài)si對動作mik的操作值,具體為:

0<σ <1為操作函數(shù)參數(shù).
11)Ls:D-SSCM有效動作空間取向性學習算法,在D-SSCM有效動作空間內(nèi)各動作均能使得Vs(t+1)≥0,因此針對有效動作空間的取向性學習算法Ls簡單設計為:

其中oik(k∈1,···,ni)對應被選動作mik的取向性值,oik為狀態(tài)si下其余動作的取向性值,η為取向性學習算法參數(shù).
12)AF={AFij|i=1,2,···,ns,j=1,2,···,nm}:D-SSCM潛在動作關系集,受潛在動作理論及其形式化啟發(fā),在此定義D-SSCM不同狀態(tài)與不同動作之間的潛在關系,具體定義為一個三元組:

AFij意義為D-SSCM在狀態(tài)si下輸出mj產(chǎn)生的效果為effect.D-SSCM在對可輸出動作空間進行探索時,每探索一個新的感知行動映射(si,mj),就會伴隨著一個新的潛在動作關系組形成.
針對D-SSCM發(fā)育式學習過程:
若effect=1,表示在感知狀態(tài)si下動作mj是可被選擇的,即動作mj是狀態(tài)si下的有效動作;
若effect=0,表示在狀態(tài)si下,動作mj是不可取的,會使得學習偏離目標;
若effect值為空,即effect=?,則表示對應的感知行動映射還沒有被學習.
依據(jù)操作條件反射機制及定義的取向函數(shù),effect值計算如下:

13)Exp={Expi|i=1,2,···,ns}:D-SSCM可輸出動作空間探索率集,Expi表示模型在狀態(tài)si下對可輸出動作空間M的探索率,可通過式(10)進行計算:

其 中,Numi{effect=?}=nm?Numi{effect=?}表示狀態(tài)si下可輸出動作空間中潛在動作關系元組effect=?的個數(shù),亦即狀態(tài)si對可輸出動作空間已經(jīng)進行探索的感知行動映射數(shù).
D-SSCM中,在任意狀態(tài)si下,模型都可以選擇對該狀態(tài)下已發(fā)育形成的有效輸出動作空間集Mi進行學習,或對該狀態(tài)下可輸出動作空間M的剩余空間進行探索.在此規(guī)定,D-SSCM學習過程中,在狀態(tài)si下模型總是以概率1?Expi對M剩余空間進行探索,以概率Expi對其有效輸出動作空間Mi進行學習.特別地:
a)在學習初始時刻t=0時,模型沒有任何環(huán)境知識,任意狀態(tài)si下,其潛在動作關系元組AFij(j=1,2,···,nm)中effect值均為?,Mi也為?,此時D-SSCM以

的概率從可輸出動作空間集M中探索動作,以完成對Mi的構建.
b)當學習進行到某個時刻,若狀態(tài)si已經(jīng)完成了對可輸出動作空間M的全部探索,則D-SSCM在該狀態(tài)下繼續(xù)對M進行探索的概率為:

表明此時模型不再會對M進行探索.
14)DL:D-SSCM 發(fā)育算法,包含DL1和DL2兩部分,其中DL1為D-SSCM探索可輸出動作空間M后需要對有效輸出動作空間集Ms進行擴展的發(fā)育算法,DL2是D-SSCM對有效輸出動作空間集Ms不斷學習后需要對其進行縮減的發(fā)育算法.
2.2.1 擴展發(fā)育算法DL1
在狀態(tài)si下,若D-SSCM以概率1?Expi對可輸出動作集M剩余動作空間進行了探索,可能出現(xiàn)兩種情況:
1)t時刻在當前狀態(tài)下探索某一動作后,t+1時刻模型受到負強化Vs(t+1)<0,則對應感知行動映射潛在動作關系元組effect=0,表明該動作在當前狀態(tài)下是不應該被選擇的,針對該情況,t+1時刻不需要對已建立的有效感知行動映射動作集進行更新;
2)若t時刻模型在當前狀態(tài)下探索某一動作后,t+1時刻獲得正強化Vs(t+1)≥0,則對應感知行動映射潛在動作關系元組effect=1,證明該動作是當前狀態(tài)下的一個有效動作,t+1時刻需要對Ms進行擴展發(fā)育.
以狀態(tài)si為例,D-SSCM在情況2)下Ms的結構擴展發(fā)育過程如圖2所示.

圖2 D-SSCM擴展發(fā)育原理圖Fig.2 D-SSCM extended development diagram
更具體的,假設t時刻,狀態(tài)si所對應有效輸出動作空間集Mi中的有效動作個數(shù)為ni,模型以1?Expi探索了可輸出動作集M剩余空間中某一動作,設為mj,t+1時刻獲得正強化,因此需要對Mi進行擴展發(fā)育,具體如下:
步驟1.動作擴展:將動作mj擴展為動作集Mi第ni+1個有效動作:

步驟2.取向性更新:按照發(fā)育算法DL1對擴展后的動作集Mi取向性集Oi進行更新,其中DL1算法學習過程具體如下:
步驟2.1.首先針對新增加動作mi(ni+1),定義其在狀態(tài)si下的取向性:

步驟2.2.Mi中原有動作取向性oik(k=1,···,ni)更新如下:

步驟3.好奇心激活:伴隨著狀態(tài)si下新動作mi(ni+1)的增加,除取向性按式(14)和式(15)進行更新外,狀態(tài)si對mi(ni+1)的好奇心也隨之被激活,用于計算動作好奇度的感知行動映射學習次數(shù)ni(ni+1)=1,并在以后的學習中不斷更新.可以看出,任何新發(fā)育的動作,其所對應的好奇心值均較大,結合對新增動作定義的初始取向性值,能夠保證模型對該有效動作的充分學習.
步驟4.結構發(fā)育:

DL1算法分析:D-SSCM在結構不需要發(fā)育時,其取向性學習算法如Ls所示,算法有效性在文獻[18]中給出了相關證明,在此不再贅述.t+1時刻,若模型結構需要發(fā)育,則發(fā)育后模型中動作的取向性應滿足Ls的學習條件,即:1)0≤oik(t+1)≤1(k=1,2,···,(ni+1)),2)oik(t+1)=1.
針對條件1):t+1時刻,對于新擴展的動作mi(ni+1)的取向性有:

滿足條件,對于Mi中原有動作的取向性有:

在0≤oik(t)≤1的情況下,因為可知0≤oik(t+1)≤1成立,因此DL1發(fā)育算法滿足條件1).
針對條件2),t+1時刻:

可見DL1發(fā)育算法滿足條件2).
從以上擴展發(fā)育算法DL1可以看出,在潛在動作關系元組引入的條件下,相比較于文獻[18]認知模型,D-SSCM對各動作的初步探索可一次完成,通過計算effect的值僅對各狀態(tài)下的有效動作進行發(fā)育用于后期的學習,大大降低了對感知行動映射的學習成本以及取向性更新時的計算成本,同時模型對整個可輸出動作集的探索依概率進行,從另一方面縮減了計算成本.
2.2.2 縮減發(fā)育算法DL2
D-SSCM認知模型在狀態(tài)si下對其有效感知行動映射動作集Mi進行學習,遵循內(nèi)發(fā)動機下的主動學習機制.Mi中,對所有的動作都有潛在動作關系元組:

成立,但在操作條件反射機制下,模型總是趨向于選擇獲得更大正強化值的動作,隨著學習的進行,某些有效動作的取向性會隨著學習的進行不斷降低,當其取向值下降到一定程度以下時,D-SSCM在好奇心作用下,依據(jù)內(nèi)發(fā)動機機制繼續(xù)對其進行學習會同時造成學習和計算的浪費,此時需要對模型結構進行縮減發(fā)育.
D-SSCM在對其有效輸出動作空間集Ms的學習過程中,如果t時刻,當前狀態(tài)si下某動作mik所對應的取向性oik(t)滿足:

則認為動作mik不屬于當前狀態(tài)下的可選潛在最優(yōu)動作,需要將其從Mi中剪除.不同于結構擴展發(fā)育時直接將有效動作mj作為Mi第ni+1個有效動作,D-SSCM的結構縮減發(fā)育經(jīng)歷一個比較復雜的過程,具體如圖3所示.

圖3 D-SSCM縮減發(fā)育原理圖Fig.3 D-SSCM reduced development diagram
以t時刻,狀態(tài)si下的有效輸出動作集Mi中第j(j∈1,···,ni)個動作mij需要被剪除為例,D-SSCM的縮減發(fā)育原理具體如下:
步驟1.動作剪除:首先將mij從Mi中剪除.
步驟2.取向性更新:Mi中動作mij被剪除后,對其剩余動作取向性按發(fā)育算法DL2進行更新,具體為:

步驟3.結構發(fā)育:對剪除動作mij后的Mi結構進行更新.
步驟3.1.對于k

直至

步驟3.2.將Mi空間由ni維降低為ni?1維:

結構發(fā)育過程中,各動作相關性質如取向性、好奇心等隨動作更新.
DL2算法分析:與DL1算法相同,DL2算法同樣需要保證Ls的學習條件:1)0≤oik(t+1)≤成立.在結構縮減發(fā)育下,可簡單描述為:t+1時刻上述步驟2中1)0≤oik(t+1)≤1,(k=1,···,ni),
針對條件1),由于對任意動作mik,其取向性滿足oik(t)≤1?oij(t),因此有:

成立,滿足條件.
針對條件2),t+1時刻:

條件2)成立.
學習中的某一時刻,若有效感知行動映射取向性集Oi中同時存在多個需要被剪除的動作,則按順序依次重復上述過程.
具有發(fā)育機制的感知行動認知模型D-SSCM學習步驟可總結如下:
步驟1.初始化.學習初始時刻t=0時,對D-SSCM中各元素進行初始化,具體包括:定義模型內(nèi)部可感知離散狀態(tài)集S及可輸出動作集M,定義模型狀態(tài)評價函數(shù)V,設置學習相關參數(shù),設置學習終止條件.
不同于文獻[18]認知模型,D-SSCM中,其要學習的感知行動映射結構是可發(fā)育的,有效感知行動映射相關元素是隨著學習不斷變化的,無需提前定義,以節(jié)省計算空間,具體包括有效感知行動映射取向性集Os、有效感知行動映射學習次數(shù)集Ns、有效感知行動映射好奇心集Cs、有效操作函數(shù)集Ps.
步驟2.狀態(tài)感知.觀察學習t時刻D-SSCM模型狀態(tài)si(t),并計算當前狀態(tài)取向值V(t).
步驟3.計算當前狀態(tài)下的探索率Expi.依概率1?Expi對M剩余動作空間進行探索,依概率Expi對Mi有效動作空間進行學習.初始時刻,D-SSCM沒有任何先驗知識,Mi為?,模型以概率1探索M,即模型需要從M中獲取知識,同時,在此規(guī)定,在學習任意時刻,若Mi為?,則模型以概率1探索M剩余動作空間.
所謂狀態(tài)si下M的剩余動作空間,即狀態(tài)si在可輸出動作集M中所有潛在動作關系元組(effect,(si,mj))中effect值為?的動作,effect值為?表示感知行動映射(si,mj)沒有被探索.
t時刻,若D-SSCM依概率1?Expi對剩余動作空間進行了探索,則執(zhí)行步驟4.1.1~步驟4.1.5:
步驟4.1.1.選擇動作并輸出.D-SSCM在當前狀態(tài)的M剩余動作空間中隨機選擇某個動作并輸出;
步驟4.1.2.狀態(tài)發(fā)生轉移.t時刻,模型在當前狀態(tài)si(t)下從M剩余動作空間中隨機選擇了某個動作,假設為mj作用于客體環(huán)境,狀態(tài)發(fā)生轉移,觀測t+1時刻模型的新狀態(tài),并計算其狀態(tài)值V(t+1);
步驟4.1.3.計算取向函數(shù)值Vs(t+1).根據(jù)t時刻及t+1時刻觀測到的狀態(tài)值計算模型的取向函數(shù)值Vs(t+1),此處用于計算模型潛在動作關系effect值;
步驟4.1.4.更新模型潛在動作關系集.根據(jù)計算獲得的取向函數(shù)Vs(t+1)值更新模型M空間潛在動作關系元組(effect,(si,mj)),若Vs(t+1)≥0,則effect=1,若Vs(t+1)<0,則effect=0;
步驟4.1.5.判斷是否擴展發(fā)育.根據(jù)新生成的潛在動作關系元組的effect值判斷是否需要對狀態(tài)si下的有效動作空間Mi進行擴展發(fā)育,若effect=0,表明所探索的動作在當前狀態(tài)下是無效的,t+1時刻無需對Mi進行擴展發(fā)育,D-SSCM有效感知行動映射結構不變;若effect=1,則表明t時刻探索到當前狀態(tài)下一個有效動作,t+1時刻需要將探索到的動作擴展到Mi中,具體按第2.2.1節(jié)中擴展發(fā)育算法對模型結構及相關屬性進行更新.
t時刻,若D-SSCM依概率Expi對當前狀態(tài)si下有效動作空間Mi進行學習,則執(zhí)行步驟
4.2.1~步驟4.2.7,D-SSCM對Mi中各動作的學習依內(nèi)發(fā)動機機制進行[18],具體為:
步驟4.2.1.計算當前狀態(tài)下的好奇心集Ci(t).在感知狀態(tài)si(t)下,D-SSCM有效輸出動作空間Mi中某一動作,設為mik(k∈1,2,···,ni)隨機引起了模型對其進行學習的好奇心,其好奇度被激發(fā),計算該好奇心值cik(t),對于沒有引起模型好奇心的其余動作,cik(t)=0;
步驟4.2.2.計算操作函數(shù)集Pi(t).結合模型當前狀態(tài)下的有效感知行動映射取向性集Oi(t)及好奇心集Ci(t),計算當前狀態(tài)下的有效操作函數(shù)集Pi(t);
步驟4.2.3.選擇動作并輸出.依據(jù)內(nèi)發(fā)動機機制,選擇Mi中操作函數(shù)值最大的動作,設為mib(b∈1,2,···,ni)作用于環(huán)境中;
步驟4.2.4.狀態(tài)發(fā)生轉移.感知模型t+1時刻新狀態(tài),計算其狀態(tài)值V(t+1);
步驟4.2.5.計算取向函數(shù)值Vs(t+1).計算t+1時刻模型取向函數(shù)值Vs(t+1),此處用于決定模型已有結構下取向性學習方向;
步驟4.2.6.更新有效感知行動取向性映射集.根據(jù)式(7)對有效感知行動取向性映射集Oi進行更新;
步驟4.2.7.判斷是否縮減發(fā)育.根據(jù)更新后的取向性映射集Oi判斷是否需要對Mi進行縮減發(fā)育,當Oi中存在需要被剪除的動作時,依據(jù)第2.2.2節(jié)縮減發(fā)育算法對模型結構及相關屬性進行更新.
步驟5.判斷學習結束條件.根據(jù)設定的學習終止條件判斷學習是否結束,若滿足條件,則結束,否則返回步驟2.
D-SSCM的學習過程可用流程圖4更清楚直觀地描述.
針對兩輪機器人自平衡任務,首先需要對DSSCM模型進行設置.

2)兩輪機器人通過控制輪子的運動實現(xiàn)平衡,因此模型可輸出動作設定為輪子的轉矩,可輸出動作集設計為M={?10,?5,?2,?1,?0.1,0 0.1,1,2,5,10}(N·m),機器人共有nm=11個可輸出動作;

圖4 D-SSCM學習流程圖Fig.4 Learning fowchart of D-SSCM

表1 D-SSCM狀態(tài)劃分Table 1 D-SSCM state division
3)針對兩輪機器人自平衡任務,根據(jù)經(jīng)驗,模型狀態(tài)評價函數(shù)設計為:

4)其他各相關參數(shù)具體設定為kc=0.05,c=1,δ=0.7,η=0.1.
為表明D-SSCM學習的優(yōu)越性,將其與文獻[18]認知模型在如上相同設置下進行對比實驗驗證.方便期見,文獻[18]具有內(nèi)發(fā)動機機制的感知行動認知模型簡稱為IM-SSCM(Intrinsic motivationsensorimotor cognitive model)
1)基本學習過程:令機器人由初始傾斜角度?10?開始學習,采樣時間為0.01 s,學習過程中,如果機器人身姿角度|?(t)|>15?,則認為機器人發(fā)生傾倒,將其拉回初始狀態(tài)繼續(xù)學習.如圖5~圖7所示分別為兩輪機器人在50 000步學習過程中其身姿傾斜角度、角速度以及輪子輸出轉矩的變化曲線.可以明顯看出:1)D-SSCM具有更快的學習速度:從圖5及圖6機器人身姿角度和角速度曲線可以看出,在IM-SSCM指導下,機器人大約經(jīng)過150 s可進入平衡位置,而在結構可發(fā)育的D-SSCM指導下,機器人大約經(jīng)過40 s即可進入平衡位置,這是因為在發(fā)育機制下,機器人只對有效的感知行動映射進行學習,大大節(jié)省了探索成本.2)D-SSCM具有更穩(wěn)定的學習效果:從圖5及圖6中可以看出,IMSSCM學習過程階段性比較明顯,主要表現(xiàn)為學習初期(0 s~150 s)以較大的好奇心對不同的感知行動映射進行探索,學習中期(150 s~450 s),好奇心得到一定下降,模型以較小的好奇心對感知行動映射繼續(xù)進行探索,因此在學習中期依舊可能存在一些小的波動,相比之下,D-SSCM對感知行動映射的學習僅在其有效輸出動作空間中進行,其中所有的動作都使得機器人趨向目標,學習一旦完成,機器人不會發(fā)生晃動,該結論在圖7 機器人輪子轉矩輸出中體現(xiàn)更加明顯,從圖7 中可以看出,IM-SSCM認知模型在150 s~450 s之間盡管對±10、±5的選擇有所減少,但是在好奇心作用下依舊可能會對不良感知行動映射進行嘗試,而在D-SSCM發(fā)育認知模型下,機器人通過一次探索獲知動作結果后,后期就不再會選擇各狀態(tài)下的不良動作,不至學習偏離目標.

圖5 兩輪機器人傾斜角度Fig.5 Angle of two-wheeled robot

圖6 兩輪機器人傾斜角速度Fig.6 Angular velocity of two-wheeled robot
從以上結果可以看出,D-SSCM指導下機器人學習速度非常快,大約40 s即可完成,為說明DSSCM發(fā)育機制下的學習特點,對機器人前100 s學習過程中對M空間下感知行動映射探索次數(shù)及Ms空間有效感知行動映射構建數(shù)進行了記錄,結果如圖8所示.根據(jù)實驗數(shù)據(jù)結果,D-SSCM在初始100 s學習中共探索M空間660次,最終在Ms中形成有效感知行動映射數(shù)179條.在IM-SSCM認知模型中,機器人在整個探索階段中需要探索的感知行動映射數(shù)始終為ns×nm=144×11=1 584,相比較之下,D-SSCM在發(fā)育機制下,對M空間下各感知行動映射的探索只需要一次,通過計算所得的潛在動作關系元組effect值決定是否對當前感知行動映射進行發(fā)育,其需要學習的感知行動映射數(shù)僅為Ms空間下的有效感知行動映射,學習空間大大縮小.

圖7 兩輪機器人輪子轉矩Fig.7 Wheel s torque of two-wheeled robot

圖8 D-SSCM發(fā)育過程實驗結果圖Fig.8 Experiment results figure of D-SSCM s development process
對M空間感知行動映射探索次數(shù)曲線進行分析,首先可以看到在前40 s的學習過程中,曲線整體呈上升趨勢,表明機器人在不斷探索M空間下的感知行動映射以獲取新知識,進而完成對Ms的構建.此外,曲線存在如圖中R1區(qū)域所示水平直線部分,M空間感知行動映射探索次數(shù)曲線中水平直線部分的出現(xiàn)意味著該階段D-SSCM正在對其所構建的有效輸出動作空間集Ms進行學習,表明模型對M空間的探索是依概率的,而非遍歷的.智能系統(tǒng)學習的目標在于尋找某種可以達到目標的策略,該策略不一定是最優(yōu)的,該目標下,遍歷式的搜索策略是不必要的,反而會降低學習效率,D-SSCM對M空間的依概率探索則很好地避免了以上問題.
對Ms空間有效感知行動映射數(shù)曲線進行分析.不同于M空間感知行動映射探索次數(shù)表現(xiàn)為不減曲線,Ms空間有效感知行動映射數(shù)在縮減式發(fā)育下可能會出現(xiàn)下降.與R1區(qū)域所處學習階段對應,Ms空間有效感知行動映射數(shù)變化過程如圖中R2區(qū)域所示,需要指出的是,該階段中,R2區(qū)域出現(xiàn)了有效感知行動映射數(shù)減小的情況,從實驗角度體現(xiàn)了模型的縮減式發(fā)育過程,同樣的過程也發(fā)生在模型學習前期階段,具體如圖8中R3區(qū)域所示.
圖8清楚的顯示了D-SSCM的發(fā)育過程,同時包含擴展式發(fā)育及縮減式發(fā)育.
2)輪次學習:兩輪機器人的自平衡過程關鍵在于其由初始狀態(tài)運動到平衡位置期間.為更清楚地顯示D-SSCM的學習能力,令其不斷在前一次學習的基礎上從初始狀態(tài)開始運動,觀察其學習結果,并與IM-SSCM進行對比.在此設定輪次學習步數(shù)為3 000步,結果如圖9~11所示,分別為兩種模型下機器人第1輪、第2輪及第3輪的學習結果,從圖中可以看出,相比較于IM-SSCM,D-SSCM具有更快的學習速度.實驗結果顯示在具有發(fā)育機制的感知行動認知模型D-SSCM指導下,機器人一般經(jīng)過一輪對知識的探索,在第二輪就能夠快速從初始傾斜角度運動到平衡狀態(tài),該學習速度較其他已知操作條件反射相關認知模型有顯著優(yōu)勢.

圖9 第1輪學習結果Fig.9 Learning results of the 1st round

圖10 第2輪學習結果Fig.10 Learning results of the 2nd round

圖11 第3輪學習結果Fig.11 Learning results of the 3rd round
令機器人連續(xù)學習10輪,對各輪學習過后DSSCM模型對M空間感知行動映射的累計探索次數(shù)(用nM表示)及其自身Ms空間有效感知行動映射數(shù)(用nMs表示)進行記錄,結果如圖12所示,可以看出,不同輪次下,機器人在不同程度上完成了對M空間的探索和對Ms空間的構建.
更具體地,表2中數(shù)據(jù)與圖12相對應,對其進行分析,首先,經(jīng)過第1輪的學習,機器人探索了M空間下的588條感知行動映射,并經(jīng)過對其潛在動作關系進行分析,在Ms空間下構建了169條有效感知行動映射;進入第2輪及第3輪,nM數(shù)與nMs數(shù)均增加1,表明在這兩輪學習過程中,機器人都探索了一次M空間,同時探索的感知行動映射有效,對Ms進行了擴展發(fā)育;進入第4輪,nM數(shù)增加2,而nMs僅增加了1,說明D-SSCM探索的兩條感知行動映射中一條有效,一條無效;從第4輪到第5輪,nM數(shù)不變,nMs減1,說明該輪次中,模型主要在學習Ms有效感知行動映射空間,并且在學習期間,存在感知行動映射取向性小于一定值的情況,因此對模型進行了縮減式發(fā)育;從第6輪到第10輪,nM值都不同程度的增加,nMs沒有再發(fā)生變化,說明模型結構沒有再發(fā)生變化.表2中D-SSCM從第1輪到第10輪中nM和nMs的變化情況,更好、更清楚地說明了D-SSCM的發(fā)育過程.

圖12 10輪學習中的nM 及nMs數(shù)Fig.12 nM and nMsin 10 learning rounds
機器人感知行動認知模型結構固定情況下,多存在學習浪費及計算浪費的問題,對此,本文在文獻[18]的基礎上,結合潛在動作理論,為機器人行為學習過程提出了一種結構可發(fā)育的感知行動認知模型D-SSCM,能夠在探索可輸出動作空間過程中自建需要學習的有效感知行動映射,同時節(jié)省了學習成本和計算成本,在實現(xiàn)機器人自主學習的同時,提高了機器人學習速度和穩(wěn)定性.D-SSCM中,需要學習的有效感知行動映射通過自建形成,一定程度上提升了系統(tǒng)的智能性,但是其中狀態(tài)評價函數(shù)依舊是教師依據(jù)經(jīng)驗設計,此外,D-SSCM中,機器人可輸出動作為離散,在一定程度上都限制了機器人的智能性和學習效果,這都將成為本文下一步工作的重點.

表2 10輪學習中的nM 及nMs數(shù)Table 2 nM and nMsin 10 learning rounds