AI 開發(fā)指南:機器學習產(chǎn)品是什么?

1 評論 9045 瀏覽 30 收藏 15 分鐘

為什么管理機器學習(ML)產(chǎn)品比一般軟件困難? 「實驗」是關(guān)鍵!

關(guān)于管理AI產(chǎn)品,我認為最重要的幾件事:

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

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

讓機器從依賴人工編寫程序,轉(zhuǎn)向真正的自主學習。

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

先進的算法,大數(shù)據(jù),和硬件價格下降,成為ML成長的主要驅(qū)動力。

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

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

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

AI人工智能并沒有一個普遍被認同的定義,而且它的定義不斷在改變。 一旦某項任務(wù)能夠成功被機器執(zhí)行,該任務(wù)就不再屬于AI的范圍。

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

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

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

機器學習產(chǎn)品的類型

根據(jù)產(chǎn)品的類型和核心價值的來源,你將需要不同技能,并且專注于產(chǎn)品的不同面向。

用戶是企業(yè),還是一般消費者?

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

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

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

你要設(shè)計的是ML產(chǎn)品? 或是將ML應用到你的產(chǎn)品中?

如果你產(chǎn)品的核心價值來自ML模型,那么你很可能正在設(shè)計一個ML產(chǎn)品。 相反的,如果ML僅用于增強產(chǎn)品的用戶體驗或部分性能,那么你很可能正在將ML應用于產(chǎn)品上。

在第二種情況下,身為產(chǎn)品經(jīng)理,你不應該花太多時間顧慮技術(shù)細節(jié);像是「ML模型是以CNN(卷積神經(jīng)網(wǎng)絡(luò))還是R-CNN為基礎(chǔ)」,而是應該花時間了解模型的輸入(input)和輸出(output)。

舉例來說,你要使用的這個ML模型,采用用戶的人口統(tǒng)計數(shù)據(jù)(input)來預測用戶在平臺上的每月支出(output)? 另一方面,設(shè)計ML產(chǎn)品通常需要PM具備更高的技術(shù)能力,以幫助團隊確定關(guān)鍵決策和權(quán)衡取舍。

產(chǎn)品類型也會影響組織結(jié)構(gòu)。 對于研發(fā)機器學習產(chǎn)品的公司,或像Facebook和Google這類在ML上投入大量資金的的大型公司,通常會雇用機器學習研究人員或數(shù)據(jù)科學家,并將他們與機器學習工程師組成團隊。

相反的,對于想將ML應用于其產(chǎn)品的公司,或資源有限的小型公司,最好的策略是雇用跨領(lǐng)域的ML工程師,或培訓軟件工程師學習ML,而不是雇用ML研究人員。

構(gòu)建ML產(chǎn)品通常是跨領(lǐng)域的

研發(fā)機器學習產(chǎn)品很少會只涉及ML。 它通常是跨領(lǐng)域的,不僅涉及ML模型設(shè)計及訓練,還涉及軟件工程,后端結(jié)構(gòu),數(shù)據(jù)分析,UX / UI設(shè)計,甚至是軟硬件整合等等。

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

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

其他需要理解的關(guān)鍵ML概念

過擬合(Overfit)

是一種常見的錯誤類型,當機器學習模型過于匹配特定的數(shù)據(jù)集時發(fā)生。 可靠的ML模型不僅在「訓練數(shù)據(jù)集」(training dataset),也在「驗證數(shù)據(jù)集」(validation dataset)上表現(xiàn)良好。 但是,在過擬合的情況下,訓練數(shù)據(jù)的表現(xiàn)會變好,但對于沒有看過的,驗證數(shù)據(jù)的表現(xiàn)卻反而會變差。

深度學習(Deep Learning)

主要用于圖像分類。 DL使用深度神經(jīng)網(wǎng)絡(luò),并以卷標圖像作為輸入。 神經(jīng)網(wǎng)絡(luò)的每一層,都會將輸入轉(zhuǎn)換為稍微抽象和復合的表示形式。 最終,模型將能學會識別圖像中的內(nèi)容。

自然語言處理(Natural Language Processing)

這是計算機科學中的一個領(lǐng)域,目的是使機器可以理解人類語言,但不一定涉及ML。 NLP通常用于聊天機器人、語音助手、或是預處理數(shù)據(jù)。

管理機器學習產(chǎn)品的挑戰(zhàn)

實驗是機器學習的關(guān)鍵部分

ML也會用到程序代碼和數(shù)據(jù),但若因此就認為ML與軟件工程本質(zhì)相同,那就大錯特錯了。

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

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

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

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

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

這就是為什么在開發(fā)ML產(chǎn)品時通常需要承擔更多的風險。 對于產(chǎn)品經(jīng)理而言,重要的是要幫團隊建立正確的期望,以避免團隊之間可能發(fā)生的沖突。

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

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

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

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

也因此,對于產(chǎn)品經(jīng)理來說,明確定義需求,設(shè)定產(chǎn)品成功標準,并確保團隊經(jīng)常根據(jù)所需標準來測試ML模型,都是相當重要的。

除技術(shù)挑戰(zhàn)外,還有更多的組織結(jié)構(gòu)挑戰(zhàn)

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

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

機器學習仍然是一個新領(lǐng)域,并且會不斷發(fā)展

「軟件工程」一詞最早于1965年出現(xiàn),也就是程序語言出現(xiàn)15年后。 大約20年后,軟件工程學院才成立,以管理軟件工程開發(fā)流程。 今天,我們已經(jīng)找到了軟件工程的最佳實踐(best practice)。

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

與軟件工程相比,ML仍處于起步階段,因此仍缺乏行業(yè)標準,衡量指針,基礎(chǔ)架構(gòu)和開發(fā)工具。 因此,相關(guān)企業(yè)仍在探索最佳作法和熱門應用。

機器學習產(chǎn)品的可解釋性和透明度

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

尤其是在醫(yī)療保健等關(guān)鍵領(lǐng)域,責任歸屬和信息透明度至關(guān)重要。 在沒有清楚地了解算法實際工作原理的情況下,確保ML模型與產(chǎn)品目標之間的一致性是一項艱巨的挑戰(zhàn)。

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

 

作者:Bastiane Huang。目前在舊金山擔任 AI/Robotics新創(chuàng)公司產(chǎn)品經(jīng)理,專注于開發(fā)機器學習軟件,用于機器人視覺和控制。

本文由@Bastiane 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載

題圖來自Unsplash,基于 CC0 協(xié)議。

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 我就在ml醫(yī)療公司,深有同感

    回復