多任務進化優化算法(二) 多因子進化算法(MFEA)的理論基礎、多任務貝葉斯優化以及MFEAII簡介

摘要

​ 此篇博客主要介紹了MFEA理論推導及其改進算法MFEA-II。在多任務優化的情景下,如果任務之間存在潛在關係,那麼高質量的解在這些任務之間的轉移可以顯著提高算法的性能。然而有的時候缺乏關於任務間協同作用的任何先驗知識(黑盒優化),主要是負遷移導致算法的性能受損,因此負向任務間交互的易感性會阻礙整體的收斂行爲。爲了減輕這種負遷移的情況,MFEA-II在MFEA-I的基礎上利用在線學習以及不同任務在多任務設置中的相似性(和差異)增強了優化進程。此算法具有原則性的理論分析,其試圖讓任務之間有害交互的趨勢最小化。本博客首先闡述了進化多任務優化的背景,然後介紹了分佈估計算法收斂性的理論分析,其次介紹了Kavitesh Kumar Bali等人利用理論分析結果設計了新的算法MFEA-II。

一.背景

​ 首先闡述一下遷移學習和多任務學習的區別。遷移學習利用來自各種源任務的可用數據池來提高相關目標任務的學習效率。例如目前有一個任務B是分辨出一張圖片裏面是否有貓,假設我們之前做過一個任務A是分辨出一張圖片裏面是否有狗,那麼我們可以利用任務A的數據提高任務B的學習效率,具體來說假設我們任務A的學習模型是一個深度卷積神經網絡,此時我們任務兩個分類任務很大程度上是相關的,因此我們可以直接將A模型拿來當做B的學習模型,並且可以直接利用A模型的參數,這樣可以提高B任務的學習效率。遷移學習主要針對的是目標任務,而多任務學習則是通過在不同任務之間共享信息,同時學習所有任務,以提高整體泛化性能。具體來說,多任務優化的目的是通過促進全方位的知識轉移,實現更大的協同搜索,從而促進多個問題的同時高效解決。

​ 之前大多數的多任務學習主要用於迴歸和預測等領域,而從多任務貝葉斯優化[1]開始,越來越多的學者纔在優化領域裏開始研究知識遷移。多任務貝葉斯優化是支持自動機器學習超參數優化的一個突出進展。利用多任務高斯過程模型自適應學習任務間依賴關係,改進了貝葉斯優化算法的整體搜索,取得了較好的效果。然而,貝葉斯優化通常侷限於相當低或中等維數的問題。這是因爲,隨着搜索空間維數的增加,保證良好的空間覆蓋率(用於學習精確的高斯過程模型)所需的數據點數量呈指數級增長(通常稱爲冷啓動問題)。此外,貝葉斯優化的應用主要侷限於連續搜索空間,不直接應用於組合搜索空間,其中不定核可能難以處理。相比之下,進化算法(EAs)在填補這些空白方面一直很有前景。EAs在適應不同的數據表示(無論是連續還是組合)方面提供了巨大的靈活性,並且可以很好地擴展到更高的維度。因此產生了很多多任務進化優化算法,並解決了許多實際問題以及理論問題。但由於缺乏任務間的協同作用,負遷移會導致算法性能受損,因此MFEA-II考慮到這一點,使用數據驅動的在線學習潛在的相似性問題。

二.多任務貝葉斯優化

​ 高斯過程(GPs)是一個用於指定函數f:χRf:\chi \rightarrow \mathbb{R}上先驗分佈的一個靈活分類模型。它們由N個點的任意有限集合X={xnχ}n=1NX=\left \{ x_n\in \chi \right \}^N_{n=1}導出一個RN\mathbb{R}^N高斯分佈。高斯過程由一個均值函數m:χRm:\chi\rightarrow \mathbb{R},一個正定協方差矩陣或者內核函數K:χχRK:\chi \cdot \chi\rightarrow\mathbb{R}指定。預測值和方差可以表示如下:
μ(x;{xn,yn},θ)=K(X,x)K(X,X)1(ym(X))Σ(x,x;{xn,yn},θ)=K(x,x)K(X,x)K(X,X)1K(X,x) \begin{aligned} \mu\left(\mathbf{x} ;\left\{\mathbf{x}_{n}, y_{n}\right\}, \theta\right) &=K(\mathbf{X}, \mathbf{x})^{\top} K(\mathbf{X}, \mathbf{X})^{-1}(\mathbf{y}-m(\mathbf{X})) \\ \Sigma\left(\mathbf{x}, \mathbf{x}^{\prime} ;\left\{\mathbf{x}_{n}, y_{n}\right\}, \theta\right) &=K\left(\mathbf{x}, \mathbf{x}^{\prime}\right)-K(\mathbf{X}, \mathbf{x})^{\top} K(\mathbf{X}, \mathbf{X})^{-1} K\left(\mathbf{X}, \mathbf{x}^{\prime}\right) \end{aligned}
​ 這裏K(X,x)K(X,x)是一個x和X之間互協方差的N維列向量。N*N矩陣K(X,X)K(X,X)是集合X的Gram矩陣,即
K(x1,x2,,xk)=((x1,x1)(x1,x2)(x1,xk)(x2,x1)(x2,x2)(x2,xk)(xk,x1)(xk,x2)(xk,xk)) K\left(x_{1}, x_{2}, \ldots, x_{k}\right)=\left(\begin{array}{cccc}{\left(x_{1}, x_{1}\right)} & {\left(x_{1}, x_{2}\right)} & {\dots} & {\left(x_{1}, x_{k}\right)} \\ {\left(x_{2}, x_{1}\right)} & {\left(x_{2}, x_{2}\right)} & {\ldots} & {\left(x_{2}, x_{k}\right)} \\ {\cdots} & {\cdots} & {\cdots} & {\ldots} \\ {\left(x_{k}, x_{1}\right)} & {\left(x_{k}, x_{2}\right)} & {\dots} & {\left(x_{k}, x_{k}\right)}\end{array}\right)
​ 我們將高斯過程擴展到向量值函數的情況,例如f:χRTf:\chi \rightarrow \mathbb{R}^T。可以將其解釋爲屬於T個不同的迴歸任務。用高斯過程建模這類函數的關鍵是在兩兩任務之間定義一個有用的協方差函數K((x,t),(x,t))K\left((\mathrm{x}, t),\left(\mathrm{x}^{\prime}, t^{\prime}\right)\right)。一種簡單的方法被稱爲共區域化的內在模型(intrinsic model of coregionalization),它轉換一個潛在的函數來產生每個輸出,即
K multi ((x,t),(x,t))=Kt(t,t)Kx(x,x) K_{\text { multi }}\left((\mathrm{x}, t),\left(\mathrm{x}^{\prime}, t^{\prime}\right)\right)=K_{\mathrm{t}}\left(t, t^{\prime}\right) \otimes K_{\mathrm{x}}\left(\mathrm{x}, \mathrm{x}^{\prime}\right)
這裏表示\otimes克羅內克乘積,KxK_{\mathrm{x}}度量輸入之間的關係,KtK_{t}度量任務之間的關係。給定K multi K_{\text { multi }},這只是一個標準的GP。因此,在觀測的總數仍然是立方增長的。

​ 貝葉斯優化是一種用於全局優化噪聲、代價昂貴的黑盒函數的通用框架。該方法可以使用相對廉價的概率模型去代理財務、計算或物理上昂貴的函數評價。貝葉斯規則用於推導給定觀測值的真實函數的後驗估計,然後使用代理確定下一個最有希望查詢的點。一種常見的方法是使用GP定義從輸入空間到希望最小化損失的目標函數的分佈。也就是說,給定形式的觀察序列對:{xn,yn}n=1N\left \{ x_n,y_n \right \}^N_{n=1},這裏xnχ,ynRx_n\in \chi,y_n\in \mathbb{R},我們假設f(x)用一個高斯過程來刻畫,這裏ynN(f(xn),v)y_n\sim N(f(x_n),v)並且vv是一個函數觀測的噪聲誤差。

​ 一種標準的方法是通過查找函數a(x;{xn,yn},θ)a(x;\left \{x_n,y_n\right\},\theta)在定義域χ\chi上的最大值來選擇下一個點。期望改進標準(EI):
aEI(x;{xn,yn},θ)=(x,x;{xn,yn},θ)(γ(x)Φ(γ(x))+N(γ(x);0,1)) a_{EI}(x;\left\{ x_n,y_n \right\},\theta)=\sqrt{\sum(x,x;\left\{ x_n,y_n \right\},\theta)}(\gamma(x)\Phi(\gamma(x))+N(\gamma(x);0,1))

γ(x)=ybestμ(x;{xn,yn},θ)(x,x;{xn,yn},θ) \gamma(x)=\frac{y_{best}-\mu(x;\left\{x_n,y_n\right\},\theta)}{\sqrt{\sum(x,x;\left\{x_n,y_n\right\},\theta)}}

這裏Φ()\Phi(\cdot)爲標準正太的累積分佈函數,γ(x)\gamma(\mathbf{x})是一個分數。由於其形式簡單,EI可以使用標準的黑盒優化算法進行局部優化。

​ 與啓發式獲取函數(如EI)相比,另一種方法是考慮函數的最小值上的分佈,並迭代地評估最能降低該分佈熵的點。這種熵搜索策略[18]對降低優化過程中最小值位置的不確定性有很好的解釋。在這裏,我們將熵搜索問題表示爲從預先指定的候選集中選擇下一個點。設置一個C個點的集合X~X\tilde{\mathbf{X}} \subset \mathcal{X},我們可以寫出一個在X~\tilde{\mathbf{X}}中函數值最小的點xX~\mathrm{x} \in \tilde{\mathrm{X}}的概率:
Pr(min at θ,X~,{xn,yn}n=1N)=RCp(fx,θ,{xn,yn}n=1N)x~X~\xh(f(x~)f(x))df \operatorname{Pr}\left(\min \text { at } | \theta, \tilde{\mathbf{X}},\left\{\mathbf{x}_{n}, y_{n}\right\}_{n=1}^{N}\right)=\int_{\mathbb{R}^{C}} p\left(\mathbf{f} | \mathbf{x}, \theta,\left\{\mathbf{x}_{n}, y_{n}\right\}_{n=1}^{N}\right) \prod_{\tilde{\mathbf{x}} \in \tilde{\mathbf{X}} \backslash \mathbf{x}} h(f(\tilde{\mathbf{x}})-f(\mathrm{x})) \mathrm{d} \mathbf{f}
​ 這裏f\mathbf{f}是點X~\tilde{\mathbf{X}}的函數值向量,hh是Heaviside階躍函數。如果在x上的y 值被揭示,熵搜索過程依賴於對該分佈的不確定性減少的估計。進行以下定義:Pr(min at xθ,X~,{xn,yn}n=1N)\operatorname{Pr}\left(\min \text { at } x | \theta, \tilde{\mathbf{X}},\left\{\mathbf{x}_{n}, y_{n}\right\}_{n=1}^{N}\right) as Pmin\mathrm{P}_{\mathrm{min}}p(fx,θ,{xn,yn}n=1N)p\left(\mathbf{f} | \mathbf{x}, \theta,\left\{\mathbf{x}_{n}, y_{n}\right\}_{n=1}^{N}\right) as p(fx)p(\mathbf{f} | \mathbf{x}),高斯過程(GP)似然函數爲p(yf)p(y | \mathrm{f})。定義P的熵爲H(P)H(\mathbf{P})。目標是從一組候選點中找出x點,使信息增益在最小位置分佈上最大化,
aKL(x)=[H(Pmin)H(Pminy)]p(yf)p(fx)dydf a_{\mathrm{KL}}(\mathrm{x})=\iint\left[H\left(\mathrm{P}_{\min }\right)-H\left(\mathrm{P}_{\min }^{y}\right)\right] p(y | \mathrm{f}) p(\mathrm{f} | \mathrm{x}) \mathrm{d} y \mathrm{df}
​ 這裏Pminy\mathrm{P}_{\mathrm{min}}^{y}表明幻想觀測{x,y}\{x, y\}已經添加到觀察集裏。雖然上式沒有一個簡單的形式,但是我們可以用蒙特卡羅方法通過採樣f來近似它。這個公式的另一種替代方法是考慮相對於均勻基分佈的熵的減少,但是我們發現公式(7)在實際中工作得更好。

​ 在多任務GPs框架下,對相關任務進行優化是相當直接的。我們只是把未來的觀察限制在感興趣的任務上,然後像往常一樣繼續下去。一旦我們對感興趣的任務有了足夠的觀察,就可以進行適當的估計KtK_{t},然後其他任務將作爲額外的觀察,不需要任何額外的功能評估。圖1給出了多任務GP與單任務GP的對比及其對EI的影響。
在這裏插入圖片描述
圖1 (a)一個包含來自多任務GP的三個任務的示例函數。任務2和任務3是相關的,任務1和任務3是反相關的,任務1和任務2是不相關的。(b)獨立的。©第三個任務的多任務預測。點表示觀察值,虛線表示預測平均值。這裏我們展示了三個任務和相應的觀察值,目標是最小化第三個任務。底部顯示的曲線代表了該任務上每個輸入位置的預期改進。獨立的GP不能很好地表達函數,優化EI會導致錯誤的評價。多任務GP利用其他任務,最大EI點對應於真實的最小化。

​ 在這裏,我們將考慮在多個任務上優化平均函數。這包含了單任務和多任務設置的元素,因爲我們有一個表示多個任務上的聯合函數的目標。我們通過考慮k-fold交叉驗證上的更細化的貝葉斯優化來激活這種方法。我們希望優化所有k次摺疊的平均性能,但是爲了確定考慮中的超參數的質量,可能沒有必要實際評估所有這些性能。平均目標的預測均值和方差爲:
μ(x)=1kt=1kμ(x,t;{xn,yn},θ),σ(x)2=1k2t=1kt=1kΣ(x,x,t,t;{xn,yn},θ) \overline{\mu}(\mathrm{x})=\frac{1}{k} \sum_{t=1}^{k} \mu\left(\mathrm{x}, t ;\left\{\mathrm{x}_{n}, y_{n}\right\}, \theta\right), \quad \overline{\sigma}(\mathrm{x})^{2}=\frac{1}{k^{2}} \sum_{t=1}^{k} \sum_{t^{\prime}=1}^{k} \Sigma\left(\mathrm{x}, \mathrm{x}, t, t^{\prime} ;\left\{\mathrm{x}_{n}, y_{n}\right\}, \theta\right)
​ 如果我們願意爲我們查詢的每個點x花費一個函數評估,那麼這個目標的優化可以使用標準方法進行。然而,在許多情況下,這可能是昂貴的,甚至可能是浪費。作爲一個極端的例子,如果我們有兩個完全相關的任務,那麼每個查詢花費兩個函數計算不會提供額外的信息,其代價是單任務優化的兩倍。更有趣的情況是,嘗試聯合選擇x和任務t,並且每個查詢只花費一個函數評估。

​ 我們選擇a(x,t)\mathrm{a}(\mathrm{x}, t)使用兩步啓發式配對。首先,我們利用預測方法估算缺失的觀測值。然後利用估計平均函數選擇一個有希望的候選x對EI進行優化。以x爲條件,然後我們選擇產生最高的單任務預期改進的任務。

​ 有一種研究多任務平均誤差最小化的方法是應用貝葉斯優化來優化多個數據集上的單個模型。他們的方法是將每個函數投射到一個聯合的潛在空間中,然後依次迭代地訪問每個數據集。

​ 與其從一個已經完成的相關任務的搜索中轉移知識來引導一個新的任務,更可取的策略是讓優化例程動態地查詢相關的任務,這可能會大大降低成本。直觀地說,如果兩個任務緊密相關,那麼評估一個更便宜的任務可以揭示信息,並減少關於更昂貴任務上最小值位置的不確定性。例如,一個聰明的策略可以在冒險評估一個昂貴的任務之前,對一個有希望的位置進行低成本的探索。在本節中,我們爲這種動態多任務策略開發了一個獲取函數,該函數特別考慮了基於熵搜索策略的噪聲估計成本。雖然EI準則在單個任務用例中是直觀有效的,但它不能直接推廣到多任務用例中。然而,熵搜索可以很自然地轉化爲多任務問題。在這種情況下,我們有來自多個任務的觀察對{xnt,ynt}n=1N\left\{\mathrm{x}_{n}^{t}, y_{n}^{t}\right\}_{n=1}^{N}並且選擇一個候選的xt\mathbf{x}^{t},它最大程度地降低了主要任務的Pmin\mathrm{P}_{\mathrm{min}}的熵,這裏我們設置t=1t=1。對於xt>1x^{t>1}而言,Pmin\mathrm{P}_{\mathrm{min}}評估爲0。然而對於yt>1y^{t>1},我們可以評估Pminy\mathrm{P}_{\mathrm{min}}^{y},並且如果輔助任務與主任務相關,Pminy\mathrm{P}_{\mathrm{min}}^{y}會改變基本分佈並且H(Pmin)H(Pminy)H\left(\mathrm{P}_{\min }\right)-H\left(\mathrm{P}_{\min }^{y}\right)是正的。降低f的不確定性,對相關輔助任務的觀測值進行評價可以降低PminP_{min}對感興趣的主要任務的熵。但是,請注意,在相關任務上評估一個點永遠不會比在感興趣的任務上評估相同的點揭示更多的信息。因此,上述策略永遠不會選擇評估相關的任務。然而,當考慮到成本時,輔助任務每單位成本可能傳遞更多的信息。因此,我們將目標由式(6)轉化爲反映評價候選點的單位成本信息增益:
aIG(xt)=(H[Pmin]H[Pminy]ct(x))p(yf)p(fxt)dydf a_{\mathrm{IG}}\left(\mathrm{x}^{t}\right)=\iint\left(\frac{H\left[\mathrm{P}_{\min }\right]-H\left[\mathrm{P}_{\min }^{y}\right]}{c_{t}(\mathrm{x})}\right) p(y | \mathrm{f}) p\left(\mathrm{f} | \mathrm{x}^{t}\right) \mathrm{d} y \mathrm{df}
這裏ct(x),ct:XR+c_{t}(\mathrm{x}), c_{t} : \mathcal{X} \rightarrow \mathbb{R}^{+}爲計算任務t在x處的實值成本,雖然我們事先不知道這個成本函數,但是我們可以用類似於任務函數的方法來估計它,f(xt)f\left(\mathbf{x}^{t}\right)*:*使用相同的多任務GP機制對logct(x)\log c_{t}(\mathrm{x})進行建模。
在這裏插入圖片描述
圖2:一個可視化的多任務信息增益每單位成本的獲取函數。在每個圖中,目標是求出實藍色函數的最小值。綠色函數是輔助目標函數。在每個圖的底部都有一些線,表示關於主要目標函數的預期信息增益。綠色虛線表示通過評估輔助目標函數得到的關於主要目標的信息增益。圖2a顯示了來自GP的兩個不相關的採樣函數,評估主要目標可以獲得信息,而評估輔助目標則不能。圖2b我們看到,在兩個強相關函數的作用下,對其中一個任務的觀察不僅減少了對另一個任務的不確定性,而且來自輔助任務的觀察獲得了關於主任務的信息。最後,在2c中,我們假設主要目標的成本是輔助任務的三倍,因此評估相關任務在單位成本上獲得了更多的信息收益。

​ 圖2使用兩個任務示例提供了此獲取函數的可視化。它展示瞭如何在相關輔助任務上選擇一個點,以減少有關感興趣的主要任務上的最小值位置的不確定性(藍色實線)。在本文中,我們假設計算aIGa_{\mathrm{IG}}的所有候選點都來自一個固定子集。

三.多任務進化優化——MFEA系列

​ 多任務進化優化顧名思義是利用進化算法去優化多個任務,Yew-Soon Ong等學者將其提出的MFEA建模成了分佈估計算法,對其構造和採樣了概率混合分佈(結合來自不同任務的搜索分佈)作爲在多任務設置中初始化知識的交換方法。爲了通過混合概率分佈研究遷移的內部原理,其在之前的理論分析上又提出來新的算法MFEA-II。

3.1 混合模型概述

​ 混合模型必須要求定義一個公共的搜索空間,因此下面先介紹一下統一搜索空間(unified search space)。

​ 在多任務優化中,由於每個優化任務都有自己的搜索空間,因此我們必須建立一個統一的搜索空間以至於可以進行知識遷移。不是一般性,考慮同時求解K個最大化任務{T1,T2,,TK}\left\{T_{1}, T_{2}, \ldots, T_{K}\right\},每個任務對應的搜索維度爲D1,D2,,DKD_{1}, D_{2}, \ldots, D_{K},在這種情況下,我們可以定義一個維度爲Dunified=max{D1,D2,,DK}D_{u n i f i e d}=\max \left\{D_{1}, D_{2}, \ldots, D_{K}\right\}的統一空間XX。這樣定義主要有以下兩點好處:第一,當同時使用多維搜索空間解決多個任務時,它有助於規避與維數詛咒相關的挑戰。第二,它被認爲是一種基於種羣搜索的有效方法,可以促進有用的遺傳物質的發現和從一個任務到另一個任務的隱性轉移。這裏XX的範圍限制爲[0,1]Dunified[0,1] D_{u n i f i e d},它作爲一個連續的統一空間,所有候選解都映射到其中(編碼),對於各種離散/組合問題,可以設計不同的編碼/解碼過程。

​ 接下來我們就可以正式定義混合模型的知識遷移啦!不失一般性的,我們定義PkP^{k}爲第k個子任務對應的子種羣。定義fk=fk(x)f_{k}^{*}=f_{k}\left(x^{*}\right)爲第k個任務的全局最大值。假設對於任務TkT_k而言,x是XX中的候選解之一,那麼定義以下假設:對於任意的fk<fkf_{k}^{\prime}<f_{k}^{*},集合H={xxX,fk(x)>fk}H=\left\{x | x \in X, f_{k}(x)>f_{k}^{\prime}\right\}的Borel measure是正的。在進化多任務算法裏,我們可以將與每個任務相聯繫的子種羣在一個時間步t>0t>0內源於的潛在概率分佈定義爲p1(x,t),p2(x,t),,pK(x,t)p^{1}(x, t), p^{2}(x, t), \ldots, p^{K}(x, t)。因此,在促進任務間交互的過程中,第t次迭代時爲第k個任務生成的後代種羣被認爲是從下面的混合分佈中得到的
qk(x,t)=αkpk(x,t)+jkαjpj(x,t) q^{k}(x, t)=\alpha_{k} \cdot p^{k}(x, t)+\sum_{j \neq k} \alpha_{j} \cdot p^{j}(x, t)
有限的qk(x,t)q^{k}(x, t)是所有K個可用分佈的線性組合,混合係數爲αs0\alpha^{\prime} s\geq 0。其滿足αk+jkαj=1\alpha_{k}+\sum_{j \neq k} \alpha_{j}=1

​ 通過上述建模我們可以認爲多任務進化優化中的知識轉移是(9)中從混合概率分佈裏採樣出來的候選點。混合的程度是由係數αs\alpha^{\prime} s控制的,可想而知在缺乏對任務間關係的先驗知識的情況下,混合概率分佈有可能會錯誤地造成以負遷移。然而MFEA中並沒有考慮,因此原作者在其基礎上又提出了MFEA-II進行改進。以下我們還是先分析一下混合模型在多任務下的全局收斂性。主要是要證明基於概率建模的EAs的漸進全局收斂性保持不變。

​ 爲了便於數學推導,必須要假設每個子種羣很大,即NN \rightarrow \infty。雖然其不符合實際,但它被認爲是一種合理的簡化。有這麼條件,我們就可以通過Glivenko-Cantelli theorem(隨着樣本的增加,經驗分佈函數將隨着樣本的增加而收斂於其真實的分佈函數)推得,子種羣PkP^{k}的經驗概率密度更接近於真實的潛在分佈pk(x)p^{k}(x)。假設初始化的所有子種羣中,pk(x,t=0)p^{k}(x, t=0)是正的且連續。如果limtE[fk(x)]=limtXfk(x)pk(x,t)dx=fk,k\lim _{t \rightarrow \infty} \mathbb{E}\left[f_{k}(x)\right]=\lim _{t \rightarrow \infty} \int_{X} f_{k}(x) \cdot p^{k}(x, t) \cdot d x=f_{k}^{*}, \forall k,那麼在多任務環境下每個子任務漸進收斂到全局最優。通俗點說就是隨着優化過程的進行,種羣分佈必須逐漸集中在統一空間中與全局最優對應的點上。在進化多任務算法裏,我們通常採用(μ,λ)(\mu, \lambda)的選擇策略,即對於每個任務,從λ\lambda中選擇μ\mu個個體(μ<λ\mu<\lambda)作爲下一代的父代。那麼選出來的父代定義爲PckP_{c}^{k}。首先,讓我們定義一個參數θ=μ/λ,0<θ<1\theta=\mu / \lambda,0<\theta<1。那麼在此選擇方式下,混合概率分佈爲
pk(x,t+1)={qk(x,t)θ if fk(x)βk(t+1)0 otherwise  p^{k}(x, t+1)=\left\{\begin{array}{ll}{\frac{q^{k}(x, t)}{\theta}} & {\text { if } f_{k}(x) \geq \beta^{k}(t+1)} \\ {0} & {\text { otherwise }}\end{array}\right.
這裏βk(t+1)\beta^{k}(t+1)是一個實數,其滿足
fk(x)βk(t+1)qk(x,t)dx=θ \int_{f_{k}(x) \geq \beta^{k}(t+1)} q^{k}(x, t) \cdot d x=\theta
那麼給出以下定理。

定理1:假設對於所有的k,pk(x,t=0)p^{k}(x, t=0)是正的且連續並且NN \rightarrow \infty。在多任務處理過程中,如果αk>θ\alpha_{k}>\theta,那麼各任務漸近收斂到全局最優解。

證明:假設第k個任務對應的目標值集合爲Fk(t)F^{k}(t)。那麼集合最小值是βk(t)=infFk(t)\beta^{k}(t)=\inf F^{k}(t)。換句話說
pk(x,t)=0fk(x)<βk(t) p^{k}(x, t)=0 \Leftrightarrow f_{k}(x)<\beta^{k}(t)
我們可以將原問題轉化爲證明βk(t)\beta^{k}(t)收斂即可。βk(t)<βk(t+1)\beta^{k}(t)<\beta^{k}(t+1)使人有一種直覺,即種羣的擴散一定在縮小,逐漸擴大到統一空間中最有希望的區域。因此以下證明βk(t)<βk(t+1)\beta^{k}(t)<\beta^{k}(t+1)

根據(9)式,得
fk(x)βk(t)qk(x,t)dxfk(x)βk(t)αkpk(x,t)dx \int_{f_{k}(x) \geq \beta^{k}(t)} q^{k}(x, t) \cdot d x \geq \int_{f_{k}(x) \geq \beta^{k}(t)} \alpha_{k} \cdot p^{k}(x, t) \cdot d x
根據(12)可知fk(x)βk(t)pk(x,t)dx=1\int_{f_{k}(x) \geq \beta^{k}(t)} p^{k}(x, t) \cdot d x=1,根據(13)得,
fk(x)βk(t)qk(x,t)dxαk \int_{f_{k}(x) \geq \beta^{k}(t)} q^{k}(x, t) \cdot d x \geq \alpha_{k}
如果αk>θ\alpha_{k}>\theta,根據(14)(11)得,
fk(x)βk(t)qk(x,t)dx>fk(x)βk(t+1)qk(x,t)dx \int_{f_{k}(x) \geq \beta^{k}(t)} q^{k}(x, t) \cdot d x>\int_{f_{k}(x) \geq \beta^{k}(t+1)} q^{k}(x, t) \cdot d x
根據(15),由於左邊比右邊值大,因此易知,βk(t)<βk(t+1)\beta^{k}(t)<\beta^{k}(t+1)。又因爲βk\beta^{k}不可能超過fkf_{k}^{*},那麼意味着存在一個極限limtβk(t)=fk\lim _{t \rightarrow \infty} \beta^{k}(t)=f_{k}^{\prime}使得fkfkf_{k}^{\prime} \leq f_{k}^{*}。因此以下利用反證法證明fk=fkf_{k}^{\prime}=f_{k}^{*}。即假設fk<fkf_{k}^{\prime}<f_{k}^{*}。根據公式(9)(10)得,
pk(x,t)pk(x,0)[αkθ]tx:fk(x)>fk p^{k}(x, t) \geq p^{k}(x, 0)\left[\frac{\alpha_{k}}{\theta}\right]^{t} \forall x : f_{k}(x)>f_{k}^{\prime}
H={xxX,fk(x)>fk}H=\left\{x | x \in \boldsymbol{X}, f_{k}(x)>f_{k}^{\prime}\right\},因爲對所有的xXx \in \boldsymbol{X}pk(x,0)>0p^{k}(x, 0)>0並且αkθ>1\frac{\alpha_{k}}{\theta}>1,那麼
limtpk(x,t)=+,xH \lim _{t \rightarrow \infty} p^{k}(x, t)=+\infty, \forall x \in H
那麼根據Fatou’s lemma可知,
limtHpk(x,t)dx=+ \lim _{t \rightarrow \infty} \int_{H} p^{k}(x, t) \cdot d x=+\infty
由於pk(x,t)p^{k}(x, t)是概率密度函數,求和應該爲1,因此(18)矛盾,所以fk=fkf_{k}^{\prime}=f_{k}^{*}。即
limtβk(t)=fk \lim _{t \rightarrow \infty} \beta^{k}(t)=f_{k}^{*}

3.2 MFEA的簡介和理論分析

​ 以上簡要介紹了混合模型的基本知識,下面介紹一下MFEA並對其進行理論分析。MFEA事實上是一種基於交叉和變異的進化算法,那上面的混合模型豈不是白分析了?其實在相對強的以父爲中心的進化算子約束下,基於交叉和變異的EAs算法與基於隨機採樣的優化算法有相似之處。其實就是以父代爲中心的操作符傾向於使後代更接近父代,這種情況發生的概率更高。常見的例子包括模擬二進制交叉和多項式變異以及小方差的高斯變異等等。在這種情況下,父代和子代的經驗密度分佈認爲相近是十分合理的。因此上面3.1的分析就可以直接拿過來分析MFEA了。

​ MFEA的基本思想就是使用一個種羣P去解決K個優化子任務,每個任務都被視爲影響種羣進化的因素。與第k個任務關聯的子種羣表示爲PkP_k。對於每個個體而言,定義了技能因子爲其擅長任務的編號,標量適應度定義爲某個個體在所有與它具有相同技能因子的個體裏函數值排名的倒數。MFEA的算法僞代碼如下:
在這裏插入圖片描述

​ 根據算法流程易知,MFEA中的知識轉移程度由標爲隨機匹配概率(rmp)的標量(用戶定義)參數控制。在MFEA的任意t代,種羣P(t)P(t)的概率密度函數p(x,t)p(x, t)是K個概率密度函數pk(x,t)p^{k}(x, t)的混合。第K個概率密度函數對應第K個子種羣Pk(t)P(t)P^{k}(t) \subset P(t)。*:*在進化算子的適當假設下,pc(x,t)p(x,t)p_{c}(x, t) \approx p(x, t),任務之間的交叉分佈pck(x,t)p_{c}^{k}(x, t)不一定等於pk(x,t)p^{k}(x, t)。有以下定理:

定理2:在以父爲中心的進化算子的假設下,在MFEA中第k個任務的子代混合分佈pck(x,t)p_{c}^{k}(x, t)可以表示爲
pck(x,t)=[10.5(K1)rmpK]pk(x,t)+jk0.5rmpKpj(x,t) p_{c}^{k}(x, t)=\left[1-\frac{0.5 \cdot(K-1) \cdot r m p}{K}\right] \cdot p^{k}(x, t)+\sum_{j \neq k} \frac{0.5 \cdot r m p}{K} \cdot p^{j}(x, t)
證明:讓後代的解xax_a被分配一個技能因子k,在以父爲中心的進化算子的假設下,xax_a是從p1(x,t),p2(x,t),,,or,pk(x,t),,or,pK(x,t)p^{1}(x, t), p^{2}(x, t), \ldots, \ldots, o r, p^{k}(x, t), \ldots, o r, p^{K}(x, t)中得到的。有貝葉斯定理可得,
P(xapk(x,t)τa=k)=P(τa=kxapk(x,t))P(xapk(x,t))P(τa=k) P\left(x_{a} \sim p^{k}(x, t) | \tau_{a}=k\right)=\frac{P\left(\tau_{a}=k | x_{a} \sim p^{k}(x, t)\right) \cdot P\left(x_{a} \sim p^{k}(x, t)\right)}{P\left(\tau_{a}=k\right)}
考慮在MFEA中統一分配資源給K個優化任務,我們有
P(xapk(x,t))=P(τa=k)=1K P\left(x_{a} \sim p^{k}(x, t)\right)=P\left(\tau_{a}=k\right)=\frac{1}{K}
根據上面兩式得,
P(xapk(x,t)τa=k)=P(τa=kxapk(x,t)) P\left(x_{a} \sim p^{k}(x, t) | \tau_{a}=k\right)=P\left(\tau_{a}=k | x_{a} \sim p^{k}(x, t)\right)
根據算法流程,可以知道P(τa=kxapk(x,t))P\left(\tau_{a}=k | x_{a} \sim p^{k}(x, t)\right)有種3情況:

第一種情況,兩個個個體具有相同的技能因子時,xax_a子代繼承同樣的技能因子,概率爲
P(Scenario1)=1K1=1K P(\text {Scenario}-1)=\frac{1}{K}*1=\frac{1}{K}
第二種情況,滿足rmp要求,xax_a子代繼承其技能因子的概率爲
P(Scenario2)=0.5(K1)rmpK P(\text {Scenario}-2)=\frac{0.5 \cdot(K-1) \cdot r m p}{K}
第三種情況,xax_a是一個很小的變異,那麼概率爲
P(Scenario3)=(K1)(1rmp)K P(\text {Scenario}-3)=\frac{(K-1) \cdot (1-r m p)}{K}
那麼
P(τa=kxapk(x,t))=i=13P(Scenarioi) P\left(\tau_{a}=k | x_{a} \sim p^{k}(x, t)\right)=\sum_{i=1}^{3} P(S c e n a r i o-i)
因此
P(xapk(x,t)τa=k)=10.5(K1)rmpK P\left(x_{a} \sim p^{k}(x, t) | \tau_{a}=k\right)=1-\frac{0.5 \cdot(K-1) \cdot r m p}{K}

P(xapj(x,t)jkτa=k)=jk0.5rmpK P\left(x_{a} \sim p^{j}(x, t) \forall j \neq k | \tau_{a}=k\right)=\sum_{j \neq k} \frac{0.5 \cdot r m p}{K}

結合上面兩式得
pck(x,t)=[10.5(K1)rmpK]pk(x,t)+jk0.5rmpKpj(x,t) p_{c}^{k}(x, t)=\left[1-\frac{0.5 \cdot(K-1) \cdot r m p}{K}\right] \cdot p^{k}(x, t)+\sum_{j \neq k} \frac{0.5 \cdot r m p}{K} \cdot p^{j}(x, t)
證畢。

定理3:在大種羣的假設下(NN \rightarrow \infty),如果θ(=μ/λ)0.5\theta(=\mu / \lambda) \leq 0.5,使用以父爲中心的交叉以及(μ,λ)(\mu, \lambda)選擇機制,那麼MFEA算法在所有任務上具有全局的收斂性。

證明:根據定理2可知,αk=10.5(K1)rmpK\alpha_{k}=1-\frac{0.5 \cdot(K-1) \cdot r m p}{K}。因爲0rmp10 \leq r m p \leq 1,所以0.5<αk10.5<\alpha_{k} \leq 1。因此αk>θ\alpha_{k}>\theta。那麼根據定理1得證。

​ 從算法1可以看出,MFEA的性能依賴於rmp的選擇。由於缺乏關於任務間關係的先驗知識,因此需要調優適當的rmp。從本質上講,不好的rmp可能會導致任務間的消極交互,或者潛在的知識交換損失。原作者還在文章裏證明了在任務之間沒有互補性的情況下,單任務可能比多任務處理具有更快的收斂速度,MFEA收斂速度的降低是依賴於rmp的。因此爲了更好的探究算法裏潛在的知識遷移,作者提出了一種在線rmp估計算法MFEA-II,從理論上保證最小化不同優化任務之間的負面(有害)交互。

3.3 MFEA-II的理論分析與算法介紹

​ 從MFEA的收斂速度分析中,易推斷多任務處理中的負遷移可以通過強制pck(x,t)p_{c}^{k}(x, t)pk(x,t)p^{k}(x, t)越近越好。根據定理2可知,讓rmp爲0即可,但這樣就沒有信息遷移了,因此,主要目標是提出一個促進知識轉移的策略(rmp > 0),同時減輕負面的任務間交互。爲此原作者提出了一種新的基於數據驅動的在線學習方式來估計rmp的值,從而推斷出一個最優的混合分佈。這裏rmp不再是一個標量值,而是K*K大小的矩陣:
RMP=[rmp1,1rmp1,2rmp2,1rmp2,2] R M P=\left[\begin{array}{cccc}{r m p_{1,1} } & {r m p_{1,2}} & {\cdot} & {\cdot} \\ {r m p_{2,1}} & {r m p_{2,2}} & {\cdot} & {\cdot} \\ {\cdot} & {\cdot} & {\cdot} & {\cdot} \\ {\cdot} & {\cdot} & {\cdot} & {\cdot} & {\cdot}\end{array}\right]
這裏rmpj,k=rmpk,jr m p_{j, k}=r m p_{k, j}用來捕捉兩個任務之間的協同作用。易知rmpj,j=1,jr m p_{j, j}=1, \forall j。這種增強提供了一個明顯的優勢,在許多實際場景中,任務之間的互補性在不同的任務對之間可能不是一致的,原作者提出的方法能夠捕獲不一致的任務間協同。

​ 假設在第t代,gk(x,t)g^{k}(x, t)是任意第k個任務的一個真實分佈pk(x,t)p^{k}(x, t)的概率評估模型,那麼gk(x,t)g^{k}(x, t)是根據子種羣Pk(t)P^{k}(t)的數據集構建的。將真實的密度函數替換爲已學習的概率模型,並使用RMP矩陣的元素代替標量RMP,可以將式(20)重寫爲
gck(x,t)=[10.5Kkjrmpk,j]gk(x,t)+0.5Kjkrmpk,jgj(x,t) g_{c}^{k}(x, t)=\left[1-\frac{0.5}{K} \cdot \sum_{k \neq j} r m p_{k, j}\right] \cdot g^{k}(x, t)+\frac{0.5}{K} \sum_{j \neq k} r m p_{k, j} \cdot g^{j}(x, t)
這裏gck(x,t)g_{c}^{k}(x, t)是一種近似子代種羣pck(x,t)p_{c}^{k}(x, t)分佈的概率混合模型。爲了使pck(x,t)p_{c}^{k}(x, t)pk(x,t)p^{k}(x, t)越近越好,等價於學習RMP矩陣使得子代概率模型gck(x,t)g_{c}^{k}(x, t)精確地建模父代分佈pk(x,t)p^{k}(x, t)。採用KL來度量其兩者。即最小化以下式子
minRMPk=1KKL(pk(x,t)gck(x,t)) \min _{R M P} \sum_{k=1}^{K} K L\left(p^{k}(x, t) \| g_{c}^{k}(x, t)\right)

minRMPk=1KXpk(x,t)[logpk(x,t)loggck(x,t)]dx \min _{R M P} \sum_{k=1}^{K} \int_{\boldsymbol{X}} p^{k}(x, t) \cdot\left[\log p^{k}(x, t)-\log g_{c}^{k}(x, t)\right] \cdot d x
最小化上式即最大化以下式子(因爲第一項和RMP沒關係)
maxRMPk=1KXpk(x,t)loggck(x,t)dx \max _{R M P} \sum_{k=1}^{K} \int_{X} p^{k}(x, t) \cdot \log g_{c}^{k}(x, t) \cdot d x
又因爲E[loggck(x,t)]=Xpk(x,t)loggck(x,t)dx\mathbb{E}\left[\log g_{c}^{k}(x, t)\right]=\int_{\boldsymbol{X}} p^{k}(x, t) \cdot \log g_{c}^{k}(x, t) \cdot d x,那麼上式可修改爲
maxRMPk=1KE[loggck(x,t)] \max _{R M P} \sum_{k=1}^{K} \mathbb{E}\left[\log g_{c}^{k}(x, t)\right]
假設θ(=μ/λ)=0.5\theta(=\mu / \lambda)=0.5,那麼E[loggck(x,t)]=1N/2i=1N/2loggck(xik,t)\mathbb{E}\left[\log g_{c}^{k}(x, t)\right] = \frac{1}{N/2} \sum_{i=1}^{N / 2} \log g_{c}^{k}\left(x_{i k}, t\right),修改上式爲
maxRMPk=1K1N/2i=1N/2loggck(xik,t) \max _{R M P} \sum_{k=1}^{K} \frac{1}{N/2} \sum_{i=1}^{N / 2} \log g_{c}^{k}\left(x_{i k}, t\right)
即假設對於所有k{1,2,,K}k \in\{1,2, \ldots, K\},在每個子種羣Pk(t)P^{k}(t)上建立概率模型gk(x,t)g^{k}(x, t)。那麼學習RMP矩陣就是最大化下列似然函數:
maxRMPk=1Ki=1N/2loggck(xik,t) \max _{R M P} \sum_{k=1}^{K} \sum_{i=1}^{N / 2} \log g_{c}^{k}\left(x_{i k}, t\right)
這裏xikx_{ik}是第i個採樣個體在數據集Pk(t)P^{k}(t)上。

​ 通過以上方法進行RMP矩陣的數據驅動學習,可以直接使多任務設置中的各種任務相互作用,同時有助於抑制負遷移。由於實際中Pk(t)P^{k}(t)數據較少,如果一個複雜的模型很容易過擬合,事實上在經典的遷移/多任務學習文獻中,通常通過內部交叉驗證步驟或引入噪聲來克服,以防止過度擬合。MFEA-II的作者建議使用一個簡單快速的模型去防止過擬合(例如單變量的邊際分佈)。

​ 因此MFEA-II的框架如下:
在這裏插入圖片描述

圖左:現有MFEA的總體框架。注意MFEA使用了一個離線標量rmp賦值。圖右:MFEA-II與添加在線RMP矩陣學習模塊。

​ 其中RMP的在線學習的僞代碼如下
在這裏插入圖片描述
這裏要求k=1Ki=1N/2loggck(xik,t)\sum_{k=1}^{K} \sum_{i=1}^{N / 2} \log g_{c}^{k}\left(x_{i k}, t\right)是向上凸的,因此利用經典的優化器可以在較小的計算開銷下求解問題。

MFEA-II中的任務間交叉的僞代碼如下

在這裏插入圖片描述
​ 綜上所述,MFEA-II在MFEA的基礎上加入了在線評估rmp技術,使得直接自動的設置各種任務的相互作用,同時有助於抑制負遷移。這裏就不列出它的代碼了,感興趣的同學去我主頁上下載吧。

四.參考文獻

[1]A. Gupta, Y.-S. Ong, and L. Feng, “Multifactorial evolution: Toward evolutionary multitasking,” IEEE Trans. Evol. Comput., vol. 20, no. 3, pp.343–357, 2016.
[2]K. K. Bali, Y. Ong, A. Gupta and P. S. Tan, “Multifactorial Evolutionary Algorithm with Online Transfer Parameter Estimation: MFEA-II,” in IEEE Transactions on Evolutionary Computation, doi: 10.1109/TEVC.2019.2906927, 2019.
[3]K. Swersky, J. Snoek, and R. P. Adams, “Multi-task bayesian optimization,” in Advances in neural information processing systems, 2013, pp. 2004–2012.

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