什么时候可以用到强化学习?强化学习怎么用?
????????我相信很多像我一樣的初學者在學習強化學習的的過程會有一種困惑:強化學習內容搞懂了,算法流程也明白了,但是怎么用在自己的研究領域或者應用上呢?換句話說,什么樣的情況可以用強化學習解決呢?
什么是強化學習?
????????首先要搞明白強化學習的原理是什么,強化學習的常見模型是標準的馬爾可夫決策過程(Markov Decision Process, MDP),通俗的講,馬爾可夫過程就是智能體agent與環境environment序列化的交互,正常情況下,一個序列化的過程每一步都應該跟之前經歷過的所有步相關,但是在實際應用中,這是非常繁瑣的,所以根據馬爾可夫性,我們僅需考慮當前狀態的前一狀態,按條件概率可以表示為:
????????????????? ? ? ? ??
????????正是有這個性質在,在實際操作上我們對強化學習模型就可以單步進行,而不需要考慮每一步前面的序列化操作軌跡。
????????智能體agent需要不斷地在環境中進行實驗,通過環境給予的獎勵reward來不斷優化狀態state和行為agent之間的對應關系。來學習到每一個狀態state的最優動作action。
強化學習的特點
????????強化學習是一種機器學習方法,但和機器學習中的監督學習和無監督學習都不太一樣,監督學習通過給訓練樣本人工賦予標簽的形式讓模型學習如何向標簽接近。而強化學習雖然不需要定義標簽,但是需要人工定義獎勵reward的形式,這么乍一看感覺強化學習和監督學習很相似,但千萬不要搞混淆,強化學習定義的獎勵reward是環境的反饋,這個反饋可以當作是模糊的,因為我們不能向監督學習那樣直接告訴智能體每一步最正確的動作標簽是什么,然后讓智能體明確的按這個標簽學。我們只能說告訴智能體這一步的獎勵reward是多少,讓智能體通過反復的嘗試來找到最適合的也就是獎勵最大的那一個動作。整體來看,也就是智能體通過與環境的互動學習到最佳的策略。
??????????????????????????
????????????????????????????????????????
????????而無監督學習是從無標簽的數據集中發現隱藏的結構,典型的例子就是聚類問題。但是強化學習的目標是最大化獎勵而非尋找隱藏的數據集結構,盡管用無監督學習的方法尋找數據內在結構可以對強化學習任務起到幫助,但并未從根本上解決最大化獎勵的問題。
什么時候可以用到強化學習?
首先,由強化學習的特點我們可以總結出:
1.強化學習是無標簽的。
2.強化學習的交互過程是序列化的。
3.強化學習的獎勵具有延遲的特點。
4.每一步的狀態和后續步驟的狀態有一定的關系。
由此我們可以歸納出強化學習的運用場合:
? ? ? ? 我們需要先設計好整個模型問題的動作(action)價值(reward)環境(environment),讓智能體也就是我們希望學習的模型,能夠在與環境的交互中尋找到最優策略。且我們要保證這個模型在與環境的互動中是具有序列化性質的,不能說模型做這一步和下一步一點聯系都沒有。
????????就比如說對一個圖片分類問題,我們用標簽就能很方便的完成這個任務。那如果要用強化學習的思想去做,雖然我們可以將分類的Loss當成我們的獎勵reward,分類的具象類別作為動作空間。但因為我們識別第n張圖片和識別第n+1張圖片之間并沒有因果關系,模型在前一步的任何動作和后一步都沒有任何聯系,那么顯然強化學習是不適用的。
? ? ? ? 再比如一個股票預測問題,我們將買入賣出作為我們的動作空間,將盈虧作為環境的獎勵,將收益和時間線作為狀態。那么很明顯我們在第n個時間點的某個操作都可能會影響到下一個時間點的狀態。我們讓模型學習到每一個狀態的最優動作,使得總的獎勵期望最大。這就是強化學習可以適用的問題。
? ? ? 最后,我們在做應用型研究的時候,可以將自身帶入,思考這個應用是否需要像人類自身學習一樣具有循循漸進的特性,是否需要時間這個"維度"。畢竟,人工智能的終極奧義就是強化學習。
總結
以上是生活随笔為你收集整理的什么时候可以用到强化学习?强化学习怎么用?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MathType如何编辑等号带点
- 下一篇: 来自学长的快乐AK题——Day8 荒地追