DeepMind 推出 AlphaDev:一种深度强化学习代理,可从头开始发现更快的排序算法

從人工智慧和數據分析到密碼學和優化,算法在每個領域都扮演重要角色。算法基本上是一組程序,有助於以逐步方式完成特定任務。這些一套套的規則向計算機和軟件提供指令,以實現高效和一致的執行。像排序(如合併排序、快速排序和堆排序)和搜索算法(如二分搜索、深度優先搜索和廣度優先搜索)等流行算法幾乎每天都被學生和程序員使用。

人類的直覺和專業知識在算法的發展中發揮了重要作用。基礎算法,例如排序和哈希,廣泛應用於各種應用程序中。由於計算需求的不斷增加,現在必須優化這些算法的性能。盡管在過去取得了巨大的發展,但傳統的計算方法和人類科學家仍然很難進一步提高這些算法的效率並進行優化。

為了超越當前的算法優化技術,使用人工智慧,特別是深度強化學習,可以是顯著的。最近,DeepMind推出了AlphaDev,一個深度強化學習代理,可以從頭開始發現更快的排序算法。AlphaDev已經訓練過,可以導航巨大的搜索空間,揭示以前未發現的例程和算法,因為它將困難問題結構化為單人遊戲,所以它有改變人們對算法設計思考的潛力,因為它具有從經驗和性能優化中學習的能力。

研究論文的作者提到了AssemblyGame,這是一個單人遊戲,玩家可以選擇低級CPU指令來創建新的高效排序算法。由於搜索空間的大小和獎勵函數的性質,這個遊戲很具挑戰性,其中一個錯誤的指令就可能使整個算法無效。為了解決這個問題,使用了AlphaDev。該學習代理被訓練為搜尋正確和高效的算法,由兩個核心組件組成:一個學習算法和一個表示函數。學習算法包括深度強化學習和隨機搜索優化算法。AlphaDev中使用的主要學習算法是AlphaZero的擴展,這是一種著名的深度強化學習算法。

研究人員表示,在訓練過程中,AlphaDev能夠從頭開始找到比人類專家設定的先前基準更好的小排序算法。這些新發現的算法已經集成到LLVM標准C++排序庫中,用一個由強化學習自動生成的算法替換了一個組件。這意味著採用了一種超越人類設計方法的算法,以性能為基礎。AlphaDev不僅限於排序算法,因為它通過在其他領域提供結果,顯示了方法的多樣性,表明它可以用於解決比排序更廣泛的問題。

總之,這個學習代理是優化排序算法和通過深度強化學習和優化技術發現正確和高效算法的好方法。