第一章 緒論
一般而言,連續函數的最佳化問題可以分為單峰(unimodal)函式最佳化問 題,和多峰(multimodal)函式最佳化問題。而在本論文中,我們將函式最佳化問 題分為單漏斗(single-funnel)函式最佳化問題,和多漏斗(multi-funnel)函式最佳化 問題,主要著重在多漏斗函式的最佳化問題上。一個函數被稱之為單漏斗函式,
儘管它是高度多峰函數,如果其區域最佳解的所分布結構上存在著一個全域的趨 勢,指向全域最佳解。那此函式就被稱作為單漏斗函式。然而,在許多真實世界 中的最佳化應用中,並不存在著這樣子的簡單結構。許多最佳化問題其區域最佳 解群聚在不同的解空間區域,且沒有一個隱含的全域凹形拓撲指向其全域最佳 解。這類函數則被稱為多漏斗函數[1, 2]。著名的例子包括生物分子的潛能表面[3]
以及蛋白質的聚集和錯摺疊[4]。文獻[5]建議,演算法的全域搜尋能力可能在多 漏斗函數最佳化問題中,扮演著關鍵性的角色。為了這目的,我們將均值移動[6]
程序導入自適應共變異數矩陣演化策略[7, 8],使我們可以同時使用多重自適應 共變異數矩陣演化策略,各演化策略模組間獨立或相關的平行搜尋解空間。
首先,我們將自適應共變異數矩陣演化策略所產生的候選樣本作核密度估 計。然後,再將均值移動分群法套用在估計出來的核密度,以用來決定解空間中 自適應共變異數矩陣演化策略所需模組數目。就另一方面而言,在多自適應共變 異數矩陣演化策略模組的案例中,本論文所提出之基於均值移動之自適應共變異 數矩陣演化策略採用了常態混合機率模型(mixture model of normal distribution)[9, 10],用來分佈下一代(generation)的候選樣本。下一代混合模型的共變異數矩陣 是由各個自適應共變異數矩陣演化策略模組的前代變異數矩陣的組合而成。導入 混合模型提供了一個在不同自適應共變異數矩陣演化策略模組之間的溝通橋 樑,使模組間不是獨立的平行演化反而是合作式的平行演化,其在較佳解空間搜 尋位置的自適應共變異數矩陣演化策略模組產生出較多子代;而在較差解空間搜
2
尋位置的自適應共變異數矩陣演化策略模組慢慢淡出並消失。
本論文所提之基於均值移動之自適應共變異數矩陣演化策略的另外一個優 點在於,不需要明確的定義出各個自適應共變異數矩陣演化策略模組的融合或是 分裂規則;也不需要將自適應共變異數矩陣演化策略模組數目當作是輸入參數。
而核密度估測時所採用的核函數頻寬也可以透過核平滑(kernel smoothing)相關 公式來計算[11]。換言之,相比於傳統的自適應共變異數矩陣演化策略,沒有額 外的輸入參數需要給定。這降低了應用本論文之演算法的麻煩,增加了其應用 性。本章節中,將於 1.1 節介紹目前的相關研究;1.2 節介紹本論文之研究動機;
最後於 1.3 節概敘本論文之架構。
1.1 相關研究
演化策略屬於啟發式演算法的一種,啟發式演算法的理論基礎是經由觀察社 會現象與大自然之生態而得到啟發,因而研究出類似的演算法,例如模擬退火法 (simulated annealing optimization, SA)便是利用高溫狀態退火結晶概念啟發的演 算法。啟發式演算法最常接受到的批評就是難以理論分析,甚至證明它們所宣揚 的良好特性。其中以模擬退火法是文獻上理論分析研究結果較多的一種啟發式演 算法,因為模擬退火法具有較簡單的演算法架構,其物理的能量退火結晶機制可 以被馬可夫隨機場(Markov random field)所模擬;而演算法流程又可以由馬可夫 鏈蒙地卡羅法(Markov chain Monte Carlo method)所描述[12]。
粒子群演算法(particle swarm optimization, PSO)是新興的啟發式演算法,在 1995 年被 Kennedy 跟 Eberhart[6]所提出。自從粒子群演算法被提出以來,在近 十餘年的時間內,有許多學者投入研究,不管是針對粒子群演算法本身理論基礎 的改良,或是在各個領域中的應用,已經有許多研究成果被發表,且逐漸成為一 個熱門的研究對象。
啟發式演算法其中又以基因演算法提出時間最早。其實早在 1960 年 Holland[13]就已經提出以自然界進化現象為其研究參考的基因演算法來發展人
3
工 智 慧 系 統 。 最 流 行 的 基 因 演 算 法 版 本 是 簡 易 基 因 演 算 法 (simple genetic algorithms)[13, 14],簡易基因演算法所組成的母群體是由二進位的字串所組成 的,將所有的問題以二進位字串來表示,其架構的順序依序為演化停止法則、複 製、交配、突變等利用基因運算子演化而產生新的世代。基因演算法的發展在 1990 年代日漸蓬勃,開創了演化式計算(evolutionary computation)這個新思想範 疇(paradigm)[14]。
在演化式計算領域中,演化策略(evolution strategies, ES)是最成功的演算法 之一,它也是本論文的基礎。在這裡先由演化策略的源頭談起,1960 年代,
Rechenberg 在柏林工業大學為了解決流體力學中模擬問題的參數最佳化問題,
因為體認到工程上很多非線性模型的數值問題無法有效用傳統數學方法求解,他 與 Schwefel 合作發明了一種新的方法,即為「演化策略」[15],從演化計算的術 語來說此方法是經由選擇(selection)、重組(recombination)、以及突變(mutation)
4
制的改良是 ES 變形方法成功與否的關鍵。
演化策略的變型版本其中最有名的例子大概就屬自適應共變異數矩陣演化 策略。由 Hansen 所提出的自適應共變異數矩陣演化策略(covariance matrix adaptation evolution strategies, CMA-ES)[7]大幅改進了演化策略的自適應能力,使 得關聯式突變能力可以被實務使用,此種演算法可以自行適應此搜尋範圍的共變 異數矩陣,對於病態條件(ill-conditioned)或不可分離(non-separable)的單峰函數最 佳化問題非常有效。近期的改善包括了一個在局部重新開始的有著漸增初始範圍 和 遞 迴 式 增 加 樣 本 數 的 自 適 應 共 變 異 數 矩 陣 演 化 策 略 (covariance matrix adaptation evolution strategies with iteratively increasing population size, IPOP-CMA-ES)[17],提升了自適應共變異數矩陣演化策略跳脫區域最佳解的能 獻[19]提出了一個由粒子群聚所引導之演化策略(particle swarm guided evolution strategies, PSGES),實驗結果說明,粒子群聚演化策略很可觀的改善了原本的演 化策略演算法,但是在多峰函數中最佳化問題中,效能就不如局部重新開始自適 應共變異數矩陣演化策略和遞迴式增加樣本數自適應共變異數矩陣演化策略。有 鑑於此,文獻[5]提出了粒子群聚自適應共變異數矩陣演化策略(particle swarm covariance matrix adaptation evolution strategies, PS-CMA-ES)演算法。此演算法是 把個別粒子當作是一個獨立的自適應共變異數矩陣演化策略,粒子間會傳遞資訊 來調整每個粒子內自適應共變異數矩陣演化策略的變異數矩陣。此演算法保留了 粒子群聚演算法[20, 21]的全域搜尋能力,和自適應共變異數矩陣演化策略的局 部適應能力。把自適應共變異數矩陣演化策略在高維度、多漏斗函數的最佳化能 力提升了不少。但是,粒子群聚自適應共變異數矩陣演化策略演算法的計算量相
5
當龐大。假設在粒子群聚演算法中採用了 n 個粒子,粒子群聚自適應共變異數矩 陣演化策略的運算量最少就是傳統自適應共變異數矩陣演化策略的 n 倍。尚未包 括局部變異數矩陣利用粒子資訊調整的運算量。此外,在這篇論文中,作者提到 了粒子資訊並不是每一個代數都可拿來使用。太常使用的話將會使自適應共變異 數矩陣演化策略的局部適應能力下降。而粒子資訊拿來使用的時機在文章[5]中 並沒有明確定義。
1.2 研究動機
[1]的實驗指出 CMA-ES 在複雜函數上由於全域搜尋能力的不足必須要用大 量的取樣數來彌補,而粒子群聚自適應共變異數矩陣演化策略利用 PSO 的優良 全域搜尋能力來試圖解決這個問題。但是粒子群聚自適應共變異數矩陣演化策略 演算法對於粒子數,也就是 CMA-ES 數量沒有明確的定義,而且不會自適應適 合的粒子個數,本論文為了解決所遭遇到的 CMA-ES 數量問題,提出了一個配 合均值移動的自適應共變異數矩陣演化策略的演算法。本論文利用均值移動演算 法中的分群功能,自動的調整自適應共變異數矩陣演化策略的模組數目。使演算 法具有多重自適應共變異數矩陣演化策略且合作演化的特性,又不用將自適應共 變異數矩陣演化策略模組數目當作輸入參數,以增加自適應共變異數矩陣演化策 略在複雜函數的最佳化能力。
1.3 論文架構
本論文章節分為緒論、研究概況、研究方法、實驗模擬與結論。第一章簡述 本論文之研究動機與目的;第二章簡單扼要提及本論文中所應用的相關性之理 論,以便本論文之後續探討及其發展;第三章介紹本論文之設計核心,包括想法 與設計理由;第四章本章節將利用測試函式,藉此模擬實務中最佳化問題,以驗 證本論文所設計之演算法的可行性及其優劣性;第五章最後,針對前章節所敘內 容作一概括性總結,並說明本論文的各項優劣性及探討未來研究與改善方向。
6