以下是翻譯Optaplanner創始人Geoffrey De Smet的一篇文章《Does A.I. include constraint solvers?》。
因為英語及中文表達習慣的差異,以該博文發表示Optaplanner官網,其描述的問題及概念具有一定的上下文關聯性;因此,為了認還不太熟悉Optaplanner的同學更容易理解,令文章更符合中文母語讀者的閱讀習慣,我並沒有完全按字面生硬直譯。其中新增了一些擴充套件性的意譯,基本上能在脫離Optaplanner官網上下文情況下,一定程式上表達到Geoffrey的意思吧,有不正之處請大家多多指點。為謝!
人工智慧的寒冬已經過去,這幾年以來,人工智慧技術的關注點又出現了增長。不僅僅是我們這些人工智慧方面的極客,商界也因看到了其潛力,而進行了投資。為了獲得資本青睞,一些研究專案也被重新塑造,貼上人工智慧技術的名頭。那麼,約束求解器能否也使用人工智慧的標籤呢?
歷史小知識:第5代(計算機)計劃
近20年以來,人工智慧是個不太受人待見的語彙,要了解其原因,我們需要回到1982年,當時日本決定大力投資第5代計算機 – 一個人工智慧平臺,將要超越現有的計算機,並打破IBM的壟斷。作為應對與跟進措施,其它國家也啟動了類似的計劃,突然間,研究經費從天而降,引致80年代的人工智慧熱潮。
最終計劃還是失敗了。儘管獲得了近10年的資助,但第5代計劃的研究中,幾乎沒有展示出任何實用的成果。之前的一些研究,包括:大資料,智慧電話和更高速的計劃機,均未達到可行。其它一些研究則完全無用。
這些研究失敗以後,在上世紀90年代及2000年代初,人工智慧的概念被徹底敗壞了,人們都認為人工智慧是不可行的。技術開發界很快結束了他們的人工智慧技術名頭。約束求解器則加強了與運籌學的相關性;搜尋引擎只扮演了一個簡單的字典搜尋功能;規則引擎則側重於決策表方面的發展。這些領域都避擴音及它們與人工智慧相關。而神經網路研究是個例外。
神經網路演算法:一項技術吃通天下?
過去幾年間,神經網路演算法令人工智慧技術再次神奇起來。神經網路演算法模擬我們大腦中的神經元(其實不如你想象那樣).它是一個黑盒,可以將輸入資料轉換成你想要的輸出資料,這功能主要通過多層神經網路的加總相乘演算法實現。數十年來,這類演算法均存在精度過低的問題,但近期興起的大資料,及對更好反向傳播演算法的發現,此情況出現了翻天覆地的變化。其中後者使用了多層神經網路,神經網路層越多,則相當於實現了一種深度學習。
時至今日,神經網路演算法已經可以進行人臉和聲音識別,若與其它人工智慧技術(例如:極小極大演算法,澤者注:一種博弈演算法 )混合使用,這些程式甚至可以擊敗(象棋)世界冠軍,聽起來非常神奇。但終究到底,這些都屬於模式識別問題;若面對其它(澤者注:非模式識別)問題,這些技術是處理不了的。例如,神經網路演算法無法找到一條從羅浮宮到羅馬鬥獸場的最快路徑,無法建立一套美國公路旅行指南。
人工智慧的正確應用
神經網路並不是一種普適的人工智慧演算法, 也不是一種約束求解器或生產規則系統。就此而言,每一類演算法,只能解決人工智慧領域中的一些部分問題。這也許是一件好事:不存在哪一種演算法會把自己訓練成天網(譯者注:電影《終結者》中的人工智慧防禦系統),進而對人類構成威脅。
因此,通過智慧軟體去解決業務問題,需要根據具體用例來選擇合適的演算法:
借用的原文圖
但這(譯者注:神經網路的模式識別侷限性)並沒有阻止學者們的嘗試,有很多關於使用神經網路演算法去解決車輛路線規劃或僱員排班的研究,只是其符合度還不如約束求解演算法,例如:禁忌搜尋法和模擬退火法。當有15%的行駛時間節省量時,為什麼要滿足於1%的節省量呢(譯者注:在車輛路線規劃案例中,通過約束求解演算法能得到15%的行駛時間節省,為什麼還要退而求其次,滿足於神經網路演算法得到的1%節省量呢)
相反,約束求解演算法卻無法解決臭名昭著的關於熱狗的影像識別問題。
所有的演算法都可以產生智慧嗎?
儘管計算1234乘以5678的結果並不容易,但我們並不認為這個計算方法是一種人工智慧。同理,那些排序演算法也不是人工智慧,為什麼呢?
也許是因為這些問題都不存在誤差容限,但人工智慧卻存在,例如:你給出一張哈仕奇的圖片,有人把它識別為狼;當你給出一個TSP問題,需要畫出最短旅行路線時,人們會給出不同質量的確定性的結果集。
或者那些計算和排序演算法是可以被人類理解得到的,這些演算法並不是一個黑盒,它可以相當容易地知道,計算機是如何把輸入資料,一個指令接著一個指令地轉化為輸出結果。
約束求解決器的求解又是怎樣的一個動作過程呢?
從歷史上看,約束求解器(如Optaplanner)明顯是運籌學的一個分支領域,同時也不能排除它屬於其它領域(澤者注:約束求解器不僅僅屬於運籌學領域).我認為約束求解器也可以納入人工智慧領域,不僅僅是一些論文和書刊如是說,主要是因為掌握約束求解器的應用案例,本身就是已經是一個複雜問題。無論是人類的規劃師排出來的解決方案,還是特定演算法得出來的解,其質量者具有巨大的不確定性。若給定一個足夠大的資料集(譯者注:問題資料集),是不可能找到一個絕對最優解的。此外,儘管現有的一些演算法已有40年曆史了,但研究 人員仍在尋找並發現一些新演算法。
你覺得呢?約束求解器是不是人工智慧的其中一個分支?
源文《Does A.I. include constraint solvers?》:http://www.optaplanner.org/blog/2017/09/07/DoesAIIncludeConstraintSolvers.html