產(chǎn)品經(jīng)理如何快速測(cè)評(píng)新算法
編輯導(dǎo)語:如今隨著互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,并且加之很多科技的不斷進(jìn)步,如今算法也已經(jīng)非常普及和成熟,產(chǎn)品經(jīng)理在面對(duì)產(chǎn)品時(shí)會(huì)使用一些算法的機(jī)制;本文作者分享了關(guān)于產(chǎn)品經(jīng)理如何快速測(cè)評(píng)新算法的思考,我們一起來了解一下。
一、前言
在人工智能已經(jīng)成熟商業(yè)化的今天,我們的生活被各種算法層層滲透,越來越多的產(chǎn)品無論是出于降本增效的目的,還是出于PR宣傳的目的,都開始應(yīng)用算法。
面對(duì)算法的應(yīng)用,產(chǎn)品經(jīng)理要應(yīng)對(duì)的一個(gè)重要難題,就是對(duì)算法效果進(jìn)行測(cè)評(píng),尤其是面對(duì)一個(gè)新算法能力,測(cè)評(píng)會(huì)更加棘手。
為什么產(chǎn)品經(jīng)理需要對(duì)算法做測(cè)評(píng)呢?
對(duì)于自研算法,僅有算法研究員自測(cè)的實(shí)驗(yàn)室指標(biāo)是不夠的,業(yè)務(wù)產(chǎn)品需要通過自己的測(cè)評(píng)來判斷算法是否達(dá)到商用標(biāo)準(zhǔn),同時(shí)也能與實(shí)驗(yàn)室指標(biāo)形成對(duì)比,可以給算法研究員作為重要參考;對(duì)于外采算法,僅有供應(yīng)商提供的算法精度報(bào)告也是不夠的,我們更需要對(duì)多家供應(yīng)商的算法做測(cè)評(píng),再結(jié)合價(jià)格、售后服務(wù)等因素綜合決定采購(gòu)合作的供應(yīng)商。
按照本文提供的框架,你可以“快速”完成對(duì)一個(gè)“新”算法的測(cè)評(píng)。
二、算法測(cè)評(píng)的基本原則
在進(jìn)入測(cè)評(píng)框架的講述前,要先明確算法測(cè)評(píng)的四個(gè)基本原則,非常重要!
原則1:算法能力一致
面對(duì)橫向比較多個(gè)算法優(yōu)劣的測(cè)評(píng),必須保證待測(cè)評(píng)算法是解決同種問題或提供同種功能的。
原則2:樣本用例一致
同一個(gè)算法,在不同樣本測(cè)試集上的指標(biāo)表現(xiàn)是存在差異的,所以無論我們的測(cè)評(píng)是橫向比較多家算法,還是縱向比較一家算法的多個(gè)迭代版本,都必須保證采用的樣本測(cè)試集和測(cè)試用例保持完全一致,這樣得出的指標(biāo)數(shù)值才有可比較的意義。
如果A算法用a測(cè)試集,B算法用b測(cè)試集,這樣得出的指標(biāo)數(shù)值是沒有可比較性的,因?yàn)闇y(cè)試集不同。
原則3:執(zhí)行方式一致
測(cè)評(píng)算法的所有操作方式和環(huán)境必須保證完全一致。
原則4:評(píng)價(jià)指標(biāo)一致
針對(duì)同種算法的測(cè)評(píng),必須采用計(jì)算公式或統(tǒng)計(jì)口徑完全一致的指標(biāo)體系。
三、算法測(cè)評(píng),攏共分幾步
1. 第1步:明確算法的能力范圍
面對(duì)一個(gè)新算法能力,首先要準(zhǔn)確劃定這個(gè)算法的能力范圍和邊界。
所謂能力范圍和邊界,就是這個(gè)算法能做什么不能做什么,這一點(diǎn)和業(yè)務(wù)需求是強(qiáng)相關(guān)的;所以明確算法能力范圍,其實(shí)就是梳理業(yè)務(wù)對(duì)算法的需求,需求梳理完畢,算法能力范圍也就清晰明了了。
業(yè)務(wù)對(duì)算法的需求通??蓙碜杂谌齻€(gè)方面,一是政策法規(guī)、二是客戶需要、三是競(jìng)品分析;這里需要提示一點(diǎn),如果想做到“快速”,就必須在滿足業(yè)務(wù)需求的前提下,將能力范圍最小化。
例如在筆者負(fù)責(zé)的業(yè)務(wù)中,需要對(duì)用戶上傳的身份證照片中的文字信息進(jìn)行提取,同時(shí)還需要判斷該身份證是原件/復(fù)印件/翻拍件。
通過對(duì)業(yè)務(wù)需求的梳理,我們已經(jīng)得出了最小化的算法能力范圍——身份證光學(xué)字符識(shí)別、身份證原件類型識(shí)別。
在市場(chǎng)上成熟的OCR算法廠商中,提供的能力不僅僅是上述兩種,還包括證件反光提示、證件真?zhèn)闻袛嗟鹊?,但基于最小化原則,我們不需要追求全面測(cè)評(píng),只需要關(guān)注業(yè)務(wù)需要的能力。
2. 第2步:明確測(cè)評(píng)目的
測(cè)評(píng)的目的無非就是得出一個(gè)好壞的結(jié)論,也就是相互比較。從比較類型的維度劃分,一般會(huì)分為橫向比較和縱向比較,橫向是針對(duì)多個(gè)廠商的算法,縱向是針對(duì)同個(gè)算法的多個(gè)版本。
這里有個(gè)小提示,所有的測(cè)評(píng),都必須要有基線作為參考,否則測(cè)評(píng)是沒有意義的。簡(jiǎn)單來說,就是每次測(cè)評(píng)都必須是有兩個(gè)或以上的結(jié)果且結(jié)果可比較。
算法能力的體現(xiàn),也就是算法的能力類型,通常包括算法精度、算法性能、操作體驗(yàn)。
- 算法精度,是指在既定的測(cè)試集上,算法對(duì)樣本判斷、分析、預(yù)測(cè)的準(zhǔn)確程度。
- 算法性能,是指在既定品牌型號(hào)的服務(wù)器上,算法對(duì)樣本的處理速度。
- 操作體驗(yàn),是指C端用戶在設(shè)備上操作算法應(yīng)用的難易程度。
綜上,測(cè)評(píng)目的可通過對(duì)“比較類型”和“能力類型”的排列組合得出。
3. 第3步:明確測(cè)評(píng)的執(zhí)行方式
測(cè)評(píng)的執(zhí)行方式分為批量跑測(cè)和端到端測(cè)試。
批量跑測(cè),是指通過調(diào)用算法模型的相關(guān)接口,將準(zhǔn)備好的測(cè)試樣本批量送入模型,并批量得到模型返回結(jié)果的測(cè)試方式。
端到端測(cè)試,是指模擬用戶真實(shí)使用場(chǎng)景,從用戶設(shè)備端(手機(jī)、PC等)傳入測(cè)試樣本,直到算法服務(wù)端返回結(jié)果到用戶設(shè)備端的測(cè)試方式。
針對(duì)精度和性能的測(cè)評(píng),我們建議采用批量跑測(cè)的執(zhí)行方式,數(shù)據(jù)準(zhǔn)、效率高;針對(duì)操作體驗(yàn)的測(cè)評(píng),一般只能通過端到端的執(zhí)行方式,才能準(zhǔn)確還原真實(shí)操作場(chǎng)景。
4. 第4步:明確樣本類型和用例
樣本選取和用例設(shè)計(jì)是整個(gè)測(cè)評(píng)的核心,會(huì)直接影響測(cè)評(píng)結(jié)果是否能真實(shí)、客觀、全面的反映算法能力。
不同算法在樣本選取和用例設(shè)計(jì)上千差萬別,但有幾個(gè)小方法可以提供給大家參考:
1)全面覆蓋
根據(jù)業(yè)務(wù)需求,樣本和用例的設(shè)計(jì)要完整覆蓋需要測(cè)評(píng)和需要被客觀體現(xiàn)的算法能力。如何做到完整全面的覆蓋?可以采用最小顆粒拆解方法。
2)最小顆粒
根據(jù)業(yè)務(wù)需求,將算法能力拆解到最小的顆粒度,逐一測(cè)評(píng)最小顆粒的原子能力。如何拆解原子能力呢?這里有個(gè)小技巧,就是多問幾個(gè)“為什么”,其實(shí)就是拆解算法訓(xùn)練原理,再根據(jù)業(yè)務(wù)場(chǎng)景中實(shí)際會(huì)出現(xiàn)的情況,得出樣本和用例。
以筆者上面提到的“證件是否為原件的檢測(cè)算法”為例——
問:“為什么可以檢測(cè)出圖片中的證件是否為原件?”
答:“因?yàn)檫@個(gè)算法可以區(qū)分出復(fù)印件、翻拍件?!?/p>
問:“為什么可以區(qū)分出復(fù)印件?”
答:“通過圖片顏色的判斷?!?/p>
問:“為什么通過顏色就可以判定是復(fù)印件?”
答:“復(fù)印件有黑白復(fù)印件和彩色復(fù)印件,黑白復(fù)印件可以直接通過色值判定,而彩色復(fù)印件的成像顏色對(duì)比度一般比原件的對(duì)比度要低,且復(fù)印件的底色背景絕大部分都是白色?!?/p>
從上述的問答中,我們就可以拆解出該算法的樣本和用例如下——
注:以上問答經(jīng)過簡(jiǎn)化處理,方便理解。
3)單一變量
對(duì)算法每個(gè)原子能力點(diǎn)的測(cè)評(píng),可采用控制變量法,同時(shí)為了確保能有效反映每個(gè)原子能力的客觀結(jié)果,每組樣本和用例都要保證只有一個(gè)變量發(fā)生改變;因?yàn)樵谕粋€(gè)用例中存在多個(gè)變量發(fā)生改變,我們很難區(qū)分算法得出的測(cè)試集結(jié)果是由哪些變量引起的,不利于后期結(jié)果分析。
當(dāng)然,如果有特殊需要,在能夠明確區(qū)分變量影響的情況下,也可以采用多變量變化測(cè)試。
4)側(cè)面轉(zhuǎn)換
當(dāng)面臨某些算法能力我們無法直接測(cè)評(píng)時(shí),可采用轉(zhuǎn)換法,將無法直接測(cè)評(píng)的能力轉(zhuǎn)換為與該能力有直接關(guān)系且可測(cè)評(píng)的其他能力,從而側(cè)面驗(yàn)證該算法能力的效果。
5. 第5步:明確評(píng)價(jià)指標(biāo)和計(jì)算公式
面對(duì)一個(gè)新算法,最快了解這個(gè)算法評(píng)價(jià)指標(biāo)的方法,就是“問”。自研算法的,可以問算法研究員;外采算法的,可以問多家算法供應(yīng)商,綜合選擇評(píng)價(jià)指標(biāo)。
1)算法精度指標(biāo)
精度指標(biāo)因算法而異,一般可分為兩種類型:絕對(duì)指標(biāo)和相對(duì)指標(biāo)。
絕對(duì)指標(biāo)通常就是準(zhǔn)確率,是測(cè)試集算法處理結(jié)果與測(cè)試集真實(shí)結(jié)果差異的百分比計(jì)算,目前筆者接觸過的絕對(duì)指標(biāo)有FAR、FRR、召回率、字符準(zhǔn)確率。
相對(duì)指標(biāo)是指設(shè)定一個(gè)基準(zhǔn)算法,錨定該算法的絕對(duì)指標(biāo)準(zhǔn)確率為100%,計(jì)算其他算法相對(duì)于這個(gè)基準(zhǔn)算法在指標(biāo)上的差異,相對(duì)指標(biāo)一般會(huì)采用均方根誤差(標(biāo)準(zhǔn)誤差)作為結(jié)果。
可以這么理解,統(tǒng)計(jì)絕對(duì)指標(biāo)時(shí),需要對(duì)測(cè)試集進(jìn)行人工標(biāo)注,即得到測(cè)試集真正的標(biāo)準(zhǔn)答案;統(tǒng)計(jì)相對(duì)指標(biāo)時(shí),不需要對(duì)測(cè)試集進(jìn)行標(biāo)注,而是直接以基準(zhǔn)算法測(cè)試的結(jié)果為標(biāo)準(zhǔn)答案?;诖宋覀兛梢缘贸鲆粋€(gè)小竅門,采用相對(duì)指標(biāo)進(jìn)行測(cè)評(píng)會(huì)更新快速,因?yàn)槭∪チ巳斯?biāo)注的環(huán)節(jié),但是測(cè)評(píng)結(jié)果會(huì)在客觀性上存在一定偏差。
2)算法性能指標(biāo)
通常包括,并發(fā)、QPS、吞吐量、耗時(shí)。
3)操作體驗(yàn)指標(biāo)
通常包括,頁面數(shù)、事件數(shù)、轉(zhuǎn)化率、可用率、轉(zhuǎn)化率、操作時(shí)長(zhǎng)。
指標(biāo)制定還需注意一個(gè)小細(xì)節(jié),就是要明確指標(biāo)評(píng)判好壞的邏輯,而且盡量保證所有指標(biāo)的好壞邏輯一致;例如有a、b、c三個(gè)指標(biāo),他們的評(píng)判邏輯是數(shù)值越高表示效果越好,而有d指標(biāo),評(píng)判邏輯是數(shù)值越低效果越好,這樣對(duì)閱讀者來說是非常不友好的。
6. 第6步:撰寫測(cè)評(píng)報(bào)告
在執(zhí)行完所有測(cè)試用例后,就要整理測(cè)試數(shù)據(jù)以及形成可閱讀的測(cè)評(píng)報(bào)告。
以下是測(cè)評(píng)報(bào)告的章節(jié)框架,供大家參考:
1)測(cè)評(píng)背景和目標(biāo)
描述發(fā)起該測(cè)評(píng)的項(xiàng)目背景,以及在這個(gè)背景下,該測(cè)評(píng)想要到達(dá)什么目的。
我們往往很容易忽略對(duì)背景的分析,其實(shí)這是不對(duì)的。深入了解項(xiàng)目背景,可以讓我們準(zhǔn)確理解項(xiàng)目的起因由來,從而有利于我們更準(zhǔn)確的理解業(yè)務(wù)和需求,能夠更準(zhǔn)確的劃定各種事項(xiàng)邊界。
試問,如果我們對(duì)一個(gè)項(xiàng)目為什么要做都沒能理解到位,那如何能準(zhǔn)確的評(píng)估需求呢?
2)業(yè)務(wù)需求解讀
需求的解讀我們?cè)诘?步的描述中講過,一般可來自于三個(gè)方面,一是政策法規(guī)、二是客戶需要、三是競(jìng)品分析;通過這三個(gè)方面的分析,推導(dǎo)出需求功能。
3)競(jìng)品/供應(yīng)商能力分析
對(duì)競(jìng)品的功能,或者對(duì)供應(yīng)商的功能做全面的剖析。
4)測(cè)評(píng)方案描述
描述樣本類型、用例設(shè)計(jì)、執(zhí)行方式、評(píng)價(jià)指標(biāo)(指標(biāo)定義+評(píng)判邏輯)。
5)測(cè)評(píng)指標(biāo)結(jié)果
展示經(jīng)過統(tǒng)計(jì)后的各項(xiàng)指標(biāo)數(shù)值,是測(cè)評(píng)結(jié)論的客觀依據(jù)。
6)測(cè)評(píng)結(jié)論
針對(duì)指標(biāo)結(jié)果,給出總結(jié)性的結(jié)論,結(jié)論需要與測(cè)評(píng)目的(目標(biāo))相呼應(yīng)。
認(rèn)知淺薄,歡迎討論。
本文由 @山雞Samson 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)作者許可,禁止轉(zhuǎn)載
題圖來自Unsplash,基于CC0協(xié)議
感謝分享,沒有做過算法產(chǎn)品的表示文章很贊