在優化問題裡,強化學習相比啟發式搜尋演算法有什麼好處?

時間 2021-10-23 01:51:31

1樓:震靈

最大的好處就是神經網路的可塑性非常強,並且號稱具有遷移學習能力。舉乙個最簡單的例子,對於傳統優化問題來說,無論是貝葉斯優化還是啟發式演算法,對於每求解一組新問題,都需要針對每個例項(例如乙個TSP路徑規劃例項)執行一次完整的優化演算法。但是實際上這些問題的最優解可能有某種強關聯,對於這種情況,基於神經網路的強化學習演算法一旦解決了其中某乙個問題,就有可能快速求解其他問題。

乙個直觀的理解就是Pointer Network,通過監督學習/強化學習,神經網路可以根據已經求解的TSP方案確定乙個新的TSP規劃問題的方案。

經典的Pointer Network架構

但是,上述情況只是理想情況,在真實的基於強化學習的優化場景中,強化學習的訓練過程其實相當複雜,目前的主流演算法A3C和PPO目前來看並不能高效利用搜尋過程中的知識。目前來看,RL演算法在調參之後可以達到近似專業求解器的效果。但是短期來看,鑑於專業求解器的可解釋性和魯棒性,基於強化學習的優化演算法依然有較大的提公升空間。

下圖是港中深的查巨集遠老師AAAI 2023年的RL-Based TSP Solver的最新成果,可以看到RL方法儘管已經有非常大的進展,但是相比啟發式方法依然有一定程度的差距。

上面有提到,神經網路擅長學習而不擅長搜尋,而傳統搜尋演算法,例如演化演算法和啟發式搜尋演算法擅長搜尋而不擅長學習。考慮到這種困境,其實乙個很好的解決方案是讓演化演算法去搜,然後讓神經網路去看著演化演算法的結果學習。目前來說,優化演算法和強化學習的結合已經逐漸引起了大家的注意。

在目前的基於強化學習的TSP求解演算法中,已經有不少的演算法嘗試先基於近似最優解(Oracle)進行imitation learning/supervised learning,隨後再使用強化學習演算法進行學習。上圖所示的SL+RL就代表了這種思想,可以看到相比傳統的單純基於RL或SL的Deep Learning Solver,這種混合了啟發式演算法知識和強化學習策略的求解器可以取到更好的效能。可以預見,在未來,這樣的模式將會被廣泛推廣到Bin Packing、Job Shop Scheduling等各個組合優化領域,相比與熟優熟劣的爭執,這種對不同演算法的結合策略顯然是更有價值的。

深度學習或強化學習在組合優化方面有哪些應用?

苦中作樂tttt 其實很多基本組合問題用trick加很好的heuristic,可以優化很好了。當然實際應用中的組合優化問題,可能結構或者限制更複雜,許多漂亮的trick用不了或者對數學要求太高了。退而求其次,如果想稍微通用或者懶一點,可以考慮上神經網路。整數優化求解器的樹搜尋模組,比較重要的是pri...

哪些問題不能用強化學習解決?強化學習有哪些侷限性?

shenghuo 強化學習是一種無模型的動態規劃問題,應用的特點是環境因智慧型體的動作而發生變化,獲取的資料沒有標籤,獎勵延遲且稀疏。這導致傳統的基於模型的動態規劃演算法 已知模型轉移概率和獎勵模型 難以奏效,因此需要採用通過不斷與環境互動,獲取 s,a,r,s 資料組,並通過學習或手工設定獎勵函式...

強化學習問題中,如果預計最優動作序列至少有幾萬個,每次從初始狀態到目標狀態的時間很長,該如何解決?

ngc 最優序列有幾萬個說明對任務的設計還不明確,比較直接的方法還是對任務優化,設計與任務高度相關的低維度連續獎勵函式。提高網路複雜度會比較麻煩,是另一種解決思路。 xiedidan 大概率不是網路尺寸,而是訓練方面的問題 首先是Reward Advance的設定,幾萬步只靠Episode最終Rew...