強化學習例子

2021-10-19 14:22:12 字數 1519 閱讀 3036

迷宮尋寶遊戲

我們這裡有乙個最簡單的2*2的迷宮,左上角為起點(1),右下角為寶藏(4),要提防的就是左下角的陷阱(3)。作為高智商物種,我們一眼就可以看出來最優路徑就是1-2-4,而對於計算機則不然,他剛開始對這些沒有任何的概念,這些資訊都要它自己探索獲得,或者我們直接把環境資訊構建好告訴他。

在上面這個例子中,我們要設計獎懲規則,比如,我們的目標是最少步驟內拿到寶貝同時還要避免掉坑(陷阱)裡去,所以呢我們把每走一步獎賞設為-1,掉坑里的話獎勵他-10,拿到寶貝的話獎勵+10。單純的定個獎懲規則還不夠,我們還要告訴機器這邊尋寶地形情況是怎樣情況的,在每個狀態可以有哪些行動,然後每個行動又會走到**去等等,這些都需要我們事先定義好!所以我就感覺這一開始就是一件工作量很大的事情,而且一般情況下將某個具體的環境轉化成為計算機能理解的資訊(例如通過向量,矩陣或者神經網路,它們都是乙個具體或者抽象的對應形式)也不是一件容易的事情。anyway,具體的轉換方法會在後邊**中顯示,我們move on !

3.q-learning演算法:

這裡,你只需要知道這個所謂的q-learning只是強化學習中在探尋最優策略時候所用的眾多演算法中的一種……類似的還有價值迭代,策略迭代等,以後會逐步涉及。q-learning的基本步驟如下:

第一步(1)初始化q-table矩陣,在上邊例子中,我們有四個狀態(s1,s2,s3,s4),然後在每個狀態都有五中行動方式(上,下,左,右,不動),所以呢,這個q-table就是乙個45的矩陣,行為四個狀態,列為五種行動方式。最開始呢,電腦是沒有任何概念的,認為這些狀態和行動都沒啥區別,數值表現都是0。

(2)除了初始化q-table,我們還要把遊戲的規則說明白了,即定義獎賞機制,就是那個走一步-1,掉坑里-10,拿到寶貝+10的規則,我們也要通過矩陣(45)表示出來。

(3)另外還有遊戲的地形是怎樣的,即哪個狀態下執行某個動作後會進入哪個新狀態。

2.第二步

針對每乙個episode(一次從開始到結束的過程),選擇起始state。在這裡的話我們是從左上角state1開始,就是確定的了,可能以後更高階的是隨機選吧。選擇當前state下的乙個可能的action,目前這裡邊就用相同概率去做選擇,複雜一點的選不同action的概率可以不一樣。(如貪心演算法)。

作為上步action的結果,轉移到下乙個狀態s』

再次基於目前狀態s』去選擇乙個行動a』

使用bellmanequation(貝爾曼方程)更新q-table。這裡提到貝爾曼方程,這是什麼鬼?這可以說是q-learning的乙個核心了。其方程如下:q(s,a)=r+γ(max(q(s′,a′))其中,s:當前狀態state;a:從當前狀態下,採取的行動action;s』:今次行動所產生的新一輪state;a』:次回action;r:本次行動的獎勵reward,是進到乙個狀態馬上就能獲得的獎勵;γ:折扣因數,表示對長遠利益的看重程度,其中0表示只看重下一步獎勵(目光短淺),1表示看重整體的獎勵情況(目光長遠)。

將進入的下乙個狀態設為當前狀態,不斷迭代

如果達到目標狀態,結束演算法。

強化學習 強化學習基礎

為了應對車載網路中通訊環境快速變化的難題,可以使用強化學習進行解決,這裡對強化學習的基礎進行整理。主要的應用場景為車載網路中資源分配問題。本文源自莫煩python 強化學習章節,有需要請查閱原文 20200413補充了一些內容,來自這篇部落格,是李巨集毅的深度強化學習的筆記。強化學習的主要構成有 a...

強化學習 1 1 0 強化學習介紹

abstract 本文介紹reinforcement learning的具體特點和與其他機器學習演算法不同之處,本文是乙個骨架性的文章,所有專有名詞都保持英文原始單詞,具體內容會在後續中給出詳細解答。keywords reinforcement learning,situation,action,e...

強化學習系列1 強化學習簡介

2015年10月,alphago在和歐洲冠軍進行的圍棋賽上獲得了5 0的完勝,其後的深度強化學習也隨之火了起來。從本期開始開個新坑,一步步把強化學習的內容捋一遍。強化學習 reinforcement learning 是用來解決連續決策問題的一種方法。針對的模型是馬爾科夫決策過程 markov de...