幾個(gè)應(yīng)屆畢業(yè)生,如何實(shí)現(xiàn)阿里鹿班?
引用黃渤在接受采訪時(shí)說的一句話:這個(gè)時(shí)代不會(huì)阻止你自己閃耀,但你也覆蓋不了任何人的光輝。
一、一張海報(bào)的“痛”
1. 大量的需求,繁重的設(shè)計(jì)工作,設(shè)計(jì)師叫苦不迭
熟悉電商行業(yè)的朋友應(yīng)該知道,無論是PC端還是移動(dòng)端,電商網(wǎng)站中充滿了各類活動(dòng)信息,促銷期間這樣的情況更甚。
618期間,千變banner在蘇寧易購客戶端頂部廣告區(qū)首次亮相,超過4000萬張的算法合成banner得到曝光,以1個(gè)設(shè)計(jì)師30分鐘設(shè)計(jì)一張banner圖的速度計(jì)算,就算是100個(gè)設(shè)計(jì)師24小時(shí)不眠不休,也需要持續(xù)干超過22年!
2. 資源位有限,流量被頭部玩家鯨吞,中小商戶發(fā)展受限
以蘇寧易購移動(dòng)端頂部Banner區(qū)為例:共計(jì)8張的資源位面對(duì)億萬級(jí)的用戶,實(shí)在顯得力不從心。
以千人一面(即每個(gè)用戶看到的內(nèi)容一致)的邏輯進(jìn)行展示,實(shí)際上也是對(duì)用戶的粗暴運(yùn)營,對(duì)流量資源的浪費(fèi)。全面推廣千人千面,保證每個(gè)用戶享受定制級(jí)別的活動(dòng)展示,無疑是打破僵局的關(guān)鍵。
無論對(duì)用戶還是商戶,這是個(gè)雙贏的局面,因?yàn)槭莻€(gè)性化推薦,中小商戶也得到了更多曝光機(jī)會(huì)。
3. 部分商戶設(shè)計(jì)資源不足,期待一鍵生成海報(bào)創(chuàng)意的工具
企業(yè)經(jīng)營需要考量成本,一些小型商戶往往受制于成本問題,設(shè)計(jì)資源跟不上業(yè)務(wù)發(fā)展的需求。傻瓜式生成海報(bào)創(chuàng)意的工具成為這類用戶的最大訴求,簡單輸入利益點(diǎn)文案和主推商品,一鍵產(chǎn)出結(jié)果,直接下載或簡單微調(diào)便能投放。
4. 組建“千變”項(xiàng)目團(tuán)隊(duì),開干!
隨著人工智能領(lǐng)域的發(fā)展和圖像算法的生產(chǎn)階段研究,AI海報(bào)設(shè)計(jì)不是天方夜譚。在組建團(tuán)隊(duì)中,可以說是機(jī)緣巧合,6個(gè)應(yīng)屆畢業(yè)生扛起了大旗。
整個(gè)項(xiàng)目團(tuán)隊(duì)包括產(chǎn)品經(jīng)理1人、視覺設(shè)計(jì)師1人、前端開發(fā)1人、服務(wù)端開發(fā)2人、圖像算法1人,無一例外,全部是剛加入蘇寧未滿1年的應(yīng)屆畢業(yè)生。這樣的項(xiàng)目對(duì)團(tuán)隊(duì)來說,既是機(jī)會(huì)也是挑戰(zhàn)。
底層商品圖數(shù)據(jù)處理,機(jī)器生成圖片的美觀度,算法打分模型的建立都成為團(tuán)隊(duì)不得不攻克的難題。
二、讓機(jī)器先學(xué)會(huì)模仿
我們將一張banner海報(bào)拆分成兩類關(guān)鍵信息:圖像信息與內(nèi)容信息。
為保證圖像信息多變,我們沿用設(shè)計(jì)師手工繪制一張banner的流程,將圖像進(jìn)行了圖層拆分,并通過不同圖層間的組合來實(shí)現(xiàn)素材的復(fù)用和高度可變性。
其中,圖像信息包含:背景層、背景裝飾層、蒙層、商品裝飾層;內(nèi)容信息包含:商品主圖、利益點(diǎn)標(biāo)題、logo、行動(dòng)詞。
1. 引入尺寸、模板概念
尺寸概念很好理解,每張banner圖都有其固定的尺寸,以下列舉蘇寧易購線上常用的尺寸,這也是千變系統(tǒng)一期上線后的主要服務(wù)對(duì)象。
為保證每個(gè)內(nèi)容信息元素出現(xiàn)在合適的位置,我們引入了一個(gè)關(guān)鍵概念:模板。
在模板中,我們規(guī)定了諸如商品圖主體的尺寸大小及坐標(biāo)位置,通過強(qiáng)規(guī)則的干預(yù)保證最終的banner圖在線上應(yīng)用中不會(huì)出現(xiàn)錯(cuò)位的問題。
至此,我們已經(jīng)完成了內(nèi)容信息元素嵌入圖像信息的工作。簡單來說,banner圖合成的流程是通暢的。基于線上實(shí)際場景的應(yīng)用,往往banner要配合節(jié)日氛圍造勢,恰當(dāng)?shù)娘L(fēng)格成為吸引點(diǎn)擊的重要組成因素。
2. 建立風(fēng)格庫,配合促銷氛圍
風(fēng)格庫是“千變”系統(tǒng)中,保障banner視覺氛圍協(xié)調(diào)的重要功能。
蘇寧易購是全品類的電商平臺(tái),不同品類的商品適合用不同顏色和風(fēng)格的皮膚來展示,且蘇寧易購全年有多次大促和品牌日,為了皮膚能夠適配首頁的大促氛圍,因此需要風(fēng)格庫來支撐。
其次,風(fēng)格庫對(duì)皮膚的合成也起到?jīng)Q定性作用,同一風(fēng)格庫內(nèi)同一個(gè)色系下的皮膚合成后的效果較好,風(fēng)格和色系都會(huì)對(duì)合成的皮膚數(shù)據(jù)產(chǎn)生影響。
三、算法理解人類審美
圖像圖層間基于強(qiáng)規(guī)則的融合解決了線上應(yīng)用的美觀性問題,可實(shí)際上機(jī)器并未吸收海量數(shù)據(jù)來進(jìn)行自我調(diào)節(jié)。設(shè)計(jì)師的規(guī)則輸入始終是有限的,沒人能窮舉BadCase的集合。如何讓機(jī)器持續(xù)不斷地吸收最新審美要求并轉(zhuǎn)換為優(yōu)質(zhì)banner圖,成為困擾團(tuán)隊(duì)的難題。
基于線上banner圖CTR數(shù)據(jù)分析,我們提出了一個(gè)概念:算法不用理解如何創(chuàng)造美,只需復(fù)刻用戶審美。
當(dāng)用戶基數(shù)夠大,群體的點(diǎn)擊欲望表達(dá)了banner圖的吸引力。我們通過用戶點(diǎn)擊行為、購買行為記錄優(yōu)質(zhì)banner圖的特征值,并將此特征值應(yīng)用到更新的banner圖中,通過A/B測試的思路灰度投放驗(yàn)證數(shù)據(jù)表現(xiàn)。如此循環(huán),不斷更新規(guī)則庫中的特征值信息,實(shí)際上,將用戶喜好反哺圖像算法,是保持算法優(yōu)化閉環(huán)的重要一步。
四、圖像算法攻克的難題
1. 基于深度學(xué)習(xí)的智能摳圖算法
為了實(shí)現(xiàn)對(duì)推薦商品圖的精細(xì)化分割,蘇寧圖像標(biāo)注團(tuán)隊(duì)對(duì)商品圖像進(jìn)行了大量的像素級(jí)別的標(biāo)注,并構(gòu)建基于深度學(xué)習(xí)的深度卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),進(jìn)行訓(xùn)練來建立商品圖的分割算法模型,同時(shí)對(duì)分割結(jié)果進(jìn)行優(yōu)化,提高分割商品圖質(zhì)量。
(1)采用Dilated Convolution空洞卷積
傳統(tǒng)的CNN網(wǎng)絡(luò)結(jié)構(gòu)中大多采用pooling池化來達(dá)到降維的目的,這就會(huì)導(dǎo)致經(jīng)過池化后的特征層上像素尺寸比較低,即使通過上采樣的操作,例如:FCN就是先進(jìn)行pooling減小圖像尺寸,再進(jìn)行upsampling擴(kuò)大原圖像尺寸,這樣不斷重復(fù)減小擴(kuò)大的過程就導(dǎo)致了featuremap上精度的損失。
因此我們構(gòu)建的分割網(wǎng)絡(luò)中采用空洞卷積的做法是:去掉池化層,同時(shí)在卷積操作后進(jìn)行如圖所示的操作,從而可以擴(kuò)大感受野,再對(duì)提取到的featuremap操作來實(shí)現(xiàn)更加精確的商品圖像分割。
(2)全連接條件隨機(jī)場精修商品圖邊緣
在分割網(wǎng)絡(luò)的前端運(yùn)用的深度卷積神經(jīng)網(wǎng)絡(luò),該網(wǎng)絡(luò)可以很好的預(yù)測是否有商品,以及商品在圖像中的大致位置區(qū)域,但并不能準(zhǔn)確的定位到商品圖像的邊界,同樣會(huì)導(dǎo)致分割的邊緣不精細(xì)。
故在我們分割網(wǎng)絡(luò)的后端加入了全連接的條件隨機(jī)場(conditional random field,CRF)對(duì)神經(jīng)網(wǎng)絡(luò)預(yù)測的結(jié)果進(jìn)行優(yōu)化。CRF模型中將圖像中每個(gè)像素點(diǎn)所屬的類別表示成一個(gè)變量,然后再考慮任意兩個(gè)變量之間的聯(lián)系。
對(duì)應(yīng)的能量函數(shù)為:
其中,是一元項(xiàng),表示像素對(duì)應(yīng)的語義類別,二元項(xiàng)就是描述像素點(diǎn)與像素點(diǎn)之間的關(guān)系,基于兩個(gè)像素點(diǎn)的實(shí)際距離和顏色信息來判斷,越相似的像素得到相同的標(biāo)簽,所以這樣CRF能夠使圖片盡量在邊界處分割,最后通過不斷的優(yōu)化該能量函數(shù)達(dá)到理想的分割效果。
(3)分割圖像抗鋸齒
即使利用“像素級(jí)”的分割方法能夠很好的將商品主圖摳出來,但同時(shí)帶來的副作用就是在商品圖的邊緣存在鋸齒,嚴(yán)重影響banner的展示效果。故在分割網(wǎng)絡(luò)之后,我們又加入了抗鋸齒的算法。
提取分割后商品圖像的alpha通道,獲取圖像邊緣,并按照邊緣鋸齒的形狀,分成16種pattern如下圖所示:
根據(jù)不同的鋸齒模式重新計(jì)算邊緣區(qū)域的像素值,如下右圖所示,圖像邊緣過渡就顯得十分平滑,從而達(dá)到消除鋸齒的目的。
2. 基于多任務(wù)學(xué)習(xí)的圖像評(píng)估模型
(1)多任務(wù)學(xué)習(xí)
在建立評(píng)估模型的初期,我們也嘗試了多種方案,例如:建立一個(gè)學(xué)習(xí)任務(wù)的評(píng)估網(wǎng)絡(luò),僅針對(duì)商品圖與底版匹配是否合理的。實(shí)際的訓(xùn)練過程中,我們發(fā)現(xiàn)這一個(gè)單任務(wù)的網(wǎng)絡(luò)很快就收斂,且測試也出現(xiàn)過擬合。
后期調(diào)整訓(xùn)練的網(wǎng)絡(luò)結(jié)構(gòu)增加卷積層層數(shù),問題仍未得到改善,故考慮到單任務(wù)學(xué)習(xí)的局限性,嘗試從多任務(wù)學(xué)習(xí)角度來建立banner評(píng)估模型。
多任務(wù)學(xué)習(xí)可以學(xué)到多個(gè)任務(wù)的共享表示,這個(gè)共享表示具有較強(qiáng)的抽象能力,能夠適應(yīng)多個(gè)不同但相關(guān)的目標(biāo),通??梢允怪魅蝿?wù)獲得更好的泛化能力。
在banner評(píng)估的維度上,并沒有主次任務(wù)之分,每一個(gè)任務(wù)相對(duì)于其他任務(wù)來說都可以看成是一個(gè)主任務(wù)。多個(gè)相關(guān)任務(wù)放在一起學(xué)習(xí),有相關(guān)的部分,但也有不相關(guān)的部分。當(dāng)學(xué)習(xí)一個(gè)任務(wù)時(shí),與該任務(wù)不相關(guān)的部分,在學(xué)習(xí)過程中相當(dāng)于是噪聲,可以提高學(xué)習(xí)的泛化效果。
(2)banner評(píng)估網(wǎng)絡(luò)的結(jié)構(gòu)簡介
參考inception v3網(wǎng)絡(luò)結(jié)構(gòu)的設(shè)計(jì)思路,我們?cè)诰W(wǎng)絡(luò)中特征提取階段中利用兩個(gè)一維的1×3和3×1的卷積核,取代3×3的卷積核。這樣網(wǎng)絡(luò)層數(shù)進(jìn)一步加深,同時(shí)一個(gè)卷積核拆分成兩個(gè)卷積核,可以增加網(wǎng)絡(luò)的非線性。
網(wǎng)絡(luò)中加入Batch Normalization層,BN 是一種非常有效的正則化方法,能夠有效的加快網(wǎng)絡(luò)訓(xùn)練速度,同時(shí)收斂后的分類準(zhǔn)確率也可以得到大幅提高。BN 在用于神經(jīng)網(wǎng)絡(luò)某層時(shí),會(huì)對(duì)每一個(gè) mini-batch 數(shù)據(jù)的內(nèi)部進(jìn)行標(biāo)準(zhǔn)化(normalization)處理,使輸出規(guī)范化到 N(0,1) 的正態(tài)分布。
在模型的訓(xùn)練過程中,我們?cè)黾訉W(xué)習(xí)率以適用BN規(guī)范化后的數(shù)據(jù),去除Dropout并減小L2正則(BN已經(jīng)起到正則化的作用)。
評(píng)估網(wǎng)絡(luò)的損失函數(shù)采用SoftMaxWithLoss,同時(shí)對(duì)應(yīng)的網(wǎng)絡(luò)中增加Slice layer,將input的label標(biāo)簽進(jìn)行拆分,從而實(shí)現(xiàn)對(duì)banner中每一個(gè)評(píng)分項(xiàng)進(jìn)行評(píng)估輸出。
五、自動(dòng)著色的探索
雖然基于強(qiáng)規(guī)則,已經(jīng)解決了圖像圖層間的融合問題,但由于圖層其實(shí)是一張張手繪的,并不是真正意義上的算法創(chuàng)作。所以我們就想利用設(shè)計(jì)師的手稿進(jìn)行自動(dòng)上色,來真正的做到“千人千面”、“千物千面”。
從上圖兩組初步的自動(dòng)上色結(jié)果可以看到,整體來看智能上色這個(gè)方案還是可行的。但是在一些細(xì)節(jié)裝飾的邊緣部分還沒能到達(dá)高分辨率的要求。同時(shí),在一些淺層的紋理層,算法的上色效果不是特別明顯,智能著色的方案探索將成為千變項(xiàng)目團(tuán)隊(duì)下一個(gè)重要研究課題。
六、服務(wù)端的實(shí)現(xiàn)邏輯
1. 千變系統(tǒng)的分工與協(xié)作
合成banner圖的工作由算法側(cè)負(fù)責(zé),而千變后臺(tái)負(fù)責(zé)管理合成這些banner圖片所需要的材料數(shù)據(jù)。千變服務(wù)端一則為設(shè)計(jì)師提供操作頁面,可以上傳模板,風(fēng)格等信息。
二則從蘇寧推薦系統(tǒng)獲取相關(guān)信息,根據(jù)會(huì)員編碼,可以獲取到該會(huì)員用戶的偏好商品。在合成banner圖片的過程中,將合成信息傳遞給算法端,由算法端負(fù)責(zé)完成合成。千變后臺(tái)通過http與算法端建立連接,并完成數(shù)據(jù)的傳輸。
2. 系統(tǒng)間的數(shù)據(jù)傳輸
同一組元素,在算法端也會(huì)生成不同的banner圖片,千變采用的方案是算法將合成的多張banner圖存儲(chǔ)到蘇寧圖片服務(wù)器,而后臺(tái)管理系統(tǒng)從圖片服務(wù)器上獲取相應(yīng)的banner圖。
這中間與圖片服務(wù)器的交互,我們所采用的方法是通過中間件kafka完成,算法作為服務(wù)方向圖片服務(wù)器存儲(chǔ)合成的banner圖,而后臺(tái)通過kafka監(jiān)聽異步獲取圖片服務(wù)器上的banner圖。算法端在合成時(shí)即回傳執(zhí)行信息到后臺(tái)管理系統(tǒng),此時(shí)后臺(tái)即可處理其他相關(guān)事宜,不再等待合成圖片完成從而消耗時(shí)間資源。
在獲取到圖片后,即可傳遞給前臺(tái)展示系統(tǒng),從而完成整個(gè)banner圖片的生成、管理和展示的工作。
整個(gè)過程的流程架構(gòu)設(shè)計(jì)如下圖所示:采用此異步處理的方式,我們?cè)诤A繑?shù)據(jù)處理的同時(shí),實(shí)現(xiàn)了banner圖片的離線合成與在線更新。在離線時(shí),即可生成多種banner圖片存儲(chǔ)到圖片服務(wù)器,而在在線展示的過程中實(shí)時(shí)根據(jù)需求更新展示圖片。
3. 高并發(fā)問題解決方案
那么我們是怎么解決高并發(fā)的用戶請(qǐng)求呢?
當(dāng)用戶訪問是,首先會(huì)通過我們的移動(dòng)展示門面系統(tǒng),整理從推薦獲取到的用戶相關(guān)信息,再利用NGINX快速處理高并發(fā)的特性,分發(fā)子請(qǐng)求到智能貨架系統(tǒng)去獲取Banner圖,同時(shí)用到REDIS緩存技術(shù),以縮短響應(yīng)時(shí)間。
采用這樣的設(shè)計(jì)流程,可以快速(響應(yīng)時(shí)間毫秒級(jí))、準(zhǔn)確(返回的是用戶最近瀏覽或用戶偏好相關(guān))地給用戶展示出多種多樣的Banner圖。
整體流程架構(gòu)圖如下圖:
七、我們的初心:千變之路
未來產(chǎn)品架構(gòu)圖:
AI設(shè)計(jì)平臺(tái)的出現(xiàn)是早已積攢的痛點(diǎn)在人工智能時(shí)代的必然產(chǎn)物,解放設(shè)計(jì)師人力,提高流量價(jià)值的挖掘深度,人工智能使得我們的時(shí)間得以投入到更加具有創(chuàng)造性的工作當(dāng)中去。
AI設(shè)計(jì)平臺(tái)不是要取代設(shè)計(jì)師,而是讓設(shè)計(jì)師的工作變得更加純粹,更加回歸“設(shè)計(jì)”本身。千變項(xiàng)目組致力于打造極致的AI設(shè)計(jì)體驗(yàn),將AI設(shè)計(jì)的便利帶到集團(tuán)八大產(chǎn)業(yè)、開放至商戶、品牌商及萬千達(dá)人用戶!
文末彩蛋
送上蘇寧千變系統(tǒng)實(shí)景錄制視頻~(請(qǐng)忽略背景中pk需求的畫外音QAQ)
傳送門:https://v.qq.com/x/page/j07349177ds.html?ptag=2_6.2.2.17134_copy
歡迎各行交流!
本文由 @Jade 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載
題圖來自 Pexels,基于 CC0 協(xié)議
請(qǐng)問可以將您的文章轉(zhuǎn)載到Great-PM公眾號(hào)上嗎? ??
可以,記得標(biāo)注作者來源??梢约游襳x詳談
阿里鹿班,蘇寧做出來的?
蘇寧的AI智能設(shè)計(jì)平臺(tái)叫千變
這個(gè)工具對(duì)外開放嗎 ??
努力中,期待和大家的見面!
恐怖的科技力量啊
感謝支持~