機器學習中的技術債務
許多人遇到技術債務時都會眉頭緊鎖,但一般來說,技術債務並不是一件壞事。例如,當我們需要在最後期限之前發布版本的時候,技術債務就是一個可以利用起來的合理手段。但是技術債務存在與金融債務一樣的問題,那就是到了要償還債務的時候,我們所付出的要比開始時付出得多。這是因為技術債務具有複合效應。
經驗豐富的團隊知道應該在什麼時候償還成堆的債務,但機器學習中的技術債務堆積起來卻非常迅速。你可能在一天之內欠下價值數月的債務,即使是最有經驗的團隊也可能因為一時的疏忽而產生巨額債務,使得他們需要耗費半年才能恢復,這足以扼殺一個快速迭代的項目。
這裡有三篇精彩的論文探討了這個問題:
機器學習:技術債務的高息信用卡 NIPS"14(NIPS:神經信息處理系統大會)
機器學習系統中隱藏的技術債務 NIPS"15
你的機器學習測試成績是多少? NIPS"16
這些論文介紹了數十種機器學習反模式,它們可能會成為軟體基礎架構中的定時炸彈。在這裡,我只討論三個最重要的反模式。
反饋迴路
當機器學習模型的輸出間接饋入自己的輸入時,就會產生反饋迴路。聽起來這很容易規避,但在實際操作中卻正好相反。反饋迴路有很多種變體,NIPS"14的一篇論文介紹了一個很典型的例子,而我在這裡會給出一個更真實的例子。
例子
假設你的公司有一個購物網站。後端團隊提出了一個推薦系統,它會根據客戶的個人資料和以往的購買記錄來決定是否彈出通知。很自然地,你會根據客戶先前點擊或忽略通知的記錄來訓練這個推薦系統(這還不算是反饋迴路)。在啟用這個功能後,你會很興奮地看到點擊通知的比例越來越高。你會把這個增長歸功於人工智慧,但你不知道的是,前端團隊實現了一個固定的閾值,如果推薦的置信度小於50%,則隱藏通知,因為他們不希望向客戶顯示潛在的不良推薦。隨著時間的推移,以前在50-60%置信範圍內的推薦現在會被認為是小於50%,這樣,最後就只剩下50-100%置信度的推薦了。這就是一個反饋迴路。你的指標雖然增長了,但系統並沒有得到改善。你不僅要**利用**機器學習系統,還要讓它自己去**探索**,以避免使用固定的閾值。
在小公司中,控制反饋迴路相對來說比較容易,但在擁有數十個團隊的大型公司中,幾十個複雜系統相互關聯,這其中的反饋迴路就很有可能會被忽略。
如果某些指標即使沒有啟動優化也在緩慢改善,那麼說明反饋迴路正在發揮作用。找到並解決迴路並不容易,因為它涉及到跨團隊的合作。
校正級聯
當機器學習模型不再繼續學習下去,並且你在最後給機器學習模型的輸出打補丁的時候,就會產生校正級聯。隨著補丁的積累,你最終在機器學習模型的頂層創建的一層厚厚的啟發式演算法,就稱為校正級聯。為了顧及機器學習沒有學習到的罕見特殊情況,對機器學習系統的輸出使用過濾器是很容易的。
在對整個系統所有的指標進行訓練的時候,校正級聯會對機器學習模型正在嘗試優化的那個指標進行相關化。隨著這一層校正級聯越來越複雜,你將無法確定機器學習模型的更改是否能對最終的指標起到改善作用,並最後也不知道該如何改進了。
流浪者(Hobo)特徵
流浪者特徵是機器學習系統中沒用但又不能忽視的特徵。有三種類型的流浪者特徵:
捆綁特徵(Bundle features)
有時,當有一組新的特徵需要一起評估的時候,我們會將它們捆綁在一起整體提交。但不幸的是,只有其中的某些特徵是有用的,而其他的一些特徵甚至會起到反作用。
ε特徵(ε-features)
有時,即使某個特徵只是促使質量提高了一點點,我們也會傾向於添加這個特徵。然後,如果基礎數據稍稍有所改變,這個特徵就可能很快失去作用,甚至起到反作用。
遺產特徵(Legacy features)
隨著時間的推移,我們為項目添加了一些新的特徵,並且沒有重新評估它們。幾個月後,其中的一些特徵可能會變得完全沒用,或者被新特徵所取代。
在一個複雜機器學習系統中,有效清除流浪者特徵的唯一方法是試著一次只清除一個特徵。也就是說,一次只刪除一個特徵,然後再訓練機器學習系統,並使用你的指標進行評估。如果系統需要花一天的時間來訓練,那麼我們一次可以運行5個訓練,如果我們有500個特徵,那麼清除掉這所有的特徵則需要100天。但不幸的是,特徵之間可能會相互影響,這意味著你必須嘗試清除所有可能的特徵子集,這時,難度就會指數級地上升。
結合我們的力量
在機器學習基礎架構中如果同時包含這三種反模式將是整個項目的災難。
因為反饋迴路的存在,你的指標將無法反映系統的真實質量,機器學習模型將學習利用這些反饋迴路,而不是學習有用的東西。此外,隨著時間的推移,你的模型可能無意中由工程團隊塑造出來,從而更多地利用這些迴路。
校正級聯會降低用機器學習模型直接進行測量的指標與整個系統之間的相關性。它可能對機器學習模型有積極的改善作用,但對整個系統指標的影響卻是隨機的。
因為流浪者特徵的存在,你甚至都不會知道數百個功能中哪些是有用的,而且要全部清除它們的代價實在太大。在日常工作中,監測的指標可能會隨機上下波動,因為某些垃圾特徵會隨機起作用。
最終,項目的指標會隨機上下波動,無法反映實際的質量,也無法改進。唯一的出路是推倒重來,重寫整個項目。
文章原標題《Technical Debt in Machine Learning》,作者:Maksym Zavershynskyi,譯者:夏天,審校:主題曲。
※Vega數據可視化工具——教你輕鬆玩轉大數據可視化|附代碼
※沉澱|從網路中間件到搜索,從移動開發到分散式計算平台,阿里高級專家李睿博談自己的折騰路
※安全態勢,交互發現——基於阿里雲輕鬆搭建安全大屏
※有源碼提供:還在苦惱如何寫CNN網路?看大神如何使用keras11行代碼構建CNN網路
※「刷腳購物」?!中國」新四大發明」再次征服老外
TAG:雲棲社區 |
※RPA信息技術服務機器人研究
※籃球技術:實用中鋒技術教學
※機器學習SVM模型分類技術應用
※德欲從中國買發動機技術為五代機服務
※將科學技術投入到無限的為農民服務中去
※【科技動向】法國啟動將人工智慧技術用於空中作戰的研究項目
※李鋒:克拉克的「技術模式」與中國舊石器技術演化研究
※生物技術中的變魔術——魔法剪刀
※PP雲技術副總監:如何使用機器學習演算法優化分發鏈路
※高技術中心與中國航天員科研訓練中心開展主題聯學活動
※專業之生物科學與技術
※知感科技圓滿助力VR技術在教育教學中創新應用專題研修班
※技術是科學的應用嗎
※【智能技術】大哈機器人
※人工智慧作為科學與技術的兩重性
※技術消費品的研究體會
※從基本能力時期的技術學科到學科核心素養下的技術學科
※務實創新·感測器技術研究的趕路人
※超聲相控陣技術在實際檢測中的應用研究
※中醫生物電DDS滲析理療技術的優勢