以淘寶女裝分類為例:AI產品經理要不要懂算法?
有的時候AI產品經理被認為是拿著算法技術在不同的行業里、不同的業務類型中、不同的場景里嘗試需求設計成產品并運營之,那么在智能+的紅利期,在算法邊界的探索期,在傳統互聯網需要轉型+AI的剛需期,AI產品經理要不要懂算法呢?
我們先來分析一個案例:用深度學習算法幫助淘寶女裝分類
步驟流程如下:
- 第一步:搜集形成數據集;
- 第二步:溝通團隊擬定產品方法策略【比如:選擇適合的模型算法】;
- 第三步:所采用的模型算法在第一步的數據集上進行訓練;
- 第四步:比對其他模型算法的效率;
- 第五步:上線
一、數據采集及數據處理
產品驅動并有產品經理確定數據采集對象,例如:確定采集女裝,跟團隊講出理由。
首先產品提出需求從淘寶網站上爬取大量的女裝圖像并進行篩選保留了XXX張質量比較高的圖像。然后,將這些圖像分為多少個子任務(女上衣品類、主顏色模式、次顏色、主模式、次模式、紋理模式、流行元素、領型、袖長、衣長、版型、門襟、面料),其中每一個子任務都是一個獨立的細粒度多分類問題,分別展示衣長、女上衣品類、主顏色和主花色模式的一些樣本。
最后,在清洗完數據之后,請一些行業專家對數據進行標定和檢驗,以確保數據的可靠性。另外每個子任務的數據分布都是不均勻的,衣長、主顏色以及主花色模式分布更是極其不平衡,這個現象增加了分類問題的難度。
二、用深度學習技術
1. 框架算法選擇
算法工程師選擇幾個較具有代表性的神經網絡(例如:Resnet101、空洞卷積網絡和壓縮激勵網絡),并在此基礎上進行圖像分類。
(1)Resnet101:在深度學習初期,由于梯度消失的問題,網絡結構的深度一直是一個難以解決的難題。殘差網絡 Resnet引入一個所謂的恒等快捷連接,將上一層的輸入直接與后面層的輸出相加,很好地解決了梯度消失的問題。
(2)空洞卷積網絡(Dilated Convolution Network,DRN):在使用深度神經網絡解決分類任務的問題上,維護圖像的分辨率是一個很重要的任務,即輸入的分辨率越大,分類的效果越好。但由于硬件設備的限制,不能無限地增大圖像分辨率,而 DRN使用空洞卷積的思想很好地解決了這個問題,即使用較小分辨率的輸入一樣能得到很好的效果。
(3)壓縮激勵網絡(Squeeze-and-Excitation Networks,SENet):SENet曾經獲得了 ImageNet 2017 圖像識別大賽的冠軍,其做法是通過學習的方式自動獲取到每個特征通道的重要程度,然后依照這個重要程度去提升有用的特征并抑制對當前任務用處不大的特征。
2. 處理不平衡數據
算法工程師共同挖掘數據不平衡問題,比如:基于采樣的方法和基于代價(損失函數)的方法。
(1)基于采樣的方法:在不平衡分布的數據中使用采樣方法,目的是為了將不平衡的數據變為均勻分布。
一般,將分布不平衡的數據變為均勻分布之后能夠有效提高分類精度,常見的采樣方法一般分為升采樣和降采樣。 其中,升采樣一般又有隨機升采樣、合成新數據等方法。
降采樣一般有隨機降采樣、指導性降采樣等方法:
- 其中,隨機升采樣的做法是:從樣本數量少的類別集合 Smin 中隨機復制一部分樣本,然后將其添加到總樣本集合 E 中,最終使總樣本集合中的樣本分布達到平衡。
- 而隨機降采樣的做法則是相反:將樣本數量多的類別集合 Smax中隨機刪掉一部分樣本,最終使總樣本集合 E 分布達到平衡。
(2)基于代價(損失函數)的方法:主要是從損失函數方面入手解決樣本分布不平衡的問題。
對某一類,其類內之間的距離有可能非常大,需要增加一種約束將其類內之間的距離縮小;而對另外一部分類,其類間距離可能太近了,因此需要一種約束來將其類間距離拉大。
技術研究使用,例如:Rangeloss損失函數處理分布不均衡問題。 Rangeloss 損失函數來解決這個問題,其中,Rangeloss 是一種和樣本數目無關的損失函數。具體的,Rangeloss 分為類內損失函數和類間損失函數兩部分。
具體如公式如下:Lr=| aLr intra+BLr inter|
作為損失函數是解決啥問題呢?
現在數據庫中普遍存在的問題,就是數據存在長尾分布的情況。
那么什么是長尾分布呢?
其實有點類似于二八定律,即80%的財富集中在20%的人手里等等。尾巴部分雖然值普遍很小,但是由于數量很多,導致其對一個模型的訓練有很大的影響。
對于女裝數據庫而言,長尾分布主要表現在很多的identity含有較少的贗本數量,如下圖:
3. 多任務聯合訓練策略
在這多個子任務中,有些子任務之間可能是具有相關性的,如女上衣品類和衣長、主顏色和次顏色、紋理模式和版型等。若將每個子任務看作一個獨立的子任務,顯然會忽略任務之間的一些相關性。為了將任務之間的相關性利用起來,技術一般采用多任務聯合訓練策略。多
任務學習,是將多個相關的任務放在一起學習的一種機器學習方法,如下圖:圖中的神經網絡處理算法,在筆者的書《AI賦能-AI重新定義產品經理》一書中還有很多撰寫。
多個任務在淺層共享參數,在最后使用各自任務所對應的分類器進行分類,每個子任務的分類器都是以一層或多層全連接層實現的。在訓練時,每個子任務的分類結果使用交叉熵損失函數計算損失,并將每個子任務的損失加權求和得到最后的損失。
4. 技術選擇深度學習框架和硬件條件
例如:算法工程師會配合技術人員采用 Ubuntu16.04+python2.7+pytorch 0.4 作為深度學習框架,并在此基礎上進行訓練。訓練中使用顯卡為 TITAN XP 2080Ti。
算法工程師在 Resnet101、DRN 和 SENet 這 3 個神經網絡上進行對比,看哪種算法分類效果更好。
三、AI產品經理的工作不僅僅是“擺渡人”。
AI產品經理做的還是產品需求挖掘+產品資源規劃+行業專家+協同算法工程師探索適合的算法。
1. 產品需求挖掘
如當用戶想要在淘寶會等平臺購買商品時,往往會根據商品的類別及其屬性來篩選需要購買的目標商品,因此商家會為每件商品制定很多屬性以便于用戶檢索。面對海量的商品圖像數據,如果使用人工標注的方式對商品圖像的屬性進行標注,需要花費大量的人力和時間。
2. AI產品資源規劃:步驟流程
- 第一步:搜集形成數據集;
- 第二步:溝通擬定產品方法策略【比如:模型算法】;
- 第三步:所采用的模型算法在第一步的數據集上進行訓練驗證;
- 第四步:比對其他模型算法的效率;
- 第五步:上線。
3. 行業專家
商品圖片的特點是:有些商品不同的屬性之間數量差異很大,即商品的屬性存在數據分布不平衡的特性,如“衣長”屬性,日常生活中人們穿得最多的是標準的到達髖部位置的衣服(普通外套、T 恤等),其他的如風衣、長短裙(到達大腿或小腿位置)等的數量明顯少于到達髖部位置的衣服。
有些商品不同的屬性之間差異很小,可以看作是細粒度分類問題,如“領型”屬性,一些領型屬性之間的差異非常小,常人難以區分開來。這兩個問題加大了商品圖像屬性分類的難度。
所以首先AI產品經理,是個學習型的衣服行業專家。
4. 協同算法工程師探索技術邊界:
選在基于深度學習技術,使用卷積神經網絡對商品圖像的屬性分類進行研究。
(1)首先確定范圍:從淘寶網站上爬取XXXXXXXXX個商品圖片。
(2)其次并將這些圖片分為多少個子任務:女上衣品類、主顏色模式、次顏色、主模式、次模式、紋理模式、流行元素、領型、袖長、衣長、版型、門襟、面料。
每一個子任務都是一個獨立的細粒度多分類任務,且幾乎每個子任務都具有嚴重的數據分布不平衡問題,這點重點建議算法工程師采用適合的算法。
5. AI產品經理多少還是要懂一些硬件
筆者在新書《AI賦能-AI重新定義產品經理》一書中和AI產品經理相關內容中多次提到數據由硬件采集,也有的人叫物聯網(IoT)。另外筆者也多次強調AI=算法+數據+算力,算力也是有硬件提供。
總結
AI產品經理要懂算法,且是跟算法工程師共同打磨技術的邊界。如果團隊算法工程師和編碼工程師的技術能力非常充足,那么產品經理可以把精力放在非算法協同上,如果團隊資源不充足的話,AI產品經理就要付出更多的經歷配合算法工程師尋找適合的算法并落地。
部分產品經理閱讀了本文會覺得AI產品經理很簡單,Just so so 的錯覺,作為踩過坑,熬過無數夜的人建議不妨多聽聽別人踩過的坑。才來判斷自己是否適合AI產品經理,才知道自己是否是個能夠在互聯網冬天愿意突破職業發展瓶頸的人。
如果你想系統化入門AI產品經理,掌握AI產品經理的落地工作方法,戳這里>http://996.pm/7bjab
#專欄作家#
連詩路,公眾號:LineLian。人人都是產品經理專欄作家,《產品進化論:AI+時代產品經理的思維方法》一書作者,前阿里產品專家,希望與創業者多多交流。
本文原創發布于人人都是產品經理。未經許可,禁止轉載。
題圖來自Unsplash,基于CC0協議
我是Line粉,我覺得,只有勤奮持續學習的人才能抓住AI?的紅利。不愿努力的人肯定在互聯網裁員風波中深感痛苦。