樂趣和利益并存的機器學習的危險世界
英文原文: The Perilous World of Machine Learning for Fun and Profit
管道叢林和隱藏的反饋循環
我很久沒有寫博客了。然而,我不想放棄,沒有寫作的主要原因是我在 MailChimp 的工作太忙了。數據科學小組和公司其他人一起緊密配合,期望在未來做一些有趣的東西。
受到 Google 出品的優秀論文“Machine Learning: The High Interest Credit Card of Technical Debt”的啟發,我寫了一篇文章。
那些計劃靠開發產品數學模型系統謀生的人們需要關注這篇論文了。
然而我在這里不想扼要重復整篇論文,我想強調與生活密切相關的一些觀點。
管道叢林(Pipeline Jungles)
在我孩提時代我喜歡的一本書是 Roald Dahl 寫的《George’s Marvelous Medicine》。這本書充滿了淘氣鬼和惡作劇,使得 Dahl 的作品趣味十足。
書中的 George 非常好奇,從家里找到化學物質,混合成棕色的湯,以替換他祖母平時的藥。這種孩子式的謀殺祖母的重罪,常常讓我忍俊不禁。
規劃一種新的機器學習模型的原型,與 George 制作化學毒物的需求類似。對于數據科學家來說,翻遍公司去尋找數據源和工程特性、以幫助預測一種結果,這是一個機會。
一些日志文件,一些 Google Analytics 數據,一些 Marge 提供的會計方面的電子表格。
哇!我們具備了大量的模型。
和別人分享你是如何找到 reddit 投票、萬年歷和你的瑜伽老師說短鏈碳水化合物(FODMAP)的次數組合之間的神話,是多么地有趣呀,實際上多少有些預測作用。
不過它們是一些糟糕的開發人員規劃你的原型模型工作,從海量數據源(嘿,為了更好地測量,你很可能也收集了 推ter)拉取,并轉化到產品系統里。
突然,出現了一種“管道叢林”,數據源的流和工程特性的膠水代碼,建立了你不得不按照《George’s Marvelous Medicine》狂歡里手動創造的、在產品上可編程的、可靠的某種東東。
在機器學習項目的研究和設計階段,很容易把產品搞成過度工程。太多的數據源、太多的新奇脆弱的功能,相應地,成為太復雜的一個模型。論文提到的策略是,忽視原型模型中的不重要功能,因為它們幫助不大,它們也沒有傷害任何人,對吧?
這些功能的價值和忽視它們的成本,兩相比較,結果如何呢?那就是需要維護額外代碼,或許是需要從中拉取的額外數據源。正如 Google 論文指出的,世界在變化,數據在變化,每個模型功能都是打破一切的潛在風險。
切記,科技媒體(和供應商)將讓你開發一個深度的學習模型,從互聯網的屁眼里攫取收集到的數據,但是稍微自我控制比較重要。正如技術債務論文作 者 Preach 所指出的,“對于以大規模增加系統復雜度的成本為代價、而提供微小精確好處的研究解決方案,幾乎不是明智的實踐”。
隨著定好的閾值開始偏離,誰將擁有這個模型、關心它、熱愛它、照顧它并提供緊急救助?因為它將消耗人力相關的費用,把資源投入到維護模型上,那 么這個模型對于業務是值得投入的嗎?如果模型沒有這樣重要(在重要性上,我經常討論頂線收入【Top Line Revenue】),或許具有一些相互作用的邏輯回歸【注1】就適合你了。
人類是反饋循環(feedback loop)機器
在英國哈沃斯(Haworth)【注2】,人們常常在城鎮上面的山頂掩埋尸體。當有人死去的時候,他們把尸體運到山上擁擠的墓地里,然后尸體流出的帶有霍亂病菌的液體滲入到供水系統,進而影響山下的人,為墓地產生了更多的尸體。
哈沃斯有著特別兇險的反饋循環。
機器學習模型也吸收著各種各樣兇險死尸的液體。
在 MailChimp,如果我知道一個用戶將來會成為垃圾郵件發送者(spammer),我現在就能通過機器模型關閉掉,快速地遏制該用戶。
但是我正在改變的將來,可能是某一天、下一周、下一年,有可能是機器學習系統的現在。
任何訓練眼下數據的企圖都充滿了危險,這些數據如今已經被業務的模型驅動行為(山頂被埋葬的、死亡的垃圾郵件發送者)污染了。這是一個反饋循 環。突然地,或許我沒有用來訓練 ML 模型的垃圾郵件發送者了,因為我把它們都關掉了。現在,我新訓練的模型認為,垃圾郵件貌似不是我當初所認為的那個樣子。
當然,這種反饋循環可以用很多方式得到緩解。比如保留數據(holdout set)。
但是,我們僅僅能夠在知道其存在的情況下才可以緩解,我們人類精于生成反饋循環而害怕重新認識它們。
考慮一下小說中的時光旅行。一旦你有了時光機(毫無疑問,合適的 ML 模型在處理銷售和市場方面,非常接近于跨越式時光機),很容易穿越去攪和事情,但是很難參與這些變化的所有影響以及他們可能改變你將來訓練數據的方式。
還有,當 ML 模型產出的數據放到執行人的手里時,你敢打賭將來(和相應的訓練數據池的將來)會被改變的。這是關鍵!我不能預測用它們會做些什么!預測意味著被采納。
因此,當警察預測某個社區充滿了犯罪,然后開始反復突擊社區時,你認為接下來要發生什么?未來訓練的數據將受到警察“特別關注”的影響。預測的模型反過來影響了系統鑒別。
但是我們不應當期望警察會理解他們正在山頂埋死人。
這是我對于數據科學技術步行街化(pedestrianization)的擔憂之一。隨著我們把預言性的模型越來越多地交到外行手里,我們可能把理解或關心他們濫用情況的人從循環中清除,對此我們考慮過嗎?
集成,保持警惕
技術債務論文做了這樣的敏銳評論,“膠水代碼和管道叢林是整合問題的征兆,可能在根本上引起‘研究’和‘工程’角色的過度分離,這是不值得的”。
這絕對是真實的。當數據科學家把產品執行當做黑盒子時,他們將快速推出其原型;而工程師把 ML 包做為黑盒時,他們將快速推出管道。問題在滋生了。
數學的模型制作者在開發產品數據系統時,需要與工程師密切溝通。二者需要彼此在意對方、在意業務。目標不是使用深度學習,目標不是使用 Go 語言編程。目標是創建一個業務賴以運行的系統。在此基礎上,精確性、可維護性、健壯性……它們有著同樣的權重。
因此,數據科學家應該讓你的統計兄弟和其它團隊(工程師、MBA、法務……)的同事保持密切溝通,你們的目標是一起把事情搞定。這是你的模型從原型開始并存活下來的唯一方法。
- 注1:邏輯回歸或羅吉斯回歸(英語:Logistic regression 或 logit regression),即邏輯模型(英語:Logit model,也譯作“評定模型”、“分類評定模型”)是離散選擇法模型之一,屬于多重變量分析范疇,是社會學、生物統計學、臨床、數量心理學、計量經濟 學、市場營銷等統計實證分析的常用方法。http://zh.wikipedia.org/wiki/%E9%82%8F%E8%BC%AF%E8%BF%B4%E6%AD%B8
- 注2:Haworth is a historic village in the City of Bradford metropolitan borough of West Yorkshire, England.http://en.wikipedia.org/wiki/Haworth
— END —
譯文:《樂趣和利益并存的機器學習的危險世界 》 臘八粥