强化学习之原理与应用
強化學習之原理與應用
強化學習特別是深度強化學習近年來取得了令人矚目的成就,除了應用于模擬器和游戲領域,在工業領域也正取得長足的進步。百度是較早布局強化學習的公司之一。這篇文章系統地介紹強化學習算法基礎知識,強化學習在百度的應用,以及百度近期發布的基于PaddlePaddle深度學習框架的強化學習工具PARL。
強化學習算法?
強化學習(RL)和其他學習方法的異同
首先,從宏觀層面看,可以通過“三軸”圖來看強化學習與其他學習方法的聯系和區別:第一條軸deterministic -stochastic可以描述轉移概率,決策過程和獎勵值分布的隨機性;第二條軸fixed dataset -interactive data,表示學習數據的來源方式;第三軸instant reward -delayed reward表示獎勵值是立即返回還是有延遲的。我們熟知的有監督學習,針對的是靜態的學習數據,以及近似可以看作無延遲的獎勵;動態規劃針對的則是確定性的環境,以及靜態的數據;主動學習針對無延遲的獎勵以及交互型的數據;多臂老虎機(multi-armed bandits)則同時處理帶有獎勵隨機性和交互型的數據,但依舊是無延遲的獎勵問題;只有強化學習處理三個方向(隨機,有延時,交互)的問題。因此,強化學習能夠解決很多有監督學習方法無法解決的問題。
強化學習(RL)的基本定義
強化學習的主要思想是基于機器人(agent)和環境(environment)的交互學習,其中agent通過action影響environment,environment返回reward和state,整個交互過程是一個馬爾可夫決策過程。
舉個例子如雅利達游戲:state指看到當前電游屏幕上的圖像信息;agent或者人類專家面對state可以有相應的action,比如對應游戲手柄的操作;environment在下一幀會反饋新的state和reward,整個過程可以用馬爾可夫決策過程來描述。在這個過程中的environment則主要包括兩個機制:一個是transition代表環境轉移的概率,另外一個是reward。
Markov Decision Process和Policy的定義
可以通過更具體的類比來理解有監督和強化學習的REINFORCE算法的關聯。假設在t時刻action以來表示. 在有監督的學習過程中需要人來示范動作, 通常我們希望機器去學習人的示范動作,在這里就代表示范的label。我們一般可以通過最小Negative Log-Likelihood (NLL(見底部的補充1說明)來使得我們的policy函數逼近人的示范。
從Supervised Learning到REINFORCE
在交互學習的過程中,沒有人的示范,而是讓機器自主去做一個動作。我們先考慮reward沒有延遲的情況,機器人用一定的初始策略選到這個動作。它不知道自己做的對不對, 但是可以他拿到一個立即的reward。如果我們嘗試最小化這樣一個目標函數。 同時假設這個動作做對了獎勵是+1,做錯了獎勵是0, 我們可以發現,這個式子跟是一致的,也就是退化為監督學習, 但卻并不需要示范label, 只需要reward。
進一步的,在馬爾可夫決策過程迭代中,我們希望優化整個序列的總收益(delayed reward),而不是單步的立即收益。進一步修改目標為,即整個序列如果更好地完成最終總體指標R,就強化整個動作序列的概率,反之弱化整個動作序列的概率。這便是強化學習最簡單的策略梯度方法。
除此之外,DQN、temporal difference等方法,則是基于一個值(critic)評價體系進行迭代,而非直接求解policy。這類方法存在顯著問題是無法針對連續動作空間。本文不再展開介紹。
REINFORCE?和 CreditAssignment
REINFORCE這類直接求解policy function的方法,效率通常比DQN低很多。以下圍棋舉例,比如前99步都下得很好,最后1步下的不好,導致滿盤皆輸。如果用REINFORCE方法,會認為這100步,包括下的不錯的前99步都不好。雖然從統計意義上來說,如果下的次數足夠多,梯度更新最終仍然是往正確的方向,但顯然這是一種學習效率很低的算法。為了改善這個問題,另一類應用更廣的方法是actor-critic,其中actor是policy,critic是評價函數,這類方法是將策略函數和值函數一同學習,核心思想是希望評價函數做能夠給action返回一個合適針對它自己對于整個棋局影響的“綜合”反饋,通常被稱為credit Assignment。REINFORCE可以認為用整個序列的總體reward作為credit,而actor-critic賦予每一個動作一個獨立的反饋,也叫做advantage。下面列出的是一些不同的advantage的計算方式[1]。其中,1是傳統的REINFORCE,而后面的一些計算方式,則通過值函數的迭代,提升advantage計算準確性,從而提高策略梯度的效率。
從REINFORCE到Advantage Function的計算
強化學習涉及的算法非常多,種類也非常廣,包括:model-free算法,這類算法最為大家所熟知,而它又可以分為critic only,actor only和actor-critic;model based算法,通過對環境建模來進行規劃,這類算法在訓練過程中具有很高效率,但因為inference的時候需要做planning效率則較低,這類方法最近獲得越來越多的關注;還有一些和不同算法結合在一起的組合RL方法,如Auxiliary Tasks, Hiearchical RL,DeepExploration,逆強化學習等。
強化學習的算法羅列
?強化學習應用-推薦系統?
2011年之前,強化學習主要用于Intelligent Robotics等控制問題。2012-2013年,強化學習伴隨深度學習的高漲逐漸火熱起來。2012年,百度已開始將multi-armed bandits用于搜索排序。2014-2017年,百度將強化學習用于對話系統,廣告定價,新聞推薦等場景;在學術上,也發布了首個AGI評測環境XWorld。2018-19年,百度在強化學習工具,研究,應用方面開始全面鋪開。
對于推薦類問題來說,工業界的推薦系統早期比較成熟的方法包括協同過濾,CTR預估等。而現有推薦系統有兩個尚未解決得很好的問題,也是業界研究熱點:
1)intra-list correlations:考慮列表里的內容關聯。現有推薦系統通常針對用戶推薦一個列表,而不是一個一個內容推薦,因此內容之間的組合關聯就會有影響。傳統的多樣性推薦等技術,其實都在解決這個問題。
2)inter-list correlations:考慮的是列表頁間的時序關聯,即內容本身對用戶的價值,隨著時間和交互次數的增加而動態變化。
百度基于新聞資訊推薦場景,對這兩個層級的問題都開展了相應研究工作,并且均涉及強化學習技術:
在intra-list correlation角度,以往經典做法認為列表內的item之間是相互獨立的,以此來預估CTR,又被稱為item-independent prediction。
多樣性是在此基礎上的一個改進,即以整個組合來考慮推薦內容,而不單純只考慮item自身。學術界對多樣性理論的研究包括DPP,Submodular Ranking等方法[2][3]。Submodular實際上就是對“邊際效用遞減”這個說法的形式化,通俗的說,把所有商品看成一個集合,隨著所擁有的商品數量的增加,那么獲得同類商品的滿足程度越來越小。在推薦系統中,在上文推薦的基礎上進行重新估計,例如下面的圖中,第i次新聞推薦內容項為,第i+1次推薦的內容需要考慮去掉已推薦過的相似內容,考慮用戶感興趣的topic空間,給用戶推薦的應該是月牙形區域的內容,這便是submodular中的net gain的定義。DPP的做法也類似。
然而,目前對于多樣性的研究缺乏統一的目標定義,多樣性也不對最終用戶反饋直接負責,導致多樣性效果很難客觀衡量,往往只能主觀調節。
Submodular排序Net-Gain的計算?
基于此背景,百度提出了列表頁內組合優化框架,整合了學術界對列表頁框架的認識。這個框架包括多個方面貢獻:1. 提出了完全以用戶反饋utility來衡量列表頁內組合是否合理的方法。2. 提出了評價-生成的框架來解決組合優化的局部和全局最優的問題,以及off-policy訓練的問題。3. 提出了不少新的模型結構,包括Recursive網絡,Transformer網絡等,用于更加通用地建模列表頁內的組合,不僅包括兩兩關聯組合,包括更高階的組合,正向反向的組合等。百度相關產品在2017年底就上線了序列優化框架,相對于以往很多方法已經取得了不少收益,相關的成果已發表論文[4]。
建模列表頁內內容的一些模型和方法
Evaluator – Generator列表組合排序框架
而在inter-list correlation角度,對于新聞推薦這類產品的列表間優化,強化學習面臨一個難題是variance過大,可能導致準確率下降。過去Google,京東發表的一些論文,針對這個問題,較為機械地用傳統強化學習方法來解決。但是這些方法往往因為定義過大的action空間,以及過長的MDP,導致準確性下降。而且這些成果,大部分都是在理想的實驗環境,而非真正的線上環境使用。百度多年前針對機械使用強化學習技術的嘗試也發現,對于線上極大規模的排序或者推薦的列表頁間的交互優化并沒有實際優勢。目前百度正在采用Credit Assignment這類新的算法,以更好地解決這些問題,不久之后會發布這些成果。?
強化學習 應用-對話系統?
對話系統可以分為任務型對話系統(Task Oriented Dialogue System)和開放對話系統(Open Domain Dialogue System),經典的任務對話系統結構如下。在對話管理中,強化學習可以起到非常重要的作用。
任務型對話系統流程
百度早在2012年就開始任務型對話系統的探索,其中一個早期的強化學習實驗是2012-2013年做的點餐系統。這是一個百度內部員工使用的外賣訂餐Demo。這個Demo基于一些NLU的特征,以及一些對話NLG的模板,利用LSTD模型來迭代對話管理邏輯。這個Demo設計的反饋也很粗糙,就是內部員工自己來標注。這個項目拿到一些結論,但整體不是很理想。
百度早期探索的對話式點餐系統?
之后百度在各種垂類對話系統上進行了進一步的的實驗。其中比如聊天氣的垂類對話。它的特征相對點餐系統多一些,投入的人工評估和標注的資源也更多。最終效果上,有些指標能夠超越人精心設計的規則策略。
百度早期探索的聊天氣對話系統
這之后,隨著深度學習的興盛,學術界也產生了一些成果。如2016年WenTsung-Hsien提出端到端面向任務對話系統[5],使用神經網絡把四個模塊綜合起來,所有模塊中的狀態都可訓練,相對以前工作有較大進步。利用深度強化學習結合端到端的對話模型,在足夠的數據下,任務型對話系統可以達到比較理想的效果。
與任務型對話系統不同,開放式對話系統的潛力更大,難度也更高。百度早期做過一些嘗試,比如聊天系統中的對話引導功能,引導用戶提出下一句可能的問題。這功能的傳統做法是通過語義匹配(semantic matching)網絡來學習選擇用戶點擊概率高的引導項,而通過強化學習來提升語義匹配網絡的效果,使得語義匹配可以不單單考慮當前的點擊概率,而是可以考慮后續的可能引導給出最佳的選擇。
通用引導對話邏輯
在開放式對話方向的研究基本可以分為基于檢索、自動生成兩種方式。檢索方式受限于有限的語料庫,對于最終解決開放式對話問題而言,生成方式更具有潛力。而業界對于開放域的對話的生成,尚沒有標準的解決方案。從2015年開始,端到端神經網絡開始逐漸展現潛力。而當前端到端的對話系統存在的問題通常包括: 1)生成式回答中沒有內容,如經常回復“哈哈”,“呵呵”;2)缺乏邏輯性,如“我有一個女兒,我12歲”;3)答非所問,如問“你從哪里來”,回答“我喜歡踢足球”;4)對話缺乏明確的目標和評價方式,導致效果評估效率低甚至無法實現。
強化學習作為解決上述部分問題的潛在方法,備受矚目。但強化學習對話系統也存在顯著問題:1)強化學習需要明確的學習目標,或者用戶明確反饋,而評價目標很難制定,用戶反饋則很難獲取;2)強化學習通常需要大量的數據,甚至比有監督學習需要更多的數據。這些是阻礙強化學習應用的關鍵因素。
百度目前在開展一個比較有野心的工作,就是建立一套完整的對話評估體系。基于一套完整的評估體系,有可能在包括人-機對話,機-機對話(self-play),機-模擬器對話系統中,引入強化學習,提升對話質量。對于這套評估系統,有幾個層面的要求:1)Word-level adversarial safe,使得這套評估系統能夠被任何強化學習生成方法作為穩定的學習目標;2)和人的評估接近,可以被不同任務特化。?
百度正在優化的自動評估的對話進化系統?
在這套框架下,百度開展了一些嘗試性工作。圖中是Facebook發布的數據集persona[6],基于兩個persona(個性數據),產生兩個人之間的對話。通過兩個機器人相互聊,聊完之后用evaluation-system來進行評估獲得reward,從而強化這兩個機器人的對話。相關進展未來將發布。?
在自動評估-進化框架下,Self-Play訓練的效果
?強化學習應用-移行控制?
?NeurIPS 2018 AI for Prosthetics Challenge介紹
百度在NeurIPS 2018 AI for Prosthetics Challenge中以絕對優勢奪冠?
百度強化學習團隊近期在NeurIPS 2018 AI forProsthetics競賽中,也以絕對優勢奪冠。在這個比賽中,需要控制一個人體骨骼肌肉模型的肌肉(19維),學習的目標是按照外部不斷變換的給定的速度行走。對沒有按照速度行走或者跌落扣分。
這次比賽中百度用到四個關鍵技術包括:
1)模型結構和學習方法上,使用deep deterministic policy gradient[7],該網絡結構由4層MLP組成,將速度目標,狀態,動作結合在一起建模,使得速度之間具有很好的可轉移性。
百度在NeurIPS 2018AI for Prosthetics Challenge中使用的模型
?2)CurriculumLearning[8]:為了獲得穩定的奔跑姿態,首先訓練一個高效的高速奔跑姿勢,再利用課程學習(CurriculumLearning),設計一系列從易到難的課程,讓機器人逐漸地降低速度。通過這種方式,得到一種特別穩定的姿態用于熱啟動。?
百度在NeurIPS 2018AI for Prosthetics Challenge中調研的Curriculum Learning啟動方法?
3)DeepExploration[9]:這項技術利用多個header的預測,得到其預測的波動,這個波動代表了當前策略和值的波動范圍。這個能夠幫助策略有效探索到探索不足的空間。
4)Parallelization:最后,基于PaddlePaddle的高效的計算框架,采用多個CPU的模擬器,以及一個data server、一個高性能GPU作為單機多卡的訓練,將訓練性能提高幾百上千倍。
百度在NeurIPS 2018AI for Prosthetics Challenge中使用的Distributed DDPG訓練框架?
基于上述的方法,百度團隊不斷刷新指標,最終以9980的絕對高分拿下比賽冠軍。
另外一個進展則和自動駕駛相關。端到端的控制在機器人領域一直都具有比較高的吸引力。但控制問題是典型的delayedreward的問題,有監督學習在這個領域作用相對較少。近年來不斷有用imitation learning,RL等提升端到端模型的研究。但同時,端到端模型又非常難以訓練。百度首次在一個飛行器上實現了一種新的強化學習訓練框架,并在避障導航問題中應用。
百度提出“干預強化學習(IARL)”和普通強化學習的比較
強化學習用在autonomous driving中的問題有:1)需要大量的數據;2)強化學習需要探索一些冒進的動作,并且經歷一些風險和失敗(比如碰撞)。然而在真實世界這個成本過大,不可能讓無人車或者無人機撞毀無數次來學會如何躲避障礙。
百度提出的一種解決方案是利用安全員,當發現緊急情況時,安全員會做一些緊急動作。policy如下圖所示,是一個比較復雜的端到端網絡結構,融合CNN與LSTM(多幀信息)。但是通常不能把無人車或者飛行器真的完全交給這個模型,而是通過引入安全員來保障安全。
飛行器上使用的端到端控制模型?
當系統做出錯誤判斷或者出現高危動作時,安全員會及時介入。安全員的每次干預,說明機器的動作不對,這是非常珍貴的反饋信息,可以被機器學習。這就是干預輔助強化學習(Intervention Aided Reinforcement Learning)的思想。百度設計的IARL算法包括兩個方面:1. 懲罰任何干預; 2. 學習安全員干預時所采用的操作。
干預強化學習的流程?
IARL在policy和loss function中的體現如下,一方面,需要修改behavior policy,因為現在的policy不再是機器完全自主,而是變成了機器和干預的混合策略;第二方面,在reward上,需要對干預的過程做出懲罰;第三方面,對于policy的目標函數進行修改,增加一項用于學習干預過程的imitation learningloss。
干預強化學習算法?
該算法最終很好地實現了避障。而這個成果,也發表在CoRL 2018會議上[10],演示視頻地址如下: (http://www.iqiyi.com/w_19s79d6rr1.html)
干預強化學習的效果?
?工具-PARL?
現在業界已有不少開源強化學習工具,百度也于近期發布了PARL框架。(https://github.com/PaddlePaddle/PARL)PARL是基于PaddlePaddle的一個強化學習框架,特點是:1)靈活性高,支持多數的強化學習算法;2)為數不多的開源其大規模分布式能力的強化學習算法庫;3)通過之前介紹的工業級場景,驗證了算法庫的可用性。
這套強化學習框架基于3個基礎類,分別是agent、algorithm、model。通過不同層級的定制,PARL能夠實現方便,靈活,可服用,定制方便的強化學習算法,并具有對于大規模并行能力良好支持。用戶可以很方便寫出自己獨特的定制算法,而不必去管具體通信接口等邏輯。以DQN為例,PARL提供了algorithm的現成DQN算法,用戶只需要定制自己的模型即可。
基于PARL的利用現成的DQN Algorithm來開發Model?
而如果用戶需要定制全新的RL算法,也可以通過定制algorithm簡單地實現。
PARL的DDPG Algorithm實例
?最后,如果需要定義自己的全新的并行RL訓練框架,用戶能夠通過定義一些通信邏輯,實現一些并行化的復雜操作。
PARL開發并行訓練方法實例
這套強化學習庫目前在業界已經引起了不少反響。主打靈活,易用和高并發的PARL能夠取得什么樣的成果,請拭目以待。
強化學習的存在問題及應對方法
強化學習 – 問題和潛在的研究方向
強化學習絕不是AI的終點,它實實在在解決了一類問題,然而仍然有更多待解決的問題。深度強化學習還遠遠不夠好(Deep Reinforcement Learning Doesn't Work Yet, https://www.alexirpan.com/2018/02/14/rl-hard.html)。總結而言,強化學習存在的這些問題,也是未來值得去突破的方向,包括:
1)在很多應用中,往往目標不明確。例如對話最終目的一般來說是希望對話系統“表現得像人”,然而這個目標無法清楚地進行數學描述。因此reward modeling是很重要的研究方向。比如百度在推薦排序的時候,使用evaluation-generator的框架,即首先對reward的建模。
2)強化學習需要海量的樣本,甚至比有監督學習還需要更多的樣本。解決方法比如使用world model或planning。
3)獎勵函數過于稀疏,難以探索到優質解。研究方向比如分層訓練、課程學習和引入輔助任務。
4)泛化能力比較差,很多結果處在過擬合的區域。可以使用元學習,遷移學習,以及近期研究較多的攻防理論來改善。
5)實驗難以復現。很多實驗,甚至隨機種子不一樣都會得到完全不一致的效果。這也是百度將自己的工具開源的原因之一,也是要解決這個問題的第一步。
而這些方向,既是強化學習研究的前沿,也是很多工業應用面臨的實際問題。百度也正在著力研究,期待有更多突破性的產出。
?參考文獻
[1] Schulman, John, etal. "High-dimensional continuous control using generalized advantageestimation." arXiv preprintarXiv:1506.02438 (2015).
[2] Yue, Yisong, andCarlos Guestrin. "Linear submodular bandits and their application todiversified retrieval." Advances in Neural Information Processing Systems.2011.
[3] Wilhelm, Mark, etal. "Practical Diversified Recommendations on YouTube with DeterminantalPoint Processes." Proceedings of the 27th ACM International Conference on Informationand Knowledge Management. ACM, 2018.
[4]?WangF , Fang X , Liu L , et al. Sequential Evaluation and Generation Framework for CombinatorialRecommender System[J]. 2019.
[5] Wen, Tsung-Hsien,et al. "A network-based end-to-end trainable task-oriented dialoguesystem." arXiv preprintarXiv:1604.04562 (2016).
[6] Zhang, Saizheng,et al. "Personalizing Dialogue Agents: I have a dog, do you have petstoo?." arXiv preprint arXiv:1801.07243(2018).?“Self-EvolvingDialogue System with Adversarial Safe Automatic Evaluation”
[7] Lillicrap, TimothyP., et al. "Continuous control with deep reinforcement learning."arXiv preprintarXiv:1509.02971(2015).
[8] Bengio, Yoshua, etal. "Curriculum learning." Proceedings of the 26th annualinternational conference on machine learning. ACM, 2009.
[9] Ian Osband,Charles Blundell, Alexander Pritzel, Benjamin Van Roy, Deep Exploration viaBootstrapped DQN, In NIPS 2016.
[10] Wang, F., Zhou,B., Chen, K., Fan, T., Zhang, X., Li, J., ... & Pan, J. (2018, October).Intervention Aided Reinforcement Learning for Safe and Practical PolicyOptimization in Navigation. In Conference on Robot Learning.
PaddlePaddlePaddlePaddle是百度獨立研發的深度學習平臺,易用,高效,靈活可伸縮,可支持海量圖像識別分類、機器翻譯和自動駕駛等多個領域業務需求,現已全面開源。
理論強化學習52相關數據深度學習技術深度學習(deep learning)是機器學習的分支,是一種試圖使用包含復雜結構或由多重非線性變換構成的多個處理層對數據進行高層抽象的算法。 深度學習是機器學習中一種基于對數據進行表征學習的算法,至今已有數種深度學習框架,如卷積神經網絡和深度置信網絡和遞歸神經網絡等已被應用在計算機視覺、語音識別、自然語言處理、音頻識別與生物信息學等領域并獲取了極好的效果。
來源:LeCun, Y., Bengio, Y., & Hinton, G. (2015). Deep learning. nature, 521(7553), 436.自動駕駛技術從 20 世紀 80 年代首次成功演示以來(Dickmanns & Mysliwetz (1992); Dickmanns & Graefe (1988); Thorpe et al. (1988)),自動駕駛汽車領域已經取得了巨大進展。盡管有了這些進展,但在任意復雜環境中實現完全自動駕駛導航仍被認為還需要數十年的發展。原因有兩個:首先,在復雜的動態環境中運行的自動駕駛系統需要人工智能歸納不可預測的情境,從而進行實時推論。第二,信息性決策需要準確的感知,目前大部分已有的計算機視覺系統有一定的錯誤率,這是自動駕駛導航所無法接受的。
來源:機器之心動態規劃技術動態規劃(也稱為動態優化),是一種在數學、管理科學、計算機科學、經濟學和生物信息學中使用的,通過把原問題分解為相對簡單的子問題的方式求解復雜問題的方法。動態規劃將復雜的問題分解成一系列相對簡單的子問題,只解決一次子問題并存儲它的解決方案(solution),下一次遇到同樣的子問題時無需重新計算它的解決方案,而是簡單地查找先前計算的解決方案,從而節省計算時間。動態規劃適用于有最優子結構(Optimal Substructure)和重疊子問題(Overlapping Subproblems)性質的問題。
來源:Wikipedia深度強化學習技術強化學習(Reinforcement Learning)是主體(agent)通過與周圍環境的交互來進行學習。強化學習主體(RL agent)每采取一次動作(action)就會得到一個相應的數值獎勵(numerical reward),這個獎勵表示此次動作的好壞。通過與環境的交互,綜合考慮過去的經驗(exploitation)和未知的探索(exploration),強化學習主體通過試錯的方式(trial and error)學會如何采取下一步的動作,而無需人類顯性地告訴它該采取哪個動作。強化學習主體的目標是學習通過執行一系列的動作來最大化累積的獎勵(accumulated reward)。 一般來說,真實世界中的強化學習問題包括巨大的狀態空間(state spaces)和動作空間(action spaces),傳統的強化學習方法會受限于維數災難(curse of dimensionality)。借助于深度學習中的神經網絡,強化學習主體可以直接從原始輸入數據(如游戲圖像)中提取和學習特征知識,然后根據提取出的特征信息再利用傳統的強化學習算法(如TD Learning,SARSA,Q-Learnin)學習控制策略(如游戲策略),而無需人工提取或啟發式學習特征。這種結合了深度學習的強化學習方法稱為深度強化學習。
來源:Scholarpedia機器學習技術機器學習是人工智能的一個分支,是一門多領域交叉學科,涉及概率論、統計學、逼近論、凸分析、計算復雜性理論等多門學科。機器學習理論主要是設計和分析一些讓計算機可以自動“學習”的算法。因為學習算法中涉及了大量的統計學理論,機器學習與推斷統計學聯系尤為密切,也被稱為統計學習理論。算法設計方面,機器學習理論關注可以實現的,行之有效的學習算法。
來源:Mitchell, T. (1997). Machine Learning. McGraw Hill.協同過濾技術協同過濾(英語:Collaborative Filtering),簡單來說是利用某興趣相投、擁有共同經驗之群體的喜好來推薦用戶感興趣的信息,個人通過合作的機制給予信息相當程度的回應(如評分)并記錄下來以達到過濾的目的進而幫助別人篩選信息,回應不一定局限于特別感興趣的,特別不感興趣信息的紀錄也相當重要。協同過濾又可分為評比(rating)或者群體過濾(social filtering)。其后成為電子商務當中很重要的一環,即根據某顧客以往的購買行為以及從具有相似購買行為的顧客群的購買行為去推薦這個顧客其“可能喜歡的品項”,也就是借由社區的喜好提供個人化的信息、商品等的推薦服務。除了推薦之外,近年來也發展出數學運算讓系統自動計算喜好的強弱進而去蕪存菁使得過濾的內容更有依據,也許不是百分之百完全準確,但由于加入了強弱的評比讓這個概念的應用更為廣泛,除了電子商務之外尚有信息檢索領域、網絡個人影音柜、個人書架等的應用等。
來源:維基百科規劃技術人工智能領域的「規劃」通常是指智能體執行的任務/動作的自動規劃和調度,其目的是進行資源的優化。常見的規劃方法包括經典規劃(Classical Planning)、分層任務網絡(HTN)和 logistics 規劃。
來源:機器之心元學習技術元學習是機器學習的一個子領域,是將自動學習算法應用于機器學習實驗的元數據上。現在的 AI 系統可以通過大量時間和經驗從頭學習一項復雜技能。但是,我們如果想使智能體掌握多種技能、適應多種環境,則不應該從頭開始在每一個環境中訓練每一項技能,而是需要智能體通過對以往經驗的再利用來學習如何學習多項新任務,因此我們不應該獨立地訓練每一個新任務。這種學習如何學習的方法,又叫元學習(meta-learning),是通往可持續學習多項新任務的多面智能體的必經之路。
來源:機器之心推薦系統技術推薦系統(RS)主要是指應用協同智能(collaborative intelligence)做推薦的技術。推薦系統的兩大主流類型是基于內容的推薦系統和協同過濾(Collaborative Filtering)。另外還有基于知識的推薦系統(包括基于本體和基于案例的推薦系統)是一類特殊的推薦系統,這類系統更加注重知識表征和推理。
來源:機器之心神經網絡技術(人工)神經網絡是一種起源于 20 世紀 50 年代的監督式機器學習模型,那時候研究者構想了「感知器(perceptron)」的想法。這一領域的研究者通常被稱為「聯結主義者(Connectionist)」,因為這種模型模擬了人腦的功能。神經網絡模型通常是通過反向傳播算法應用梯度下降訓練的。目前神經網絡有兩大主要類型,它們都是前饋神經網絡:卷積神經網絡(CNN)和循環神經網絡(RNN),其中 RNN 又包含長短期記憶(LSTM)、門控循環單元(GRU)等等。深度學習是一種主要應用于神經網絡幫助其取得更好結果的技術。盡管神經網絡主要用于監督學習,但也有一些為無監督學習設計的變體,比如自動編碼器和生成對抗網絡(GAN)。
來源:機器之心準確率技術分類模型的正確預測所占的比例。在多類別分類中,準確率的定義為:正確的預測數/樣本總數。 在二元分類中,準確率的定義為:(真正例數+真負例數)/樣本總數
來源:Google ML Glossary監督學習技術監督式學習(Supervised learning),是機器學習中的一個方法,可以由標記好的訓練集中學到或建立一個模式(函數 / learning model),并依此模式推測新的實例。訓練集是由一系列的訓練范例組成,每個訓練范例則由輸入對象(通常是向量)和預期輸出所組成。函數的輸出可以是一個連續的值(稱為回歸分析),或是預測一個分類標簽(稱作分類)。
來源:Wikipedia語料庫技術語料庫一詞在語言學上意指大量的文本,通常經過整理,具有既定格式與標記;事實上,語料庫英文 "text corpus" 的涵意即為"body of text"。
來源:維基百科邏輯技術人工智能領域用邏輯來理解智能推理問題;它可以提供用于分析編程語言的技術,也可用作分析、表征知識或編程的工具。目前人們常用的邏輯分支有命題邏輯(Propositional Logic )以及一階邏輯(FOL)等謂詞邏輯。
來源:機器之心目標函數技術目標函數f(x)就是用設計變量來表示的所追求的目標形式,所以目標函數就是設計變量的函數,是一個標量。從工程意義講,目標函數是系統的性能標準,比如,一個結構的最輕重量、最低造價、最合理形式;一件產品的最短生產時間、最小能量消耗;一個實驗的最佳配方等等,建立目標函數的過程就是尋找設計變量與目標的關系的過程,目標函數和設計變量的關系可用曲線、曲面或超曲面表示。
來源:百度百科遷移學習技術遷移學習是一種機器學習方法,就是把為任務 A 開發的模型作為初始點,重新使用在為任務 B 開發模型的過程中。遷移學習是通過從已學習的相關任務中轉移知識來改進學習的新任務,雖然大多數機器學習算法都是為了解決單個任務而設計的,但是促進遷移學習的算法的開發是機器學習社區持續關注的話題。 遷移學習對人類來說很常見,例如,我們可能會發現學習識別蘋果可能有助于識別梨,或者學習彈奏電子琴可能有助于學習鋼琴。
來源:機器之心Pan, S. J., & Yang, Q. (2010). A survey on transfer learning. IEEE Transactions on Knowledge and Data Engineering, 22(10), 1345–1359.過擬合技術過擬合是指為了得到一致假設而使假設變得過度嚴格。避免過擬合是分類器設計中的一個核心任務。通常采用增大數據量和測試樣本集的方法對分類器性能進行評價。
來源:Wikipedia無人機技術無人機(Uncrewed vehicle、Unmanned vehicle、Drone)或稱無人載具是一種無搭載人員的載具。通常使用遙控、導引或自動駕駛來控制。可在科學研究、軍事、休閑娛樂用途上使用。
來源:維基百科馬爾可夫決策過程技術馬爾可夫決策過程為決策者在隨機環境下做出決策提供了數學架構模型,為動態規劃與強化學習的最優化問題提供了有效的數學工具,廣泛用于機器人學、自動化控制、經濟學、以及工業界等領域。當我們提及馬爾可夫決策過程時,我們一般特指其在離散時間中的隨機控制過程:即對于每個時間節點,當該過程處于某狀態(s)時,決策者可采取在該狀態下被允許的任意決策(a),此后下一步系統狀態將隨機產生,同時回饋給決策者相應的期望值,該狀態轉移具有馬爾可夫性質。
來源:Reinforcement Learning: An Introduction, by R. Sutton and A. G. Barto; Algorithms for Reinforcement Learning, by C. Szepesvari對話系統技術對話系統大致被分成兩類: 任務為導向的對話系統,幫助用戶去完成特定任務,比如找商品,訂住宿,訂餐廳等。實現任務為導向的對話系統,主要有兩類方式,流水線方法和端到端方法。非任務導向的對話系統,與用戶進行互動并提供回答,簡單的說,就是在開放領域的閑聊。實現非任務導向對話系統也主要可分為兩類,生成方法和基于檢索的方法。
來源:CSDN主動學習技術主動學習是半監督機器學習的一個特例,其中學習算法能夠交互式地查詢用戶(或其他信息源)以在新的數據點處獲得期望的輸出。 在統計學文獻中,有時也稱為最佳實驗設計。
來源:Wikipedia強化學習技術強化學習是一種試錯方法,其目標是讓軟件智能體在特定環境中能夠采取回報最大化的行為。強化學習在馬爾可夫決策過程環境中主要使用的技術是動態規劃(Dynamic Programming)。流行的強化學習方法包括自適應動態規劃(ADP)、時間差分(TD)學習、狀態-動作-回報-狀態-動作(SARSA)算法、Q 學習、深度強化學習(DQN);其應用包括下棋類游戲、機器人控制和工作調度等。
來源:機器之心百度機構百度(納斯達克:BIDU),全球最大的中文搜索引擎、最大的中文網站。1999年底,身在美國硅谷的李彥宏看到了中國互聯網及中文搜索引擎服務的巨大發展潛力,抱著技術改變世界的夢想,他毅然辭掉硅谷的高薪工作,攜搜索引擎專利技術,于 2000年1月1日在中關村創建了百度公司。 “百度”二字,來自于八百年前南宋詞人辛棄疾的一句詞:眾里尋他千百度。這句話描述了詞人對理想的執著追求。 百度擁有數萬名研發工程師,這是中國乃至全球最為優秀的技術團隊。這支隊伍掌握著世界上最為先進的搜索引擎技術,使百度成為中國掌握世界尖端科學核心技術的中國高科技企業,也使中國成為美國、俄羅斯、和韓國之外,全球僅有的4個擁有搜索引擎核心技術的國家之一。
相關技術深度學習自然語言處理機器學習京東機構京東(股票代碼:JD),中國自營式電商企業,創始人劉強東擔任京東集團董事局主席兼首席執行官。旗下設有京東商城、京東金融、拍拍網、京東智能、O2O及海外事業部等。2013年正式獲得虛擬運營商牌照。2014年5月在美國納斯達克證券交易所正式掛牌上市。 2016年6月與沃爾瑪達成深度戰略合作,1號店并入京東。
展開全部數據補充:
1
總結
以上是生活随笔為你收集整理的强化学习之原理与应用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: selenium.common.exce
- 下一篇: MindSpore小笔记