色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

強化學習在智能對話上的應用介紹

電子設計 ? 來源:電子設計 ? 作者:電子設計 ? 2020-12-10 19:02 ? 次閱讀

本文主要介紹深度強化學習在任務型對話上的應用,兩者的結合點主要是將深度強化學習應用于任務型對話的策略學習上
來源:騰訊技術工程微信號

背景

本文主要介紹深度強化學習在任務型對話上的應用,兩者的結合點主要是將深度強化學習應用于任務型對話的策略學習上,目前工業界普遍使用的策略都是基于規則的,顯然基于規則的方法有人力成本高、泛化能力差等缺點,而強化學習恰好能解決這些問題,而且強化學習只需要一些目標,無需大量的訓練語料,避免了深度學習的一大缺點。

首先簡單介紹一下強化學習和對話系統,然后再具體介紹一下深度強化學習在任務型對話中是怎么應用的,最后給出訓練的結果和總結。以下舉例部分都會以訂餐場景為準。

強化學習

強化學習系統由智能體(Agent)、狀態(state)、獎賞(reward)、動作(action)和環境(Environment)五部分組成。

Agent:智能體是整個強化學習系統核心。它能夠感知環境的狀態(State),并且根據環境提供的獎勵信號(Reward),通過學習選擇一個合適的動作(Action),來最大化長期的Reward值。簡而言之,Agent就是根據環境提供的Reward作為反饋,學習一系列的環境狀態(State)到動作(Action)的映射,動作選擇的原則是最大化未來累積的Reward的概率。選擇的動作不僅影響當前時刻的Reward,還會影響下一時刻甚至未來的Reward,因此,Agent在學習過程中的基本規則是:如果某個動作(Action)帶來了環境的正回報(Reward),那么這一動作會被加強,反之則會逐漸削弱,類似于物理學中條件反射原理。

Environment:環境會接收Agent執行的一系列的動作(Action),并且對這一系列的動作的好壞進行評價,并轉換成一種可量化的(標量信號)Reward反饋給Agent,而不會告訴Agent應該如何去學習動作。Agent只能靠自己的歷史(History)經歷去學習。同時,環境還像Agent提供它所處的狀態(State)信息。

Reward:環境提供給Agent的一個可量化的標量反饋信號,用于評價Agent在某一個時間步所做action的好壞。強化學習就是基于一種最大化累計獎賞假設:強化學習中,Agent進行一系列的動作選擇的目標是最大化未來的累計獎賞。

State:狀態指Agent所處的環境信息,包含了智能體用于進行Action選擇的所有信息,它是歷史(History)的一個函數:St = f(Ht)。

可見,強化學習的主體是Agent和環境Environment。Agent為了適應環境,做出的一系列的動作,使最終的獎勵最高,同時在此過程中更新特定的參數。實際上可以把強化學習簡單理解成是一種循環,具體的工作方式如下:

智能體從環境中獲取一個狀態St;

智能體根據狀態St采取一個動作at;

受到at的影響,環境發生變化,轉換到新的狀態St+1;

環境反饋給智能體一個獎勵(正向為獎勵,負向則為懲罰)。

對話系統

對話系統是為了某種目的設計的用以與人類對話的機器,這種目的可以是為了特定的任務,也可以是簡單的與人聊天,前者就是任務型對話,后者為非任務型對話系統。

任務型的對話主要為了一個特定的目標進行對話,比如常見的訂飛機票、訂餐等。對于任務型對話工業界主要實現方案還是為pipeline的方式,即按照SLU、DST、DPL和NLG的方式組織整個對話系統,在學術界上end-to-end的方式也越來越受到關注,與pipeline不同,end-to-end模型使用一個模塊,并與結構化的外部數據庫交互。

非任務型的對話則類似于微軟小冰和人進行一些聊天。非任務型的對話主流實現方案有兩種:生成式和檢索式。隨著seq2seq模型的越來越成熟,生成式方案也越來越受到關注,這種方法是把對話任務看成是一種翻譯任務,認為Q(人說的話)和A(機器的回復)是兩種語言。檢索式則是系統有很多訓練數據,其中包括擴展問題(每個問題都對應一個標準問)、答案(每個標準問對應一個答案),當用戶說一句話時,則系統用這句話作為query在訓練集中進行檢索和排序得到匹配的問題,最后根據這個問題的標準問查詢答案。當然也有這兩種方式的結合,即使用生成式生成候選的答案,再使用檢索式進行匹配和排序得到精準回答。

DQN+任務型對話

DQN

Q-learning是強化學習中的一種,在Q-learning中,我們維護一張Q值表,表的維數為:狀態數S * 動作數A,表中每個數代表在態s下可以采用動作a可以獲得的未來收益的折現和——Q值。我們不斷的迭代我們的Q值表使其最終收斂,然后根據Q值表我們就可以在每個狀態下選取一個最優策略。由于這里主要介紹強化學習的在任務型對話中的應用,不進行詳細的介紹,具體的可參照《極簡Qlearning教程

DQN是深度學習與強化學習的結合,即使用神經網絡代替Q-learning中Q表。在普通的Q-learning中,當狀態和動作空間是離散且維數不高時可使用Q-Table儲存每個狀態動作對的Q值,但是當狀態和動作空間是高維或者連續時,使用Q-Table不現實,而神經網絡恰好擅長于此。因此將Q-Table的更新問題變成一個函數擬合問題,相近的狀態得到相近的輸出動作。具體來說,比如我們現在還有一個Q值表,神經網絡的作用就是給定一個狀態s和動作a,預測對應的Q值,使得神經網絡的結果與Q表中的值接近。不過DQN的方式肯定不能繼續維護一個Q表,所以將上次反饋的獎勵作為逼近的目標,如下式,通過更新參數 θ 使Q函數逼近最優Q值 。因此,DQN就是要設計一個神經網絡結構,通過函數來擬合Q值,即:

當然這也會帶來一些問題:

神經網絡需要大量帶標簽的樣本進行監督學習,但是強化學習只有reward返回值,如何構造有監督的數據成為第一個問題,而且伴隨著噪聲、延遲(過了幾十毫秒才返回)、稀疏(很多State的reward是0)等問題;

神經網絡的前提是樣本獨立同分布,而強化學習前后state狀態和反饋有依賴關系——馬爾科夫決策;

神經網絡的目標分布固定,但是強化學習的分布一直變化,比如你玩一個游戲,一個關卡和下一個關卡的狀態分布是不同的,所以訓練好了前一個關卡,下一個關卡又要重新訓練;

過往的研究表明,使用非線性網絡表示值函數時出現不穩定等問題。

針對以上問題的具體解決方案如下:

構造標簽:通過Q-Learning使用reward來構造標簽(對應問題1),如上所述,用神經網絡來預測reward,將問題轉化為一個回歸問題;

經驗回放:通過experience replay(經驗池)的方法來解決相關性及非靜態分布問題(對應問題2、3);

網絡結構:使用一個神經網絡產生當前Q值,使用另外一個神經網絡產生Target Q值(對應問題4)。

構造標簽

對于函數優化問題,監督學習的一般方法是先確定Loss Function,然后求梯度,使用隨機梯度下降等方法更新參數。DQN則基于Q-Learning來確定Loss Function。我們想要使q-target值和q-eval值相差越小越好。DQN中的損失函數是:

這里yi先可以認為是狀態s和動作a對應的標準Q值,實際根據后面的雙網絡結構,yi是根據上一個迭代周期或者說target-net網絡的參數計算出的q-target值,跟當前網絡結構中的參數無關,yi的計算如下,然后整個目標函數就可以通過隨機梯度下降方法來進行優化

經驗回放

經驗池的功能主要是解決相關性及非靜態分布問題。具體做法是把每個時間步agent與環境交互得到的轉移樣本 (st, at, rt, st+1) 儲存到回放記憶單元,要訓練時就隨機拿出一些(minibatch)來訓練。(其實就是將對話的過程打成碎片存儲,訓練時隨機抽取就避免了相關性問題),上面的代碼是將每次神經網絡預測的結果保存在經驗池中,下面則是在每次訓練的時候從經驗池中隨機取出一個batch進行訓練。

雙網絡結構

雙網絡結構即構建兩個神經網絡:target_net和eval_net,eval_net用來進行參數訓練和預測Q值,而target_net是eval_net的一個副本,這個網絡使用來預測目標Q值(構造標簽中的yi),相當于監督訓練中的label。target_net是每隔一定時間更新為eval_net的參數,這樣在一段時間里目標Q值使保持不變的,一定程度降低了當前Q值和目標Q值的相關性,提高了算法穩定性。

任務型對話

任務型對話的主要目標是完成一個任務如訂餐、訂票等,在這種場景下僅僅給用戶一個回答是遠遠不夠的,還需要真正的理解一個用戶的意圖,以及這個意圖相關的信息,如果一個用戶想訂餐,那么需要知道用戶的就餐具體日期、用餐人數等等,所以就需要進行槽提取等等,同時還需要關注當前的獲取的信息量以及未獲取的信息等。

SLU:語言理解,把用戶的自然語言表述的文本處理成預先設計好的機器能夠理解的形式,通常為意圖和槽值對。如用戶輸入“我想訂一個明天的位子”,則SLU的輸出應該是intent=訂餐,slot=date:明天(實際中提取出的槽值需要做標準化處理)。這個部分意圖識別可作為分類任務或者檢索任務,而槽提取一般可用作為NER問題。

DST:對話狀態跟蹤,根據對話歷史管理每一輪對話的輸入,并且預測當前對話的狀態。比如使用規則的方法:有哪些槽已經填充,哪些未填充等、哪些已經問過usr、問過多少次等等。

DPL,對話策略學習,根據當前對話狀態做出下一步的反應。比如根據DST知道有哪些槽未填充,用規則的方法選取一個優先級最高的槽提問。DPL的任務是一個序列決策的過程,因此常用的方法有規則方法、CRF,以及本文的重點:強化學習方法。

NLG,自然語言生成,根據系統得到的動作生成客戶易理解的自然語言文本。這個很容易理解,如果DPL的動作是問用戶就餐人數,在系統里面可能是類似request{“num”:“UNK”},NLG的作用就是把這個轉換成“請問有幾個人就餐呢”。

應用

將強化學習應用于任務型對話的主要是把強化學習應用于DPL學習對話的動作決策,即強化學習中的Action對應于對話中的下一步動作,比如是回答用戶的某個問題還是問用戶下一個槽相關的問題等等。用強化學習的一個好處就是不需要訓練數據,因為訓練過程中只需要Simulator根據設置的goal進行回答和提問就可以了。實際應用中將DM作為強化學習中的Agent,反饋一些信息給用戶。DQN中的reward是根據對話的結果進行提供,分為兩個階段,一個是在對話未完成的時候,每增加一輪對話就給一個-1的獎勵,另外就是在對話完成時,如果完成任務則給一個(max_turn-turn)的獎勵,否則獎勵為-(2* max_turn)。

另外,在訓練強化學習的過程中,實際上并不需要用到SLU和NLG,在Agent和User Simulator之間只需要通過結構化的數據進行交流,而不需要轉換成自然語言,比如:


表示“2019年2月18日和2019年2月19還有空位置”:


則表示“我想訂一個5人的位子,什么時間有空位子?”。

Simulator:模擬用戶行為,Simulator的主要做法就是針對Agent反饋的信息,結合自身的goal進一步與Agent進行交互,比如是回答Agent問題,還是進行反問,是完成goal結束對話,還是拒絕。這相當于使用的是規則的方式,不過也有使用模型的方式構建一個world model來模型用戶。

Goal:任務的目標,在訂餐任務中我們設置的目標形式如下圖。強化學習能夠很好的應用于任務型對話的一大原因就是這些goal本身并不需要人為一個個編寫,只需要根據業務需求根據各個槽完成生成即可,這就避免了大量的訓練預料。

除了以上,還需要根據實際的情況虛構一個數據庫以模擬實際使用中的數據查詢,如餐廳在某些條件下是不是有剩余位子等。

效果

成功率

獎勵

對話輪數

舉例(此處不考慮SLU和NLG,在真正訓練過程中都是使用了結構化的數據),假設我們的goal如下:

使用強化學習的的結果如下:

人工翻譯過來(其實就是基于模板方法的NLG)如下:

上面的結果還是很好的,與針對這個場景精心設計的規則的方法基本上能保持一致:

總結

可以加入額外懲罰和獎勵,加快收斂,比如上一章節中的效果是不加任何額外懲罰和獎勵,可以看出大概在5000個epoch的時候就已經收斂,但是如果加入一些答非所問、回答重復問題等懲罰則不到1000個epoch就會收斂,另外加入這些懲罰和獎勵也會讓網絡朝著我們想要的方向進行訓練,得到更好的結果。

目前我們主要在訂餐的任務上進行了試驗,這個任務還比較簡單,需要找一個更為復雜的場景進行驗證。

訓練過程中只是使用了slot是否填充等,對于已經填充的slot未利用slot的值,對此需要進一步探究slot的值對于DPL的決策是否有影響。

一旦在線上使用的槽的個數需要發生變化就必須重新進行訓練,非常耗時。

Goal和Simulator還是一種比較“僵硬”的做法,需要在實際線上的使用過程中不斷訓練,這樣可以使得對話決策更智能更符合用戶預期。

更多騰訊AI相關技術干貨,請關注專欄騰訊技術工程

審核編輯 黃昊宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 人工智能
    +關注

    關注

    1791

    文章

    47183

    瀏覽量

    238247
  • 強化學習
    +關注

    關注

    4

    文章

    266

    瀏覽量

    11246
收藏 人收藏

    評論

    相關推薦

    【「具身智能機器人系統」閱讀體驗】+初品的體驗

    動態互動的。 該理論強調智能行為源于智能體的物理存在和行為能力,智能體必須具備感知環境并在其中執行任務的能力。具身智能的實現涵蓋了機器學習、
    發表于 12-20 19:17

    《具身智能機器人系統》第1-6章閱讀心得之具身智能機器人系統背景知識與基礎模塊

    搜索策略等規劃算法,強調了軌跡規劃需要考慮機器人的運動學約束。軌跡規劃中,機器人需要同時考慮最大曲率、加速度限制等物理約束,生成平滑可行的運動軌跡。強化學習規劃控制中的應用也很有創新性,通過
    發表于 12-19 22:26

    螞蟻集團收購邊塞科技,吳翼出任強化學習實驗室首席科學家

    近日,專注于模型賽道的初創企業邊塞科技宣布被螞蟻集團收購。據悉,此次交易完成后,邊塞科技將保持獨立運營,而原投資人已全部退出。 與此同時,螞蟻集團近期宣布成立強化學習實驗室,旨在推動大模型強化學習
    的頭像 發表于 11-22 11:14 ?561次閱讀

    如何使用 PyTorch 進行強化學習

    的計算圖和自動微分功能,非常適合實現復雜的強化學習算法。 1. 環境(Environment) 強化學習中,環境是一個抽象的概念,它定義了智能體(agent)可以執行的動作(acti
    的頭像 發表于 11-05 17:34 ?280次閱讀

    谷歌AlphaChip強化學習工具發布,聯發科天璣芯片率先采用

    近日,谷歌芯片設計領域取得了重要突破,詳細介紹了其用于芯片設計布局的強化學習方法,并將該模型命名為“AlphaChip”。據悉,AlphaChip有望顯著加速芯片布局規劃的設計流程,并幫助芯片在性能、功耗和面積方面實現更優表現
    的頭像 發表于 09-30 16:16 ?419次閱讀

    人工智能如何強化智能家居設備的功能

    ,以配合用戶的生活習慣與作息。本文將為您介紹人工智能將如何強化智能家居設備的功能,以及由芯科科技(Silicon Labs)所推出的解決方案,將如何增進智能家居設備的功能性與安全性。
    的頭像 發表于 08-27 10:46 ?881次閱讀
    人工<b class='flag-5'>智能</b>如何<b class='flag-5'>強化</b><b class='flag-5'>智能</b>家居設備的功能

    科大訊飛發布星火極速超擬人交互,重塑智能對話新體驗

    8月19日,科大訊飛震撼宣布了一項關于其明星產品——星火語音大模型的重大革新,即將推出的“星火極速超擬人交互”功能,預示著人機交互的新紀元。該功能定于8月30日正式登陸訊飛星火App,面向廣大用戶開放體驗,引領一場前所未有的智能對話風暴。
    的頭像 發表于 08-20 16:46 ?349次閱讀

    PythonAI中的應用實例

    Python人工智能(AI)領域的應用極為廣泛且深入,從基礎的數據處理、模型訓練到高級的應用部署,Python都扮演著至關重要的角色。以下將詳細探討PythonAI中的幾個關鍵應用實例,包括機器
    的頭像 發表于 07-19 17:16 ?1057次閱讀

    人工智能對軍事領域的影響有哪些

    智慧華盛恒輝人工智能對軍事領域的影響深遠且廣泛,主要體現在以下幾個方面: 智慧華盛恒輝一、作戰效能與智能化 智慧華盛恒輝提升作戰效能: 人工智能通過大數據分析和機器學習算法,能夠快速處
    的頭像 發表于 07-16 09:55 ?521次閱讀

    通過強化學習策略進行特征選擇

    更快更好地學習。我們的想法是找到最優數量的特征和最有意義的特征。本文中,我們將介紹并實現一種新的通過強化學習策略的特征選擇。我們先討論強化學習
    的頭像 發表于 06-05 08:27 ?346次閱讀
    通過<b class='flag-5'>強化學習</b>策略進行特征選擇

    中美首次人工智能政府間對話瑞士日內瓦召開

    據外交部美大司官方微博“寬廣太平洋”發布,中國與美國之間的人工智能政府間對話首次會議于2024年5月14日瑞士日內瓦召開。
    的頭像 發表于 05-15 09:20 ?366次閱讀

    淺談AI技術SSD控制器中的應用

    當前AI技術蓬勃發展,深度學習強化學習等技術不斷突破,使得AI圖像識別、語音識別、自然語言處理等領域取得了顯著成果。
    的頭像 發表于 04-20 10:02 ?871次閱讀
    淺談AI技術<b class='flag-5'>在</b>SSD控制器中的應用

    用于對話式AI的高性能MEMS麥克風,助力改進用戶體驗

    對話式人工智能(AI)是一個快速發展的機器學習(ML)領域,旨在使人機交互更加自然直觀。
    的頭像 發表于 03-12 09:44 ?834次閱讀
    用于<b class='flag-5'>對話</b>式AI的高性能MEMS麥克風,助力改進用戶體驗

    名單公布!【書籍評測活動NO.30】大規模語言模型:從理論到實踐

    強化學習展開,詳細介紹各階段使用的算法、數據、難點及實踐經驗。 預訓練階段需要利用包含數千億甚至數萬億單詞的訓練數據,并借助由數千塊高性能GPU 和高速網絡組成的超級計算機,花費數十天完成深度神經網絡
    發表于 03-11 15:16

    一文詳解Transformer神經網絡模型

    Transformer模型強化學習領域的應用主要是應用于策略學習和值函數近似。強化學習是指讓機器與環境互動的過程中,通過試錯來
    發表于 02-20 09:55 ?1.4w次閱讀
    一文詳解Transformer神經網絡模型
    主站蜘蛛池模板: 久久婷婷电影网| 日本美女搞基视频| 日日日操操操| 一本道本线中文无码| xx69欧美| 好男人WWW免费高清视频在线| 曼谷av女郎| 午夜理伦片免费| 国产日韩欧美有码在线视频| 97超碰射射射| 8050午夜二级一片| 国产3级在线观看| 国产精品97久久AV色婷婷| 久久这里只精品热在线18| 帅哥操帅哥| 99er久久国产精品在线| 国产色婷婷精品人妻蜜桃成熟时| 免费观看激烈日板子| 亚洲欧美国产综合在线一区| 草莓湿漉漉是好事还是恶性| 久久久免费观成人影院| 丝瓜涩涩屋黄瓜香蕉丝瓜| 777米奇影院第七色色| 国偷自产AV一区二区三区健身房| 欧美亚洲色帝国| 在教室做啊好大用力| 国产精品毛片在线视频| 欧美特级特黄a大片免费| 永久免费看mv网站入口| 国产精品高潮AV久久无码| 欧美人与善交大片| 伊人久久大香线蕉avapp下载| 国产精品日本无码久久一老A | 欧美.亚洲.日韩.天堂| 亚洲中文久久久久久国产精品| 高H内射NP古文| 女教师二十三歳| 中文字幕绝色少妇性| 和尚扒开双腿蹂躏| 美女被触手注入精子强制受孕漫画| 女人被躁到高潮嗷嗷叫小|