演算法的100道陰影

《演算法的一百道陰影》讀後心得

《演算法的一百道陰影》這本書的作者David Sumpter是應用數學家,在這本著作中他用輕鬆的口吻跟我們講解演算法是如何分析,並且從統計的角度發表他對這些演算法如何影響我們、AI是否能夠取代人類等問題的看法。

又會分析又會影響人的「演算法」

說到現今的演算法對人類的分析,其實就是從Google開始的。Google首創用網路流量變現成廣告的商業模式,從我們搜尋的字詞、造訪的網站開始一步步收集資料,最後資料比我們更了解我們自己,讓演算法可以決定要推送哪些相關廣告。後來的臉書發明了Like按鈕,更是能夠收集我們的喜好、互動。

作者在書中對數學模型有較詳盡的解釋。重點其實可以歸納為,數學上如果要做分類,就是將人用不同的維度表示成空間中的點(例如性別是一個維度、身高是一個維度…)。真正的世界會有無數維度,但經過數學分析之後可以將目前資料中對分類最有效的維度提取出來,剩下大約數百個維度。於是我們在數百個最重要維度上的評分,就定義了我們將會看到的廣告,或者更煽情點說,定義了我們在演算法心目中是怎樣的人。

演算法的一百道陰影∶歧視、失準、同溫層

歧視問題

用收集資料起家的演算法,也被詬病有歧視問題。其實說白了歧視的不是演算法,而是被當成輸入的資料。當輸入的資料中百分之八十工程師是男性,演算法自然覺得工程師更可能是男性,而如果招募演算法因此推薦更多男性候選人,可能會造成女性更難打入工程師的位置。問題的本質是熟悉統計的人都知道的,照原有的資料看兩件事有數學上的相關性,不代表是因果關係。

失準問題

預測演算法是以統計結果來作預測,用統計結果反過來作預測要有用,有個大前提是被預測的人數要夠多。如果單套在一個人身上,就會有很多失準的現象產生了。這其實是所有預測性演算法共同的侷限。

同溫層問題

「同溫層」這個概念現在大家大概都不陌生了,本書有一章談到所謂的「泡泡」指的是同一個意思。泡泡的產生來自於社交網站使用的能見度公式:與一個人/主題互動越頻繁,越容易看到相關訊息。

其實這個概念本身本來沒什麼問題,就算是沒有網路的時候,人也是有同溫層的。不過近年來發現網路推播的訊息受這個演算法影響較深。怎麼說呢?例如有個人寫了完全不合理的假訊息,結果很多人都留言罵他,這就是互動了。於是留言的人更容易看到這類訊息,因為演算法覺得他「有興趣」。久而久之,使用者就不容易看到沒有互動的消息。

假新聞問題

跟同溫層問題師出同源,假新聞主要是指內容不真實的新聞。有些消息刻意作假,利用人氣衝上某些人版面的主流。假新聞的問題是在會強化錯誤的記憶。有一個名詞「曼德拉效應」,是指人會被自己的錯誤記憶給矇騙。如果對一件事本來沒有太深印象,看幾次講述錯誤情況的證據之後,就更容易生成錯誤記憶,也不會想到要去懷疑這件事情。常見的情況是消息寫的比較聳動來吸引點擊,不明就理的人被吸引幾次之後,牆上就都是類似的訊息了,看多也就信了。

演算法究竟是好是壞

除了帶我們看到演算法的侷限和問題,作者也花了不少篇幅在討論針對這些侷限的反思。有許多地方是值得我們思考的,在這裡僅記述一下我個人的心得。

演算法vs人,演算法會比人問題更大嗎?

演算法只是單純反映我們身處的世界所帶有的偏見而已。

在談問題的時候很少人會回頭想這件事。一開始開發演算法是因為比人力更有效率,那麼我們就應該權衡一下究竟是利大於弊還是弊大於利的問題。

舉歧視問題為例來說,既然演算法的「歧視」現象是來自於輸入的資料,也就表示其實是因為社會上(至少是在使用的資料集範圍內)普遍存在人互相歧視的現象。所以很自然的我們應該要問的問題是,演算法的歧視比人的歧視還糟嗎?就統計結果來說,至少演算法似乎沒有比人更糟。而又因為演算法執行快速,這可能代表如果我們只討論人和演算法判斷的結果精準度和速度的話,演算法可能還是比較厲害。

雖然如此,統計很難直接給我們質化問題的答案。如果我們把一切都交給演算法處理,會不會造成歧視惡性循環的更嚴重?在這本書中,並沒有談到這個部份,我相信也是社會科學很有趣的研究題目。

演算法的限制,還是人的弱點?

改善不可能來自嚴謹的方法論,因此他們大多仰賴建模者本身的知識技能。

書中點出很重要的一點,也是非業內專家很容易忽略的一件事:在做統計的時候,因為資料總是有一定的限制,執行統計方法的人總是需要想辦法微調和矯正這些缺陷。作為一個以資料分析為生的讀者,這件事對我來說可說是常識,不過相信很多人並不真的深入了解這一點。這種現象常見於股市分析或選舉分析,各家投資者總是盡量把資料在合理範圍內弄得更「符合常識」一點。

這些演算法都建立在一個概念上,就是其他人的推薦與決定能讓我們學到東西。

很多有推薦功能的網站像Netflix、Amazon都是利用同一個觀念∶用別人的推薦來幫我們作決定。這些功能的需求來自人性∶我們不想看到過多資訊。於是網站給我們幾個選擇,我們從中挑出自己喜歡的。我們很容易的就被所提供的選擇「控制」了。

於是各種最佳化,增加曝光的方法誕生了。基於人的從眾性格,如果一件商品、一部影片一開始出來的時候就有大量關注,它就容易出現在排行榜的前面。乍看很可怕,但是仔細想想,沒有網路之前人好像也是這樣。

同溫層有那麼嚴重嗎?

同溫層問題聽起來嚴重,不過作者卻提出不同看法的研究。有人研究了同溫層造成的過濾是不是真的影響了用戶,卻發現統計上收效甚微。意思是說有影響,但是影響沒有大到可以改變世界(像選舉結果等)。另一則研究大略計算了有多少人在選前記得假新聞,也顯示只有一兩則,而且不太可能相信。

雖然這兩則研究是這麼說,我個人是對這些證據是否夠有力持保留的態度,因為書中談到的這方面研究只有兩則,以第一則來說主要題目是研究保守派和自由派選民受到的影響,似乎研究的主題並沒有專注在「不明就理的人」究竟有多少上?第二則只有「大略」計算。畢竟前面才談過了,統計結果和資料使用的方法能否符合作者試圖傳達的訊息這件事其實是要很仔細觀察才能辨別的。我還沒有完整看完過這類型的論文,所以我覺得同溫層這個問題是否嚴重還需要更深入分析。

機器會不會超越人類?

本書最後的大半在討論機器學習。機器學習和AI近年的爆炸性進步很大部份來自於叫作卷積神經網路的技術。這種技術奠基於類神經網路,是一種多層的模型。資料被分割後變成許多輸入元件,放進模型裡,模型每一層會進行運算,最後得出答案。例如圖像分割為像素後輸入,最後得出「狗」或「貓」的分類。這種技術的重點在模型會自己根據判斷完的「後果」作出參數的調整,所以每次執行這個模型就會有些變化,直到越來越正確為止。在技術上來說,機器還是需要人告訴他很多事情,很多機器學習的研究是在盡可能減少人類需要告訴模型的事情。

總結來說,機器學習要真正成為人類,有兩個主要必須解決的挑戰∶

  • 一個模型有沒有可能對於每個問題都要重新訓練起?
  • 模型有沒有辦法做到人需要告訴模型他的目標函數?

簡單來說,我們可以說「機器沒有自己決定想學什麼的能力」。如果模型能夠發展成普適的通才,而且還有辦法決定自己的目標,可能真的會變得非常接近人類。到時因為機器學得快,AI就會贏過人類了。不過,作者似乎很強烈的認為AI的發展要到超越人類還早得很,因為我們還沒有看到解法。

心得總結

這是一本寫得很輕鬆,科普的程度某些地方有點深但認真看不難懂的書。近幾年來由於各國(尤其是美國)大選的關係,越來越多人相信社群網站及其他有心人士利用各種大數據在影響著人們的決策,造成社會的分化,但少有人真正關注背後的一切理論。讀《演算法的100道陰影》,對了解這過去二十年或多或少影響我們日常生活的常見網路現象很有幫助。如果你對推薦演算法、機器學習沒有認識,又關心假新聞對你的影響,這是一本值得關注的好書。

最後,作者引述的這句話值得我們深省:

真正的威脅不在於電腦智能大幅提升,而是我們使用現有的工具只造福少數人,而非改善多數人的生活,只想著為超級富豪提供管家,而非解決廣大人民的問題。


謝謝你看完這篇文章。如果你喜歡我的文章,請追蹤Facebook粉專TwitterIG

發表迴響取消回覆