AI的智商(IQ)怎麼測?這其實是個策略比賽

AI的智商(IQ)怎麼測?這其實是個策略比賽

大數據文摘出品

編譯:halcyon、蔣寶尚

在Google I/O 2018開發者大會上,發佈了一款名為Google Duplex的語音助手,其表現非常驚豔,一時間大家都認為Google Duplex通過了圖靈測試。然而,一些人持反對意見,認為Duplex並沒有通過圖靈測試,單擊這裡查看相關報道。

如何判斷AI是否具有和人腦相當的能力一直是受爭議的話題,圖靈測試是否是唯一的判斷方法?保加利亞科學院(Bulgarian Academy of Sciences)的最新論文給出了計算AI的智商(IQ)的方法,嘗試利用不同的實驗方法量化AI的IQ,並給出AI的定義。

AI的智商(IQ)怎麼測?這其實是個策略比賽

以下是論文精華內容:

識別計算機程序是否為AI所要做的就是對它們進行測試並對通過測試的AI給予獎勵。假定AI在測試中獲得的分數為IQ,我們無法確定一個程序通過測試成為AI的最低IQ閾值,故我們選擇一個特定值作為閾值。因此,我們定義AI為任何一個IQ高於該閾值的程序。

對於AI的測試,就類似於高考。考試中給出的問題是隨機選擇的,但所有考生都會遇到同樣的問題。此外,解決問題需要進行邏輯思考,因為我們的目標是招收那些具有邏輯思維的學生,而不是偶然蒙對正確答案的幸運學生。

考試的分數基於每個考生解決的問題數量而設定。我們不能說應該解決多少問題,因為我們不知道考試中會有多少考生,也不知道他們的具體水平。我們可能會設定一個分數(例如4.50),並說我們打算錄取所有分數超過4.50的考生。但是,在測試完成後要對最低分數進行修正。然後,我們將錄取分數超過最低分數的前n位考生(例如,如果n為100,我們將錄取分數排名在前100的考生)。

但是如果被測對象是計算機程序,高考的類比就不再合適。此時對AI的測試更像是應聘同一家公司CEO職位的招聘競賽。

儘管圖靈測試定義了受過教育的智力,是因為圖靈非常理解受過教育和沒受過教育的差異。他問了這樣一個問題:“為什麼試著去編寫一個模擬成人思維的程序,而不試著去編寫一個模擬孩子思維的程序呢?”

本文給出的AI的定義回答了這個問題。它不需要包括提前教育,並且測試中的任務也不需要任何先驗知識。也就是說,每一項任務我們都會假設我們正在重新開始,並且在解決我們正在學習的任務的過程中,我們發現相關性信息並從錯誤中學習。

我們定義了全局IQ和局部IQ的概念。AI的全局IQ更準確,但卻無法精確計算(因為組合爆炸問題)。AI的局部IQ並不準確,因為它取決於測試中特定任務的選擇。但對於特定的任務,可以很容易和準確地計算局部IQ。

我們將採用完全隨機的程序產生的序列,而不是採用特殊的k-可理解序列(k-comprehensible sequence)。我們在每一步預測下一個符號,而不是通過一個步驟預測符號。對一個序列的獎勵將是所有步驟的獎勵的總和。局部IQ將是我們在測試中序列的獎勵均值。

問題設計

假設在特定的世界(World)中,我們擁有一個設備(Device )。 在每個步驟中,設備產生n個符號(也即行為,Action),然後從外部接收m個符號(在我們的術語中,第一個符號為“獎勵”,其餘的m-1符號為“觀察”)。獎勵可分為五種狀態:{無,勝利,無敗,平局,不正確的移動}。

設備的一個步驟由三個元素組成:,在設備與世界的互動過程中所做出的一系列的步驟決定了其本身的生命。

“真實生命”應該沒有不正確的移動。因此,所有的獎勵值是不正確移動的三元素都會被移除,剩下的就是真實生命。。

動作”(moment)由一系列步驟組成,而在這些步驟中,只有最後一步是正確的,除此之外,其他所有的步驟都將是錯誤的。實際上,生命中可能由很多步驟組成,不僅是動作,然而在真實的生命中,這些其他步驟的數量和動作的數量是相同的。

設備的行為可以表示為一種策略,即作為一個定義設備每一次生命開始,下一次動作的函數,同樣地,世界的行為也可以作為一種策略來呈現,為設備每一種生命的開始,每一種行為都提供了獎勵和觀察,設備將會在下一個步驟中得到它們。應該指出的是,世界的策略不依賴於錯誤的動作。因此,我們可以把世界的策略想象成現實生活的函數。相反,設備的策略將取決於不正確的移動(這些移動將提供設備使用的附加信息)。

假設兩個集合,Q和S,這些將是設備和世界內部狀態的集合。這些集合將是有限的或可數的。設q_0和s_0分別是設備和世界的初始狀態。我們會假設這些狀態是固定的,因為生命將取決於我們最初的狀態,但我們希望生命只依賴於設備和世界。

設備和世界定義為下面的兩個函數:

AI的智商(IQ)怎麼測?這其實是個策略比賽

對於每一個設備的內部狀態,如果獎勵,觀察和動作集合在當時認為是不正確的,那麼,設備將會返回一個新的行為和一個新的設備狀態。我們假定設備永遠不會返回在當時被確認為不正確的行為。

設備的內部狀態會反映設備能記住的所有事情,那麼它能記住什麼呢?它能記住它的直到當前的最後一次行動,這就是我們使用Actions*Q而不是Q*Actions的原因。再次強調,設備的內部狀態可以記住最後一次行動。

定義設備的生命如下:

AI的智商(IQ)怎麼測?這其實是個策略比賽

讓我們看看設備和世界函數是怎樣定義生命的。

AI的智商(IQ)怎麼測?這其實是個策略比賽

在這裡,i-j是i+1之前的最後一個正確步驟,incorrect_actions_i 集合包含此刻不正確的行動。該集合具有j個元素,因此 incorrect_actions_i ={a_i-j+1, …, a_i}。incorrect_actions_0是個空集,因為在第一步之前不會有任何不正確的行動。

參數

AI的智商(IQ)怎麼測?這其實是個策略比賽

上表的前四行描述了AI輸入和輸出的參數。它們告訴我們所尋求的AI的格式。因此,我們不能隨意改變這些參數。接下來的八行所描述的參數會影響你選擇測試世界,從而會影響到測試結果,也就是影響AI的定義。最後一個參數也會對定義產生影響。這就意味著,如果我們改變了上述的九個參數,我們也會改變AI的定義。

第i個動作符號的可能範圍從0到ki-1。同樣,第i個觀測符號的可能範圍也是從0到kn+1-i -1。我們假設符號0的含義是“沒有”。第一個觀察符號是獎勵。而符號1,2,3我們命名為“勝利”,“失敗”,“平局”,當然這會是最後的獎勵。

獎勵4(不正確的移動)因為調用了命令q1,所以不會被圖靈機器返回。只有當圖靈循環,即在沒有到達最終狀態的情況下執行1000步以上,或崩潰(例如,當堆棧為空時調用返回命令)時才會返回此獎勵。

符號的數量儘可能的滿足編碼、行動和觀察所需。我們將添加另外10個實用符號,其中第一個符號將為空符號λ。

測試原理

我們將為測試選擇1000個世界。在每一個世界中,待測程序的生存週期都不超過1000場比賽。最後,我們將計算勝利,失敗,平局的數量,並獲得算術平均IQ值,其中勝利為1,失敗為0,平局為1/2。

我們將隨機選擇世界,但我們希望選擇的世界是固定的,所以我們在開始選擇之前,將偽隨機數生成器設置為1。因此,我們在測試中將永遠使用相同的世界。在許多生成的世界裡,我們剔除全贏和全輸的世界。因此,我們將留下1000個有意義的世界。

世界

一個世界就是能夠計算策略的圖靈機器。

世界集合包含少於1000個狀態的圖靈機,因為每臺機器都有不可到達的狀態。結果是一個巨大的策略集合(世界集合)。這裡更簡單的策略將分配更多(更有可能)權重,因為它們由更多的圖靈機產生。

計算特定計算機程序的IQ

我們可能會說IQ是所有世界成功率的算術平均值。(注:世界不是等概率的,我們需要把成功率乘以每個世界的概率(權重)。)

我們將這樣獲得的IQ稱為全局IQ。全局IQ的定義很好,但無法計算。準確地說,它可以在理論上計算,但不能在實踐中計算,因為有大量存在的世界。儘管如此,我們仍然可以用統計學方法近似計算出全局IQ。我們將隨機選擇1000個世界並計算這些世界算術平均值。獲得的結果會接近全局IQ。

這種方法的問題是不同的測試世界的選擇會產生不同的全局IQ近似。我們需要的是獎勵給待測程序對應的IQ,因為它必須是一個特定的值而不是近似值。因此我們將修正隨機選擇的1000個世界,並認為局部IQ是這1000個世界的平均成功率。在這種情況下,不同的世界將不會有不同的權重,因為權重已經在測試世界的選擇中得到了體現所以更有可能被選中。

局部IQ是一個容易計算的函數,它描述了我們對IQ的理解。有一個程序我們稱之為“填鴨式”。這個程序是專為1000個測試世界而設計的,它的局部IQ很高,但它的全局IQ很低。我們應該如何解決這個問題?

我們將利用局部IQ來尋找AI。當我們遇到一個局部IQ很高的程序並且假定這個程序是填鴨式的,我們會給它額外的問題,所以我們會計算第二個局部IQ。這也意味著我們會採用下1000個隨機世界並且從這些世界中推導另外一個算術平均值。以此類推,可以構建第三個甚至第四個局部IQ。

我們給出全局IQ的定義為:

AI的智商(IQ)怎麼測?這其實是個策略比賽

在這個式子中,P(TM|interesting):如果世界有趣,機器TM被選中的條件概率。Success(Strategy,TM):策略在TM機器定義的世界存活一次計算出的算術平均值。總和是具有1000個狀態的機器,其世界是有趣的。

局部IQ的定義為:

AI的智商(IQ)怎麼測?這其實是個策略比賽

其中,TM_i是第i個預先選擇的測試世界。

最終的定義

定義1:AI是任意局部IQ超過0.7的策略。

同樣,一個公司可能會宣佈它正在尋找CEO,並且會僱用能解決測試中70%問題的人。如果標準太低或太高,公司以後可能不得不調整這個水平。

定義2:如果一個計算機程序在前1000個遊戲中的策略是一個AI策略,那麼該計算機程序是AI。

結論

在這項研究中,我們描述了一種測試,它能讓我們計算任何程序的IQ。更準確地說,我們指定了進行測試的程序,並告訴我們待測程序的IQ是多少。

這個程序可以讓我們在幾分鐘內完成AI測試。這個時候測試程序需要計算測試結果。然後我們應該增加我們為每一個候選提供的思考時間。當我們把AI作為一種策略時,我們不需要問測試程序花多少時間思考。當我們把AI當作一個程序計算出AI策略時,我們必須確定程序計算一個步驟所消耗的時間。


分享到:


相關文章: