AutoML 壞掉了
作者:Piotr Plonski在Netezza和IBM擔任過軟體工程師,擔任過iQor的數據科學家,華沙理工大學的助理教授,現為MLJAR公司創始人。
自動化機器學習壞掉了
本文闡述了反對實施機器學習解決方案的若干理由,並介紹了面臨的問題不是機器學習問題,可能使用優化就能加以解決的場景。
按照維基百科的解釋,自動化機器學習(AutoML)是指使運用機器學習處理實際問題的整個端到端過程實現自動化。
典型的機器學習應用包括:
數據預處理
特徵提取、工程和選擇
演算法選擇
超參數優化
好多步驟!AutoML旨在使它們實現自動化,那樣你就可以將寶貴的時間用於處理更具挑戰性的任務上。聽起來很酷,但果真如此嗎?不妨仔細看看......
開始之前,你的問題是什麼?
在開始構建機器學習管道(自動或手動)之前,你需要知道:
你想要實現什麼樣的目標?
你想要解決什麼樣的問題?
你真的需要機器學習嗎?
這非常重要!也許你不需要複雜的機器學習解決方案。許多問題不是機器學習問題。它們可能是優化問題、探索性數據分析任務,或者是用簡單的統計方法就能解決的問題。
好了,現在你確信自己需要機器學習。
三個數據問題:什麼?哪裡?怎樣?
然後,你需要數據!
你需要什麼數據!
你已經擁有它了(在某個地方)嗎?
你需要購買嗎?
你需要手動標記嗎?
數據位於何處以及如何可以訪問它?
如何合併多個源數據?(這可能很重要)
許多人表示,上面概述的這些步驟是構建機器學習解決方案過程中最耗費時間的,因此也是最耗費資金的。在生產環境中運行這部分至少需要某種基本的抽取、轉換和載入(ETL)。
讓我們訓練模型吧(這部分很簡單)
數據準備好後,就可以運用AutoML。只要點一下滑鼠,你就可以訓練成百上千個模型,隨後這些模型在雲端並行訓練。你最終會得到一組模型,或者甚至全部模型,它們經過訓練,就某個驗證方案而言可優化某個指標。最好的那個(全面調優)模型會比擁有默認超參數的單個模型好幾個百分點。全部模型讓你可以在接下來改進幾個百分點。假設你最終改進了10%至25%,相當好,是不是?!在相同的情況下,這可以轉化為巨大的投資回報――想想交易解決方案或信用評分任務。
模型複雜性
不過你最終會得到一個複雜的模型,有以下屬性:
難以理解的黑盒子(是的,你可以嘗試使用AI解釋器,努力解釋模型及其預測)
計算預測所需要的時間可能很長(以全部模型為例,你需要計算來自所有模型的預測)
難以維護......
機器學習維護
模型維護是什麼意思?嗯,僅僅訓練精確、花哨的AI/機器學習模型還不夠。想在生產環境中使用機器學習模型,你應該:
監控數據質量,意識到可能出現的漂移(比如如果是自然語言處理即NLP,語言需要多年才有顯著變化,但如果是客戶數據,可能幾天內就會變化)
監控預測(模型拿訓練中未見到的新數據來計算預測,因此沒人知道會發生什麼)
提供反饋迴路,可用於監控用途和模型再訓練。
無聊的軟體
訓練機器學習模型令人興奮!這是Tigger最喜歡的!圍繞機器學習構建軟體並不同樣令人興奮。機器學習模型在生產環境中運行所需要的無聊軟體包括:
為訓練和生產準備輸入數據所用的軟體――你的ETL解決方案
為服務機器學習模型、監控數據質量和反饋迴路所用的軟體
為請求機器學習模型拿新的數據記錄計算預測,並進行操作所用的軟體(是的,你需要用預測做一些事情,為此還需要代碼)
在本地運行機器學習時,最後兩個步驟通常聯繫起來。所有使用的軟體同樣需要一些維護。
用預測做什麼?
你已成功完成上述所有步驟。恭喜!你現在可以拿新的數據記錄來計算預測。可以用預測做什麼?
你可以用預測來獲取洞察力(我認為這是最容易的方法,實際上這根本不使用機器學習模型,這是探索性數據分析)
你可以用預測來執行操作。有很多可能性,比如可用於提交匯兌交易或向客戶發送電子郵件。我認為這是整條機器學習管道中最出色的部分。基於數據行事。
結論:
1. AutoML解決方案可以調整機器學習模型,並藉助某種驗證模式和數據來提高準確性。它可以節省大量時間,數據科學家通常需要大量的時間來檢查不同的演算法和驗證(你不需要編代碼、不需要檢查庫版本或介面)。當然,擁有AutoML是一大優勢,很有必要。然而在我看來,就算你有AutoML魔法箱子,也需要大量資源(資金、時間和人力)來處理貴公司的機器學習。
2. 你需要提供無聊的軟體來處理數據並利用機器學習預測。我認為,機器學習管道的這部分被低估了,實際上它是數據驅動型解決方案的主力部分。
3. 此外,很多時候你不需要複雜的高精度模型。我認為最好從一個儘可能簡單的模型入手,看看你是否可以將它運用於實際生活中,它是否為貴公司提供改進/投資回報。就連簡單的機器學習模型也應該勝過根本就沒有模型(隨機處理)。簡單模型比複雜模型有顯著優勢:它們對人類而言是可讀的(是的,你可以理解它在做什麼!)。
4. 使用機器學習來執行操作。你會感受到自動化帶來的便利。機器學習模型基於你的數據來自學(你不需要為它編代碼),然後它可以幫你預測未來。用它來執行操作。
5. 商用AutoML解決方案價格不菲(每年5萬至20萬美元),因此只有大企業才負擔得起。除此之外,你仍需要大量資源才能在公司成功地部署機器學習。我認為,中小企業需要等待,等到這項技術趨於成熟,變得更經濟實惠。
TAG:雲頭條 |