深度強化學習
基本概念
強化學習
強化學習(Reinforcement Learning)是機器學習的一個重要的分支,主要用來解決連續決策的問題。強化學習可以在複雜的、不確定的環境中學習如何實現我們設定的目標。
深度學習
深度學習(Deep Learning)也是機器學習的一個重要分支,也就是多層神經網路,通過多層的非線性函式實現對資料分佈及函式模型的擬合。(從統計學角度來看,就是在預測資料分佈,從資料中學習到一個模型,然後通過這個模型去預測新的資料)
深度強化學習
深度強化學習(Deep Reinforcement Learning)是一種用於做決策(Decision Making)學習的演算法,深度學習善於做非線性擬合,強化學習適合做決策學習。二者結合形成了深度強化學習演算法。
初探強化學習
定義:受到行為心理學啟發,強化學習主要在關注智慧體如何在環境中採取不同的行動,以最大限度地提高累積獎勵。
基本框架:智慧體(Agent)、環境(Environment)、狀態(State)、動作(Action)、獎勵(Reward)
核心元素
- 智慧體:強化學習的本體,作為學習者和決策者。
- 環境:強化學習智慧體以外的一切,主要由狀態集構成。
- 狀態:表示環境的資料。狀態集是環境中所有可能的狀態。
- 動作:智慧體可以做出的動作。動作集是智慧體可以做出的所有動作。
- 獎勵:智慧體在執行一個動作後,獲得的正/負獎勵訊號。獎勵集是智慧體可以獲得的所有反饋資訊,正/負獎勵訊號亦可稱作正/負反饋訊號。
- 策略:強化學習是從環境狀態到動作的對映學習,該對映關係稱為策略。(即:智慧體選擇動作的思考過程為策略)
- 目標:智慧體自主尋找在連續時間序列裡的最優策略,而最優策略通常指最大化長期累積獎勵。
因此,強化學習實際上是智慧體在與環境進行互動的過程中,學會最佳決策序列。
強化學習和機器學習
著名的機器學習十大演算法:
- 決策樹
- 支援向量機SVM
- 隨機森林
- 邏輯迴歸
- 樸素貝葉斯
- KNN演算法
- K-means演算法
- AdaBoost演算法
- Apriori演算法
- PageRank演算法
強化學習和機器學習的關係
強化學習和監督學習
區別
- 兩者學習方式不盡相同。
- 兩者所需的資料型別有差異,監督學習需要多樣化的標籤資料,強化學習則需要帶有回報的互動資料。
學習方式
監督學習
監督學習是對資料進行分析,找到資料的表達模型;然後利用這個模型,在新輸入的資料上進行決策(即主要分為訓練階段和預測階段)。學習只發生在訓練階段,該階段會出現一個預測階段不會出現的監督訊號。
強化學習
智慧體在與環境的互動中,通過不斷探索與試錯的方式,利用基於正/負獎勵的方式進行學習。強化學習的學習過程與生物的自然學習過程非常相似。
先驗知識與標註資料
強化學習不需要像監督學習那樣依賴先驗知識資料,它通過自我博弈的方式產生更多的標準資料。強化學習可以利用較少的訓練資訊,讓系統自主學習補充更多資訊使整個系統不受標註資料和先驗知識的限制。
拿圍棋遊戲來說,圍棋的棋譜資料很容易獲得,這些資料都是人類玩家的動作行為記錄。如果利用監督學習模型建模,模型模擬出的對弈技能很有可能只侷限在所收集的有限棋譜內。當出現新的下棋方式時,模型可能就因為找不到全域性最優解而棋力大減。強化學習模型則不同,它可以利用系統自我學習和獎勵的方式,讓系統自動學習更多棋譜或者進行智慧體間的博弈,這樣可以為系統補充更多棋譜資訊,進而免受監督者的限制。