使用目標(biāo)和觀察來選擇強(qiáng)化學(xué)習(xí)動(dòng)作的制作方法
【專利摘要】本發(fā)明涉及一種用于使用目標(biāo)和觀察的強(qiáng)化學(xué)習(xí)的方法、系統(tǒng)和裝置,包括在計(jì)算機(jī)存儲(chǔ)介質(zhì)上編碼的計(jì)算機(jī)程序。所述方法中的一個(gè)包括接收表征環(huán)境的當(dāng)前狀態(tài)的觀察;接收表征來自環(huán)境的目標(biāo)狀態(tài)集的目標(biāo)狀態(tài)的目標(biāo);使用觀察神經(jīng)網(wǎng)絡(luò)處理觀察以生成觀察的數(shù)字表示;使用目標(biāo)神經(jīng)網(wǎng)絡(luò)處理目標(biāo)以生成目標(biāo)的數(shù)字表示;組合所觀察的數(shù)字表示和目標(biāo)的數(shù)字表示以生成組合的表示;使用動(dòng)作分值神經(jīng)網(wǎng)絡(luò)處理組合的表示以為預(yù)定的動(dòng)作集中的每個(gè)動(dòng)作生成相應(yīng)的分值;以及使用預(yù)定的動(dòng)作集中的動(dòng)作的相應(yīng)的分值來選擇要執(zhí)行的動(dòng)作。
【專利說明】
使用目標(biāo)和觀察來選擇強(qiáng)化學(xué)習(xí)動(dòng)作
[0001 ]技術(shù)領(lǐng)域本說明書涉及通過強(qiáng)化學(xué)習(xí)代理來選擇要執(zhí)行的動(dòng)作。
【背景技術(shù)】
[0002]強(qiáng)化學(xué)習(xí)代理通過接收表征環(huán)境的當(dāng)前狀態(tài)的觀察、并且作為響應(yīng)而執(zhí)行來自預(yù)定的動(dòng)作集的動(dòng)作來與環(huán)境交互。響應(yīng)于接收任何給定的觀察,某些強(qiáng)化學(xué)習(xí)代理使用神經(jīng)網(wǎng)絡(luò)來選擇要執(zhí)行的動(dòng)作。
[0003]神經(jīng)網(wǎng)絡(luò)為采用一個(gè)或多個(gè)層的非線性單元來為所接收的輸入預(yù)測輸出的機(jī)器學(xué)習(xí)模型。某些神經(jīng)網(wǎng)絡(luò)為深度神經(jīng)網(wǎng)絡(luò),該深度神經(jīng)網(wǎng)絡(luò)除輸出層外還包括一個(gè)或多個(gè)隱藏層。每個(gè)隱藏層的輸出用作網(wǎng)絡(luò)中的下一層(即下一隱藏層或輸出層)的輸入。網(wǎng)絡(luò)的每個(gè)層根據(jù)相應(yīng)的參數(shù)集的當(dāng)前值而由所接收的輸入生成輸出。
【發(fā)明內(nèi)容】
[0004]本說明書描述了涉及強(qiáng)化學(xué)習(xí)的技術(shù)。
[0005]對于被配置為執(zhí)行特定操作或動(dòng)作的一個(gè)或多個(gè)計(jì)算機(jī)的系統(tǒng),意指所述系統(tǒng)具有在其上安裝的、在操作中使所述系統(tǒng)執(zhí)行操作或動(dòng)作的軟件、固件、硬件或其組合。對于被配置為執(zhí)行特定操作或動(dòng)作的一個(gè)或多個(gè)計(jì)算機(jī)程序,意指所述一個(gè)或多個(gè)程序包括當(dāng)由數(shù)據(jù)處理裝置執(zhí)行時(shí)使裝置執(zhí)行操作或動(dòng)作的指令。
[0006]本說明書中描述的主題能夠在特定實(shí)施例中實(shí)現(xiàn),從而實(shí)現(xiàn)一個(gè)或多個(gè)以下優(yōu)點(diǎn)。強(qiáng)化學(xué)習(xí)系統(tǒng)能夠有效且直接地考慮強(qiáng)化代理響應(yīng)于所接收的觀察而試圖達(dá)到選擇要由代理執(zhí)行的操作的目標(biāo)狀態(tài)。另外,強(qiáng)化學(xué)習(xí)系統(tǒng)能夠有效地為學(xué)習(xí)期間未遇到的目標(biāo)選擇動(dòng)作。選擇動(dòng)作時(shí),強(qiáng)化學(xué)習(xí)系統(tǒng)能夠利用目標(biāo)空間與觀察空間之間的共享結(jié)構(gòu)。
[0007]附圖和下面的描述中陳列了本說明書的主題的一個(gè)或多個(gè)實(shí)施例的細(xì)節(jié)。本主題的其它特征、方面和優(yōu)點(diǎn)將從描述、附圖、和權(quán)利要求變得顯而易見。
[0008]附圖描述
[0009]圖1示出了實(shí)例強(qiáng)化學(xué)習(xí)系統(tǒng)。
[0010]圖2為用于響應(yīng)于接收的觀察而選擇動(dòng)作的實(shí)例過程的流程圖。
[0011 ]圖3為用于生成目標(biāo)和觀察的組合表示的實(shí)例過程的流程圖。
[0012]圖4為用于訓(xùn)練動(dòng)作分值神經(jīng)網(wǎng)絡(luò)、目標(biāo)神經(jīng)網(wǎng)絡(luò)和觀察神經(jīng)網(wǎng)絡(luò)的實(shí)例過程的流程圖。
[0013]在各個(gè)附圖中類似的附圖標(biāo)記及名稱表示類似的元件。
[0014]具體的實(shí)施方式本說明書概括地描述了強(qiáng)化學(xué)習(xí)系統(tǒng),其選擇動(dòng)作以由與環(huán)境交互的強(qiáng)化學(xué)習(xí)代理(agent)執(zhí)行。為了與環(huán)境交互,代理接收表征環(huán)境的當(dāng)前狀態(tài)的數(shù)據(jù),并響應(yīng)于所接收的數(shù)據(jù),從要執(zhí)行的預(yù)定的動(dòng)作集選擇動(dòng)作。本說明書中,將表征環(huán)境的狀態(tài)的數(shù)據(jù)稱作觀察。
[0015]具體地,代理與環(huán)境交互以試圖達(dá)到環(huán)境的預(yù)定的目標(biāo)狀態(tài)集。本說明書中,將表征來自目標(biāo)狀態(tài)集的狀態(tài)的數(shù)據(jù)稱作目標(biāo)。例如,當(dāng)環(huán)境為視頻游戲并且代理為與視頻游戲交互的計(jì)算機(jī)程序時(shí),每個(gè)目標(biāo)狀態(tài)可能為視頻游戲的玩游戲期間的路點(diǎn)(waypoint),例如表示收集玩游戲所必需的特定物品或顯示一條信息的級別或狀態(tài)的結(jié)束的狀態(tài)。作為另一實(shí)例,當(dāng)環(huán)境為真實(shí)世界的環(huán)境并且代理為與環(huán)境交互以完成特定任務(wù)的機(jī)器人時(shí),每個(gè)目標(biāo)狀態(tài)可能是由機(jī)器人已完成子任務(wù)的狀態(tài),例如當(dāng)機(jī)器人將物品從一個(gè)位置移動(dòng)至另一位置或以其他方式向完成任務(wù)取得進(jìn)展時(shí)。
[0016]圖1示出了實(shí)例強(qiáng)化學(xué)習(xí)系統(tǒng)100。強(qiáng)化學(xué)習(xí)系統(tǒng)100為實(shí)現(xiàn)為處于一個(gè)或多個(gè)位置的一個(gè)或多個(gè)計(jì)算機(jī)上的計(jì)算機(jī)程序的系統(tǒng)的實(shí)例,其中實(shí)現(xiàn)了下面描述的系統(tǒng)、部件和技術(shù)。
[0017]強(qiáng)化學(xué)習(xí)系統(tǒng)100選擇由與環(huán)境104交互的強(qiáng)化學(xué)習(xí)代理102所執(zhí)行的動(dòng)作。具體地,強(qiáng)化學(xué)習(xí)系統(tǒng)100接收觀察,其中每個(gè)觀察表征環(huán)境104的狀態(tài),并且響應(yīng)于每個(gè)觀察而從預(yù)定的動(dòng)作集選擇要由強(qiáng)化學(xué)習(xí)代理102執(zhí)行的動(dòng)作。
[0018]具體地,強(qiáng)化學(xué)習(xí)系統(tǒng)100使用目標(biāo)神經(jīng)網(wǎng)絡(luò)110、觀察神經(jīng)網(wǎng)絡(luò)120和動(dòng)作分值神經(jīng)網(wǎng)絡(luò)130來選擇動(dòng)作。
[0019]目標(biāo)神經(jīng)網(wǎng)絡(luò)110為配置為接收目標(biāo)并且處理目標(biāo)以生成目標(biāo)的數(shù)字表示的神經(jīng)網(wǎng)絡(luò)。目標(biāo)的數(shù)字表示為來自嵌入(embedding)的η維向量空間的向量。
[0020]觀察神經(jīng)網(wǎng)絡(luò)120為配置為接收觀察以生成觀察的數(shù)字表示的神經(jīng)網(wǎng)絡(luò)。觀察的數(shù)字表示也是來自嵌入的η維向量空間的向量。
[0021]在某些實(shí)現(xiàn)中,觀察神經(jīng)網(wǎng)絡(luò)120、目標(biāo)神經(jīng)網(wǎng)絡(luò)110或兩者都是多層感知(MLP)神經(jīng)網(wǎng)絡(luò)。
[0022]另外,在某些實(shí)現(xiàn)中,觀察神經(jīng)網(wǎng)絡(luò)120和目標(biāo)神經(jīng)網(wǎng)絡(luò)110共享一個(gè)或多個(gè)參數(shù)。例如,可以共享觀察神經(jīng)網(wǎng)絡(luò)120和目標(biāo)神經(jīng)網(wǎng)絡(luò)110的第一層的參數(shù)。
[0023]在某些實(shí)現(xiàn)中,動(dòng)作分值神經(jīng)網(wǎng)絡(luò)130是被配置為接收目標(biāo)和觀察的組合表示并且為動(dòng)作集中的每個(gè)動(dòng)作生成相應(yīng)的分值的神經(jīng)網(wǎng)絡(luò)。
[0024]在某些實(shí)現(xiàn)中,動(dòng)作分值神經(jīng)網(wǎng)絡(luò)130是被配置為接收組合表示和動(dòng)作并且為動(dòng)作生成分值的神經(jīng)網(wǎng)絡(luò)。
[0025]下面將參考圖2更詳細(xì)地描述使用目標(biāo)神經(jīng)網(wǎng)絡(luò)110、觀察神經(jīng)網(wǎng)絡(luò)120和動(dòng)作分值神經(jīng)網(wǎng)絡(luò)130來選擇動(dòng)作。
[0026]組合表示由強(qiáng)化學(xué)習(xí)系統(tǒng)100根據(jù)目標(biāo)的數(shù)字表示和觀察的數(shù)字表示所生成。在某些實(shí)現(xiàn)中,為了生成組合的表示,系統(tǒng)將η維目標(biāo)表示和η維觀察表示映射為標(biāo)量值,以生成組合的表示。下面將參考圖3更詳細(xì)描述生成組合的表示。
[0027]圖2為用于響應(yīng)于所接收的觀察而選擇動(dòng)作的實(shí)例過程200的流程圖。為方便起見,將過程200描述為由位于一個(gè)或多個(gè)位置的一個(gè)或多個(gè)計(jì)算機(jī)的系統(tǒng)所執(zhí)行。例如,強(qiáng)化學(xué)習(xí)系統(tǒng),例如圖1的強(qiáng)化學(xué)習(xí)系統(tǒng)100,根據(jù)本說明書適當(dāng)編程,能夠執(zhí)行過程200。
[0028]系統(tǒng)接收表征環(huán)境的當(dāng)前狀態(tài)的觀察(步驟202)。
[0029]系統(tǒng)從一組環(huán)境的目標(biāo)集接收表征目標(biāo)狀態(tài)的目標(biāo)(步驟204)。在某些實(shí)現(xiàn)中,系統(tǒng)提供允許用戶選擇目標(biāo)狀態(tài)的界面。一旦被選擇,表征目標(biāo)狀態(tài)的目標(biāo)將被系統(tǒng)用于選擇要由代理執(zhí)行的動(dòng)作,直到用戶通過界面切換目標(biāo)狀態(tài)為止。在其它實(shí)現(xiàn)中,系統(tǒng)從另一系統(tǒng)接收狀態(tài),例如,例如使用基于當(dāng)前觀察而選擇目標(biāo)狀態(tài)的策略、從目標(biāo)狀態(tài)集選擇要到達(dá)的目標(biāo)狀態(tài)的系統(tǒng)。
[0030]系統(tǒng)生成觀察的和目標(biāo)的組合表示(步驟206)。下面將參考圖3更詳細(xì)地描述生成組合的表示。
[0031]系統(tǒng)通過使用動(dòng)作分值神經(jīng)網(wǎng)絡(luò)來處理組合的表示,根據(jù)組合的表示為動(dòng)作集中的每個(gè)動(dòng)作生成相應(yīng)的分值(步驟208)。
[0032]在動(dòng)作分值神經(jīng)網(wǎng)絡(luò)被配置為接收組合的表示作為輸入并且處理組合的表示以為所述集中的每個(gè)動(dòng)作生成相應(yīng)的分值的實(shí)現(xiàn)中,系統(tǒng)使用動(dòng)作分值神經(jīng)網(wǎng)絡(luò)來處理組合的表不以生成相應(yīng)的分值。
[0033]在動(dòng)作分值神經(jīng)網(wǎng)絡(luò)被配置為接收組合的表示和動(dòng)作作為輸入并且處理組合的表示和動(dòng)作以為動(dòng)作集中的每個(gè)動(dòng)作生成動(dòng)作的分值的實(shí)現(xiàn)中,系統(tǒng)使用動(dòng)作分值神經(jīng)網(wǎng)絡(luò)來處理動(dòng)作和組合的表示以為動(dòng)作生成相應(yīng)的分值。
[0034]系統(tǒng)使用預(yù)定的動(dòng)作集中動(dòng)作的相應(yīng)的分值,響應(yīng)于觀察而選擇要由代理執(zhí)行的動(dòng)作(步驟210)。
[0035]在某些情況下,系統(tǒng)選擇得分最高的動(dòng)作,即具有動(dòng)作集中的任何動(dòng)作的最高分值的動(dòng)作,作為要由代理執(zhí)行的動(dòng)作。
[0036]在某些其它情況下,例如在學(xué)習(xí)期間,系統(tǒng)可以不時(shí)的選擇除得分最高的動(dòng)作之外的動(dòng)作作為要執(zhí)行的動(dòng)作。例如在學(xué)習(xí)期間,系統(tǒng)可以以概率ε從動(dòng)作集選擇隨機(jī)動(dòng)作,并且以概率1-£選擇得分最高的動(dòng)作。
[0037]圖3為用于生成目標(biāo)和觀察的組合表示的實(shí)例過程300的流程圖。為方便起見,將過程300描述為由位于一個(gè)或多個(gè)位置的一個(gè)或多個(gè)計(jì)算機(jī)的系統(tǒng)執(zhí)行。例如,強(qiáng)化學(xué)習(xí)系統(tǒng),例如圖1的強(qiáng)化學(xué)習(xí)系統(tǒng)100,根據(jù)本說明書適當(dāng)編程,能夠執(zhí)行過程300。
[0038]系統(tǒng)使用觀察神經(jīng)網(wǎng)絡(luò)來處理觀察,以生成觀察的數(shù)字表示(步驟302)。
[0039]系統(tǒng)使用目標(biāo)神經(jīng)網(wǎng)絡(luò)來處理目標(biāo),以生成目標(biāo)的數(shù)字表示(步驟304)。
[0040]系統(tǒng)根據(jù)觀察的數(shù)字表示和目標(biāo)的數(shù)字表示來生成組合的表示(步驟306)。
[0041]系統(tǒng)可以以各種方式中的任何一個(gè)根據(jù)觀察的和目標(biāo)的數(shù)字表示來生成組合的表不。
[0042]例如,系統(tǒng)可以通過計(jì)算觀察的數(shù)字表示和目標(biāo)的數(shù)字表示之間的點(diǎn)積來生成組合的表不。
[0043]作為另一實(shí)例,系統(tǒng)可以通過使用組合神經(jīng)網(wǎng)絡(luò)來處理觀察的數(shù)字表示和目標(biāo)的數(shù)字表示來生成組合的表示,組合神經(jīng)網(wǎng)絡(luò)被配置為接收觀察的數(shù)字表示和目標(biāo)的數(shù)字表示并且處理觀察的數(shù)字表示和目標(biāo)的數(shù)字表示以生成組合的表示。
[0044]為了確定觀察神經(jīng)網(wǎng)絡(luò)、目標(biāo)神經(jīng)網(wǎng)絡(luò)、動(dòng)作分值神經(jīng)網(wǎng)絡(luò)、和可選的組合神經(jīng)網(wǎng)絡(luò)的參數(shù)的訓(xùn)練值,系統(tǒng)訓(xùn)練觀察神經(jīng)網(wǎng)絡(luò)、目標(biāo)神經(jīng)網(wǎng)絡(luò)、動(dòng)作分值神經(jīng)網(wǎng)絡(luò)、以及可選的組合神經(jīng)網(wǎng)絡(luò)。
[0045]在某些實(shí)現(xiàn)中,系統(tǒng)聯(lián)合地使用首尾相連的訓(xùn)練過程來直接訓(xùn)練神經(jīng)網(wǎng)絡(luò),即通過獲得標(biāo)記的訓(xùn)練數(shù)據(jù)和執(zhí)行神經(jīng)網(wǎng)絡(luò)訓(xùn)練技術(shù)例如隨機(jī)梯度下降,來經(jīng)過觀察神經(jīng)網(wǎng)絡(luò)和目標(biāo)神經(jīng)網(wǎng)絡(luò)從動(dòng)作分值神經(jīng)網(wǎng)絡(luò)反向傳播錯(cuò)誤。
[0046]在某些其它實(shí)現(xiàn)中,系統(tǒng)基于矩陣分解使用二階訓(xùn)練過程來訓(xùn)練神經(jīng)網(wǎng)絡(luò)。
[0047]圖4為用于訓(xùn)練動(dòng)作分值神經(jīng)網(wǎng)絡(luò)、目標(biāo)神經(jīng)網(wǎng)絡(luò)和觀察神經(jīng)網(wǎng)絡(luò)的實(shí)例過程400的流程圖。為方便起見,將過程400表示為由位于一個(gè)或多個(gè)位置的一個(gè)或多個(gè)計(jì)算機(jī)的系統(tǒng)執(zhí)行。例如,強(qiáng)化學(xué)習(xí)系統(tǒng),例如圖1的強(qiáng)化學(xué)習(xí)系統(tǒng)100,根據(jù)本說明書適當(dāng)編程,能夠執(zhí)tx過程400。
[0048]系統(tǒng)訓(xùn)練動(dòng)作分值神經(jīng)網(wǎng)絡(luò)以確定動(dòng)作分值神經(jīng)網(wǎng)絡(luò)的參數(shù)的訓(xùn)練值,并且確定理想化目標(biāo)嵌入和理想化觀察嵌入(步驟402)。
[0049]在某些實(shí)現(xiàn)中,系統(tǒng)使用部落架構(gòu)(Hordearchitecture)為動(dòng)作分值神經(jīng)網(wǎng)絡(luò)的訓(xùn)練確定目標(biāo)。在部落架構(gòu)中,為來自目標(biāo)集的每個(gè)目標(biāo)維持不同的神經(jīng)網(wǎng)絡(luò)。用于每個(gè)目標(biāo)的神經(jīng)網(wǎng)絡(luò)基于所接收的觀察生成動(dòng)作分值。系統(tǒng)使用常規(guī)強(qiáng)化學(xué)習(xí)技術(shù),獨(dú)立且離線地(off policy)訓(xùn)練部落中的每個(gè)神經(jīng)網(wǎng)絡(luò)。在第10屆自治代理及多代理系統(tǒng)國際會(huì)議--2011年卷2第761-768頁中的Sutton、Richard S、Modayil、Joseph、Delp、Michae1、
Degris、Thomas、Pilarsk1、Patrick M、White、Adam和Precup、Doina的《部落:用于根據(jù)無人監(jiān)督的感覺運(yùn)動(dòng)的交互學(xué)習(xí)知識的可擴(kuò)展實(shí)時(shí)架構(gòu)》(《Horde:A scalable real-timearchitecture for learning knowledge from unsupervised sensorimotorinteract1n》)中,更詳細(xì)描述了用于學(xué)習(xí)部落中的神經(jīng)網(wǎng)絡(luò)的實(shí)例部落架構(gòu)和實(shí)例技術(shù)。
[0050]—旦學(xué)習(xí)了部落中的神經(jīng)網(wǎng)絡(luò),系統(tǒng)能夠基于部落中被學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)的輸出而為動(dòng)作分值神經(jīng)網(wǎng)絡(luò)的訓(xùn)練確定目標(biāo),即應(yīng)該由動(dòng)作分值神經(jīng)網(wǎng)絡(luò)生成的動(dòng)作分值。系統(tǒng)接著使用神經(jīng)網(wǎng)絡(luò)訓(xùn)練技術(shù)例如隨機(jī)梯度下降而在由部落確定的目標(biāo)上訓(xùn)練動(dòng)作分值神經(jīng)網(wǎng)絡(luò)。
[0051]在某些其它實(shí)現(xiàn)中,系統(tǒng)例如使用Q學(xué)習(xí)技術(shù)的變量,通過為訓(xùn)練集中每個(gè)目標(biāo)由受訪問轉(zhuǎn)換(transit1n)中的下一狀態(tài)引導(dǎo)指令,為動(dòng)作分值神經(jīng)網(wǎng)絡(luò)的訓(xùn)練確定目標(biāo)。
[0052]為了確定理想化目標(biāo)嵌入和理想化觀察嵌入,系統(tǒng)生成數(shù)據(jù)矩陣,其中一行對應(yīng)于在動(dòng)作分值神經(jīng)網(wǎng)絡(luò)的訓(xùn)練期間遇到的每個(gè)觀察,并且一列對應(yīng)于在動(dòng)作分值神經(jīng)網(wǎng)絡(luò)的訓(xùn)練期間遇到的每個(gè)目標(biāo)。所述矩陣中的項(xiàng)目為用于對應(yīng)的目標(biāo)、觀察組合的目標(biāo)動(dòng)作分值。系統(tǒng)接著分解矩陣以確定為狀態(tài)和目標(biāo)兩者定義嵌入空間的低秩逼近。
[0053]系統(tǒng)在理想化目標(biāo)嵌入上訓(xùn)練目標(biāo)神經(jīng)網(wǎng)絡(luò)(步驟404)。也就是說,系統(tǒng)訓(xùn)練目標(biāo)神經(jīng)網(wǎng)絡(luò)以生成使用常規(guī)技術(shù)來匹配理想化目標(biāo)嵌入的數(shù)字表示。
[0054]系統(tǒng)在理想化觀察嵌入上訓(xùn)練觀察神經(jīng)網(wǎng)絡(luò)(步驟406)。也就是說,系統(tǒng)訓(xùn)練觀察神經(jīng)網(wǎng)絡(luò)以生成使用常規(guī)技術(shù)來匹配理想化觀察嵌入的數(shù)字表示。
[0055]對于配置為執(zhí)行特定操作或動(dòng)作的一個(gè)或多個(gè)計(jì)算機(jī)的系統(tǒng),意指系統(tǒng)在其上安裝的、在操作中使系統(tǒng)執(zhí)行操作或動(dòng)作的軟件、固件、硬件或其組合。對于配置為執(zhí)行特定操作或動(dòng)作的一個(gè)或多個(gè)計(jì)算機(jī)程序,意指一個(gè)或多個(gè)程序包括指令,當(dāng)由數(shù)據(jù)處理裝置執(zhí)行時(shí),該指令使得裝置執(zhí)行操作或動(dòng)作。
[0056]能夠以數(shù)字電子電路、有形體現(xiàn)的計(jì)算機(jī)軟件或固件、包括本說明書中公開的結(jié)構(gòu)及其結(jié)構(gòu)等效物的計(jì)算機(jī)硬件、或其一個(gè)或多個(gè)的組合,實(shí)現(xiàn)本說明書中描述的主題和功能操作的實(shí)施例。本說明書中描述的主題的實(shí)施例能夠?qū)崿F(xiàn)為一個(gè)或多個(gè)計(jì)算機(jī)程序,即在有形的非暫時(shí)性程序載體上編碼的一個(gè)或多個(gè)計(jì)算機(jī)程序指令的模塊,用于由數(shù)據(jù)處理裝置執(zhí)行或控制其操作。替代或另外地,程序指令能夠在人工生成的傳播信號、例如機(jī)器生成的電、光或電磁信號上編碼,其生成以編碼用于傳送給適當(dāng)?shù)慕邮掌餮b置從而由數(shù)據(jù)處理裝置執(zhí)行的信息。計(jì)算機(jī)存儲(chǔ)介質(zhì)能夠?yàn)闄C(jī)器可讀存儲(chǔ)設(shè)備、機(jī)器可讀存儲(chǔ)基板、隨機(jī)或串行存取存儲(chǔ)器設(shè)備、或其一個(gè)或多個(gè)的組合。
[0057]術(shù)語“數(shù)據(jù)處理裝置”指的是數(shù)據(jù)處理硬件,并且包含用于處理數(shù)據(jù)的各種裝置、設(shè)備和機(jī)器,舉例來說包括可編程處理器、計(jì)算機(jī)、或多個(gè)處理器或計(jì)算機(jī)。裝置還能夠或進(jìn)一步包括專用邏輯電路,例如FPGA(現(xiàn)場可編程門陣列)或ASICX專用集成電路)。除了硬件以外,裝置能夠可選地包括為計(jì)算機(jī)程序創(chuàng)建執(zhí)行環(huán)境的代碼,例如構(gòu)成處理器固件、協(xié)議桟、數(shù)據(jù)庫管理系統(tǒng)、操作系統(tǒng)、或其一個(gè)或多個(gè)組合的代碼。
[0058]計(jì)算機(jī)程序(還可以稱作或描述為程序、軟件、軟件應(yīng)用程序、模塊、軟件模塊、腳本、或代碼)能夠以任何形式的編程語言編寫,包括匯編或解釋語言、或說明性或過程語言,并且它能夠以任何形式部署,包括作為獨(dú)立程序或作為模塊、組件、子例程、或適用于在計(jì)算環(huán)境中使用的其它單元。計(jì)算機(jī)程序可以但無需對應(yīng)于文件系統(tǒng)中的文件。程序能夠存儲(chǔ)在保存其它程序或數(shù)據(jù)、例如存儲(chǔ)在標(biāo)記語言文檔中的一個(gè)或多個(gè)腳本的文件的部分中、在專用于所討論的程序的單個(gè)文件中、或多個(gè)協(xié)調(diào)文件中,例如存儲(chǔ)一個(gè)或多個(gè)模塊、子程序或代碼段的文件。計(jì)算機(jī)程序能夠部署為在一個(gè)計(jì)算機(jī)上或在位于一個(gè)地點(diǎn)或分布跨越多個(gè)地點(diǎn)并且由通信網(wǎng)絡(luò)互連的多個(gè)計(jì)算機(jī)上執(zhí)行。
[0059]本說明書中描述的過程和邏輯流能夠由一個(gè)或多個(gè)可編程計(jì)算機(jī)執(zhí)行,其執(zhí)行一個(gè)或多個(gè)計(jì)算機(jī)程序以通過對輸入數(shù)據(jù)和生成的輸出進(jìn)行操作來執(zhí)行功能。過程和邏輯流還能夠由例如FPGA(現(xiàn)場可編程門陣列)或ASIC(專用集成電路)的專用邏輯電路來執(zhí)行,并且裝置也可以實(shí)現(xiàn)為專用邏輯電路。
[0060]適于計(jì)算機(jī)程序執(zhí)行的計(jì)算機(jī)包括,舉例來說,能夠基于通用或?qū)S梦⑻幚砥骰騼烧?,或任何其它種類的中央處理單元。通常,中央處理單元會(huì)從只讀存儲(chǔ)器或隨機(jī)存取存儲(chǔ)器或兩者接收指令和數(shù)據(jù)。計(jì)算機(jī)的基本元件為用于運(yùn)行或執(zhí)行指令的中央處理單元和用于存儲(chǔ)指令和數(shù)據(jù)的一個(gè)或多個(gè)存儲(chǔ)器設(shè)備。通常,計(jì)算機(jī)還會(huì)包括用于存儲(chǔ)數(shù)據(jù)的一個(gè)或多個(gè)大容量存儲(chǔ)設(shè)備,例如磁、磁光盤或光盤,或操作地耦接以從其接收數(shù)據(jù)或向其傳輸數(shù)據(jù),或兩者兼有。然而,計(jì)算機(jī)無需具有這種設(shè)備。而且,計(jì)算機(jī)能夠體現(xiàn)在另一設(shè)備中,只舉幾例,例如移動(dòng)電話、個(gè)人數(shù)字助理(PDA)、移動(dòng)音頻或視頻播放器、游戲機(jī)、全球定位系統(tǒng)(GPS)接收器、或可攜帶存儲(chǔ)設(shè)備,例如通用串行總線(USB)閃存驅(qū)動(dòng)器。
[0061]適于存儲(chǔ)計(jì)算機(jī)程序指令及數(shù)據(jù)的計(jì)算機(jī)可讀介質(zhì)包括所有形式的非易失性存儲(chǔ)器、介質(zhì)及存儲(chǔ)器設(shè)備,舉例來說包括:半導(dǎo)體存儲(chǔ)器設(shè)備,例如EPR0M、EEPR0M和閃存設(shè)備;磁盤,例如內(nèi)部硬盤或可去除盤;磁光盤;以及⑶-ROM和DVD-ROM盤。處理器和存儲(chǔ)器能夠由專用邏輯電路補(bǔ)充,或并入專用邏輯電路。
[0062]為了提供與用戶的交互,本說明書中描述的的主題的實(shí)施例能夠在計(jì)算機(jī)上實(shí)現(xiàn),其具有用于給用戶顯示信息的顯示設(shè)備例如CPRT(陰極射線管)或LCD(液晶顯示)監(jiān)視器、和鍵盤、以及用戶能夠通過其給計(jì)算機(jī)提供輸入的指示設(shè)備例如鼠標(biāo)或軌跡球。其它類型的設(shè)備也能夠用于提供與用戶的交互;例如,提供給用戶的反饋能夠?yàn)槿魏涡问降母杏X的反饋,例如視覺反饋、聽覺反饋、或觸覺反饋;以及來自用戶的輸入能夠以任何形式接收,包括聲音、語音或觸覺輸入。另外,計(jì)算機(jī)能夠通過發(fā)送文檔給由用戶使用的設(shè)備或從其接收文檔來與用戶交互;例如,通過響應(yīng)于從用戶客戶端設(shè)備上的網(wǎng)頁瀏覽器接收的請求而發(fā)送網(wǎng)頁給網(wǎng)頁瀏覽器。
[0063]本說明書中描述的主題的實(shí)施例能夠在計(jì)算系統(tǒng)中實(shí)現(xiàn),其包括例如作為數(shù)據(jù)服務(wù)器的后端部件,或包括例如應(yīng)用服務(wù)器的中間件部件,或包括例如具有關(guān)系圖形用戶界面或通過其用戶能夠與本說明書中描述的主題的實(shí)現(xiàn)交互的網(wǎng)頁瀏覽器的客戶端計(jì)算機(jī)的前端部件,或一個(gè)或多個(gè)這種后端、中間件或前端部件的任何組合。系統(tǒng)的部件能夠通過任何形式或通過數(shù)字?jǐn)?shù)據(jù)通信的介質(zhì)例如通信網(wǎng)絡(luò)來互連。通信網(wǎng)絡(luò)的實(shí)例包括局域網(wǎng)(“LAN” )和例如互聯(lián)網(wǎng)的廣域網(wǎng)(“WAN” )。
[0064]計(jì)算系統(tǒng)能夠包括客戶端和服務(wù)器。客戶端和服務(wù)器通常彼此遠(yuǎn)離,并且一般通過通信網(wǎng)絡(luò)交互??蛻舳撕头?wù)器的關(guān)系借助于在各自的計(jì)算機(jī)上運(yùn)行并且具有彼此客戶端-服務(wù)器關(guān)系的計(jì)算機(jī)程序而產(chǎn)生。
[0065]盡管本說明書包含許多具體的實(shí)現(xiàn)細(xì)節(jié),但不應(yīng)該將這些解釋為對任何發(fā)明或可能請求保護(hù)的范圍的限制,而是作為可能對于特定發(fā)明的特定實(shí)施例是具體的特征的描述。在各個(gè)的實(shí)施例的上下文中,本說明書中描述的某些特征在單個(gè)實(shí)施例中還能夠組合實(shí)現(xiàn)。相反,在單個(gè)實(shí)施例的上下文中描述的各種特征也能夠在多個(gè)實(shí)施例中獨(dú)立地或以任何適當(dāng)?shù)淖咏M合實(shí)現(xiàn)。而且,雖然上面可能將特征描述為以某些組合作用,并且甚至最初也如此請求保護(hù)的,但根據(jù)請求保護(hù)的組合的一個(gè)或多個(gè)特征在某些情況下能夠從組合刪去,并且請求保護(hù)的組合可以導(dǎo)向子組合或子組合的變型。
[0066]類似地,盡管附圖中按特定次序描繪操作,但不該將這理解為要求這種操作按所示的特定次序或順序次序執(zhí)行、或執(zhí)行所有示出的操作以實(shí)現(xiàn)期望的結(jié)果。某些情形下,多任務(wù)和并行處理可能是有利的。而且,上面描述的實(shí)施例中各種系統(tǒng)模塊及部件的分離,不該理解為要求所有實(shí)施例中都這樣分離,并且應(yīng)該理解描述的程序組件及系統(tǒng)一般能夠一起集成在單個(gè)軟件產(chǎn)品中、或封裝到多個(gè)軟件產(chǎn)品中。
[0067]已描述了本主題的特定實(shí)施例。其它實(shí)施例在隨后的權(quán)利要求的范圍內(nèi)。例如,所附權(quán)利要求中記載的動(dòng)作能夠以不同的次序執(zhí)行,且仍能夠獲得期望的結(jié)果。作為一個(gè)實(shí)例,附圖中描繪的過程未必需要所示的特定次序或順序次序來獲得期望的結(jié)果。在某些實(shí)現(xiàn)中,多任務(wù)和并行處理可能是有利的。
【主權(quán)項(xiàng)】
1.一種用于選擇要由強(qiáng)化學(xué)習(xí)代理執(zhí)行的動(dòng)作的方法,所述強(qiáng)化學(xué)習(xí)代理通過接收表征環(huán)境的當(dāng)前狀態(tài)的觀察、并且作為響應(yīng)而執(zhí)行來自預(yù)定的動(dòng)作集的動(dòng)作來與所述環(huán)境交互,其中所述方法包括: 接收表征所述環(huán)境的當(dāng)前狀態(tài)的觀察; 接收表征來自所述環(huán)境的目標(biāo)狀態(tài)集的目標(biāo)狀態(tài)的目標(biāo); 使用觀察神經(jīng)網(wǎng)絡(luò)處理所述觀察以生成所述觀察的數(shù)字表示; 使用目標(biāo)神經(jīng)網(wǎng)絡(luò)處理所述目標(biāo)以生成所述目標(biāo)的數(shù)字表示; 組合所述觀察的數(shù)字表示和所述目標(biāo)的數(shù)字表示以生成組合的表示; 使用動(dòng)作分值神經(jīng)網(wǎng)絡(luò)處理所述組合的表示以為所述預(yù)定的動(dòng)作集中的每個(gè)動(dòng)作生成相應(yīng)的分值;以及 使用所述預(yù)定的動(dòng)作集中的動(dòng)作的相應(yīng)的分值來選擇要執(zhí)行的動(dòng)作。2.根據(jù)權(quán)利要求1所述的方法,其中,所述動(dòng)作分值神經(jīng)網(wǎng)絡(luò)被配置為接收所述組合的表示作為輸入,并且處理所述組合的表示以為所述預(yù)定的動(dòng)作集中的每個(gè)動(dòng)作生成相應(yīng)的分值。3.根據(jù)權(quán)利要求1所述的方法,其中,所述動(dòng)作分值神經(jīng)網(wǎng)絡(luò)被配置為接收所述組合的表示和來自所述預(yù)定的動(dòng)作集的動(dòng)作作為輸入,并且處理所述組合的表示和所接收的動(dòng)作以為所述動(dòng)作生成分值,并且其中,使用所述動(dòng)作分值神經(jīng)網(wǎng)絡(luò)來處理所述組合的表示包括對于所述預(yù)定的動(dòng)作集中的每個(gè)動(dòng)作: 使用所述動(dòng)作分值神經(jīng)網(wǎng)絡(luò)來處理所述動(dòng)作和所述組合的表示以為所述動(dòng)作生成相應(yīng)的分值。4.根據(jù)權(quán)利要求1-3中的任一項(xiàng)所述的方法,其中,選擇所述要執(zhí)行的動(dòng)作包括: 選擇得分最高的動(dòng)作。5.根據(jù)權(quán)利要求1-3中的任一項(xiàng)所述的方法,其中,選擇所述要執(zhí)行的動(dòng)作包括: 以概率£從所述動(dòng)作集選擇隨機(jī)動(dòng)作;以及 以概率1- ε選擇得分最高的動(dòng)作。6.根據(jù)權(quán)利要求1-5中的任一項(xiàng)所述的方法,其中,所述觀察神經(jīng)網(wǎng)絡(luò)為多層感知(MLP)神經(jīng)網(wǎng)絡(luò)。7.根據(jù)權(quán)利要求6所述的方法,其中,所述目標(biāo)神經(jīng)網(wǎng)絡(luò)為多層感知(MLP)神經(jīng)網(wǎng)絡(luò)。8.根據(jù)權(quán)利要求1-7中的任一項(xiàng)所述的方法,其中,所述目標(biāo)神經(jīng)網(wǎng)絡(luò)和所述觀察神經(jīng)網(wǎng)絡(luò)共享一個(gè)或多個(gè)參數(shù)。9.根據(jù)權(quán)利要求1-8中的任一項(xiàng)所述的方法,其中,所述組合的表示為所述觀察的數(shù)字表示與所述目標(biāo)的數(shù)字表示的點(diǎn)積。10.根據(jù)權(quán)利要求1-8中的任一項(xiàng)所述的方法,其中,組合所述觀察的數(shù)字表示與所述目標(biāo)的數(shù)字表示以生成所述組合的表示包括: 使用組合神經(jīng)網(wǎng)絡(luò)處理所述觀察的數(shù)字表示和所述目標(biāo)的數(shù)字表示以生成所述組合的表示。11.根據(jù)權(quán)利要求1-10中的任一項(xiàng)所述的方法,進(jìn)一步包括: 訓(xùn)練所述動(dòng)作分值神經(jīng)網(wǎng)絡(luò)、所述觀察神經(jīng)網(wǎng)絡(luò)和所述目標(biāo)神經(jīng)網(wǎng)絡(luò)。12.根據(jù)權(quán)利要求11所述的方法,其中,所述訓(xùn)練包括: 訓(xùn)練所述動(dòng)作分值神經(jīng)網(wǎng)絡(luò)以確定理想化的目標(biāo)嵌入和理想化的觀察嵌入; 在所述理想化的觀察嵌入上訓(xùn)練所述觀察神經(jīng)網(wǎng)絡(luò);以及 在所述理想化的目標(biāo)嵌入上訓(xùn)練所述目標(biāo)神經(jīng)網(wǎng)絡(luò)。13.根據(jù)權(quán)利要求12所述的方法,其中,訓(xùn)練所述動(dòng)作分值神經(jīng)網(wǎng)絡(luò)包括使用矩陣分解技術(shù)來確定所述理想化的目標(biāo)嵌入和理想化的觀察嵌入。14.根據(jù)權(quán)利要求12或13所述的方法,其中,通過為所述預(yù)定的目標(biāo)集中的每個(gè)目標(biāo)學(xué)習(xí)分離的動(dòng)作分值神經(jīng)網(wǎng)絡(luò)來確定用于所述動(dòng)作分值神經(jīng)網(wǎng)絡(luò)的訓(xùn)練的目標(biāo)。15.根據(jù)權(quán)利要求12或13所述的方法,其中,通過從為訓(xùn)練集中的每個(gè)目標(biāo)的受訪問轉(zhuǎn)換中的狀態(tài)引導(dǎo)指令來確定用于所述動(dòng)作分值神經(jīng)網(wǎng)絡(luò)的訓(xùn)練的目標(biāo)。16.根據(jù)權(quán)利要求1-15中的任一項(xiàng)所述的方法,進(jìn)一步包括: 提供用于選擇目標(biāo)狀態(tài)的界面,使得所選擇的目標(biāo)用于選擇要執(zhí)行的動(dòng)作直到通過所述界面切換所選擇的目標(biāo)為止。17.一種系統(tǒng),包括一個(gè)或多個(gè)計(jì)算機(jī)和一個(gè)或多個(gè)存儲(chǔ)設(shè)備,所述存儲(chǔ)設(shè)備存儲(chǔ)可操作的指令,所述指令在由所述一個(gè)或多個(gè)計(jì)算機(jī)執(zhí)行時(shí)使所述一個(gè)或多個(gè)計(jì)算機(jī)執(zhí)行根據(jù)權(quán)利要求1-16中的任一項(xiàng)所述的相應(yīng)方法的操作。18.—種編碼有指令的計(jì)算機(jī)存儲(chǔ)介質(zhì),所述指令在由一個(gè)或多個(gè)計(jì)算機(jī)執(zhí)行時(shí)使所述一個(gè)或多個(gè)計(jì)算機(jī)執(zhí)行根據(jù)權(quán)利要求1-16中的任一項(xiàng)所述的相應(yīng)方法的操作。
【文檔編號】G06N3/04GK106056213SQ201610328938
【公開日】2016年10月26日
【申請日】2016年4月6日
【發(fā)明人】湯姆·紹爾, 丹尼爾·喬治·霍根, 卡羅爾·格雷戈?duì)? 大衛(wèi)·西爾韋
【申請人】谷歌公司