10個表示你該部署AI的標誌—但不一定成功

作者 | Martin Heller

譯者 | CarolGuo

編輯 | Vincent

AI前線出品| ID:ai-front

編者按:

不是每個問題都可以通過機器學習來解決,也並不是每個公司都有準備應用 AI。本文討論如何知道你的 IT 企業是否已準備好從人工智慧中獲益。因為機器學習是靈丹妙藥,所以你的公司應該能夠利用它來獲利,對嗎?也許是;也許不是。好吧,我只是拿靈丹妙藥在開玩笑,那只是營銷炒作。我們來討論你是否有利用人工智慧所需要的基礎——如果你還沒有,那麼你怎麼能達到目標。

首先,你是否知道你想要預測或發現什麼?你有足夠的數據來分析建立預測模型嗎?你有定義和訓練模型所需要的人和工具嗎?你是否已經有統計或物理模型來提供預測的基準?

在這裡,我們將逐項討論讓你的人工智慧和機器學習項目成功所需要的東西,討論他們的後果,幫助你確定你的企業是否真正準備好來利用機器學習、深度學習和人工智慧。

你有大量的數據

擁有充分的相關數據是進行預測和特徵識別的必要條件。有了它,你可能會成功;沒有它,你就不能成功。需要多少數據呢?無論是做普通的統計預測、機器學習或深度學習,你考慮的因素越多,需要的數據也越多。

以預測銷售的常見問題為例,譬如下個月你在邁阿密會賣出多少件海軍藍色的短袖襯衫,以及你需要在邁阿密商店和亞特蘭大倉庫庫存多少這種襯衫以避免缺貨同時也不用捆綁太多的錢和庫存空間。零售銷售季節性很強,因此你需要好多年的統計顯著的月度數據,以便能夠糾正月度變化並建立年度趨勢,而這僅用於標準時間序列分析。與統計模型相比,機器學習需要更多的數據,而深度學習模型需要更多倍的數據。

你可以構建一個統計模型,分析你的供應鏈在 5 年以上的全國每月襯衫銷售情況,並用該匯總來預測下個月的總襯衫銷售情況。這個數字可能在幾十萬(譬如,30 萬)。然後,你可以預測邁阿密的襯衫銷售額為全國銷售額的一個百分比(譬如,3%),並預測藍色短袖襯衫的銷售額佔總襯衫銷售額的一個百分比(譬如,1%)。該模型得出下個月在邁阿密約賣出 90 件藍色短袖襯衫。你可以通過查看每年各種產品的同店銷售情況,對該預測進行理性檢查,特別注意與模型預測有多大的差異。

現在,假設你想考慮外部因素,如天氣和時尚趨勢。當天氣比較熱或太陽更大時,短袖襯衫會比涼爽或雨天時賣得更好嗎?有可能。你可以通過在模型中包含歷史天氣數據來測試,儘管使用時間序列統計模型可能有點笨拙,因此你可以試試決策森林回歸,還可以試下其他 7 種用於回歸分析的機器學習模型(見上面的截圖),然後比較每個模型的「成本」(歸一化誤差函數),與去年的實際結果相比,找到最佳模型。

海軍藍短袖襯衫在下個月會比去年同期銷售更好還是更差?你可以查看它的每月銷售量並預測年度時尚趨勢,也許可以將其放入你的機器學習模型中。或者你可能需要根據你從時尚界聽到的消息來手動更正(也被稱為「胡亂猜測」)模型。(譬如,「以防萬一,讓我們將預測提高 20%」)

也許你想創建一個深層神經網路來做出更好的預測。你可能會發現,每添加一個隱藏圖層就可以將回歸誤差改進幾個百分點,直到添加的下一層對結果不再有幫助為止。收益遞減,可能是因為在模型中沒有更多的功能可以識別,或者更有可能是因為沒有足夠的數據來支持更多的改進。

你有足夠多的數據科學家

你可能已經注意到,得有人來構建上面討論的所有模型。這不是將數據傾倒到料斗中並按下按鈕的問題。無論你使用什麼工具(儘管供應商可能聲稱某種工具),它需要經驗、直覺、編程能力和良好的統計背景來應用機器學習到達任何地方。

某些供應商特別傾向於聲稱「任何人」或「任何企業角色」都可以使用其預先訓練的應用機器學習模型。如果模型正好是手頭的問題,例如將正式的魁北克語法文翻譯成英文,那麼這可能是正確的,但是更常見的情況是,現有的訓練好的機器學習(ML)模型並不完全適合你的數據。由於你必須訓練該模型,你將需要數據分析師和數據科學家來指導訓練,而這些訓練更多是一門藝術,而不是工程或科學。

招聘數據科學家的最奇怪的事情之一就是發布的要求,特別是與被僱用的實際技能相比。廣告經常說「想要:數據科學家。STEM 博士加上 20 年的經驗。「第一件奇怪的事是,該領域並沒有真正存在 20 年。第二個奇怪的事是,公司僱用了 26 歲的剛從研究生院畢業的學生(也就是說,在學術界外沒有任何工作經驗,更不用說 20 年了),而不是已經知道如何做這些事情的人,因為他們害怕資深人士太貴了,儘管他們要求 20 年的經驗。是的,這是虛偽的,很可能是非法年齡歧視,但這是所發生的事情。

你跟蹤或獲取重要因素

即使你有資料庫和大量的數據科學家,你可能沒有所有相關變數的數據。在資料庫方面,你可能有很多行,但是缺少一些列。統計上,你可能有不明原因的差異。

一些獨立的自變數,如天氣觀測,其測量很容易獲得併合併到數據集中,甚至在事實之後。其他因素的測量或獲取可能很困難、不切實際或很昂貴,即使你知道它們是什麼。

我們來用一個化學的例子。當你將鉛電鍍到銅上時,你可以測量氟硼酸電鍍浴的溫度和濃度,並記錄陽極上的電壓,但是你將不會得到良好的附著力,除非浴中含有足夠的肽,但實際上沒多少。如果沒有將放入浴中的肽稱重,你將不知道這種關鍵催化劑存在多少,而且你無法使用其他變數來解釋板子質量的變化。

你有辦法清理和轉換數據

數據幾乎總是有雜訊的。測量可能缺少一個或多個值,單個值本身可能超出範圍或與同一測量中的其他值不一致,電子測量可能由於電雜訊而不準確,人們回答問題時可能不理解或編造答案,等等。

任何分析過程中的數據過濾步驟通常需要最大的努力。以我的經驗,它佔總分析時間的 80%到 90%。一些商店在其 ETL(提取,轉換和載入)過程中清理數據,因此分析人員永遠看不到壞數據點,但是其他商店將所有數據都留在帶 ELT 功能(轉換步驟在最後)的數據倉庫或數據湖中。這意味著即使是清楚的臟數據也被保存,理論上隨著時間的推移需要改進過濾器和轉換。

即使精確的過濾數據可能需要進一步轉換,才能很好地分析。與統計學方法類似,當每個可能的狀態有相似的行數時,機器學習模型最有效,這可能意味著通過隨機抽樣來減少最流行狀態的數量。與統計學方法一樣,當所有變數已經被歸一化時,機器學習模型效果最好。

譬如,科爾塔納 ML 中對特朗普和柯林頓競選活動的分析顯示了如何通過創建標籤、處理數據、工程附加功能和清理數據來準備機器學習數據集,該分析在微軟博客文章中有討論。該分析在 SQL 和 R 中進行了幾次轉換,以確定與柯林頓或特朗普相關聯的各種委員會和競選資金,基於捐贈者的名字可能是男性或女性,糾正錯誤拼寫,並修正類別不平衡(數據集有 94% 是柯林頓活動,主要是小額捐款)。在我的 Azure ML Studio 入門教程中,我展示了如何獲取此樣本的輸出,並將一個兩類邏輯回歸模型應用在該數據上。

你已經在數據上做過了統計分析

數據分析和解決問題的大罪之一就是跳到原因。在你能弄清楚發生了什麼和為什麼之前,你需要退後一步,看看所有的變數及其相關性。

探索性數據分析可以快速地顯示所有變數的範圍和分布、變數對是否依賴或獨立、集群所在的位置以及可能存在異常值的位置。當你具有高度相關的變數時,從分析中刪除一個或另一個變數通常是有用的,或者執行類似於逐步多元線性回歸方法以確定變數的最佳選擇。我並是暗示最終的模型是線性的,但在引入複雜度之前,嘗試簡單的線性模型總是有用的。如果你的模型中有太多項目,則最終可能得到一個超定系統。

你測試許多方法來找到最佳模型

只有一種方法可以找到給定數據集的最佳模型:嘗試所有模型。如果你的目標是在經過深思熟慮但具有挑戰性的領域,譬如攝影特徵識別和語言識別,你可能會試圖只嘗試競賽中的「最佳」模式,但不幸的是,這些模型通常是計算密集型的深度學習模型,在圖像識別和用於語音識別的長短時記憶(LSTM)層的情況下具有卷積層。如果你需要訓練這些深層神經網路,則可能需要比辦公室現有的更多的計算能力。

你有訓練深度學習模型的計算能力

你的數據集越大,深度學習模型中的層數越多,訓練神經網路所需的時間越多。擁有大量數據有助於訓練更好的模型,但訓練時間隨之增加。有很多層數有助於識別出更多的功能,但訓練時間也隨之增加。你可能不能等上一年來訓練每個模型 ; 一周更合理些,特別是因為你很可能需要模型數十次。

解決訓練時間問題的一個方法是使用通用圖形處理單元(GPGPU),譬如 Nvidia 生產的那些,來執行神經網路層的向量和矩陣計算(也稱為線性代數)。如果你可以把網路的整個「內核」放入 GPU 的本地內存,那麼一個 K80 GPU 和一個 CPU 一起的訓練速度通常會比僅僅使用 CPU 提高 5 到 10 倍,而使用一個 P100 GPU,你可以將訓練速度提到 100 倍。

除了單 GPU,你可以設置協調的 CPU 和 GPU 網路,以更少的時間解決更大的問題。除非你全年訓練深度學習模型,並且擁有巨額的資本預算,否則你可能會發現租用帶 GPU 的雲端時間是最划算的選擇。包括 CNTK、MXNet 和 TensorFlow 在內的幾個深度學習框架支持使用 CPU 和 GPU 進行並行計算,並且已經對有 GPU 能力的大型虛擬機(VM)實例的網路展示了合理的縮放係數(在一個測試中約 85%)。你可以在主要雲提供商上找到這些框架以及更多的框架,它們已經被安裝到具有 GPU 支持的 VM 實例中。

你的機器學習模型性能優於統計模型

你的簡單統計模型為你的機器學習和深度學習工作設置了門檻。如果給定的模型不能提高標準,那麼你應該調整它或嘗試不同的方法。一旦你知道你在做什麼,你可以在超參數調整演算法的控制下並行設置許多模型的訓練,並使用最好的結果來指導下一個階段。

你能夠部署預測模型

最終,你將要實時應用你所訓練的模型。根據應用不同,預測可以在伺服器、雲、個人計算機或電話上運行。深度學習框架提供了將其模型嵌入網路和移動應用程序的各種選項。Amazon、Google 和 Microsoft 都通過製作懂得語音的消費者設備和智能手機應用程序來展示其實用性。

你能夠定期更新模型

如果你已經在自己的數據上訓練了模型,你可能會發現模型的錯誤率(假正類和真負類)隨時間而增加。這基本上是因為數據隨著時間的推移而變化:你的銷售模式發生變化、競爭變化、風格變化和經濟變化。為了適應這種效應,大多數深度學習框架可以選擇在新數據上重新訓練舊模型,並用新模型替代預測服務。如果你每月這樣做,你應該能夠很好地處理數據漂移。如果不能,你的模型最終會變得太陳舊,不可靠。

回到我們的初始問題,你是否知道你想要預測或發現什麼?你有足夠的數據來分析建立預測模型嗎?你有定義和訓練模型所需要的人和工具嗎?你是否已經有統計或物理模型來提供預測的基準?

如果是這樣,還等什麼呢?

原文鏈接:

cio.com/article/3219710


-全文完-

關注人工智慧的落地實踐,與企業一起探尋 AI 的邊界,AICon 全球人工智慧技術大會火熱售票中,6 折倒計時一周搶票,詳情點擊:

aicon.geekbang.org/appl

《深入淺出TensorFlow》迷你書現已發布,關注公眾號「AI前線」,ID:ai-front,回復關鍵字:TF,獲取下載鏈接!


推薦閱讀:

厲害了我的哥,這個路由器竟然能讀懂你的喜怒哀樂
當人工智慧「小冰」掉入網路衝突的漩渦中心後……
人工智慧的未來將依賴於先天結構還是後天學習?
索尼家的智能音箱 Xperia Hello,主要靠賣萌的方式拉近人與 AI 的距離
周浩談新片《7%》:對圍棋來說,AI出現是喜大於悲的事

TAG:部署 | 人工智能 |