一個簡單易懂的多智能體強化學習建模過程的例子

        這裏基於一篇論文分享一種強化學習的建模過程,它是將通信當中的資源分配問題建立成強化學習方法,首先大概讀一遍這個題目,叫“基於多智能體強化學習的無人機網絡資源分配”,這裏的network是通信網絡不是神經網絡,資源分配是指通信網絡中,頻譜資源、信道、帶寬、天線功率等等是有限的,怎麼管理這些資源來保證能夠通信的同時優化整個網絡吞吐量、功耗,這個就是網絡資源分配。這裏多智能體就是涉及博弈論的思想。主要內容是分析這篇論文的一個建模過程。

         強化學習也是機器學習的一種,它屬於以行爲主義爲代表的人工智能方法,相比於別的機器學習方法,我總結了他大概有四個特點:首先他和監督學習不同,監督學習他需要帶標籤的樣本,但是強化學習的數據不帶標籤,只是環境在agent的動作下給了獎勵信號;其次,他和無監督學習也不同,無監督學習試圖通過沒有標籤的數據得到一種隱含結構,而強化學習只是通過與環境交互,最大化回報找到一種策略,並不是找出數據中的結構。然後是時隙的概念在強化學習中非常重要,針對不同的時隙劃分方法他都有對應的算法。最後一個,我們知道神經網絡或者深度學習,通過多層網絡結構和非線性變換組合特徵,對事物的感知和表示,而強化學習,通過最大化智能體系從環境中獲得的累計獎勵值來完成檢測最優策略,所以,深度學習有較高的感知能力,而強化學習有較高的決策能力。

         左邊圖片顯示的是強化學習作用的一般過程,然後我們首先定義一個智能體,它有一系列的動作,將這個動作作用於環境,環境就會發生改變,然後環境改變的同時,我們的agent會收到一個獎勵信息,然後agent通過對環境的一個感知,也就是狀態的輸入和這個基於剛纔得到的獎勵信號,然後對下一步的動作做出決策,如此循環的過程就是強化學習的一個基本過程。我們把這個過程建立成把馬爾科夫決策過程,決策過程一般包含五個元素,狀態的集合S,動作集合a狀態轉移概率p,回報r,和折扣因子gama,

         下面舉個簡單例子(來源David Silver),假如我們今天有一節大課,然後他有三節小課,我們上第一節第一小節課的時候有個同學,他可能有50%的概率,在上課的時候玩手機你就刷微信刷微博,當他刷微信刷微博的時候摁可能就比較開心,然後他又有90%的概率繼續刷微信刷微博。就這樣持續一個過程,突然他發現就是老師提了個問題阿,那麼他就有10%的概率,然後又回到這個第一小學的課堂的內容,然後他上了第一小節課,也有可能50%的概率,那麼繼續上第二小姐的課,在我們第二小節,可能他又有點累了,他有0.2的概率,睡睡覺,然後剩下80%的概率繼續上第三小節課啊,上完第三上第三小節課的時候,那又有可能一年四的概率,你去參加什麼party阿60%的概率,他就通過了這麼大客或者通過了考試,那麼通過考試呢,那麼後面你就可以就醫去睡覺了,去玩了是吧,這就是一個嗯,比較直接的馬克福過程。在每一個狀態的時候,我們可以根據他的動作,就是定義一個獎勵值就是這裏圖中顯示的紅色的啊,他每每做出一個動作,根據你動作的好壞,他然後就定一個大小不一的獎勵。

         有了上面的框架,那接下來我們要進行定量分析,所以要定義一些函數。首先是策略,他是從狀態到每個動作的選擇概率之間的映射,也表示一系列特定動作的集合,體現爲概率的形式,所以他的值是0到1。然後是回報,每一時刻有即時獎勵,就是這裏的R,那麼回報是各時刻收益的總和,但是這裏引入一個額外的概念,折扣因子,這個值在0到1之間。在我們算t時刻回報時,如果一昧追求回報最大化,那距離t時刻比較遠的即時獎勵顯得很重要,但事實上未來時刻的獎勵對此刻影響是不重要的,所以需要乘上折扣因子。通過提取因子和合並,我們可以得到此刻回報與下一刻回報的關係。然後是兩個價值函數:狀態價值函數和動作價值函數,字面意思上,一個是衡量智能體處於一個狀態的價值和智能體選定一個動作所帶來的價值,狀態價值是基於狀態s和策略π對回報的期望,期望是什麼?就是概率乘上對應的值再累加,我們可以看右邊上圖,空心圓代表智能體所處的狀態,實心圓代表智能體所選的動作,比如智能體處於狀態s,他有三種動作可選,分別對應一個選擇概率π,那麼每一個動作後又有可能產生兩種狀態,對應概率p,那麼狀態s的價值函數就等於狀態s撇的價值乘上概率再累加,就是公式所對應。動作價值函數類似如下圖,他基於一個動作開始,這個動作可能產生兩種狀態,每個狀態又有兩個動作可選,那動作a的價值函數等於動作a撇的價值乘上概率再累加。我們建立強化學習任務的目的是什麼?就是通過最大化回報尋找出一個策略。有了上面的價值函數然後求最大就可以得到對應的策略了,分別加最優狀態價值函數和最優動作價值函數。那麼兩個最優價值函數的關係由最後這個公式給出,代表的意思是:最優策略下的狀態價值一定等於這個狀態下最優動作的期望回報。也就是說我分別對兩個價值函數求最優,得到的結果都是等價的,都是最優策略。

         有了上面的馬爾科夫決策框架和一些定量的函數,接下來我們看下這篇論文是怎麼把強化學習的模型建立在通信網絡的資源分配問題上的。首先論文基於的大應用背景就是圖中所示的,空中有m個無人機UAV,他們的軌跡是預先規劃好的,地面總共有l個用戶,然後考慮的網絡是空對地通信的下行鏈路的資源分配,每個無人機選擇若干用戶進行信息交互,完成用戶間的信息交互,但無人機之間是沒有通信的,也就是每個無人機都不知道其他無人機的狀態。對於每個無人機,他要從若干功率、若干用戶和若干子信道中選擇一個或多個,也就是圖中顯示的三個維度的動作集,也就是說論文的目的是尋找M個無人機中,每個無人機對應哪些功率值、用戶數和子信道讓整個通信網絡的資源最大化利用,同時無人機之間是沒有信息交互的,但根據通信原理,他們的信號是存在干擾的。

       基於上面的目的,接下來是如何定量分析,怎麼評價選擇一個動作所帶來價值的多少呢,也就是說,怎樣評價一個信道和用戶通信的好壞呢?在通信領域,一般有個概念叫信道的信噪比(其實不僅通信裏有,圖像處理、好多地方都用到),通俗來講就是一個信道中有用的信號比上噪聲或者干擾,比值越大,信道質量越好。這篇論文是這麼定義的:一個信道的信噪比等於信道增益乘功率比上干擾與衰減的和。這裏的干擾就是除本無人機,接收到其他無人機的信號就爲干擾。一個無人機總信幹噪比就對用戶數和信道數進行累加。有了信噪比就好辦了,而且每個無人機的信噪比是可以測到的,那麼就可以定義回報,這裏的即時收益是:當我們給定一個閾值,當信噪比大於這個閾值時就定義有收益,小於則沒收益爲0,那麼有收益具體爲多少呢?W是信道總帶寬,k是信道數,帶寬越高、信噪比越高那收益值越高,而功率是消極值,所以收益和功率是負相關的。那麼價值函數就是上面定義的,對回報取期望,所以最終的目標是最大化收益找到最佳策略。這裏的策略是三個維度的動作集合。

         剛纔我們定義回報時,它是包含信噪比當中的干擾的,這個干擾是來自其他無人機的信道,但是這個量雖然可以測量,但我們不知道其他無人機的子信道和功率水平以及信道增益,但是我們的目標是尋求整個網絡的聯合策略。所以怎麼知道其他無人機的動作也是必須的,但是無人機相互間沒有進行通信。這篇論文通過建立隨機非合作博弈來解決這個矛盾。上面我們是從一個無人機的角度建立價值函數,接下來我們把聯合策略融入回報和價值函數,對公式進行改寫。首先假設每一個無人機的動作空間擴大至聯合動作空間,分別表示所選用戶、子信道和功率水平。那麼信噪比改寫成這樣,這裏θ-m是其他無人機的動作,G(t)是信道增益。這裏我們再定義一個無人機狀態,信噪比大於給定閾值時狀態爲1,其他狀態爲0。那麼回報和上面是一樣的,只不過裏面的動作空間是聯合策略下的空間。

         無人機 m 的優化目標是隨着時間的推移使其期望回報最大化,我們對狀態價值函數進行改寫,在所建立的隨機博弈中,玩家(uav)具有個體期望報酬,這取決於聯合策略,而不取決於玩家的個體策略。因此,不能簡單地期望玩家最大化他們的期望回報,因爲不可能所有玩家同時達到這個目標。在隨機博弈中,讓整體最優的解就是納什均衡解。在納什均衡解的情況下,每個無人機的行動是對其他無人機選擇的最佳反應,也就是說只要其他玩家無人機繼續採用原來策略不變,該玩家無法通過改變自身策略獲得更大回報時,這個策略是納什均衡點。有了這個規則,我們不需要知道其他無人機的動作就可以找到自身的納什均衡策略了。

         所以整個網絡的框架就如圖所示,具體來說,對於每一個無人機 m,左側是在時隙 t 時的局部觀察信息-狀態 s t m 和獎勵 r t m;右側是在時隙 t 時無人機 m 的動作。當所有其他玩家選擇固定策略時,隨機博弈中玩家面臨的決策問題相當於馬爾可夫決策過程。所有 agent 獨立地執行一個決策算法,但共享一個共同的結構。

      下面就是經典Q算法求解上面的價值函數,最終得到最優策略。

 

源論文:

Cui, Jingjing & Liu, Yuanwei & Nallanathan, Arumugam. (2019). Multi-Agent Reinforcement Learning Based Resource Allocation for UAV Networks. IEEE Transactions on Wireless Communications. PP. 10.1109/TWC.2019.2935201.

https://arxiv.org/abs/1810.10408

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章