機器學習很無聊。
至少這位鐵汁是這樣認為的。
甚至還在Reddit上發了帖子,標題就直接這麼明晃晃寫道:
Why machine learning is more boring than you may think?
結果不到15個小時,便引起了500+熱度的討論。
對此,有網友認為,「因為它是工程技術,而不是基礎研究,工程需要滿足最低標準和最後期限的,技術上沒有什麼挑戰性」。
而至於為何要如此強調「Boring」,這位數據科學家肖安講了如下原因,也給出了自己的解決方式。
機器學習「四大Boring」首先是設計 (Designing)的部分,佔據5%-10%的時間。
這時候是群策群力、迸發新想法的時候,包括新的模型體系結構、數據功能和系統設計等。
預期的情況是,在每個項目中應用最新和最出色的算法,可以在知名頂會期刊發布的那種。
但實際情況是,由於「時間限制」和其他優先級事項,只能做到最簡單、有效的算法。
這時候,為了滿足作者的「成就感」,就會在附帶項目中進行一些「瘋狂」的想法,即使這些想法根本不起作用。
接著是編碼 (Coding )的部分,根據項目的不同,20%到70%的時間佔比。
代碼通常分為五類:佔代碼總行數的百分比。
數據管道,50-70%;
系統和集成事物,10–20%;
ML模型:5–10%;
支持調試和演示分析,5–10%;
預期的場景是,花費大量的時間在編碼ML組件。
但現在已經有很多現成的框架和編碼語言,將很多複雜的東西抽象化,這樣工作流已經十分標準化了,根本不需要去開發和完善ML組件。
既然如此,工程師則將更多的時間花在其他低級的優化上,比如系統、數據管道等。
然後是質量檢查、調試、修復 (Debug),至少要花65%的時間。(感受到了作者的怨念)
一般主要有兩種錯誤,不良結果和傳統軟體問題。
不良結果,就是模型效果不好、評分較低(比如準確性)。
傳統軟體問題,就包括系統損壞、系統配置問題。
理想的狀態,是只需要處理「不良結果」,然後去構建更好的模型。
嗯,展現才能的時間到了!
然而現實情況是,大概70%-90%都是「傳統軟體」問題。
而至於不良結果,通常在構建端到端模型訓練和數據管道之後,就可以的很快獲得很好的結果了。
最後一個部分,就是「滅火」(Fire-fighting),處理各種意外情況。
這大概是所有工程師都不願意看到的點了吧。
在整個交付過程中,不管是外部、甲方爸爸的要求還是內部溝通不暢、能力不足等各種人為Bug,用作者的話來講,「就是一場噩夢」。
這時候,除了保持微笑之外,建議將時間軸延長到2-3倍,在團隊裡積極交流。
害,說到這裡,歸根結底就是理想與現實之間的差距,別人以為的和你自己正在幹的區別。
比如,就像這樣。
最後,這位小哥還是注入了一些安慰劑。
就像從事任何職業一樣,最終都會感到無聊和沮喪。
但是沒關係,很正常。你應該開發一種應對機制,像玩遊戲一樣,在過程中獲得一些小獎勵,然後最終獲得勝利。
網友怎麼看?對於這件事,網友們倒是意見各異。
有學CS學了6年的博士生自述了所遇到的迷茫,並表示打算放棄現在的博士學位。
我期望它是酷炫的、知識性、算法性的東西,但一直沒有等到可大展拳腳的工程/調試類項目。
因為這個原因,我打算退學。雖然現在還不清楚該申請什麼樣的工作。
但有人覺得,作者所說的幾個Boring,恰好是喜歡當ML工程師的原因。
還給出建議:如果你想花費100%的時間用來構建和調試ML模型,那你應該去看看研究崗,而不是工程崗。
還有網友表示,自己很喜歡ML工程師的工作,從構建自運行的端到端模型,到正式投入生產,會有很強烈的成就感。
也有人形象的比喻了理想與現實:
那麼,對於這件事你怎麼看?如果你的身邊也有類似的經歷,歡迎與我們分享~
參考連結:
https://towardsdatascience.com/data-science-is-boring-1d43473e353e
https://www.reddit.com/r/MachineLearning/comments/jvq4jw/d_why_machine_learning_is_more_boring_than_you/
本文系網易新聞•網易號特色內容激勵計劃籤約帳號【量子位】原創內容,未經帳號授權,禁止隨意轉載。
量子位年度智能商業峰會啟幕,
李開復等AI大咖齊聚,
邀你共探新形勢下智能產業發展之路
一鍵三連「分享」、「點讚」和「在看」
科技前沿進展日日相見~