本文要教大家 如何用Q learning 實作出一個走迷宮的AI機器人,如果不知道這公式怎麼來的話可以看我之前的推導文章Q-learning 推導

 

公式:

程式表示法:

Darwin的AI天地 發表在 痞客邦 留言(4) 人氣()

Chap6:Temporal Difference

Learning(TD)

 

TD 概念:每個值都找太麻煩了,為什麼不用走過的經驗去更新就好呢?走過哪裡就收集經驗,然後做更新,鼎鼎有名的Q learning就是TD的一種,走過的經驗我們稱做sample

 

文章標籤

Darwin的AI天地 發表在 痞客邦 留言(8) 人氣()

Chap4:Dynamic Programming

 

講完了RL的概念後,再來就是想辦法使得V值以及Q值越大越好,這樣就代表我們可以拿到更多reward,後面的章節就是在講採用何種方法可以最大化這些值,DP 就是其中一個解決MDP的辦法,其他辦法還有Monte CarloChapter 5)就是Alpha Go 採取的方法,TD(Chapter 6)等等。

 

相信經過前面的講解後,各位對這三行方程式應該就不再陌生了,這三行是推導DP前的重要假設:

文章標籤

Darwin的AI天地 發表在 痞客邦 留言(0) 人氣()

Chap3:Reinforcement Learning Problem

arkov Decision Processes:

 

在學習RL之前必須從MDP開始了解起,什麼是MDP呢?大家可以上上維基百科查詢,如同百科上所說的,MDP是一個數學架構模型,他有一個很特殊的性質叫作馬可夫性質, 即系統的未來狀態s(t+1)只與現在狀態s(t)有關,而與之前狀態s(t-1),s(t-2).....無關,那什麼系統符合MDP呢?舉個簡單的例子,下棋就是一個MDP系統,你下一步該怎麼走s(t+1)只根據你現在的盤面狀態s(t)決定即可,跟你之前走的都沒關係,所以這也是AI常常會以下棋做研究的原因,因為他就是一個標準的MDP系統。了解大概什麼是MDP系統後,我們再細部講解馬可夫對這系統下了什麼定義,馬可夫總共定義了六種東西,分別是:

 

1.一系列的狀態(s):

文章標籤

Darwin的AI天地 發表在 痞客邦 留言(11) 人氣()

Tensorflow 常用函數解說

tf.split(split_dim, num_split, value, name='split')

函數解說:將大的tensor分割成更小的tensor,第一個參數代表沿著那一維開始分割,第二個參數代表切成幾段,如下面例子,「5,30」沿著第一維也就是column開始切割,切成三段,因此就有3個「5,10」的tensor被分割出來

 

函數範例:

 

文章標籤

Darwin的AI天地 發表在 痞客邦 留言(1) 人氣()

上面為在 Markdown 文件中 呈現的效果

下面為相應的 markdown code

 

1.

文章標籤

Darwin的AI天地 發表在 痞客邦 留言(0) 人氣()

Dueling Network Architectures for Deep Reinforcement Learning

 

 

上圖即為原始網路,下圖為dueling網路 主要的不同點在於--conv攤平後的神經元 分別分成兩邊

文章標籤

Darwin的AI天地 發表在 痞客邦 留言(1) 人氣()

如果大家有看過我之前寫的文章

應該就知道這是一個提供很多環境讓你測試演算法的平台

今天就來詳細介紹一下使用方法

 

完整程式碼如下:

文章標籤

Darwin的AI天地 發表在 痞客邦 留言(0) 人氣()

 

完整程式碼在此

 

整個graph 完整架構:

Darwin的AI天地 發表在 痞客邦 留言(3) 人氣()

學習都是由淺入深而學習的

小編接下來會講如何建立一個CNN網路

然後調用tensorflow 內建 mnist 數據庫學習

在那之前,小編先介紹怎麼調用數據庫

MNIST 是個鼎鼎有名的手寫辨識庫

文章標籤

Darwin的AI天地 發表在 痞客邦 留言(0) 人氣()