棋道一百,「我」只知其七

月初,DeepMind 的共同創辦人 Demis HassabisCambridge Society For The Application Of Research 之邀,在劍橋發表演講 Explorations at the Edge of Knowledge 談 AlphaGo ,月光博客根據這演講,寫(or 轉載)了一篇文章概述這次演講的內容。

文章的標題:人类数千年的围棋下法是错的,似乎有標題黨之嫌,其實是呼應2016年底到2017年一月初,AlphaGo 化名 Master,在網上下了60 盤快棋,狂虐人類棋手之後,據稱是目前人類第一高手的柯潔,在微博上感慨的說新的風暴即將來襲

人類千年的實戰演練進化,計算機卻告訴我們,人類全都是錯的。

老一輩高手聶衛平沒有那麼 sentimental,但他也明確指出,這件事讓我們明白「棋道一百,人類只知其七」的道理。

看了40多盤 Master 對年輕高手們的對局,深感當年日本名譽棋聖藤澤秀行老師說的那句話「棋道一百,我只知七」是何等地深刻貼切!Master 改變了我們傳統的厚薄理念,顛覆了多年的定式,在看似不能出招的地方出招,而且最後證明它的選擇都成立,都不是錯的

月光博客的文章整理的相當好,值得仔細品味,這裡就只簡短說幾句吧!

之前我在 Bots War 一文裡面說,AlphaGo 用他自己的學習策略,找到合乎規則的走法,但 AlphaGo 的思路和之前人類下棋的思路未必一樣;機器人江湖和我們的江湖雖然看起來雷同,其實是形似神不似,自有一套邏輯。

深度學習與增強學習的演算法,在「不斷學習」之後,探索(explore)出新的「空間」,合乎原有規則的新玩法,給予我們的不僅是人類棋手被虐的震撼,更是指出不僅圍棋,所有我們以為已經明白透徹的東西,還有巨大的空間等著我們人類去挖掘(聶衛平語)。

信哉斯言,大道一百,「我」只知其七


延伸閱讀:

記一次推薦系統對話

兩個禮拜前,網友從谷歌找到接近十年前關於推薦系統評估指標的舊文,跟網友在臉書上聊了幾句,有點意猶未盡;又有點想稍稍彌補當初系列文章泡湯的遺憾,所以又續貂一篇《如何評估推薦系統(二)》。

續貂之後,正在 hands-on 的網友說了幾句他的心得,於是我又多嘴了幾句。所以索性再多寫幾句,為這次對話做個小結

推薦系統早就遠離 MovieLens 那個時代,基本的框架和演算法,都相對成熟許多。而且因為確實有不少提高業務收入和客戶黏性的具體實例,產學互相刺激促進,已經發展成一個生氣蓬勃又接地氣的領域。

-

依不才愚見,推薦系統的實務,固然還有許多必須再深究、細究的題目。但是學界角度的研究,則到了一個需要重新盤整的時候了。

不只一位從學界跑到業界的推薦系統大老,說過不要擔心用什麼演算法,先建一個系統起來(Build it and they will come. 的推薦系統版本 ?),有了數據,再慢慢調整演算法和優化實做細節。

有些指標確實對發表論文有顯著意義,但是在真實世界這一個演算法和那個演算法其實沒有什麼差別。真正的現實是,目前比較好的推薦系統實蹟的例子,都有一句隱臺詞沒有說出來,系統背後有一個強大的運營團隊在搞東搞西(說的粗俗一點啦)。

演算法如果循著以前的思路走下去,當然還有許多東西可以深挖,去年 Xavier AmatriaiaACM RecSys 2016 的演講中特別提到隱式回饋(implicit feedback)的問題,設計演算法時用那些數據,不用那些數據,數據怎麼解讀,還有很多地方需要去探索。

從文獻上來看,像 usefulness 、confidence 、serendipity 這些指標的思考角度,其實早在 2004 之前就有學者已經踏出一步了,但是實務界那時還沒顧及到這個層次。

但以目前線上使用的演算法的思路,要顧及再評估系列前文 中談到的 relevance 和 serendipity,恐怕很難。過去的演算法,說穿了本質上,都是 numerical-based reasoning 的思路,促進銷路不能說沒有用,但是在 familiarity、relevance & serendipity 上這些已經觸及人類消費心理疆域的思考上,有對牛彈琴的問題。

ResysChina 的核心團隊中,有人在微信上聊到用 AI 技術,讓推薦系統往前跨一步,從滯後一步的解讀你以前是怎樣的一個人,真正往前跨到預測 你可能變成怎樣的人。竊以為這個想法值得再深鑽下去。

借用 ResysChina 發起人谷文棟兄的說法,做為一個「曾經」的推薦系統選手,心裡確實有許多遺憾,但是實在有許多課要補,才能真正面對推薦系統的詩和遠方這個問題。

至於怎麼補課天知道咯….

如何評估推薦系統(二)

最近有網友看了舊文《如何評估推薦系統(一) 》,詢問這文章是否有續集。依印象所及,續集是有的,只是打散了,分成幾篇短文。想想又覺得似乎少了什麼東西,於是翻了以前 Google+ 的私人訊息,實驗室的學弟五年前就問過我第二篇怎麼不見了,我在 blogger 後台找了又找,無奈發現真的不見了,究竟是我半夜夢遊把文章殺了,還是系統資料庫的異常,已經不可考

之所以確定真的有第二篇,是因為在私訊中,我們討論了第二篇中我談到某個罕見指標 confidence 的參考文獻,因為找不到第二篇筆記原稿,只好找了 2004 最早談 confidence 原始概念的文章,讓學弟自己循線鑽下去。

不管怎麼呼天搶地,沒有存檔讓整件事情完全無解,只好摸摸鼻子認了。時間久了,我自已也忘了這件公案,若不是網友詢問,我自己都忘了這件事。

後來我寫了幾篇短文,談常見數字指標之外,商業意義更濃的幾個指標,只是沒有再用數字二、三、四為文章編號下去。

這篇自白,就權當評估系列的第二篇吧

我承認,確實有些數字指標的定義還沒寫進如何評估系列,比如機器學習領域著名部落格 FastML 的文章 Evaluating recommender systems 介紹的 NDCGMAP 。有些已經談過的指標,其實還有未盡之意,比如 ResysChina 知乎專欄,有篇文章《多高的 AUC 才算高》就把 ROC/AUC 的統計意義和陷阱說的透徹許多。既然已經有更好的資訊源,我就不做沒必要的複製貼上了。

第一篇文章最後,我說接下來要討論的是推薦系統的 usefulness ,但關於推薦系統效用的討論後來分成幾篇短文,沒有彙整成一篇比較全面的長文。

所謂「有沒有用」這檔事,很難量化,至少都目前為止,我們沒有精準度量用戶情緒和感覺的辦法。如何解讀用戶與系統的互動、用戶對接收到訊息的回饋的複雜與困難,從之前 Netflix 為什麼改變用戶評分機制的討論,和去年 Xavier Amatriaia 在 RecSys 2016 的演講 Lessons Learned from Building Real­-Life Recommender Systems 中特別提到隱式回饋(implicit feedback)的重要性這兩件事,可見到冰山一角

儘管如此,推薦系統的研究者還是很努力的抓出一些所謂的共性和特徵,比如據說曾經存在的第二篇文章談過的 confidence,或者我在《為什麼只有準確率是不夠的》提到的 familiarity, novelty & relevance,還有在《Novelty and Serendipity》裡面我簡短提了一些對 serendipity 的看法。簡而言之,推薦系統要有效,必須要夠「切題」、「有趣」、「驚喜」。但是這些指標,與其說是 metrics,不如說是「期望(expectation)」或「要求(criteria)」。****

除了上面提到的各式指標和評估準則,現在還有另外一種想法。推薦系統在商業領域的運用越來越廣泛,有實務經驗的專業人才越來越多,關於如何評估推薦系統這個問題,有了不一樣的體會(和態度),對於數字指標的追求,態度也不同了。Cloudera 資料科學總監 Sean Owen 在回答 Quora 問題 What metrics are used for evaluating recommender systems? 時,就直截了當的表達「不管黑貓白貓,會抓老鼠的才是好貓」的態度:

Yes, absolutely. The best metric is how much a system adds value to the end user and/or business. (Hopefully the same thing.) Really, you want to do some kind of A/B testing to see whether recommendations increase usage, clicks, etc. and how much.

還有更直接的,比如 Recombee (這家公司提供的服務是 Recommender as a Service)的 Tomáš Řehořek 在他們的企業部落格發表 Evaluating Recommender Systems: Choosing the best one for your business,用他自己的話說,在我的評估系列第一篇講過的 RMSE、MAP、Recall、Precision、Coverage 等等,是「離線的學術指標」,真正面對客戶解決問題的人,用的是「線上商業評估技術」。其實這些所謂的 online business evaluation 就是我們已經聽到耳朵都生繭的 performance review ,比如:

  • A/B testing with CTR/CR,
  • ROI calculation,
  • QA, empiric evaluation, compatibility with your product vision,
  • CLV (difficult to measure, yet Holy Grail to achieve)

這種實用主義者的態度,是商人和工程師的態度,很難說是不是最「合適」的態度。但是我們不得不承認,像 Seredipity 和 Novelty 這種指標,最多只能提供我們一些商業上如何行動的導引和建議,我們很難具體的評估推薦名單「新奇」或是「有用」的程度,因為我們沒辦法衡量、體會消費者的感受與情緒(也許以後辦得到)。我們也只能試試這個,試試那個,然後讓 A/B Test 告訴我們那個招式有機會能老闆賺更多錢!

攤手…

戒慎恐懼

上禮拜翻出舊文,想起之前等期刊回覆時的心情,那時 John Battelle 在部落格提到谷歌創辦人 Larry Page & Brin Sergey 離校之前,投論文的結果也是非常不順。一時間,煎熬翻騰的情緒有了出口,心情大好,阿Q 的處世態度,對心理健康確實有好處啊(呵呵)。

… when Larry and Sergey first presented Google, they couldn’t even get their paper accepted (it took three tries, if I recall correctly. Someone should write a book about that…).

-

沒想到,SEO by the Sea 的老大 Bill Slawski,竟然在愚人節那天,翻出當年兩位創辦人在校期間寫的論文,還找出可以正常下載的超連結。甚至還有人從 Web Archive 翻出那時候 Stanford 大學的網頁 1,看到這麼多年前的網頁,不知說什麼好

看到這些出土「古董」,有兩個想法,一是在這個時代,掌握搜索技能真是生存必備,許多人提過這件事了,此處不多說;第二個想法比較恐怖,我突然想到《刪除:大數據取捨之道》這本書所說的,在這個信息時代,你曾經幹過的事,都會留下痕跡。不管是好事壞事,不管你希望別人怎麼看怎麼想,只要是有心人,一定能挖掘到你「曾走過的痕跡」,而且你不知道別人怎麼解讀詮釋這些痕跡!

-

除了戒慎恐懼,夫復何言!

Bots War 機器人江湖

今年二月份 PLOS 發表一篇文章 Even good bots fight: The case of Wikipedia,維基百科使用的撰稿機器人,彼此會拆臺,改對方的稿子,乍聽很有趣,但是細細想來,令人不寒而慄。就像論文摘要說的,機器人也自成江湖1了。

The online world has turned into an ecosystem of bots. However, our knowledge of how these automated agents are interacting with each other is rather poor.

 

照論文作者的說法,撰稿機器人沒有感情、沒有慾望,一心只有把自己份內工作做好的念頭,更別說結黨營私拉幫結派,在組織內搞派系。若是它們寫的稿子品質過關,那就是你好我好大家好啦。

Bots are predictable automatons that do not have the capacity for emotions, meaning-making, creativity, and sociality and it is hence natural to expect interactions between bots to be relatively predictable and uneventful.

但是事情沒這麼簡單,撰稿機器人會把別的撰稿機器人的稿子改掉,而且這是經年累月持續的鬥爭,並不是偶發事件。活脫脫就是人類江湖的世代恩怨故事的演繹。更可怕的是,作者還加了一句話「就像人類一樣,在不同文化環境下,機器人的行為也會跟著不同」,這根本就比科幻小說還科幻,比 Matrix 還 Matrix。

We find that, although Wikipedia bots are intended to support the encyclopedia, they often undo each other’s edits and these sterile “fights” may sometimes continue for years. Unlike humans on Wikipedia, bots’ interactions tend to occur over longer periods of time and to be more reciprocated. Yet, just like humans, bots in different cultural environments may behave differently.

在 AlphaGo 狂虐人類棋手的時候,聶衛平等棋界大佬就說,AlphaGo 用他自己的學習策略,找到合乎規則的走法,但 AlphaGo 的思路和之前人類下棋的思路是不一樣的。今天,網際網路裡的機器人(bots)也形成了屬於它們自己的江湖,雖然思路不同,追求的目的也不相同,但是廝殺與恩怨卻與人類如出一轍。所以,機器人的江湖,和人類的江湖是形似而神不似,自有一套屬於「非人」的「思路」。

前兩天,我說到李飛飛要提醒我們的事情不簡單,人工智慧究竟是一頭不擇食的猛獸,還是為人類福祉孜孜矻矻,「擡頭看路,低頭拉車」的老黃牛,我們一點都不明白。

古龍有句名言,「人在江湖,身不由己」,機器人進了江湖,又是怎樣呢?


  1. 老外沒聽過江湖,用的是 ecosystem 這個字 

那個「天末」不是人

孩子從學校圖書館借的週末讀物,放在茶几上,順手拿起翻翻,雖然是寫給青少年看的小說,一點也不「幼稚」,故事設定頗富深意,相當有意思,於是一口氣讀完這本小說

-

陳郁如著《詩魂(仙靈傳奇1)》: 親子天下出版

故事的主人翁,是唐朝詩人柳宗元的後裔,因為母親在懷孕期間的一場夢,給孩子取名柳宗元,於是故事的主角和他的詩人遠祖同名。國文課堂裡,主角在杜甫的《天末懷李白》中登場,他耳聰目明,數理能力高明,身手矯健喜愛運動,唯一遺憾就是他是詩的絕緣體,無法理解也無法親近唐詩,連一首詩都背不下來。他被老師逼問,這首詩什麼意思,他鼓起勇氣告訴老師,「這是描寫李白的媽媽天末,懷他時的詩句。」

涼風起天末,君子意如何。
鴻雁幾時到,江湖秋水多。
文章憎命達,魑魅喜人過。
應共冤魂語,投詩贈汨羅。

一場鬨笑,他既感到無比尷尬,也有點無奈。在鬧了這樣大的笑話之後,機緣巧合,在同班女同學的幫助下,他與詩親近的能力竟然「覺醒」了,原來他是註定要拯救唐詩危機的有緣人。於是柳宗元運用他的特殊能力穿梭於現實和詩境中,拯救千千萬萬首唐詩凝聚的詩魂,從而挽救了唐詩被人性負面情緒匯聚的黑暗力量摧毀的危機。

詩境為什麼陷入危機,因為…

每首詩有它的意境,有它的靈魂,這些唐詩的靈魂經過幾千年被人傳送、低吟、欣賞,滿滿的聚在一起,被稱為詩魂。詩魂可以穿梭在每首詩的意境裡,也會守護每首詩的意境。

詩的意境也有黑暗的靈魂。詩人的惆悵、悲恨、傷心、憤慨、哀怨聚在一起,慢慢形成一股陰暗之氣,這陰氣本來跟詩魂不相上下,可是陰氣的力量愈來與大,甚至想要取代詩魂,控制整個詩魂。

詩魂在詩境中穿梭,認識了皇甫松詩《採蓮子》中的採蓮女喜蓮,被喜蓮的純真所吸引,一時心軟,打破詩境戒律,帶著喜蓮出入於各首詩之間。但是在過程中,不慎讓喜蓮被黑暗力量所傷,在白居易的《長恨歌》的詩境裏,她心中的黑暗面被充分激發出來。為了要保護喜蓮,詩魂耗費功力封印喜蓮體中的黑暗力量,因此功力大損,實力不及原來十之一二。於是在詩魂與黑暗力量的對抗中…

…詩魂不敵,被陰氣所滅

詩魂在被滅之前,把剩下的魂氣分散在五首不同的詩中,只要有人能進入詩的意境裡,跟它一樣在詩境中穿梭,就能找到這些魂氣。把這些魂氣聚積起來,詩魂就可以回到詩境。

柳小弟,在同學幫助下,終於把他的老祖宗寫的「江雪」背全。他的第一首詩,解開了他對唐詩的隔膜,就像封印被莫名揭開,柳小弟瞬間到了寒氣逼人的江邊,進入了詩的意境之中,在一個亦虛亦實的「世界」裏,和蓑衣老翁幾次交流之後,他終於明白也終於認命,自己就是天命所寄,要拯救詩境的準英雄或是狗熊。原本他對唐詩一點辦法都沒有,但是能力被開發之後,他從抗拒到接受,最後熱情投入拯救詩境的大業中,花許多時間精力查閱學習唐詩的資料,學習領會詩人要傳達的意見和境界,不知不覺中,他對詩的理解昇華到以前從沒想過的境界。

柳宗元從詩的絕緣體,變化成能夠隨時隨地出入詩境,能領略詩的妙處,也能在詩句中猜出詩魂設置的謎題懸念,欣賞詩的境界變得極高了。不意外的,柳小友順利找到五縷魂氣,經過幾番波折,詩境危機解除。不過…

月有陰晴圓缺,人間有哀傷怨怒,詩境裡的黑氣(負面情緒積聚的陰氣)也仍在詩境裡不時穿梭在各詩之間,給每首詩的詩境找點小麻煩,就像你我不時會起傷春悲秋的情緒。這才是人生啊。

最後,兩小無猜的兩個同學有沒有揭開那層紙似乎也不那麼重要,兩小無嫌猜是最可愛的境界了,不是嗎(呵呵)?

這本書可以看到作者(詩魂)構建謎題的唐詩的欣賞解析,一點點武俠,一點點仙俠,一點點奇幻,再加上一點點少年少女若有似無的曖昧情絲。作者很有想像力,融合讀詩與奇幻,企圖心不可謂不小,執行的也不錯。

鼓勵讀詩是件好事。IMHO,喜愛讀詩的人,至少不會把這世界弄得烏煙瘴氣。