999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于TensorFlow 的Q-Learning 算法研究與實現

2019-11-22 08:22:58劉俊利
現代計算機 2019年29期
關鍵詞:定義動作智能

劉俊利

(西南科技大學計算機科學與技術學院,綿陽 621000)

0 引言

近年來,隨著科技的發展,人工智能在多個領域均取得了令人矚目的成就。其中AlphaGo[1]以3 比0 的總比分戰勝了世界圍棋冠軍柯潔就是其標志性成果之一,而關于這次勝利背后所運用到的技術,強化學習是核心之一。強化學習的算法主要分為兩大類:一種是基于值的算法(Value-Based),另一種是基于策略的算法(Policy-Based)。基于值的算法是通過計算每一個狀態動作的價值,選擇價值最大的動作執行;基于策略的算法直接對策略進行建模。兩者方式不同,但核心都是在行動-評價的環境中獲得學習信息并更新模型參數,改進行動方案以適應環境。Q-Learning 是強化學習中基于值的經典算法之一,它能夠很好地體現強化學習的思想并且已經得到了廣泛應用。本文將分析Q-Learning 算法的原理及公式,然后借助TensorFlow訓練框架的算力,最終完成該算法的運行與實現。

1 強化學習簡介

強化學習(Reinforcement Learning,RL)[2]是機器學習的一個重要分支。有別于其他傳統的機器學習模式,它受到行為主義心理學啟發,模擬生物的學習過程,不要求預先給定任何數據,也沒有監督者,強調在給定情景下不斷試錯,最終學習得出最佳策略。強化學習有5 個核心概念,分別為:智能體(Agent)、環境(Environment)、行動(Action)、狀態(State)和獎勵(Reward)。智能體可以理解為機器人,用于完成學習任務;環境是一個外部系統,智能體存在于環境中;動作是智能體輸出的行為;狀態用于描述環境和智能體的關系,是做出決策的依據;獎勵是環境提供給智能體的反饋信號,用于評價智能體某一行動的好壞。具體地,它們的關系如圖1 所示。

圖1 強化學習關系圖

t 表示t 時刻;St表示t 時刻的環境狀態;rt表示t時刻環境對當前動作或者狀態的回報;αt表示t 時刻選擇的行為。智能體通過感知t 時刻的St和rt選擇執行αt,αt執行后影響環境,環境狀態立即由St變為St+1,同時新的環境立即給出回報rt+1反饋給智能體。直到新的環境狀態為結束狀態,強化學習需要不斷循環這一過程。

2 Q-Learning算法

2.1算法思想

Q-Learning 算法[3]是一種基于值的算法,Q-table和Q(s,a)函數是該算法的核心。Q-table 是一張存儲Q值的表格,用于指導智能體的行動,它的每一列代表一個動作,每一行表示一個狀態。Q(s,a)函數又稱動作值函數(action-value function),用于計算在s 狀態執行了a 行為后的期望獎勵數值,計算所得即Q 值最終完成Q-table 單元格的填充。具體Q(s,a)函數公式如式(1),Q-table 表格如表1。

表1 Q-table 表格

2.2 算法流程

由于Q-Learning 算法要實現智能體在環境中學習,所以在算法執行之前首先要完成環境的定義,完成環境的定義后開始Q-Learning 算法的具體流程:首先要對Q-table 進行初始化,在其所有單元格內設定相同的初始值(大多數情況下是0)。然后智能體開始對環境進行探索,在不斷嘗試和接收反饋的過程中,Q-table通過迭代使用Bellman 方程[4]實現單元格內Q(si,aj)值的更新,找到對于每個狀態來說的最佳動作,最終通過Q-table 得到最優策略。具體流程如圖2 所示。

圖2 Q-Learning 算法流程

3 Python實現

3.1 定義迷宮環境

定義一個5 行9 列的迷宮地圖并將智能體的位置為作為狀態,設置其具體位置為(self.x,self.y),self.x 和self.y 初始值均為1。智能體在迷宮中各種行為的表示是環境定義的重點,interact 函數中的action 屬性共有4 個取值:0,1,2,3,分別表示四個基本動作:向上、向下、向左、向右,每個動作的執行環境都會判斷并給予相應的回報。

def interact(self,action):

assert self.is_end is False

new_x=self.x+DX[action]#新的x 坐標

new_y=self.y+DY[action]#新的y 坐標

new_pos_char=self.map[new_x][new_y]#新的位置

self.step+=1#表示已經走了幾步

if new_pos_char=='.':#如果走到墻壁

reward=0 #不改變位置且沒有獎勵

elif new_pos_char=='':#如果沒有寶藏

self.x=new_x

self.y=new_y

reward=0#走到新的位置但是沒有獎勵

elif new_pos_char=='o':#如果有寶藏

self.x=new_x

self.y=new_y#走到新的位置

self.map[new_x][new_y]='' #更新地圖

self.is_end=True #游戲結束

reward=100#獲得100 獎勵

self.total_reward+=reward

return reward

3.2 定義Q-Learning算法

Q 函數是Q-Learning 算法的核心,首先定義Q函數:

e=Env()#環境

Q= np.zeros((e.state_num,4))#e.state_num 表示狀態的總數,4 表示可以執行4 個動作

然后學習計算定義好的Q 函數的值,具體程序如下:

for i in range(200):#進行200 次游戲

e=Env()#每進行一次游戲都需要初始環境

while(e.is_end is False)and(e.step

action = epsilon_greedy(Q,e.present_state)#依據Q 值和當前狀態,利用ε-greedy 策略[5]挑選行動

state=e.present_state#當前狀態

reward=e.interact(action)#當前回報

new_state=e.present_state#新的狀態

Q[state,action]=(1-ALPHA)*Q[state,action]+

ALPHA *(reward + GAMMA * Q[new_state,:].max())#更新Q 值

其中更新Q 值對應的公式具體如式(2):

4 程序運行界面效果

利用深度學習框架TensorFlow[6]實現一個簡單的Q-Learning 算法示例:一個自動尋寶的機器人,運行效果如圖4 所示(運行結果太長,只能截取部分),效果非常直觀。其中A 表示智能體,o 表示迷宮里的寶藏,智能體一共玩了200 次這個游戲且每次游戲結束后運行界面均會顯示智能體的整個動作過程。在200 次的游戲過程中,明顯可以感受到智能體在不斷地“學習”且最終確實達到了以較少步驟獲得獎勵的目標,實現了Q-Learning 算法。

圖3 運行效果

5 結語

本文首先介紹了強化學習的基本概念,之后給出了Q-Learning 算法的算法思想和算法流程,然后利用TensorFlow 搭建迷宮環境,定義并訓練Q 函數,最終實現Q-Learning 算法的一個簡單示例:一個自動尋寶的機器人。運行結果良好,在200 次的游戲中機器人確取得了較好的學習效果,實現了Q-Learning 算法,也證明了Q-Learning 算法確實可以實現在沒有任何監督的情況下找到最優策略。

猜你喜歡
定義動作智能
智能前沿
文苑(2018年23期)2018-12-14 01:06:06
智能前沿
文苑(2018年19期)2018-11-09 01:30:14
智能前沿
文苑(2018年17期)2018-11-09 01:29:26
智能前沿
文苑(2018年21期)2018-11-09 01:22:32
動作描寫要具體
畫動作
動作描寫不可少
成功的定義
山東青年(2016年1期)2016-02-28 14:25:25
非同一般的吃飯動作
修辭學的重大定義
當代修辭學(2014年3期)2014-01-21 02:30:44
主站蜘蛛池模板: 欧美日韩精品在线播放| 激情网址在线观看| 欧美日韩在线亚洲国产人| 好吊妞欧美视频免费| 久久频这里精品99香蕉久网址| 久草视频福利在线观看| 啊嗯不日本网站| 美美女高清毛片视频免费观看| jizz国产在线| 国产精品久久久精品三级| 强乱中文字幕在线播放不卡| 久久精品国产91久久综合麻豆自制| 久久综合婷婷| 福利国产微拍广场一区视频在线| 国产小视频网站| 国产a v无码专区亚洲av| 99精品热视频这里只有精品7| 香蕉久久国产超碰青草| 中文字幕调教一区二区视频| 韩国自拍偷自拍亚洲精品| 国产a v无码专区亚洲av| 亚洲码在线中文在线观看| 好紧好深好大乳无码中文字幕| 亚洲熟妇AV日韩熟妇在线| 国产女同自拍视频| 又黄又爽视频好爽视频| 精品無碼一區在線觀看 | 亚洲色图欧美一区| 亚洲精品视频网| 伊人久久福利中文字幕| 国产亚洲日韩av在线| 亚洲国产精品VA在线看黑人| 91色爱欧美精品www| 免费啪啪网址| 亚洲系列中文字幕一区二区| 亚洲AV永久无码精品古装片| 99久久人妻精品免费二区| 日本三区视频| 婷婷六月在线| 久久性视频| 亚洲一区免费看| 亚洲综合一区国产精品| 久久影院一区二区h| 全裸无码专区| 日韩毛片免费| 亚洲成人动漫在线| 露脸国产精品自产在线播| 国产99在线| 制服丝袜一区二区三区在线| a亚洲天堂| 亚洲无码日韩一区| 蜜臀AV在线播放| 久久久久免费精品国产| 亚洲精品国产日韩无码AV永久免费网 | 99久久精品免费看国产免费软件| 欧美成人a∨视频免费观看| 国产精品伦视频观看免费| 99久久精品久久久久久婷婷| 黄色一及毛片| 五月婷婷亚洲综合| 免费A∨中文乱码专区| 色婷婷在线播放| 国产黄在线免费观看| 日韩精品亚洲精品第一页| 欧美精品高清| 国产精品亚洲精品爽爽| 另类综合视频| 亚洲免费毛片| 黄色网页在线播放| 久久91精品牛牛| 激情无码视频在线看| 欧日韩在线不卡视频| 在线观看国产黄色| 色综合色国产热无码一| 91丨九色丨首页在线播放 | 人人艹人人爽| 人人爽人人爽人人片| 亚洲欧美不卡| 91在线激情在线观看| 一区二区自拍| 午夜电影在线观看国产1区| 狠狠做深爱婷婷综合一区|