2017年8月25日 星期五

札記-科技-AI如何像人

科大訊飛董事長劉慶峰(註1)說:
未來人工智能得具備兩種關鍵能力,
第一個是推理能力,第二個是從海量數據中學習的能力
他舉了兩個例子講是什麼樣的推理能力
 例一:“爸爸沒法舉起他的兒子,因為他很重,請問誰重?”
 在這句話裡,機器要能知道是孩子重。
 
 例二:“爸爸沒法舉起他的孩子,因為他很虛弱,請問誰虛弱?”
 在這句話裡,機器要知道是爸爸虛弱。
以人類思維來說這不困難,但將其簡化成機械思維,
即推理的"語言"變成數學及邏輯計算的"語言(程式碼)",便相當複雜,
而這是人工智能一個非常重要的標準。

從這,順道可以想想我們目前設計的AI是啥樣。
會寒暄,人說你好,AI答你好。
會簡答,人說:今天氣溫幾度,AI回:26度。
會計算,規劃開車的最佳路徑。
確實,比起"推理能力,這些全是比較簡單能轉成機械思維的話語(程式碼)。

其次,從海量數據中學習的能力,他舉了一個例子。
 題目是:“美國大選期間,川普對傑布·布希說,伊拉克戰爭都是你哥哥的錯。
 機器要從海量數據(大數據)判斷,
 美國和伊拉克都是國名;川普和傑布·布希是人名,傑布·布希的哥哥也是人。
 而且這裡的“你哥哥”,指的就是喬治·布希。
這題做出來,就表示人工智能可以從海量數據中自動學習其中有用信息。
這應該屬於前頭"推理能力"的進階,根據題目,
搜尋可用資訊,再進行推理,得出答案。
若是兩能力一同具備,才接近人類,達"及格"的AI。


同是相關檢測AI的像人程度,現在最常見的有四種測試AI的方法(註2)。
一.威諾格拉德模式挑戰(Winograd Schema Challenge)
這是兩個為一組的測試題,舉個例子(註3)。
 市議員拒絕示威者進入,因為他們害怕暴力事件。誰害怕暴力事件?
 然後,把"害怕"這個動詞換成"主張",再問一次:
 市議員拒絕示威者進入,因為他們主張暴力事件。誰主張暴力事件?
這類型的測試題,具備三個重要部分。
(1)具有同類語義的兩個名詞
 本題裡是:市議員們和示威者
(2)有一個模糊代名詞,可能代表(1)裡面的兩名詞當中一個
 本題裡是:他們
(3)有一個特殊單詞,當這個單詞被換成另外一個時,那麼模糊代詞的意義就會改變
  本題裡,如果把「害怕」換成「主張」,那麼句子裡的「他們」的意思就會發生改變。
基於此,計算機需要回答的問題就是:
變化前和變化後,這個具有模糊含義的"代詞",分別在指(1)裡面兩個名詞中的哪個。
而這測試就含括了前面所述的兩個關鍵能力。

二.人類標準化測試
在這測試裡,讓AI會像人一樣,參加小學、中學的標準化考試。
但這項不比"諾格拉德模式挑戰"好,通過標準化考試並不一定意味著這AI像人。

三.物理圖靈測試
這測試像實踐課,需要AI動手。可切分為兩種,
一種是構建,AI必須學會閱讀使用說明,將一堆部件組裝成實體;
另一種是探索,給目標,但不給流程圖(或SOP),
AI需要發揮自己的創造力,使用積木來完成指定的任務。

四.I-Athlon算法(名稱來自鐵人十項)

這個方法沒有人監督,完全由算法自動化測試(註4)。
測試內容(Dimensions of Intelligence)包括:
讓人工智能總結音頻文件中的內容,敘述視頻中發生的情節,
即時翻譯人類語言等等,最後綜合以上測試,給出客觀分數。
這裡根據上圖舉幾種AI辨認貓的測試作為例子,其他事物可依此類推。
1. Image Understanding:
 比如看到真實的貓,AI能夠即刻知道牠是"貓"。
2. Diagram Understanding:
 比如瞧見貓的漫畫、塗鴉、簡單圖案等等,AI可以馬上曉得這是"貓"。
3. Speech Generation:
 給AI有關於"貓"形象、特性的概念圖表,AI能用言語說明"貓"是什麼。
4. Natural Language Generation
 給有關貓的非口語化資訊,AI能用人類的自然語言來描述貓。
5. Natural Language Understanding
 4的相反,給AI聽人類自然語言的敘述,也就是不像科學定義那般嚴謹的用詞,
 AI能了解所敘述的東西是"貓"。


我不確定這些測試有沒有考量到地域性禮節,但是,我認為有必要。
舉兩個例子,講華人世界會遭遇到"話怎麼說較好"的表達問題。
例一(註5):即便屬實,話不當說時,就不說。
A、B、C三位知名人士在一間有名的餐廳吃飯,A作東。
A臨時有事,提前付款告退,在餐廳門口遇見大批記者,便接受採訪。
A對記者提到這餐廳東西太貴,以後不會再來。
以一般情理,A這樣身分的人,
即便說的是事實,不應該在人家門口嫌棄人家,顯得沒禮貌。

例二(註6):事當曲盡人情
1947年左右,四川發大水,四川議長到上海求援,被上海市長吳國楨軟磨硬扛地推掉。
四川議長轉向杜月笙討救,杜月笙說可以幫忙,但是要找行政院長孔祥熙主持。
於是,杜月笙拜訪孔祥熙講此事,說四川賑災的錢由他出,事情由他操辦,
但是必須由孔先生代他出頭,請大家吃飯,飯局上指示這事。孔祥熙高興地答應。
宴會那天,孔祥熙、吳國楨、四川議長和杜月笙四人同桌,
孔祥熙就說:「四川這事一定要辦妥。」
杜月笙便站起來說(套好的):「有孔院長給我們號召,小弟一定妥妥善善處理。」
杜月笙這麼做的用意,不單是予四川議長人情,作面子給孔祥熙。
還顧及吳國楨市長已經代表上海拒絕了四川,
由孔祥熙出口要幹,他附聲襄助,就不會跟市長對立。

看場合說話,在華人社會該學習的套路。
既然將來AI要和人共處,就得考量各地人情世故的方方面面,具足說話的"情商"。


有人會說:要求機器人有人說話的情商,是不是太嚴苛了,人尚且不能周全。
那怎不講計算能力、人臉辨識等等能力,AI早已遠超人類,是否要AI退化,配合人類呢?

AI的存在,
是因為它能擴展人的能力,輔助人類將世界變得更理想,因此,盡可能發揮淋漓盡致最好。
其次,我覺得,透由研究AI,還可以了解人的思考與認知。
像《六堂哈佛的思考課》所說,
用外語重新表達一遍、或用讓五歲孩童聽懂的語言再說一次,
能協助檢視思想的因果脈絡,有點這樣的味道。
甚至影響日後,某天你會拿出奧哈姆剃刀(註7),一刀一刀精要你的所思所想。



---------------------
註1:
得到-科技-科大訊飛:當前算法發展關鍵點
§其實我不知道"科大訊飛"這間公司,但他講的有理,我就引用了§


註2:得到-科技-後圖靈測試:機器人何以為人


註3:
參與挑戰的計算機程序需要回答一種特殊但簡易的常識問題,即代詞消歧問題(PDP)。
以下是從兒童書籍中摘取的一個PDP樣例:
Babar 不知怎樣才能得到新衣裳。
幸運的是,一個一直喜愛小象的闊老頭立刻看出來了,想要一身漂亮的套裝。
因為喜歡帶給別人開心,就為拿出了的錢包。

這段話中有五個加粗的代詞,每個代詞可能表示Babar 也可能表示老人。
機器解出這個問題就意味著能夠成功判斷代詞所指意義。

人類可以根據常識和上下文信息了解代詞的意義,但對AI系統來說這是個很大的挑戰。
比如第一個代詞:“他想要一身漂亮的套裝。”
我們一眼就可看出這個“他”指的是Babar,因為上文說Babar想要新衣裳,
而套裝是衣服的一種。軟件也必須理解這些內容才能得出正確結論。
軟件可能會使用單詞分析方法,通過統計數據表明“套裝”“衣裳”是相關詞彙。

其他代詞則可能更難理解,比如“他喜歡帶給別人開心”。
知道“他”是誰,首先要知道送某人東西會讓這個人開心,
而那個富裕的老人有能力送給Babar 他想要的東西。
這對我們來說就是常識,但對AI卻不是這樣。

Winograd 模式是一種特殊的代詞消歧問題,
它多具備一項特徵:“特殊詞彙”,替換它後能反轉正確答案。
下面是斯坦福計算機科學家Terry Winograd 自己創建的一個樣例:

市議員拒絕示威者進入,因為他們害怕(主張)暴力事件。

誰害怕(主張)暴力事件?

將“害怕”改為“主張”,“他們”就從市議員變為示威者。
特殊詞彙會使問題更加難以用統計方法解決,
尋找兩個詞彙一起出現的情況在這裡並不適用。

近日,
一場名為「威諾格拉德模式挑戰賽」(Winograd Schema Challenge)的競賽落下帷幕。
這場競賽是圖靈測試的變種,要求人工智慧回答關於語句理解的一些常識性問題,
由加拿大多倫多大學的計算機科學家赫克托·萊維斯克(Hector Levesque)發起。
以問題「市議員們拒絕示威者的遊行許可,因為他們害怕暴力」為例,
按照威諾格拉德模式挑戰賽的風格,該問題包含了幾個重要的部分:
首先,具有同類語義的兩個名詞(本題裡指的是:市議員們和示威者 )
第二,有一個指代以上兩個名詞的模糊代詞(本題裡指的是:他們)
第三,有一個特別的單詞,當這個單詞被換成另外一個單詞時,
那麼模糊代詞的意義就會改變
(本題裡,如果把「害怕」換成「主張」,那麼句子裡的「他們」的意思就會發生改變)
基於此,計算機需要回答的問題就是:
這個具有模糊含義的代詞指的是什麼,並給出兩個選項讓計算機選擇。


註4: I-athlon: Toward a Multidimensional Turing Test
圖片來源。
Event Tests Should Be Automatically Scored Without Significant Human Intervention.

沒中譯,紫色字是我自己大概翻譯關於Dimensions of Intelligence的描述,
意思沒全懂,可能翻譯錯。
Human intelligence has many facets and comes in many varieties and combinations.
人類智能有很多面向,而且是多樣跟混合。
Philosophers, psychologists, cognitive and computer scientists have debated the definition of intelligence for centuries, and there are many different factorings of what we here call the “dimensions of intelligence.”
哲學家、哲學家、心理學家、認知和計算機科學家為了定義"智能"辯論了好幾世紀。
那些"智能"被分析、分解出的不同單元,我們稱之為智能維度(dimensions of intelligence)。

Our goal in this article is not to declare a definitive set of dimensions or even claim complete coverage of the various aspects of human intelligence.
We take up this terminology to enable us to identify aspects of intelligence that might be tested separately and in combinations for the purpose of evaluating the capabilities  of  AI  systems  compared  to  humans.
本文的目的,不在講"明確的智能維度",也不在獲知"人類智能的完整所有面向(維度)"。
我們是借用它-智能維度,來識別智能的數個面向。
(面向,又稱維度,測的方式可能一個維度單獨測,跟數個維度合起來測)
得出這些面向,可讓我們用來比較AI和人類智能,評估AI的能力達到人類智能的幾成。

The dimensions listed below are not all at the same level of abstraction;
indeed, proficiency at some dimensions will require proficiency at several others.
列在後面的這些維度,無法同屬於一種抽象概念(像空間想像能力,就跟邏輯能力不同)。
事實上,專精於某些維度的智能,也需要專精於另一些維度的智能。
We fully expect there to be debate over which aspects of intelligence should be tested for separately or in concert  with others.
究竟智能維度是要個別測或一齊測,我們非常希望有這一方面的討論。

Our  goal  here is to define an approach that moves the AI research community in the positive direction of coordinated effort toward achieving human-level AI in computer systems.
本文的目的是要定義一種方法,
這方法可將所有從事AI研究的人推向建設性方向,
同心協力做出跟人智能一樣等級的電腦系統。
As stated  earlier,  we believe reaching  this  goal will require such a coordinated effort,
and a key aspect of coordination is the ability to assess incremental progress
toward the goal in a commonly accepted manner.
如前所述,我們相信,同心協力才能完成目標。
協力的關鍵又在於,普遍可接受的模式,讓AI的研發遞增(緩緩穩定)成長的能力 

What follows is a brief description of what we consider good candidates for I-athlon events.
接著來簡要談談,我們認為可用在I-athlon算法之好的"智能維度"


註5:20150517 正晶限時批 李敖專訪
1:00:24  八王子吃飯


註6:圓桌派S2 第21集 面子:多少錢一斤?