第一章讀書筆記
引言:
自從嬰兒開始,嬰兒就能夠從與環境的互動中學習。從與環境的互動中學習是差不多所有學習和智慧的最基礎的理論。書中我們以人工智慧工程師和研究者的身份用計算的方法,研究不同方法的效果。強化學習與其他機器學習相比較而言更注重目標引導。
1.1強化學習
強化學習主要是學習如何從既定狀態中映射出最佳行動,以便最大化數值獎賞訊號。強化學習中兩個最明顯
的特點是試錯搜尋和延遲效應。
弄清強化學習 (reinforcement learning) 的定義十分重要,強化學習有三方面的內容:
- 強化學習問題
- 能很好地解決這類問題的方法
- 和研究問題和解決方法的有關領域
部分可觀察馬爾科夫決策過程(MDP), 抓住智慧體為了達到目標與環境互動來學習這類問題的最重要的地方,由此,利用動態系統的理論來形式化強化學習的問題。
-
與監督學習的差別:監督學習方法應用於現在大多數的研究中。監督學習從已知標籤的資料集中學習並訓練自己,然後推算和概括出對新情況的反應及行動,得靠已有的知識。這是一種非常重要的學習方式,但是解決所有的環境互動問題是不切實際的。而強化學習是能從自己的經驗中學習的。
-
與非監督學習的差別:非監督學習是從沒有標籤的資料中找到隱藏的結構。這與強化學習是不同的,強化學習是盡力來最大化反饋的訊號。所以我們稱強化學習是第三種機器學習的方法。
強化學習的挑戰:探索和利用。難以平衡探索新資料和利用已有資訊的程度。(沒出現在監督和非監督學習中)
強化學習的一個關鍵特點:從總體的角度來考慮學習智慧體與環境互動學習的問題。與其他學習方法不同(如監督學習)強化學習從一個完全的,互動的,目標導向的智慧體開始的。所有的智慧體有明確的目標,能感知外界,能採取行動影響環境。並且一般假設即使他面對十分不確定的環境也必須採取行動。監督學習的方法也可能被用到,一般是因為用它來判斷反饋訊號的。研究子系統也能被用到,但研究子系統在整個問題中有十分明確的定位。
強化學習的應用物件不僅僅只是機器人之類的物件,也可能是機器人的一個構件,它與子系統,構成環境的關係。所以說要真正把握強化學習的要義。
現代強化學習的最令人振奮特點之一是與其他工程和學科的緊密結合。強化學習是最接近人類和其他動物學習方式的方法。
最後,強化學習是人工智慧朝著一般化理論大趨勢的一部分。在70年代末,許多人工智慧研究者就假定沒有一般化的原理,相反智慧是從大量的資料中訓練出來的。在今天這種觀點也十分常見,但是並沒有主導。我們看來這種觀點非常不成熟,而且在這方面的研究和努力也遠遠不夠。現代人工智慧也包括了許多朝著一般化理論學習的研究,也加入了大量的專業領域知識。朝著一般化的理論的研究能走多遠,時間才能告訴答案。
1.2 例子
所有的這些例子都包括做出決策的智慧體和環境,尋找達成目標的方法儘管環境的不確定性。
在這些例子中,現階段的決策都會或多或少的影響後來的行動及環境。所以做出決策需要計劃和預測。
同時,這些例子中行動是不能被充分準備的,因此智慧體必須頻繁的監視環境併合適的做出反應。隨之時間和經驗的積累,智慧體能提高自己的表現。
1.3 強化學習的組成元素
除了智慧體和環境,強化學習還有4個組成元素:策略,reward,值函式,和可選的環境模型。
策略規定了在一個給定的時間內智慧體表現的方式。通俗的講,策略是從既定的環境狀態中映射出行動的對映。
Reward規定了強化學習的目標。反饋型號是改變策略的最主要基礎。
值函式(value)是對未來的預期。通俗的講值函式的值是智慧體能從該狀態下能積累的反饋訊號之和。
Reward 是 value的基礎。事實上,我們認為在幾乎所有的強化學習演算法中最重要的是尋找計算出有效估計值的方法。值的估計是可爭辯的強化學習上60年中最重要的步驟。
環境模型可以模仿環境的行為。例如給定一個action 和 state,環境模型能預測接下來的狀態。
1.4侷限和範圍
強化學習的研究非常依賴於狀態,但是本書的重點不是狀態而是做出決策的部分。在本書中大多數強化學習的方法都是研究值函式的,但不是說非得用它來解決強化學習問題。例如遺傳演算法,遺傳程式設計,模擬退火等都沒有估計值函式的步驟。這些方法採用多個靜態的方法,每個都用於環境的不同部分,然後選擇最高效的或者最小偏差的策略。進化演算法經常應用於策略空間比較小的或者問題容易被結構化等需要搜尋時間少的問題中,而且十分高效。
但強化學習的中心是在與環境的互動中學習。進化學習並沒有意識到 state action及由state對映到action的value function。儘管進化和學習有許多相似的地方,但我們不認為進化本身適合解決強化學習問題,所以說,本書沒有涉及到他們。
1.5 一個拓展例子 Tic-Tac-Toe
規則:最先達成一排的一方勝利。假設平局和輸認為是輸。假設與我們對戰是不完美的棋手。(完美棋手最差結果是平局)
傳統的最優方法無法解決這種問題,因為對手的不確定性。
進化方法解決:找出所有的解題策略,然後進行試驗,每種策略產生一個贏的概率,然後選擇最優策略。
值函式解決:給每個狀態編一個值,代表這個狀態下贏棋的概率。所有狀態的值構成一張表,用作值函式。初始化表中的值,自己已經組成一排的value為1,對方組成的狀態的value為0,其餘value為0.5.具體方法,大多數通過貪心演算法,小部分通過隨機,來選擇下一步action,然後通過回退來修正value,使之趨向於後來的value。
這個例子闡釋了進化演算法和學習值函式方法的不同。進化演算法只關心最後的結果,忽略了其中的過程,比較而言學習值函式方法能利用過程中的資訊。
這個例子揭示了強化學習的關鍵特點:一是在與環境互動時同時學習,二是有明確的目標,正確的行為需要計劃和預見,同時也把延遲效應考慮在內。這是強化學習的一個十分顯著的特點,因為它並沒有使用環境模型也沒有對可能的action和state序列進行搜尋。
強化學習的應用不止於此,可以沒有對手或者對手是大自然,也可以是持續性的問題,只不過會比較複雜。也可以應用於大規模資料。對於超大規模狀態的問題來說強化學習系統的效能與系統能否高效地從過去的經驗中歸納息息相關。
強化學習不需要環境模型。當構建環境模型是瓶頸時,無環境模型的方法會佔較大優勢。
1.6總結
強化學習區別於其他計算方法的最鮮明特點是為了目標,在與環境的直接互動中學習,沒有依靠解釋者或者環境模型。強化學習是解決為了達成長期目標, 與環境互動問題的首選方法。
強化學習用馬爾科夫決策來形式化定義智慧體與環境比如把reward,actions,states。這種框架旨在用簡單的方法來表徵人工智慧中最重要的特點。
1.7強化學習的早期歷史
早期強化學習有兩條主線,在現代強化學習合併之前是被分開研究的。其一是通過試錯學習,起源於動物的學習,這條主線貫穿於人工智慧最早期。其二是利用值函式和動態規劃的最佳控制和解決方法。對大部分而言並沒有涉及到學習。第三條主線是時間差分方法。在20世紀80年代三條主線合併形成現代強化學習。
第二條主線:在20世紀50年代中期Bellman和其他人提出了一種方法來解決最佳控制問題。這種方法利用了動態系統中狀態和值函式的或者最佳返回函式的概念。這類解決最佳控制的方法被人們稱為動態程式設計,bellman也把離散隨機版本的最佳控制問題稱為馬爾科夫決策。Ronald Howard改進了MDPs的迭代方法。這些是現代人工智慧的根基。
動態規劃被廣泛認為是解決一般離散最優控制問題唯一可行的方式。但是他受繁雜度維度的限制。自50年代起動態規劃被廣泛的發展,包括擴充套件到部分可觀察馬氏決策(1991 lovejoy),許多應用,模糊方法,及非同步方法。
動態規劃,最優控制和強化學習的聯絡:動態規劃可以解決最優控制問題,最佳控制問題在一定範圍內也被認為是強化學習問題。
第一條主線:試錯學習。來源,圖靈的應用及其他的應用。
試錯學習產生的影響是長期的。試錯學習根據評定性的反饋來學習並不是依靠所謂的正確做法。
第三條主線:時間差分學習。它的特點是被時間上相鄰發生的差異所驅動。它在強化學習中發揮了獨特的和特別重要的作用。Sutton深入發展了Klopf的思想,特別是與動物學習理論的聯絡。描述了被時間上相鄰預測的差異所驅動的學習規則。
時間差異主線和最優控制主線最終在1989年Chris Watkin Q-learning的發展中被整合。這項研究擴充套件和整合了三種方法。在此之前強化學習有了眾多的發展。主要在機器學習,還有神經網路,人工智慧。在1992年,Gerry Tesauro的軍旗GD-Gammon,給這一領域帶來了額外的關注。
自從本書第一版出版以來,強化學習演算法和在神經系統關係的神經科學發展迅速。是因為專家學者指出,時分差分演算法和多巴胺產生神經元的活動有著神祕的聯絡。