

和輸出

,而從輸入到輸出之間的對映關係

卻不給予明確的形式化表示,因此也無法計算函式

的derivative。在BBO中,函式

又稱為目標函式,求解目標是找到輸入

使得函式

最大化,函式

可能是Apollo硬體架構探索中的加權平均的執行時間或者是NAS中的探索模型在測試資料上的準確率。

在實際問題中非常困難的時候,這也是NAS和Apollo經常遇到的挑戰。例如,在硬體架構探索的過程中,評估一次硬體配置的效能是一個漫長耗時的過程,導致不可能在實際應用中收集足夠的輸入

和輸出資料

。同樣的問題也出現在NAS中,尤其是訓練超大規模模型,如引數量達數萬億的Switch Transformer。這種表達目標函式所需要的資料不足經常在最佳化過程中遇到,在架構探索中表現地尤為突出。


-
交叉:針對兩個配體的基因序列,在每個序列上選擇一定數量(可以是1個或者是多個)的交叉點,並進行相應位置的基因互換。在圖3(a)中,分別對雙親基因在第三個基因座的基因值進行了互換。交叉方式有多種方式,根據交叉位置的數量可分為單點交叉、兩點交叉、多點交叉;如果兩個配對個體的每個基因座上都以相同的交叉機率進行交叉,則稱之為均勻交叉;如果兩個配體隨機產生兩個交叉點,然後按照隨機產生的整數進行基因互換,則稱為均勻兩點交叉。 -
變異:針對單個個體的基因序列的某些基因值做出修改。一般的流程是,對種群內的所有個體以事先設定的變異機率判斷是否進行變異,然後對進行變異的個體隨機選擇基因座進行變異。在圖3(b)中,將第三個基因座的基因值0替換成1。

圖3:兩種基因遺傳操作




的過去評估結果來搜尋更優的設計點

,包含代理函式(surrogate function)和採集函式(acquisition function)兩個重要函式的設計和選擇。其中,前者用於近似目標函式

,後者用於評估和篩選下一個設計點,並將之與當前所有設計點一起來更新代理函式。貝葉斯方法與其他隨機取樣方法的不同之處在於,在嘗試下一個設計點時,透過貝葉斯公式使得先驗與後驗分佈進行關聯,從而更好地利用現有設計點,來避免之後的無效探索,演算法流程如圖7所示。首先,在觀察到資料

,其中

為已經嘗試過的設計點的數量,透過採集函式尋找下一個可能使目標函式更優的設計點

,形象化表示如圖8(a)所示,其中紅色下三角

是根據採集函式選擇出來的下一個設計點,黑色實圈

是當前已經選擇的設計點。常用的採集函式有Probability of improvement (PI)、Expected improvement(EI),其中EI能解決PI面對的區域性最優問題。根據最新的觀察資料

,更新目標函式分佈

,也就是目標函式的後驗分佈。


,透過代理函式計算得到的是在該點的均值為

、方差為

高斯分佈,而不是單個值。在選擇下一個設計點時,通常會在當前均值的利用(Exploitation)以及由均值和方差確定的範圍內進行的探索(Exploration)之間進行權衡。有關貝葉斯最佳化的更多細節請參考文[6]。





