【强化学习】从强化学习基础概念开始
在開始探索強化學習的諸多算法之前,我們先來了解一下它所涉及到的具體概念。這些概念將作為基石,一直陪伴著我們的學習之旅。為了能夠將這些概念熟記在心,我們這一期做成強化學習概念小卡片,一張一張給大家展示和幫助大家理解。
作者&編輯 | 行健 言有三
1 基礎概念怎么學
經常有同學拿到一本書不知道該怎么學習,尤其是涉及到理工科的教材,往往充滿了各種新的名詞和概念,章節之間有的彼此關聯,有的彼此獨立。面對這樣一本類似于“概念網絡”組織起來的書,如何入手更快呢? 我們知道,書籍的寫作過程是一章一章完成的,作者在大腦里構建的知識地圖,或者說知識網絡確是一個完整的整體,作者在開始寫書的時候就對整個知識網絡有全貌的理解和認識。在這樣的一個知識網絡里面,會有很多不同的知識節點,作為整個知識體系的節點,來連接構建出整個知識網絡的全貌。雖然按部就班的去看書的每一章節,可以讓你看到這些節點的具體內容,但是要想把整個書的知識網絡熟絡于心,那需要額外的努力。俗話說,書讀百遍,其義自見。古人也知道,一本書讀一遍是不夠的。可是面對日益爆炸增長的知識,我們如何快速的掌握作者的知識網絡,成了我們有必要學習的“知識提取”方法論。在這里,我們提出,這些知識節點往往來自于概念的獨立構建和相互融合的衍生,所以,基于這一點,我們要關注這些位于作者知識網絡中的關鍵節點,一開始就來學習這些基礎概念,從而高屋建瓴,打好基礎。對這些概念的辨識,需要一定功力,閱讀的功力往往從翻開書的那一刻就體現出來了。如果把一本書比作一位老師,目錄便是他的骨架,支撐起整本書的靈魂。在目錄里,去尋找那些你看不懂,想不清楚的名詞,這些名詞就是你需要認知的第一份“概念草稿圖”的組成。
對于一個領域的知識而言,無非分為上圖所示的幾個基本方面的內容。知識體系中有哪些是事實(fact)作為依據,有哪些是基于事實進行的分析(analysis)和分析,有哪些作為過程(process),包含事實本身的過程和分析處理加工事實的過程,有哪些是基于這些事實(fact)和過程(process)進行假設,定義的概念(concept),從而產生推理和結論,最終構建出新的對象( project ) 或者實體(instance),或者新的學科(subject)。在此基礎上,當其他人獲取和繼承到這份知識后,會去創造出價值,這些價值包含創新的idea和情緒思維的體驗,更包含藝術(art)層面的,研究(study)層面的,理論(theory)層面的,學術(scholar)層面的,以及個體的成長(growth)和提升方面。同時知識在繼承過程中本身也會完成一次新的衍生和增長(growth)。
我們將這些對知識本身的討論和學習,叫做“元學習”。元學習能夠幫助我們入木三分的領會知識精華,將知識薈萃提取成我們的自己的精神感悟和思想認識,而不是記憶中的細枝末節。如果你還在記憶知識,那很多情況,你只能夠簡單的應用,還達不到對知識進行創造性的衍生和自我獨特的見解。當然,我們還是推崇刻苦練習基本功,在繼承知識這件事情上,從來沒有捷徑,只是效率和境界的不同。
接下來,我們對強化學習的概念體系進行結構和認識,將這些知識放進我們的知識框架的背包當中,從而方便我們后期取用、組合、應用、以及產生新的創造,達到學習知識的終極目標。
2 強化學習的基礎概念
(1) 系統
什么是系統?系統是一個抽象定義。它所對應的具體實體可以是任何組成的物質存在。強調物質存在是系統存在的必要前提。系統大到星系宇宙,小到細胞、分子、原子。我們對所研究的對象作出邊界定義后,就構成了系統。
(2) 環境
環境是排除系統研究實體或研究變量之外的部分。在強化學習中,環境指排除智能體之外的所有組成。
(3) 智能體
智能體是強化學習中的主要研究對象,我們希望智能體能夠通過環境的檢驗來實現系統的目標。
(4) 交互
交互專指智能體與環境的交互。目前強化學習中的研究中,多數系統與外部沒有直接交互。在一些游戲戰中,人類玩家可以看作一個外部系統和環境進行交互,聯合智能體一起對環境進行探索。可以認為人類玩家是系統外部角色,不過在改變和影響系統本身方面,人類玩家和智能體是一樣的。這一點,你可以理解為在系統之外“沒有上帝存在”。
(5) 動作
動作指智能體和環境產生交互的所有行為的集合。
(6) 狀態
狀態指智能體當前的所處的環境情況,自身歷史狀態情況,以及目標完成情況。這里目標是指系統在開始構建之初,為智能體所定義的目標。
(7) 策略
策略是說智能體在允許的動作集合中,通過對動作進行組合,先后使用次序的調整,從而探索出不同的使用動作組合和次序來實現目標。換言之,如何從當前的狀態,通過動作,轉換到最佳的下一個狀態。
(8) 試錯
試錯是早期強化學習的主要方向。通過試錯來探索最優策略。目前強化學習研究的方向轉為獎勵函數的優化。
(9) 記憶
智能體對過往經驗的總結歸納和采用的方式。
(10) 獎勵
獲得環境正反饋后,智能體獲得環境中設計的獎勵,另外,還有一種獎勵就是對環境本身的適應和開發。
(11) 價值函數
如何做才能最大化獎勵。價值函數始終是約束最優策略的產生和策略探索的方式。
(12) 探索
去嘗試找到不同策略下的獎勵的過程。
(13) 應用
利用已有的探索成果來和環境交互。
(14) 馬爾科夫決策過程
馬爾科夫決策過程是包含動作,轉換函數,獎勵的過程。
在有了這些基礎概念之后,我們需要對這些概念進行組合,或者改變順序的安排來定義一套具體的算法。在之后的專欄中,我們要學會寫出算法的偽代碼。這些概念就是偽代碼的基礎。另外,符號化和嚴格的數學定義也非常重要,之后,數學符號的引入和證明都將推出,但這些定義往往和理論宗派有關,不同的科學家對這些問題的看法和角度并不太一樣。下周我們會分享這些內容,數學定義也會相繼給出。
3 強化學習中的六類問題
雖然強化學習給出了一個非常通用的解決問題的思路,但是面對具體問題,在不同場景下,強化學習又會有不同的側重。這些側重點主要體現在一下六類問題的不同探索點上:
(1) Learning
如何通過學習去解決問題,智能體從未知的環境中通過策略學習提高。
(2) Planing
如何通過規劃去解決問題,已知基于環境的模型,智能體通過模型進行計算,并且不需要外部交互,智能體能夠提高策略的表現。這類問題的典型案例是 alphaGo。在已知圍棋的規則下,去尋找最優結果。
(3) Explorition
如何通過探索去解決問題,智能體通過試錯獲取環境信息。
(4) Exploitation
如何利用已知信息去解決問題,智能體利用獲取的信息獲取最大獎勵。
(5) prediction
如何借助預測未來去解決問題,通過評估和預測未來,給出最佳策略。
(6) Control
如何通過控制未來去解決問題,通過控制和改變未來,找到最佳策略。
六類問題本身并不獨立,我們在這里把六類問題抽象出來看,每類問題下都有很多經典的應用。后續我們介紹具體算法的時候會一一討論和學習,反復強化。
4 強化學習中的算法
有了上述六類問題,我們再看看如何通過方法或者方法的組合去定義解決問題的算法。
借助是否使用了Policy、Value fuction、Model 不同的方法組合,強化學習算法可以分為Value-based,Policy-Based,Model-Based,Model-Free這三種。具體涉及到的算法在下圖中可以看到。
總結
最后,我們小結一下,這次我們著重分享了強化學習的基礎概念,這些我們給出了解釋性的定義。對這概念,我們可能并沒有具體的數學定義,這在解決問題的過程中非常不方便,那么如何將我們的概念通過數學證明的方式嚴格定義下來呢?下一節,和未來許多節,我們都將努力的去定義這些概念,消化和理解這些概念。
有三AI夏季劃
有三AI夏季劃進行中,歡迎了解并加入,系統性成長為中級CV算法工程師。
轉載文章請后臺聯系
侵權必究
往期精選
【強化學習】強化學習專欄上線,60多篇文章等你follow
【強化學習】數據科學,從計算到推理
【圖像分割應用】醫學圖像分割(一)——腦區域分割
【圖像分割應用】醫學圖像分割(二)——心臟分割
【NLP】自然語言處理專欄上線,帶你一步一步走進“人工智能技術皇冠上的明珠”。
【NLP】用于語音識別、分詞的隱馬爾科夫模型HMM
【NLP】用于序列標注問題的條件隨機場(Conditional Random Field, CRF)
總結
以上是生活随笔為你收集整理的【强化学习】从强化学习基础概念开始的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【图像分割】图像分割专栏栏主自述:分割,
- 下一篇: 【Python进阶】实战Python面向