給產品經理的 AI 開發指南

為什麼管理機器學習(ML)產品比一般軟體困難?「實驗」是關鍵!

Bastiane Huang
Marketingdatascience
10 min readNov 11, 2019

--

關於管理AI產品,我認為最重要的幾件事:

  1. 機器學習(ML)產品管理比一般軟體更具挑戰性,因為它涉及更多的不確定性。不僅需要技術上的改變,還需要組織上的改變。
  2. ML最適合做出決策或預測。
  3. ML產品經理最重要的工作:明確定義問題,確定需求,設定衡量成功的標準,並為ML工程師提供足夠的空間和時間探索解決方案。
  4. 從第一天就開始計畫數據策略(Data Strategy)。
  5. 構建ML產品是跨領域的,不只是資料科學。

想看更多文章嗎?點這裡追蹤我!

在先前的<AI重新定義機器人>文章中,我提到了ML帶來的最大不同是:

讓機器從依賴人工編寫程式,轉向真正的自主學習

機器不需要人工指示,而是自行根據數據中識別出的模式,進行預測和改進。這就是為什麼ML特別適用於那些,以往難以明確解釋定義的問題。這也代表ML可以使你的產品更個人化,更自動化,和更精確。

先進的演算法,大數據,和硬體價格下降,成為ML成長的主要驅動力。

AI已在各個領域逐漸被採用。麥肯錫(Mckinsey)最近的報告中顯示,近一半的公司在其研發流程中整合了AI,另外有30%的公司正在試驗AI項目。

不難看出為什麼,許多人預期ML將比移動技術帶來更巨大的產業變革。但是,與此同時,公司引進ML的難度,也可能比當年採用移動技術更高數倍以上。為什麼呢?在討論具體原因之前,讓我們先一起聊聊什麼是ML。

機器學習(ML)三大類型:監督學習、無監督學習、強化學習

AI人工智能並沒有一個普遍被認同的定義,而且它的定義不斷在改變。一旦某項任務能夠成功被機器執行,該任務就不再屬於AI的範圍。

ML是AI的一部分。 Carnegie Mellon大學教授湯姆·米切爾(Tom M.Mitchell)將機器學習定義為對一種,「允許程式根據經驗自動進行改進」的演算法。

機器學習有三種主要類型:

  • 監督學習(Supervised Learning):最常見和最被廣泛使用的類型。這些算法從被事先標記好的數據(labeled data)中學習,大多時候被用以預測結果。例如,給予機器大量標記好的動物圖片,讓機器學習判斷貓和狗。
  • 無監督學習(Unsupervised Learning):無監督學習算法不需要事先標示,而是直接從數據學習判讀模式。它可以用於聚類(clustering),關聯(association) 和異常檢測(anomaly detection)問題。另外還有半監督學習,是監督學習與非監督學習之間的混合體。
  • 強化學習(Reinforcement Learning):演算法藉由得到環境中的反饋而學習。 RL通常用於機器人技術,或自動駕駛汽車等控制領域。例如將目標函數(Objective Funcion)設定為「成功從A點移動到B點」,每次機器人成功到達B點,就會得到正面回應(reward),一直到重複直到機器人學會執行這項任務為止。

機器學習產品的類型

根據產品的類型和核心價值的來源,你將需要不同技能,並且專注於產品的不同面向。

  • 使用者是企業,還是一般消費者?

像Alexa或Google Assistant這樣的消費性ML產品,具有更強的社交互動成分。因此,用戶體驗(UX)在設計消費類ML產品中扮演著極關鍵的角色,而ML技術則往往是達成更好用戶體驗的方式之一。

例如,NLP(自然語言處理)被用於達成Alexa及用戶之間更自然的溝通。另一方面,B2B的ML產品對應的是企業,甚至是工業用戶(例如用於預測工廠儀器維護時程的演算法),其核心價值往往來自預測的準確性,而非UX。

這並不是說UX對面向企業的ML產品不重要。而是,當你的資源有限,並且需要集中精力優化產品的某些部分時,就需要考慮這個問題。

  • 你要設計的是ML產品?或是將ML應用到你的產品中?

如果你產品的核心價值來自ML模型,那麼你很可能正在設計一個ML產品。相反的,如果ML僅用於增強產品的用戶體驗或部分性能,那麼你很可能正在將ML應用於產品上。

在第二種情況下,身為產品經理,你不應該花太多時間顧慮技術細節;像是「ML模型是以CNN(卷積神經網路)還是R-CNN為基礎」,而是應該花時間了解模型的輸入(input)和輸出(output)。

舉例來說,你要使用的這個ML模型,採用用戶的人口統計數據(input)來預測用戶在平台上的每月支出(output)?另一方面,設計ML產品通常需要PM具備更高的技術能力,以幫助團隊確定關鍵決策和權衡取捨。

產品類型也會影響組織結構。對於研發機器學習產品的公司,或像Facebook和Google這類在ML上投入大量資金的的大型公司,通常會雇用機器學習研究人員或資料科學家,並將他們與機器學習工程師組成團隊。

相反的,對於想將ML應用於其產品的公司,或資源有限的小型公司,最好的策略是雇用跨領域的ML工程師,或培訓軟體工程師學習ML,而不是僱用ML研究人員。

  • 構建ML產品通常是跨領域的。

研發機器學習產品很少會只涉及ML。它通常是跨領域的,不僅涉及ML模型設計及訓練,還涉及軟體工程,後端結構,數據分析,UX / UI設計,甚至是軟硬體整合等等。

產品經理需要能夠管理跨職能的團隊,並處理團隊之間的相互依賴和潛在衝突。 ML從根本上不同於其他學科,這點會在下一段進一步說明。如果你要設計和現實世界互動的ML產品(例如機器人技術或自動駕駛汽車),情況將變得更加複雜。

PM需要知道使用ML可以做什麼,和不能做什麼,何時應該使用ML和何時不應該使用ML。

其他需要理解的關鍵ML概念

  • 過擬合 (Overfit):是一種常見的錯誤類型,當機器學習模型過於匹配特定的數據集時發生。可靠的ML模型不僅在「訓練數據集」(training dataset),也在「驗證數據集」(validation dataset)上表現良好。但是,在過擬合的情況下,訓練數據的表現會變好,但對於沒有看過的,驗證數據的表現卻反而會變差。
  • 深度學習(DL):主要用於圖像分類。 DL使用深度神經網絡,並以標籤圖像作為輸入。神經網絡的每一層,都會將輸入轉換為稍微抽象和複合的表示形式。最終,模型將能學會識別圖像中的內容。
  • 自然語言處理(NLP):這是電腦科學中的一個領域,目的是使機器可以理解人類語言,但不一定涉及ML。NLP通常用於聊天機器人、語音助手、或是預處理數據。

管理機器學習產品的挑戰

1. 實驗是機器學習的關鍵部分。

ML也會用到程式代碼和數據,但若因此就認為ML與軟體工程本質相同,那就大錯特錯了。

與軟體工程不同,開發ML產品需要進行更多的實驗,涉及更多的不確定性和可變性。軟體工程是一個為機器編寫規則的確定性過程,而機器學習則具有更高的機率性,因為它可以自行學習,而不需要我們來編寫規則。

例如,如果你想教機器識別貓。透過軟體工程,你可能會想出「一隻貓有四隻腿和兩個尖尖的耳朵」這樣的明確規則。

但如果使用深度學習,要做的就不是提供明確的規則。

而是為機器提供一堆貓的照片(事先標記好這些是貓的圖像),然後讓機器自行學習,摸索出規則。

你和你的團隊要做的是:定義問題,準備數據,建立機器學習模型,測試和迭代,直到你擁有可以提供所需結果的模型為止。

這就是為什麼在開發ML產品時通常需要承擔更多的風險。對於產品經理而言,重要的是要幫團隊建立正確的期望,以避免團隊之間可能發生的衝突。

例如,軟體工程師可能會覺得,ML團隊沒有給他們足夠明確的需求。但這並不一定是ML團隊的問題,在實驗階段,就連ML團隊也很難預測最後模型的表現是好是壞。這時讓其他團隊了解ML產品的實驗本質就很重要。

讓工程師與研究人員,資料科學家緊密合作也很重要,這樣他們才能彼此平衡,不讓產品研究失焦。更重要的是,最好早點開發出可供測試的產品,定期測試,以確保ML團隊所用的演算法與產品目標一致。

2. 開發ML是一個高度迭代的(iterative)過程。

正如前面提到的,ML非常適合解決人類無法明確定義的復雜問題。模型需要訓練,測試和調整。通常,資料科學家在選擇令人滿意的方法之前,必須先測試好幾種方法。這就是為什麼通常很難定義ML產品的里程碑和時間表。

也因此,對於產品經理來說,明確定義需求,設定產品成功標準,並確保團隊經常根據所需標準來測試ML模型,都是相當重要的。

3. 除技術挑戰外,還有更多的組織結構挑戰。

因為ML與軟體工程本質截然不同,所以更需要進行一些根本性的組織變革:例如尊重實驗文化,數據分析驅動的思維方式,以及對不確定性的包容。

如果將機器學習視為純粹的技術問題,而忽略了相關的組織變革,公司很可能會面臨所謂「創新者的困境」(The Innovator’s Dilemma)。這對機器人製造商等硬體公司來說尤其具有挑戰,因為它們對於過去一直追求高精度,然而,ML雖然會隨著數據增加而進步,卻通常無法在一開始就達到100%精準。此外,機器學習產品需要大量的數據,所以業者必須建立自己的數據管道和基礎架構,以支持ML產品的擴展。對大多數的公司來說,這也是一個全新的課題。

4. 機器學習仍然是一個新領域,並且會不斷發展。

「軟體工程」一詞最早於1965年出現,也就是程式語言出現15年後。大約20年後,軟體工程學院才成立,以管理軟體工程開發流程。今天,我們已經找到了軟體工程的最佳實踐(best practice)。

反觀機器學習,在1990年才開始作為一個單獨的領域而蓬勃發展。深度學習是ML的一部分,它在圖像識別和NLP等領域創造了新的記錄,但直到2012年AlexNet出現之後,才被大眾廣泛討論。

與軟體工程相比,ML仍處於起步階段,因此仍缺乏行業標準,衡量指標,基礎架構和開發工具。因此,相關企業仍在探索最佳作法和熱門應用。

5. 機器學習產品的可解釋性和透明度。

機器學習算法就像一個黑盒子,它接受輸入(例如圖像)並輸出預測(例如圖像中的人物是什麼)。這使得產品經理很難解釋ML模型是如何運作的,也很難從用戶和相關單位得到全面支持。

尤其是在醫療保健等關鍵領域,責任歸屬和資訊透明度至關重要。在沒有清楚地了解算法實際工作原理的情況下,確保ML模型與產品目標之間的一致性是一項艱鉅的挑戰。

面對這些挑戰,我們應該如何管理機器學習產品?在第二部分中,我將分享我所學習到的最佳作法。

想看更多文章嗎?點這裡追蹤我!

感謝閱讀!如果希望看到其他相關的主題也歡迎留言!
如果你喜歡這篇文章,請給我 1–19 個拍手;
如果想看更多關於產品管理的文章,請給我 20–50 個拍手!
如果文章對你有一點啟發或幫助,請長按拍手按鈕(max50)讓我知道 👏每週我都會定期更新產品經理或機器學習相關文章,點這裡追蹤我!✨

Bastiane Huang 目前在舊金山擔任 AI/Robotics新創公司產品經理,專注於開發機器學習軟體,用於機器人視覺和控制。她擁有近10年產品及市場開發管理經驗,並在美國《機器人商業評論》及《哈佛商業評論》發表文章及個案研究。如果你也對Robotics 2.0(AI-Enabled Robotics)、產品管理、Future of Work有興趣,請點這裡追蹤她

--

--