想當AI產業的產品經理,你得先了解「人工智慧」和「機器學習」的差異

想當AI產業的產品經理,你得先了解「人工智慧」和「機器學習」的差異
Photo Credit: AP Photo / 達志影像
我們想讓你知道的是

如果你想教機器識別貓,你可能會想出「一隻貓有四隻腿和兩個尖尖的耳朵」這樣的明確規則,但如果使用深度學習,要做的就不是提供明確的規則,而是一堆貓的照片然後讓機器自行學習,摸索出規則,直到你擁有可以提供所需結果的模型為止。

唸給你聽
powered by Cyberon

文:Bastiane Huang

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

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

在先前的〈AI重新定義機器人〉文章中,我提到了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),一直到重複直到機器人學會執行這項任務為止。
Depositphotos_52890023_m-2015
Photo Credit: Depositphotos_
機器學習產品的類型

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

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

像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通常用於聊天機器人、語音助手、或是預處理數據。
管理機器學習產品的挑戰
  • 實驗是機器學習的關鍵部分

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

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

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

Friends dog cat
Photo Credit: Shutterstock / 達志影像

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

42-52111850
Photo Credit: Corbis/達志影像
  • 機器學習產品的可解釋性和透明度

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

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

延伸閱讀

本文經Bastiane Huang授權刊登,原文刊載於此

責任編輯:丁肇九
核稿編輯:翁世航